Stable Diffusion进阶之Controlnet插件使用
前面已经对Stable Diffusion的文生图和图生图的操作界面做了详细的介绍,接下来会介绍Stable Diffusion的进阶部分Controlnet插件的使用。往期文章详见:
- 爆肝整理!Stable Diffusion的完全使用手册(一)
- 爆肝整理!Stable Diffusion的完全使用手册(二)
- 爆肝整理!Stable Diffusion的完全使用手册(三)
- 爆肝整理!Stable Diffusion的完全使用手册(四)
一、Controlnet简介
原本Stable Diffusion对图片的约束维度、种类太少,比较宽泛。比如文字描述存在不够准确等问题,像素描述存在将过多维度的信息杂糅到一起,无法提取单一维度的信息等问题。Controlnet的出现是为了解决图像生成随机性过强的问题,它可以从多个角度增加对生成图片的约束,可以从已有的图片中提取出图片特征。
Controlnet是Stable Diffusion区别于其他AI绘画软件的里程碑似得插件,随着时间的推移,Controlnet插件的功能边界会越来越宽广,这也使得Stable Diffusion更加具有不可替代性。
Controlnet的工作流程:
-
输入要参考(提取特征)的图片。
-
提取出图片中需要参考的特征。
-
使用Controlnet模型对提取出来的图片特征进行理解。
-
根据图片特征生成结果。
二、Controlnet操作界面
本节先简单讲解下Controlnet的操作界面及按钮功能,详细的使用后续会专门介绍。以下2张截图就是Controlnet的使用界面。
1、控制单元
方便Stable Diffusion从多个维度控制生成的图片特征。比如可以使用OpenPose姿态提取,来对控制单元中上传的图片提取出姿势。
对于提取出来的姿势骨架图,可以自行对骨架图进行调整,Stable Diffusion会根据调整后的骨架图来生成新的图片(效果详见下图)。
原图 | 原图骨架图 | 调整后的骨架图 | 生成的新图 |
![]() | ![]() | ![]() | ![]() |
控制单元的个数可以在设置中进行调整。
2、单张图片、批量处理、多张上传
用来给控制单元上传需要处理的参考图。单张图片和多张上传不用多说,分别是上传一张图片以及上传多张图片。批量处理中需要填写文件夹的地址,这样Stable Diffusion在生成图片时会参考文件夹下的所有图片进行图片生成,比如下图中,文件夹中有4张图,设置Stable Diffusion生成1批,每批1张图的情况下,Stable Diffusion会参照文件夹中的每一张图进行生成,最终生成4张图。
单张图片 | 批量处理 | 多张上传 |
![]() | ![]() ![]() ![]() | ![]() |
上传图片的右下角有4个小按钮,其功能分别是:
-
画布:可以新建一个画布,然后使用画笔进行涂鸦绘画。
-
开启摄像头:可以拍摄一张照片,然后读取照片上的信息特征。
-
镜像摄像头:开启镜像。
-
将当前图片尺寸信息发送到生成设置:可以读取到上传的图片的分辨率大小,宽度和高度。
3、启用、低显存模式、完美像素模式、允许预览、高效子区蒙版
-
启用:
-
如果要使用Controlnet控制单元,则需要勾选该按钮。启用后Controlnet的控制单元才会起作用。
-
如果需要使用多个控制单元,则需要使用的每一个控制单元都需要勾选上该按钮。
-
-
低显存模式:Controlnet在使用时会额外消耗显存资源,当电脑配置不足时,会存在爆显存问题。勾选后可以降低显存的使用,但是会增加生成图片的时间。(当显存不够8GB的时候可以考虑打开)
-
完美像素模式:提取的特征参考图,也会有分辨率,特征图的分辨率也会影响生图效果。在该模式出来之前可以通过“预处理器分辨率”来调整特征图的分辨率,值越大提取的特征越详细。完美像素模式会自动计算生成特征图的最佳分辨率。
-
允许预览:勾选后会展示出提取的特征图。
-
高效子区蒙版:就是让你像“分块涂色”一样控制生成的图片。可以把画布分成几块,每块单独写提示词。举个栗子🌰:画“左边沙漠+右边雪山+中间站只熊猫”,用蒙版分三块分别写提示词,AI就不会把熊猫画到天上,或者沙漠和雪山糊在一起了。
4、预处理器、模型
Controlnet可以提取图片特征,而预处理器就是用来提取图片特征的。
模型是为了让Stable Diffusion知道如何去识别和理解特征图。
特征图和模型需要对应上才能发挥效果。
5、控制类型
Controlnet的预处理器和模型需要匹配才能正常生成图片。然而Controlnet的预处理器和模型种类非常的多,如何才能正确选择预处理器及其相应的模型是个难题。控制类型的出现就是将预处理器进行分类,并且为每个分类下匹配正确的模型。当选择好预处理器后会自动匹配模型。
有关控制类型的详细功能及使用后续再介绍。
6、控制权重&引导介入时机&引导终止时机
-
控制权重:决定Controlnet对图片生成结果的影响程度。值越大则Controlnet对SD的生图效果影响越大。
-
引导介入时机:与迭代步数有关。假设数值为x,则表示Controlnet在迭代步数*x的时候开始介入,再此之前Controlnet对生图无影响。从迭代步数多少步时Controlnet开始起作用。
-
引导终止时机:代表Controlnet在多少步之后结束介入。从迭代步数多少步时Controlnet停止起作用。
7、控制模式
当绘画提示词与Controlnet产生冲突时,控制模式可以用来调节冲突。
-
均衡:提示词与Controlnet并重。实际上更偏Controlnet一点。
-
更偏向提示词:生成的图片受到提示词的影响更大。
-
更偏向Controlnet:生成的图片受到Controlnet的影响更大。
8、缩放模式
上传的图片分辨率与生成的图片的分辨率不一样时,可以使用缩放模式来解决Controlnet图片分辨率与基础设置中分辨率不同的情况。
-
仅调整大小:把参考图强行拉成你设定的尺寸,不管比例是否变形。可以快速填满整个画面不留空白,但是会造成生成的图片严重扭曲。
-
裁剪后缩放:先一刀切掉参考图多余的部分,再缩放到目标尺寸。可以保证生成图内容不变形,但可能丢失重要信息(如砍掉人脸、关键物体)。
-
缩放后填充空白:先按比例缩放参考图,再在空白处补上AI生成的内容(或黑边)。可以保证参考图内容不变形,且画面不留黑边。但填补区域可能会风格突兀。