控制diffusion模型

Lvmin Zhang发布的ControlNet给了我们一个答案。

来自日本的Kakigōri Maker提供了webui的扩展

安装扩展

  1. 进入webui中的”Extensions”标签页。
  2. 进入”Install from URL”标签页。
  3. 把网址https://github.com/Mikubill/sd-webui-controlnet贴到”URL for extension’s git repository”。
  4. 点击”Install”按钮,等待。
  5. 重启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的vrmvrmwebpose网站编辑。

Guess Mode(实验性)

如果不知道怎么写提示语,可以使用Guess Mode
也可用以对比不同的预处理产生的效果,在没有提示语的指导下,差异会更明显。

在这个模式下建议可以将步数适当增大,比如加到50。