一、前言
女模特总是不配合?用它!游戏原画没灵感?也用它![建筑绘画]各行各业设计都用它!它就是 ControlNet !只需简单调整参数就能产出无限创作灵感,提高我们的创作效率!
这款 SD 插件已成为了AI 绘画领域最新的热点。而它的出现代表着 AI 生成开始进入真正可控的时期,而 AIGC 的可控性是它进入实际生产最关键的一环。在此之前,大家用了很多方法想让 AI 生成的结果尽可能符合要求,但都不尽如人意,ControlNet 比之前 img2img 要更加精准和有效,可以直接提取画面的构图,人物的姿势和画面的深度信息等等。有了它的帮助,就不用频繁用提示词来碰运气抽卡式创作了。今天我们就详细探讨下 ControlNet 的各项参数,带着大家进入绘画创作的新大门!
二、ControlNet 缘起简介
ControlNet 作者:张吕敏,他是2021年本科毕业,目前正在斯坦福读博的中国人,为我们这位年轻同胞点赞。ControlNet 是作者提出的一个新的神经网络概念,就是通过额外的输入来控制预训练的大模型,比如 stable diffusion。这个本质其实就是端对端的训练,早在2017年就有类似的AI模型出现,只不过这一次因为加入了 SD 这样优质的大模型,让这种端对端的训练有了更好的应用空间。它很好的解决了文生图大模型的关键问题:单纯的关键词控制方式无法满足对细节精确控制的需要。
之前很火的 Style2Paints 也是这位作者制作的,除此之外他还做了一款名为 YGO PRO 2 的 Unity 纸牌游戏,这款游戏在国内外都有不少粉丝。
AI线稿上色这个领域他也有涉猎,Style2Paints 就是他创作的应用,已经迭代到了第5版。下图是 Style2Paints 线稿到插画的示例。项目地址:[https://github.com/lllyasviel/style2paints
三、基础参数介绍
1. 启用(Enable)
勾选此选项后,点击 “生成” 按钮时,ControlNet 才会生效。
2. 反色模式(Invert Input Color)
将图像颜色进行反转后应用。
3. RGB 转 BGR(RGB to BGR)
把颜色通道进行反转,在 NormalMap 模式可能会用到。
4. 低显存优化(Low VRAM)
低显存模式,如果你的显卡内存小于等于4GB,建议勾选此选项。
5. 无提示词的猜测模式(Guess Mode)
也就是盲盒模式,不需要任何正面与负面提示词,出图效果随机,很有可能产生意想不到的惊喜效果!
6. 预处理器(Preprocessor)
在此列表我们可选择需要的预处理器,每个 ControlNet 的预处理器都有不同的功能,后续将会详细介绍。
7. 模型(Model)
配套各预处理器需要的专属模型。该列表内的模型必须与预处理选项框内的名称选择一致,才能保证正确生成预期结果。如果预处理与模型不致其实也可以出图,但效果无法预料,且一般效果并不理想。
8. 权重(Weight)
权重,代表使用 ControlNet 生成图片时被应用的权重占比。
9. 引导介入时机(Guidance Start(T))
在理解此功能之前,我们应该先知道生成图片的 Sampling steps 采样步数功能,步数代表生成一张图片要刷新计算多少次,Guidance Start(T) 设置为 0 即代表开始时就介入,默认为 0,设置为 0.5 时即代表 ControlNet 从 50% 步数时开始介入计算。
10. 引导退出时机(Guidance End(T))
和引导介入时机相对应,如设置为1,则表示在100%计算完时才会退出介入也就是不退出,默认为 1,可调节范围 0-1,如设置为 0.8 时即代表从80% 步数时退出介入。
11. 缩放模式(Resize Mode)
用于选择调整图像大小的模式:默认使用(Scale to Fit (Inner Fit))缩放至合适即可,将会自动适配图片。
一共三个选项:Just Resize,Scale to Fit (Inner Fit),Envelope (Outer Fit)
12. 画布宽度和高度(Canvas Width 和 Canvas Height)
画布宽高设置,请注意这里的宽高,并不是指 SD 生成图片的图像宽高比。该宽高代表 ControlNet 引导时所使用的控制图像的分辨率,假如你用 SD 生成的图片是 1000x2000 分辨率,那么使用 ControlNet 引导图像时,对显存的消耗将是非常大的;我们可以将引导控制图像的分辨率设置为 500x1000 ,也就是缩放为原本图像一半的分辨率尺寸去进行引导,这有利于节省显存消耗。
13. 创建空白画布(Create Blank Canvas)
如果之前使用过 ControlNet 功能,那么将会在 ControlNet 的图像区域留有历史图片,点击该按钮可以清空之前的历史,也就是创建一张空白的画布。
14. 预览预处理结果(Preview Annotator Result)
点击该按钮可以预览生成的引导图。例如:如果使用 Canny 作为预处理器,那么点击该按钮之后,可以看到一张通过 Canny 模型提取的边缘线图片。
15. 隐藏预处理结果(Hide Annotator Result)
点击该按钮可以隐藏通过 Preview 按钮生成的预览图像窗口(不建议隐藏)
四、预处理器功能详解
ControlNet 的核心能力就是能让我们通过设置各种条件来让AI更可控地生成最终图像结果。这些条件就是通过调节预处理器参数来实现的,所以我们首先要先了解下 ControlNet 各种预处理器的功能。
1. Canny 边缘检测
Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。
· 预处理器分辨率
预处理器分辨率数值越高越精细,也越吃显存。但如果数值太低生成的线条也会很粗糙。默认512,具体设置时需根据素材大小和实际情况来做权衡。
· 长和宽的阈值
这个值越高线条越简单,越低线条越复杂。
注意:一定要找到和预处理器对应名字一样的模型。
重绘幅度越高,AI越放飞自我。
Prompt: “cute dog”
给线稿上色制作的小动画效果也挺好。
2. Depth 深度检测
通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。
· MiDaS 深度信息估算
MiDaS 深度信息估算,是用来控制空间距离的,类似生成一张深度图。一般用在较大纵深的风景,可以更好表示纵深的远近关系。
注:有时我们也可以用于生成遮罩蒙版。
· LeReS 深度信息估算
LeReS 深度信息估算比 MiDaS 深度信息估算方法的成像焦点在中间景深层,这样的好处是能有更远的景深,且中距离物品边缘成像会更清晰,但近景图像的边缘会比较模糊,具体实战中需用哪个估算方法可根据需要灵活选择。
如下图能看出我们很好地控制住了生成结果的整体结构,这与原图基本保持一致。
3. HED 边缘检测
HED 边缘检测可保留更多柔和的边缘细节,类似手绘效果。
参数也是分辨率越高越精细,但也越吃显存。
Prompt: “oil painting of handsome old man, masterpiece”
相对于使用普通的 img2img ,边缘线提取的方式可以生成更加清晰完整的图,黑色描边也得到了很好的重绘。
4. M-LSD 线条检测
M-LSD 线条检测用于生成房间、直线条的建筑场景效果比较好。
rompt: “room”
Prompt: “building”
5. Normal Map 法线贴图
Normal Map 法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。
· RGB 转 BGR
如需要把 Normal map 从 RGB 反转成 BGR 的可把这个选项勾上。(注:因坐标系问题,有时需要反转下通道信息,如生成结果的光照信息和你预期是反的,可能需要勾选此选项)
6. OpenPose 姿态检测
OpenPose 姿态检测可生成图像中角色动作姿态的骨架图,这个骨架图可用于控制生成角色的姿态动作。这个没有涉及手部的骨架,所以手部控制不行有时会出问题。
· OpenPose 姿态及手部检测
OpenPose 姿态及手部检测解决了姿态检测手的问题。如下图有了手部骨骼控制生成的手部效果会更好。
除了生成单人的姿势,它甚至可以生成多人的姿势,这点非常关键,在此之前AI生成的画面里多个人物的特定动作是几乎无法靠提示词来实现的。
通过控制人物姿势,在人物角色设计时也可以得到很好应用。
7. PiDiNet 边缘检测(像素差分网络,配合 hed 模型)
PiDiNet 边缘检测生成的线条较粗壮,类似雕刻效果。
这个预处理器要配合选择 hed 模型效果才会比较好。
8. Scribble 涂鸦(要配合 scribble 模型)
设置画布高度和宽度,一般默认 512x512 就可以了,点击 “Create blank canves” 创建画布。
把画笔调小一点,勾画出想要的图像轮廓(如下图)。
再添加一些提示词描述,控制下生成效果。
最终生成的图像效果,如下图。
· Fake_Scribble 伪涂鸦
不用自己画,扔个图片给AI,生成类似涂鸦效果的草图线条。
9. Segmentation(ADE20k 语义分割,配合seg模型)
语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。
OneFormer 地址:[https://huggingface.co/spaces/shi-labs/OneFormer]
ADE20K 颜色表:[https://drive.google.com/file/d/1lon9OBkWYFwj_xxh9lGFfkcQaZ0ErFAS/view]
10. Binary 二进制(黑白稿提取)
Binary 二进制就是把图像变成只有黑白两色(没有灰),如下图效果。
11. Clip_Vision 风格转移(配合 style 模型)
这是近期新出的一个模型,在实际使用中,选择预处理的时候并没有预览图像,猜测是因为风格转移,一种风格并不好预览。
首先生成一张颜色丰富的照片,然后以该照片作为 ControlNet 输入,该预处理器叫做 clip_vision,但是模型叫做 t2iadapter_style。有趣的是可以把一张照片的风格转移到另外一张上,如先生成一把剑,再将上述颜色丰富的照片和剑结合,就可以得到下图效果。
prompt: just a sword
Negative prompt: man, woman, person, protagonist
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2026071917, Size: 512x512, Model hash: fc2511737a, Model: chilloutmix_NiPrunedFp32Fix, ENSD: 31337, ControlNet-0 Enabled: True, ControlNet-0 Module: canny, ControlNet-0 Model: control_sd15_canny [fef5e48e], ControlNet-0 Weight: 1, ControlNet-0 Guidance Start: 0, ControlNet-0 Guidance End: 1
参考:[https://github.com/TencentARC/T2I-Adapter/blob/main/docs/examples.md]
12. Color 色彩继承
色彩预处理后会检测出原图中色彩的分布情况,分辨率影响色彩块的大小。
不加任何提示词,生成的图像就艺术感爆棚,观察下颜色和检测出来的颜色分布趋于一致。
官方介绍 [https://github.com/TencentARC/T2I-Adapter/blob/main/docs/examples.md]
五、附录
1. 预处理器与对应模型清单
预处理器名称 | 对应ControlNet模型 | 对应腾讯t2i模型 | 功能描述 |
---|---|---|---|
canny | control_canny | t2iadapter_canny | 边缘检测,适合原画设计师 |
depth | control_depth | t2iadapter_depth | MiDaS深度检测 |
depth_leres | control_depth | t2iadapter_depth | LeReS深度检测 |
hed | control_hed | 无 | 边缘检测但保留更多细节,适合重新着色和风格化 |
mlsd | control_mlsd | 无 | 线段识别,识别人物功能极差,适合建筑设计师 |
normal_map | control_normal | 无 | 根据图片生成法线贴图,适合CG或游戏美术师 |
openpose | control_openpose | t2iadapter_openpose t2iadapter_keypose | 提取人物骨骼姿势 |
openpose_hand | control_openpose | t2iadapter_openpose t2iadapter_keypose | 提取人物+手部骨骼姿势 |
scribble | control_scribble | t2iadapter_sketch | 应用自画的黑白稿 |
fake_scribble | control_scribble | t2iadapter_sketch | 涂鸦风格提取(很强大的模型) |
segmentation | control_seg | t2iadapter_seg | 应用语义分割 |
binary | control_scribble | t2iadapter_sketch | 提取黑白稿 |
clip_vision | 无 | t2iadapter_style | 风格转移 |
color | 无 | t2iadapter_color | 色彩分布 |
2. ControlNet 和 T2I-Adapter 有什么区别?
ControlNet 在论文里提到,Canny Edge Detector 模型的训练用了 300 万张边缘-图像-标注对的语料,A100 80G 的 600 个 GPU 小时。Human Pose (人体姿态骨架)模型用了 8 万张 姿态-图像-标注 对的语料, A100 80G 的 400 个 GPU 时。 T2I-Adapter 的训练是在 4 块 Tesla 32G-V100 上只花了 2 天就完成,包括 3 种 condition,sketch(15 万张图片语料),Semantic segmentation map(16 万张)和 Keypose(15 万张)。 两者的差异:ControlNet 目前提供的预训模型,可用性完成度更高,支持更多种 condition detector (9 大类)。 T2I-Adapter ”在工程上设计和实现得更简洁和灵活,更容易集成和扩展” 此外,T2I-Adapter 支持一种以上的 condition model 引导,比如可以同时使用 sketch 和 segmentation map 作为输入条件,或 在一个蒙版区域 (也就是 inpaint ) 里使用 sketch 引导。
关于AI绘画技术储备
学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!
对于0基础小白入门:
如果你是零基础小白,想快速入门AI绘画是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画!
需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
1.stable diffusion安装包 (全套教程文末领取哈)
随着技术的迭代,目前 Stable Diffusion 已经能够生成非常艺术化的图片了,完全有赶超人类的架势,已经有不少工作被这类服务替代,比如制作一个 logo 图片,画一张虚拟老婆照片,画质堪比相机。
最新 Stable Diffusion 除了有win多个版本,就算说底端的显卡也能玩了哦!此外还带来了Mac版本,仅支持macOS 12.3或更高版本。
2.stable diffusion视频合集
我们在学习的时候,往往书籍代码难以理解,阅读困难,这时候视频教程教程是就很适合了,生动形象加上案例实战,一步步带你入门stable diffusion,科学有趣才能更方便的学习下去。
3.stable diffusion模型下载
stable diffusion往往一开始使用时图片等无法达到理想的生成效果,这时则需要通过使用大量训练数据,调整模型的超参数(如学习率、训练轮数、模型大小等),可以使得模型更好地适应数据集,并生成更加真实、准确、高质量的图像。
4.stable diffusion提示词
提示词是构建由文本到图像模型解释和理解的单词的过程。可以把它理解为你告诉 AI 模型要画什么而需要说的语言,整个SD学习过程中都离不开这本提示词手册。
5.AIGC视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】