点赞 + 关注 + 收藏 = 学会了
在学习和使用『Stable Diffusion』的过程中,『ControlNet』是一个不可忽视的关键组件。『ControlNet』是一个用于增强图像生成过程可控性的强大工具,允许用户通过提供特定的控制图像来精确指导生成结果。本文将讲解 『ControlNet』的基本概念。
ControlNet插件仓库地址:sd-webui-controlnet
首先,在 SD WebUI 的『扩展』里,选择“从网址安装”,然后输入 https://github.com/Mikubill/sd-webui-controlnet.git
这个地址,点击安装。
等待一阵,安装成功后重启 SD WebUI,在里就能看到『ControlNet』的身影了。
在『文生图』模式下,你可以手动加载一张图片来启动『ControlNet』功能。而在『图生图』模式下,由于该模式本身就需要加载图片,因此加载的图片会自动应用到『ControlNet』,无需额外操作。
如果你希望使用一张独立的图片作为『ControlNet』的控制图像,可以选择『上传独立的控制图像』选项,然后在图生图界面中单独上传。
回到『文生图』面板,可以看到我有5个『ControlNet控制单元』,即最多可以同时激活5个控制单元。如果需要使用更多的控制单元,可以在『设置』中调整『多重 ControlNet: ControlNet 单元数量』,调整后保存并重启 UI 界面即可。
使用『ControlNet』时,务必勾选要启用的控制单元,否则它们将不会生效。启用的控制单元标题会变成绿色,并且『ControlNet』标题后面会显示已启用的数量。
开启『ControlNet』会增加显存的负担。如果出现显存不足的提示,可以尝试启用“低显存模式”。可以降低爆显存的概率,但这会降低处理速度。
启用『完美像素』让『ControlNet』自适应匹配设置的输出图像的宽度,高度根据输入原图像自动计算。开启后会隐藏 Resolution 滑动条(分辨率)。
比如,『控制类型』选择『Canny(硬边缘)』时,会看到一个默认分辨率为512
的预处理器分辨率。当启用“完美像素模式”后,系统会自动设置预处理分辨率,通常为最低可用分辨率。如果需要更高精度的结果(如高清线稿图),则需要手动设置分辨率。
一般情况下不需要手动开启『允许预览』,直接点击下方的爆炸图标就会自动开启“允许预览”功能并显示结果。
拿『Depth(深度)』举例。
『ControlNet』有很多不同的『控制类型』,每种『控制类型』都有自己专属的『预处理器』。每种『控制类型』必须搭配相应的『模型』才能生效。需要为『ControlNet』安装相应的『模型』,所有『模型』都可以从 Hugging Face 下载。
链接放这:huggingface.co/lllyasviel/…
新版模型增加了对 SDXL 的支持。可选『模型』非常多,但不必全部下载。例如,『Canny』模型有 full、mid、small 三个版本,full 版本效果最好但资源占用最大。如果计算机性能足够,推荐使用 full 版本。
这些模型是由不同的团队开发的,比如 kohya、sai 等,而 t2i 开头的模型是腾讯开发的。
下载后,把模型放在 extensions/sd-webui-controlnet/models
文件夹里就行了。
控制权重决定『ControlNet』对生成结果的影响程度。数值越高,生成结果越严格按照 『ControlNet』的处理结果生成;数值越低,AI 有更多自由发挥的空间,也会偏向于按照提示词的内容去生成图片。
『引导介入时机』和『引导终止时机』也用于调整『ControlNet』的控制强度。『引导介入时机』设为 0.2 表示图像生成 20% 时『ControlNet』开始介入;『引导终止时机』设为 0.8 表示图像生成 80% 时『ControlNet』停止影响。
『控制模式』提供均衡、更偏向提示词、更偏向『ControlNet』三种选项,字面意思即可理解。
『缩放模式』与『图生图』模式中的缩放功能一致,也是根据字面意思操作。
点赞 + 关注 + 收藏 = 学会了