【Stable Diffusion】ControlNet基本教程(一)

1.ControlNet是什么
ControlNet是Stable Diffusion用于图像风格迁移和控制的一款插件,作者是2021年才本科毕业,现在在斯坦福大学读博士一年级的中国学生张吕敏。ControlNet的出现代表着 AI 生成开始进入真正可控的时期,而 AIGC 的可控性是它进入实际生产最关键的一环。在此之前,大家用了很多方法想让 AI 生成的结果尽可能符合要求,但都不尽如人意,ControlNet 比之前 img2img 要更加精准和有效,可以直接提取画面的构图,人物的姿势和画面的深度信息等等。有了它的帮助,就不用频繁用提示词来碰运气抽卡式创作了。
【Stable Diffusion】ControlNet基本教程(一)_第1张图片

2.ControlNet作用
它允许通过线稿、动作识别、深度信息等对原有的图像进行控制,用户可以手动编辑源图像,控制其某些属性,改变图像的画风、动作、颜料等,生成新的图像。
ControlNet应用领域非常广,如时尚设计师可以输入不同款式和图案,快速生成服装设计灵感和样品;游戏设计者可以使用该插件快速生成不同主题和风格的游戏资源,如不同时代的建筑、衣服、植被等;电商商家可以控制AI模特的动作,摆出相应的姿态等。
3.ControlNet基本流程
安装好ControlNet后,在页面上会出现ControlNet的各类选项
(1)上传需要处理的图像(Drop Image Here or Click to Upload)
直接将需要处理的原图像拖动到这里,或者点击进行图像上传。
【Stable Diffusion】ControlNet基本教程(一)_第2张图片

(2)启用(Enable)
点击Enable,表示启用。
【Stable Diffusion】ControlNet基本教程(一)_第3张图片

(2)启动反色模式(Invert Input Color)
Invert Input Color 表示启动反色模式,如果输入的图片是白色背景,开启它。
【Stable Diffusion】ControlNet基本教程(一)_第4张图片

(3)色彩通道信息反转(RGB to BGR)
RGB to BGR 表示将输入的色彩通道信息反转,即 RGB 信息当做 BGR 信息解析,只是因为 OpenCV 中使用的是 BGR 格式。如果输入的图是法线贴图,开启它。
【Stable Diffusion】ControlNet基本教程(一)_第5张图片

(4)低显存模式(Low VRAM)
Low VRAM 表示开启低显存优化,需要配合启动参数“–lowvram”,如果你的显卡内存小于等于4GB,建议勾选此选项。
【Stable Diffusion】ControlNet基本教程(一)_第6张图片

(5)无提示词模式(Guess Mode)
Guess Mode 表示无提示词模式,也就是盲盒模式,不需要任何正面与负面提示词,出图效果随机,很有可能产生意想不到的惊喜效果!
【Stable Diffusion】ControlNet基本教程(一)_第7张图片

(6)预处理(Preprocessor)
Preprocessor 指预处理器,它将对输入的图像进行预处理,包括canny、mlsd等,根据图像特征以及最后要生成的图像效果,进行预处理模型选择。如果图像已经符合预处理后的结果,请选择 None。譬如,图中导入的图像已经是 OpenPose 需要的骨架图,那么 preprocessor 选择 none 即可。
【Stable Diffusion】ControlNet基本教程(一)_第8张图片

(7)模型(Model)
Model 中请选择想要使用解析模型,应该与输入的图像或者预处理器对应。请注意,预处理器可以为空,但模型不能为空。如果预处理与模型不一致其实也可以出图,但效果无法预料,且一般效果并不理想。
【Stable Diffusion】ControlNet基本教程(一)_第9张图片

(8)调整权重值(Weight)
在 Weight 下,可以调整该项 ControlNet 的在合成中的影响权重。
【Stable Diffusion】ControlNet基本教程(一)_第10张图片

(9)引导介入时机(Guidance Start(T))
Guidance strength 用来控制图像生成的前百分之多少步由 Controlnet 主导生成。Guidance Start(T) 设置为 0 即代表开始时就介入,默认为 0,设置为 0.5 时即代表 ControlNet 从 50% 步数时开始介入计算。
【Stable Diffusion】ControlNet基本教程(一)_第11张图片

(10)引导退出时机(Guidance End(T))
和引导介入时机相对应,如设置为1,则表示在100%计算完时才会退出介入也就是不退出,默认为 1,可调节范围 0-1,如设置为 0.8 时即代表从80% 步数时退出介入。
【Stable Diffusion】ControlNet基本教程(一)_第12张图片

(11)缩放模式(Resize Mode)
用于选择调整图像大小的模式:默认使用(Scale to Fit (Inner Fit))缩放至合适即可,将会自动适配图片。
一共三个选项:Just Resize,Scale to Fit (Inner Fit),Envelope (Outer Fit)
【Stable Diffusion】ControlNet基本教程(一)_第13张图片

(12)画布宽度和高度(Canvas Width 和 Canvas Height)
画布宽高设置,请注意这里的宽高,并不是指 SD 生成图片的图像宽高比。该宽高代表 ControlNet 引导时所使用的控制图像的分辨率,假如你用 SD 生成的图片是 1000x2000 分辨率,那么使用 ControlNet 引导图像时,对显存的消耗将是非常大的;我们可以将引导控制图像的分辨率设置为 500x1000 ,也就是缩放为原本图像一半的分辨率尺寸去进行引导,这有利于节省显存消耗。
【Stable Diffusion】ControlNet基本教程(一)_第14张图片

(13)创建空白画布(Create Blank Canvas)
如果之前使用过 ControlNet 功能,那么将会在 ControlNet 的图像区域留有历史图片,点击该按钮可以清空之前的历史,也就是创建一张空白的画布。
【Stable Diffusion】ControlNet基本教程(一)_第15张图片

(14) 预览预处理结果(Preview Annotator Result)
点击该按钮可以预览生成的引导图。例如:如果使用 Canny 作为预处理器,那么点击该按钮之后,可以看到一张通过 Canny 模型提取的边缘线图片。
【Stable Diffusion】ControlNet基本教程(一)_第16张图片

(15)隐藏预处理结果(Hide Annotator Result)
点击该按钮可以隐藏通过 Preview 按钮生成的预览图像窗口(不建议隐藏)
【Stable Diffusion】ControlNet基本教程(一)_第17张图片

ControlNet对于不同图像属性的调整,以及要生成的图像效果,主要是通过调节预处理(Preprocessor)和模型(Model)来实现的(Preprocessor和Model往往需要一样),下一节,我将通过实例来演示通过调节ControlNet的基本参数,配合所选择的大模型(Stable Diffusion checkpoint)来对ControlNet的基本用法进行讲解,欢迎关注、点赞、收藏,支持博主!

参考文献
[1]https://zhuanlan.zhihu.com/p/619721909
[2]https://cloud.tencent.com/developer/article/2273366?areaSource=100001.4
[3]https://zhuanlan.zhihu.com/p/606983243
[4]https://www.youtube.com/watch?v=x04Kb2sEm6Y

你可能感兴趣的:(Stable,Diffusion,AI绘画,AIGC,stable,diffusion,人工智能,计算机视觉)