8 webUI中-Controlnet(控制与约束)的应用分类与使用方法
摘要:ControlNet插件通过额外控制条件(如轮廓、姿态等)显著降低AI生图的随机性。安装时需注意版本和模型匹配,预处理器需单独下载。主要分类包括线条约束、空间深度、人体姿态等7大类。使用时需正确选择预处理器和模型,调整控制权重和时间参数,并同步参考图尺寸。该工具可与提示词配合,实现更精准的图像生成效果,但需注意大模型版本与ControlNet模型的兼容性。
我们知道AI 生图工具具有很强的随机性,为获取意向图片往往需要大量抽卡,即使是图生图,原图中大量的图片信息也让SD正确抓取我们想要的关键信息。那么有没有一种方式能给SD一些额外的指导与限制,从而降低出图的随机性呢?
2023年2月,毕业于苏州大学并就读于斯坦福大学计算机专业的张吕敏博士发表相关论文并发布Controlnet插件,自此我们可以让SD模型在相对抽象的语义理解基础上增加额外的控制条件,比如姿势、轮廓等,让SD更精确地生成接近我们设想的图片内容。
目前Controlnet已迭代出多种控制条件的模型,可以实现轮廓、姿态、空间关系、色彩风格等多个维度的控制效果,而且这些不同类型的控制效果还可以组合使用,共同约束图片从而达到更加精准控制的图片效果。
1 Controlnet安装与更新
controlnet是SD的一个插件,秋叶整合包已内置了Controlnet插件功能,我们不需要再额外安装该插件,需要注意Controlnet插件版本,一些模型对Controlnet最低版本有要求,可能会要求进行更新)。
启动界面,点击最左边的“版本管理”,点击“扩展”,找到controlnet点击右边的“更新”按钮。
如你的webUI尚未安装controlnet,安装方法为:
a.webUI界面点击状态栏里的“扩展”
b.点击“加载扩展列表”按钮
c.在搜索框输入“controlnet”
d.找到controlnet,点击安装按钮即可
2 Controlnet预处理器及模型安装
绝大部分controlnet需要对应的预处理器对参考图进行预处理,再对参考图进行参考。如果controlnet预处理器未下载,选择相应的预处理器功能时,SD会自动进行下载安装,但是往往因为网络环境的问题,不分预处理器可能无法下载成功。这里我将个人使用的常见预处理器放入网盘中,大家可以下载后放入预处理器文件夹中。
预处理器文件放置位置:
根目录/ extensions/ sd-webui-controlnet /annotator /downloads文件夹
不同的controlnet均有对应的模型去驱动,为了避免web-UI整合包过于臃肿庞大,Conetrolnet常用的模型放置在独立文件夹“controlnet”中,没有内置到整合包,需要的可以手动复制到安装路径中,安装地址:“sd-webui /models /controlnet/ ”(推荐此路径,方便同lora等其它模型一同管理)或者“extensions /sd-webui-controlnet/ models”。安装完成后,重载UI。
3 Controlnet分类
根据Controlnet的功能与应用场景,我们可以将不同的Controlnet插件大致分为下面几大类型:
序号 | 分类 | Controlnet名称 | 备注 |
1 | 线条约束 | Canny(硬边缘) | 约束性强,可以识别详细线条 |
SoftEdge(软边缘) | |||
MLSD 直线、最小线段检测 | 建筑类常用 | ||
Lineart 线稿提取 | |||
Scribble 涂鸦 | |||
2 | 三维关系、 空间深度 | Depth 深度 | |
Normal 法线贴图 | 纹理效果常用 | ||
3 | 人体姿态、手势与表情 | Openpose 姿态控制 | |
4 | 图像风格转换 | Shuffle 随机 | 打乱图片元素重新组合 |
IP-Adapter (图像)风格迁移 | |||
T2l-Adapter (文字转图)风格迁移 | |||
Reference 参考图引导 | |||
5 | 图片修复与编辑 | Recolor 重上色 | |
Inpaint重绘 | 类似于局部重绘,但融合效果更好 | ||
Tile 分块 | |||
Instant-ID 换脸 | |||
6 | 结构理解 | Seg 语义分割 | 根据色块代表不同含义 |
7 | 其它 | InstructP2P 指令式编辑 | 变换场景、特效 |
Revision 图像修订 |
在后面的章节将就各controlnet的具体功能特点与使用方法进行详细介绍,初次接触阶段,我们仅需对controlnet的概念及用途做出初步的了解,有一定印象即可。
4 Controlnet使用界面
这里我们采用一组简单的案例来演示Controlnet的基本使用功能
案例:通过canny硬边缘控制出图效果。
(1)Controlnet作为SD出图额外的约束条件,在此之外的模型与VAE、正/负向提示词填写、steps等仍需按照文生图步骤设置。
(2)点击“启用”(相当于Controlnet的开关),上传一张参考图,点击“完美像素模式”(低显存配置可点“低显存模式”,防止爆显存),点击“允许预览”
(3)控制类型中选择“Canny(硬边缘)”
(4)选择“预处理器”与“模型”
这里可以看到,选择好“控制类型”后,“预处理器”及“模型”界面均会自动匹配与该controlnet所对应的选项,方便用户进行选择。
(5)点击“预处理器”与“模型”中间的爆炸按钮,这时可以看到预览图中出现了轮廓效果,这就是“Canny(硬边缘)”所生成的参考轮廓,SD生图时会参考这个轮廓线进行生图。
(6)同步尺寸:在文生图部分我们已经设置了出图尺寸,如果controlnet中上传的参考图尺寸与文生图尺寸不一致,容易出现压缩图片或丢失部分数据等问题,所以需要点击“同步尺寸”按钮,将参考图片尺寸同步到出图尺寸。
(7)控制权重:即Controlnet对出图过程中控制的强弱程度,如设置过低,则有可能controlnet不起作用。
(8)“引导介入时机”与“引导终止时机”:指Controlnet在出图过程中产生效果的时间区间,比“引导介入时机”设置为0,则代表从第0步开始介入;“引导终止时机”设置为0.7,则代表从第“0.7×总步数”步停止对生图的控制;不过一般情况下终止时机设置为0.7时,图片整体轮廓已经成型,留下的部分让SD自由发挥可能会得到更自然的效果。
(9)控制模式中的“均衡”、“”更偏向提示词、“更偏向Controlnet”即字面含义,表示出图期间受提示词还是controlnet控制的影响程度,一般情况下选择均衡即可。
(10)填入正反向提示词(案例增加了对衣服颜色和环境描述),点击生成图片,就可以看到生成图片已参考示例图轮廓效果。
注意:
(1)除个别功能不需要预处理器外,绝大多数controlnet功能都同时需要选择预处理器及模型,注意选择预处理器后需要对应的模型才能实现效果;
另外,大模型的版本会对Controlnet的模型产生影响,大模型是1.5版本的,选好预处理器后需选择1.5版本的模型,如果大模型是XL版本的,则选好预处理器后需选择XL版本对应的模型。
(2)上传参考图后,注意同步尺寸。如目标图像尺寸与参考图尺寸不同,多数controlnet很可能不发生作用。
总结:
欢迎正在学习comfyui等ai技术的伙伴V加huaqingshan进入学习小组。在这里大家共同学习comfyui的基础知识、最新模型与工作流、行业前沿信息等,也可以讨论comfyui商业落地的思路与方向。欢迎感兴趣的小伙伴,分享博主自用的comfyui整合包(已安装超全节点与必备模型)、基础学习资料、高级工作流等……
致敬每一位在路上的学习者,你我共勉!Ai技术发展迅速,学习comfyUI是紧跟时代的第一步,促进商业落地并创造价值才是学习的实际目标。
文本节内容附件:博主自用的webUI全能整合包(已安装多插件及模型,文件较大)以及秋叶官方发布的基础整合包(仅安装基础插件和模型,文件较小),大家按需下载即可使用。
(1)webUI秋叶官方基础整合包-打开即用(基础插件和模型,文件较小,26G左右):
百度网盘: https://pan.baidu.com/s/1MmHpsX2cFWLCeWTNu0LC6A?pwd=brvb
夸克网盘:https://pan.quark.cn/s/0f06b4357515
(2)webUI自用整合包-打开即用(多个插件和模型,文件较大,100G左右):
百度网盘:https://pan.baidu.com/s/1HGuV-LjOCvIwjxqsv_7ShA?pwd=ts66
夸克网盘:https://pan.quark.cn/s/a3f8156787c3
——画青山学习专栏———————————————————————————————
Webui基础学习与实操:https://blog.csdn.net/vip_zgx888/category_13020854.html?spm=1001.2014.3001.5482
Comfyui基础学习与实操:https://blog.csdn.net/vip_zgx888/category_13006170.html
comfyui功能精进与探索:https://blog.csdn.net/vip_zgx888/category_13005478.html
系列专栏持续更新中,欢迎订阅关注,共同学习,共同进步!
————————————————————————————————————————