控制diffusion模型
Lvmin Zhang发布的ControlNet给了我们一个答案。
来自日本的Kakigōri Maker提供了webui的扩展。
安装扩展
- 进入webui中的”Extensions”标签页。
- 进入”Install from URL”标签页。
- 把网址
https://github.com/Mikubill/sd-webui-controlnet
贴到”URL for extension’s git repository”。 - 点击”Install”按钮,等待。
- 重启webui。
controlnet界面
下载模型
我们需要先下载预训练好的ControlNet模型。
原作者Lvmin Zhang有公布自己基于sd15训练的模型。但这个模型很大,有5.71GB。
Kakigōri Maker提供了精简模型,kohya-ss提供了叉分模型,这两个模型产生的结果有所不同。
预处理器
sd-webui-controlnet内置了几种预处理器。
首次使用时会自动下载对应的annotator。
- none
无预处理,适用于手绘草图。
无需搭配controlnet模型。 - canny
canny全称是Canny edge detection,是1986年提出的一种边缘检测算法。
搭配control_canny
模型使用。 - hed
hed全称是Holistically-nested Edge Detection,一种整体嵌套式边缘检测的 DL 模型,精度比 Canny Edge 高不少),捕捉其边缘特征用于引导。
搭配control_hed
模型使用。 - openpose
openpose是美国卡耐基梅隆大学基于卷积神经网络和监督学习开发的开源库,可以实现实时人体动作、脸部表情、手脚姿态的估计。
搭配control_openpose
模型使用。 - depth和depth_leres
基于深度图重建。
depth_leres中的LeReS的全写是Learning to Recover 3D Scene Shape from a Single Image,可以获得更好的效果。
搭配control_depth
模型使用。 - normal_map
normal_map是法线贴图,在保留细节方面更好。
搭配control_normal
模型使用。 - mlsd
mlsd的全写是Maximum-Likelihood Sequence Detector,即极大似然估计。
搭配control_mlsd
模型使用。 - segmentation
图像分割。
搭配control_seg
模型使用。
每种预处理的效果可以在项目主页的examples查看。
openpose编辑器
除了从图片中提取姿势,我们也可以使用Openpose Editor扩展来直接编辑一个openpose。
这个扩展不带骨骼约束,想要带骨骼约束可以使用openose的vrm去vrmwebpose网站编辑。
Guess Mode(实验性)
如果不知道怎么写提示语,可以使用Guess Mode。
也可用以对比不同的预处理产生的效果,在没有提示语的指导下,差异会更明显。
在这个模式下建议可以将步数适当增大,比如加到50。