该文章由【吐司创造营】直播的部分脚本编成,部分操作向和演示向内容无法用文本撰写,故推荐配合回放观看效果更佳。部分观点来源网络,如有错误欢迎指正!
本期文章对应回放为👉:BV1Ep421y7KX
一、ControlNet定义
以特定信息引导,实现一些我们通过文生图、图生图不好精准控制的特征。
预处理器可以从图片里提取特征信息,训练过的controlnet模型读取这些信息,并引导SD生成过程。
ControlNet 的核心能力就是能让我们通过设置各种条件来让AI更可控地生成最终图像结果。这些条件就是通过调节预处理器参数来实现的,所以我们首先要先了解下 ControlNet 各种预处理器的功能。
二、参数详解
控制权重:主要影响控制力度
引导实际:生成过程中controlnet的生效时间
控制模式:更倾向于提示词还是controlnet
改变控制力度的方式:
加大力度:
提高权重
降低开始引导步数并提高结束引导步数
选用controlnet更重要模式
降低力度:
减小权重
提高开始引导步数并降低结束引导步数
选用提示词更重要模式
三、ControlNet详解
ControlNet的大致分类

轮廓类
Canny:边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。控制线条轮廓,线条粗细是一样的,白底黑线线稿应该用inver,反色成黑底白线才可以正常识别,线条不宜太过密集。

MLSD:M-LSD 线条检测用于识别画面里的直线条,生成房间、直线条的建筑场景效果比较好。M-LSD 直线线条检测预处理后只会保留画面中的直线特征,而忽略曲线特征。

Lineart:跟canny比较像,但是会有一些艺术化的处理,它的使用场景会更加细分,包括 Realistic 真实系和 Anime 动漫系 2 个方向。Lineart 是有的明显笔触痕迹线稿,更像是现实的手绘稿。

SoftEdge:控制线条轮廓,但更加柔和,放松,线条有粗有细;几种预处理器没有太大差别,与canny对比,对轮廓线条的还原更生动,不会太过于刻板。它的特点是可以提取带有渐变效果的边缘线条,由此生成的绘图结果画面看起来会更加柔和且过渡自然。在官方介绍的性能对比中,模型稳定性排名为 PiDiNetSafe > HEDSafe > PiDiNet > HED,而最高结果质量排名 HED > PiDiNet > HEDSafe > PiDiNetSafe,综合考虑后 PiDiNet 被设置为默认预处理器,可以保证在大多数情况下都能表现良好。

Scribble:涂鸦引导画面生成,应用一些灵魂画手,它检测生成的预处理图更像是蜡笔涂鸦的线稿,在控图效果上更加自由。

Segmentation:语义分割,用颜色把不同类型的对象分割开,它可以在检测内容轮廓的同时将画面划分为不同区块,并对区块赋予语义标注,从而实现更加精准的控图效果,让AI能正确识别对象类型和需求生成的区界。比如说绿色代表的是草地,蓝色代表的是天空。
景深类
Depth:深度图,通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。leres精度高,midas较为泛用,精度越高的预处理,花费时间一般越久。
对比来看,LeReS 和 LeReS++的深度图细节提取的层次比较丰富,其中 LeReS++会更胜一筹。而 MiDaS 和 ZoE 更适合处理复杂场景,其中 ZoE 的参数量是最大的,所以处理速度比较慢,实际效果上更倾向于强化前后景深对比。

NormalMap:法线贴图,法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。更精准的识别物体的凹凸体积关系,甚至是材质,常见用于室内设计,产品设计。对比 Bae 和 Midas 预处理器的出图效果,也能看出 Bae 在光影反馈上明显更胜一筹。
对象类
Openpose:姿势生成,可生成图像中角色动作姿态的骨架图,控制姿势、手部、面部。

重绘类
Inpaint:类似局部重绘,但是融合会更好。局部重绘这里提供了 3 种预处理器,Global_Harmonious、only 和 only+lama,整体来看出图效果上差异不大,但在环境融合效果上 Global_Harmonious 处理效果最佳,only 次之,only+lama 最差。
Tile:无缝拼接,用来添加细节和高清放大;Tile 中同样提供了 3 种预处理器:colorfix、colorfix+sharp、resample,分别表示固定颜色、固定颜色+锐化、重新采样。看到三种预处理器的绘图效果,相较之下默认的 resample 在绘制时会提供更多发挥空间,内容上和原图差异会更大。
Shuffle:随即洗牌,打乱噪声和像素点,提取颜色信息和色彩。随机洗牌是非常特殊的控图类型,它的功能相当于将参考图的所有信息特征随机打乱再进行重组,生成的图像在结构、内容等方面和原图都可能不同,但在风格上你依旧能看到一丝关联。

pix2pix:指令性的controlnet,指导图生图,它的功能可以说和图生图基本一样,会直接参考原图的信息特征进行重绘,因此并不需要单独的预处理器即可直接使用。比如说着火。
特殊类
Reference:参考信息,根据原有的图像信息去生成。这里提供了 3 个预处理器 adain、adain+attn、only。其中 adain、adain+attn 是 V1.1.171 版本后新增的预处理器,其中 adain 表示 Adaptive Instance Normalization 自适应实例规范化,+attn 表示 Attention 链接。
Recolor:重新上色,黑白图像变成有颜色的。它的效果是给图片填充颜色,非常适合修复一些黑白老旧照片。但 Recolor 无法保证颜色准确出现特定位置上,可能会出现相互污染的情况,因此实际使用时还需配合如打断等提示词语法进行调整。这里也提供了 intensity 和 luminance2 种预处理器,通常推荐使用 luminance,预处理的效果会更好。
T2I-Adapter 文生图适配器:它的作用是为各类文生图模型提供额外的控制引导,同时又不会影响原有模型的拓展和生成能力。
IP-Adapter 图生图适配器:要用来提升文生图模型的图像提示能力
Clip_vision:腾讯出的,color adapter是用图控制色彩,style adapter是用图控制风格。

