一、介绍
ControlNet: ControlNet是一种通过添加附加条件来控制扩散模型(例如Stable Diffusion)的神经网络结构。一般的使用方法是结合Stable Diffusion来做到精准控图。
通过上面的方式,ControlNet 可以重用SD编码器作为一个深度,强,鲁棒和强大的骨干来学习不同的控制。许多证据(像这个和这个)验证了SD编码器是一个优秀的骨干。
注意,我们连接层的方式是计算效率高的。原始SD编码器不需要存储梯度(锁定的原始SD编码器块1234和Middle)。所需的GPU内存并不比原来的SD大多少,尽管增加了许多层。
二、分类
canny 细致线稿
depth 深度图
depth_leres 更细致的深度图
hed 粗糙线稿
misd 线段图
normal_map 模型图
openpose 动作姿态图
openpose_hand 带手部动作的姿态图
pidinet
scribble 手绘图
fake scribble 看起来勉强像个图的手绘图
segmentation 色块分型
2.1 线稿
2.2 深度
三、下载扩展及资源
controlnet插件:https://github.com/Mikubill/sd-webui-controlnet.git
openpose编辑插件:
GitHub - huchenlei/sd-webui-openpose-editor: Openpose editor for ControlNet. Full hand/face support.
并且发布dist到指定目录
将下载下来的dist.zip解压,并且移动到 extensions/sd-webui-openpose-editor/dist/
接下来就是查看界面:
ControlNet模型下载
lllyasviel/ControlNet-v1-1 at main (huggingface.co)
将文件*.pth和*.yaml下载到extensions/sd-webui-controlnet/models/
在下载的时候要注意文件名中"V11"后面的字母,p:表示可以使用,e:表示还在试验中,u:表示未完成,如果是文件名中的字母是e,就不要下载
所有的模型和检测器都可以从 our Hugging Face page下载。确保SD模型放在“ControlNet/models”中,检测器放在“ControlNet/annotator/ckpts”中。确保从 our Hugging Face page下载了所有必要的预训练权重和检测器模型,包括HED边缘检测模型、Midas深度估计模型、Openpose等等。
四、选择openpose
选择模型和preprocessor ,然后点击星号进行处理,会生成一个姿态图,点击编辑可以进入
第一个edit可以对人体形态图进行编辑
第二个编辑可以对人体形态图和真人进行匹配查看编辑:
五、通过重绘模板和人体形态图图生图
生成结果:
如果出现衣服碎片以及其他的多余绘制,可以在第二个ControlNet Unit 1中设置Depth深度绘制,还可以添加更多,但是需要去下载对应的Model。
还有更多的商业应用,比如电商模特,文章要窥其全貌需要时间