2023年2月10日上传至预印本网站arXiv的论文详细介绍了一种控制预训练的大型扩散模型以支持额外的输入条件的方法,同日作者在GitHub公开源代码。
2023年2月13日,支持该方法的WebUI插件上线。
1 更新Web UI
前提:要将AI绘画的WebUI更新到最新版本。
cd到stable-diffusion-webui文件夹,
输入git pull命令更新。
2 安装插件本体
将 https://github.com/Mikubill/sd-webui-controlnet 仓库中的内容拉取到WebUI文件目录下extensions文件夹内。
方法:
终端内cd到extensions文件夹,输入以下命令,
git pull https://github.com/Mikubill/sd-webui-controlnet
也可以直接下载zip,下载后解压,复制粘贴到stable-diffusion-webui → extensions文件夹中。


3 安装插件所需模型
分为两种模型,一种是预处理所需要的模型,一种是这个controlnet本身用的模型。
在 Hugging Face/lllyasviel/ControlNet 下载模型文件。
(1)预处理用的模型
这部分模型本身会自动下载,但因为国内网络问题可能无法下载下来。所以先安装一下预处理的模型。
- 用于人体动作检测的预处理模型,
body_pose_model.pth和hand_pose_model.pth两个模型放在stable-diffusion-webui → extensions → sd-webui-controlnet-main → annotator → openpose文件夹中。

- 深度图midas
dpt_hybrid-midas-501f0c75.pt模型放在stable-diffusion-webui → extensions → sd-webui-controlnet-main → annotator → openpose文件夹中。

(2)controlnet 所用的模型
注意:Hugging Face 上面提供的是集成了sd1.5的模型,也就是说他自己本身带了一个生成图片的模型。而这部分在插件里并没有用,因为总要用自己的模型生成图片。也就是说你下载了5.71G的这个controlnet模型,5G是没有用的。
推荐在以下网址 webui/ControlNet-modules-safetensors 下载所需要的模型。

- 将下载好的模型放在
stable-diffusion-webui → extensions → sd-webui-controlnet-main → models文件夹中。可以先下载最重要的四个模型。

现在你的ControlNet已经安装完毕。也可以参考视频教程B站视频
首先在
扩展选项卡,点击已安装子选项卡,确定已勾选本扩展️;如未勾选,勾选后点击左上角应用并重启应用界面橙色按钮启用本扩展。

- 之后就可以在
文生图页面底部看见扩散控制网络(ControlNet)的选项了。


4 开始使用
打开扩散控制网络(ControlNet)面板,首先勾选启用
预处理:canny 边缘检测,提取线图
预处理:hed HED边缘提取
预处理:midas 提取深度图
预处理:mlsd 线段识别,适用于建筑、物体等
预处理:openpose 提取姿态
预处理:fake_scribble 提取涂鸦风格线段
预处理:none 直接将参考图片作为条件输入
normal_map:提取法线贴图
openpose_hand:在openpose基础上增加手部识别
scribble:水线法提取主体去杂色
segmentation:区域分割