Stable Diffusion进阶之Controlnet插件使用

前面已经对Stable Diffusion的文生图和图生图的操作界面做了详细的介绍,接下来会介绍Stable Diffusion的进阶部分Controlnet插件的使用。往期文章详见:

一、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生成的内容(或黑边)。可以保证参考图内容不变形,且画面不留黑边。但填补区域可能会风格突兀。

相关推荐
Jay Kay31 分钟前
TensorFlow源码深度阅读指南
人工智能·python·tensorflow
FF-Studio35 分钟前
【硬核数学 · LLM篇】3.1 Transformer之心:自注意力机制的线性代数解构《从零构建机器学习、深度学习到LLM的数学认知》
人工智能·pytorch·深度学习·线性代数·机器学习·数学建模·transformer
会的全对٩(ˊᗜˋ*)و44 分钟前
【数据挖掘】数据挖掘综合案例—银行精准营销
人工智能·经验分享·python·数据挖掘
云渚钓月梦未杳1 小时前
深度学习03 人工神经网络ANN
人工智能·深度学习
在美的苦命程序员1 小时前
中文语境下的视频生成革命:百度 MuseSteamer 的“产品级落地”启示录
人工智能·百度
kngines1 小时前
【字节跳动】数据挖掘面试题0007:Kmeans原理,何时停止迭代
人工智能·数据挖掘·kmeans
Kali_071 小时前
使用 Mathematical_Expression 从零开始实现数学题目的作答小游戏【可复制代码】
java·人工智能·免费
贾全1 小时前
第十章:HIL-SERL 真实机器人训练实战
人工智能·深度学习·算法·机器学习·机器人
每日摸鱼大王1 小时前
互联网摸鱼日报(2025-07-01)
人工智能
GIS小天2 小时前
AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年7月4日第128弹
人工智能·算法·机器学习·彩票