Stable Diffusion入门-ControlNet 深入理解 第二课:ControlNet模型揭秘与使用技巧
大家好,欢迎回到Stable Diffusion入门-ControlNet 深入理解系列的第二课!
如果你还记得第一篇文章的内容 - 我们已经了解了 ControlNet 的基础概念:它通过预处理器和模型两个强力模块,赋予了AI绘画前所未有的精准控制。
还没看过的同学?别担心,赶紧点开链接补课:Stable Diffusion入门-ControlNet 深入理解 第一课
今天,我们将进一步深入,重点探讨ControlNet的模型文件及其使用方式,特别是那些让你AI绘图更加“听话”的控制方法。你准备好了吗?
第一部分:ControlNet模型文件的使用——从下载到保存
首先,大家别慌,模型文件并不复杂。我们可以从Hugging Face或通过网盘下载ControlNet的模型文件。
下载的文件可以放到以下两个目录之一:
extension---sd-webui-controlnet---models
Models---controlnet
这两个路径,哪个都行,主要取决于你使用的部署方式。
记住:保存路径要一致,否则模型会找不到,ControlNet的魔力就发挥不出来了!
如果你是第一次下载某个模型,启动器会自动下载缺失的模块,所以不必担心。如果想要一步到位,所有模型文件都可以在这个网盘链接 下载。
https://pan.baidu.com/s/1yeosHNxqq8n700MC5N40EA?pwd=4e74
第二部分:模型文件名详解——让你秒懂命名规则
我们拿 control_v11p_sd15_canny.pth 为例,简单解释下它的命名规则:
-
controlnet:项目名称,说明这是一个ControlNet的模型。
-
V11P:版本状态,V11代表版本号,P表示这是已完成并可以使用的稳定版本(记住,P、E、U分别代表不同的状态,E为实验版本,U是未完成,F是bug修复版)。
以上就是官方v1.1的全部模型
其中,每个模型都有fp16版本,而FP16相对于FP32有更快的计算速度和更低的内存使用量
- SD15:适配的Stable Diffusion大模型版本,确保ControlNet模型和主模型匹配才能生效!
- Canny:模型控制方式,这里指“硬边缘”控制方法。
- .pth:模型文件的扩展名,它代表了这是一个PyTorch格式的文件。至于其他格式,比如saferensors,大家可以根据需要使用。
重要提示:如果你下载的ControlNet模型是V11之后的版本,它会有一个与模型同名的配置文件(扩展名为yaml)。这个配置文件对模型非常关键,千万别漏掉!
第三部分:ControlNet模型-线条类的控制方法详解
模型文件有了,接下来就要深入了解每种模型的具体用途了。
ControlNet有多种类型的控制方法,我们可以根据自己的需求选择最合适的模型。
下面,我们就来看看线条类的控制方法:
1. Canny—硬边缘控制
Canny是我最喜欢的控制方法之一!
它通过边缘检测来帮助AI绘制出清晰的硬边缘图像。尤其在需要强调物体轮廓和细节时,Canny显得尤为出色。
比如,你想画一个非常“硬朗”的人物轮廓,Canny就能帮你实现这一目标。
2. Lineart—线稿控制
想要让AI画出一个细致的线稿?那就用Lineart!
它适用于给AI提供更明确的构图线索,特别适合线稿上色或重新上色,当然也能用来控制图像形状。
Lineart控制的力度要比Canny稍弱一些,给了AI更多的发挥空间。
这里有四种Lineart的预处理选项,适应不同风格:
- lineart_standard:标准的线稿处理。
- lineart_Coarse:适合边缘模糊、粗糙的图像(比如毛发等)。
- lineart_realistic:适合写实风格的线稿。
- lineart_anime:专为动漫风格线稿设计。
- lineart_anime_denoise: 是针对漫画常用的网点/格点做了优化
注意两个anime都需要配合专门的模型使用
每种风格都有不同的适用场景,大家可以根据需求来选择。
可以看一组对比图:
3. Softedge—软边缘控制
Softedge(又叫HED)控制力度较弱,更适合细腻的过渡效果,常用于图像的柔和处理。
这种控制方式非常适合那些需要柔和细腻感的图像生成,尤其是人物的皮肤、柔软物体等。
一般用图示的PIDI即可。
如果要排优先级,可按稳定性来选择:
SoftEdge_PIDI_safe > SoftEdge_HED_safe > SoftEdge_PIDI > SoftEdge_HED 按质量:SoftEdge_HED > SoftEdge_PIDI > SoftEdge_HED_safe > SoftEdge_PIDI_safe
由于teed使用的太少,直接从作者官网上拔了组对比,感兴趣的同学可以自己试验下。
4. Scribble—涂鸦控制
如果你希望AI有更多创作空间,可以选择Scribble(涂鸦)。
它给了AI足够的自由度,用最简单的涂鸦线条来引导AI绘制图像。
虽然控制力度最弱,但结果通常会非常有创意,适合那些想要让AI“发挥想象”的用户。
而涂鸦可选的预处理器有三个:
- scribble_xdog:够处理细节层次中找到完美的平衡
- scribble_pidinet:处理图像清晰的曲线和直线边缘主要工具
- scribble_hed:该预处理器擅长生成与技艺精湛的艺术家手绘相媲美的轮廓
总体来看三者差别不大,个人scribble_pidinet用的会多些,这个预处理器选取率更高些
5. MLSD—建筑线条控制
MLSD这个控制器,主要应用于建筑图像的生成。
它可以忽略复杂的曲线,只提取直线,专门用于那些建筑结构较多、直线元素突出的图像。
想生成建筑图像?MLSD是你的不二选择!
总结:如何选择合适的ControlNet模型?
根据你想要的效果选择不同的控制模型:
- 最大程度还原照片? 选 Canny!
- 只想控制构图,给AI更多空间? 选 Softedge!
- 想要写实风格? 选 Lineart!
- 建筑设计? 选 MLSD!
- 给AI更多创作空间? 选 涂鸦(Scribble)!
在下一篇文章中,我们将带你进入更深的ControlNet使用技巧,讲解如何在实际生成中应用这些模型并解决常见问题!
想不想知道如何在最短时间内提高绘图的效率和质量?
敬请期待,下一篇文章,我们继续探索ControlNet的强大奥秘!