前言
本文主要以SD1.5模型为案例,SD1.5是目前开源社区controlnet最成熟的模型没有之一。几乎涵盖了常见的所有控制类型,并且控制效果也是最好的模型之一。例如openpose、depth 、canny 、tile、Inpaint等。其他模型会在后续接触到,他们的原理几乎类似。
搭建controlnet工作流
1、加载默认工作流
还是老方式,先加载一个默认的工作流。当然还需要选择一个基础模型,我们以之前分享过的麦橘写实模型为例。
麦橘写实V7模型网盘下载:https://pan.quark.cn/s/a72498bbd433
2、添加controlnet节点
节点路径
中文:节点库→条件→ControlNet→应用ControlNet(旧版高级)
英文:Nodes→conditioning→controlnet→Apply ControlNet
如图所示:
3、添加
加载controlnet模型节点
节点库→加载器→加载ControlNet模型,如如所示:
4、下载controlnet模型
下载controlnet模型,并在加载controlnet模型节点中,选择一个合适模型控制类型,这里以openpose控制为例。
存放路径:ComfyUI\models\controlnet
网盘下载:https://pan.quark.cn/s/680378c7d14d
更多下载渠道⬇⬇⬇
5、节点说明
该节点输入clip的正负面条件,输出正负面条件到采样器。还需要输入controlnet模型,以及预处理图像。操作如图所示:
6、上传预处理图像
这里的图像需要一张对应控制类型的图像,比如openpose控制,则提供一个带有pose的骨骼图像,而非一般情况下的正常图像。下面提供一张作为案例使用的骨骼图。
7、输入提示词
提示词需要尽可能与提供的预处理图像符合,并且不要有与预处理图像相悖的地方。
8、完整的工作流
如果需要其他的控制方式,我们只需要将控制模型和预处理图像更换为对应的即可。
注意事项与参数说明
controlnet预处理器
在上述案例中,我提供了一张openpose的骨骼图,当我们有一张现成的人物姿态图像,如何能获取到他的骨骼图呢?这就需要用到controlnet预处理,controlnet预处理可以通过安装一个节点来实现。
预处理节点安装
还不了解节点如何安装可以参考之前的教程,传送门:安装常用第三方节点/插件
- 通过manager(管理器)安装
管理器中搜索名称:controlnet_aux
- 通过git安装
git clone https://github.com/Fannovel16/comfyui_controlnet_aux
pip install -r requirements.txt
安装完成后重启comfyui,在节点库中会增加一个名为ControlNet预处理器(ControlNet Preprocessors)的节点组,里面有各种不同类型的预处理器,如图所示:
预处理器节点的使用
可以在comfyui中打开一个空白的工作流,然后选择一个预处理类型,这里以深度(Depth)类型为例。选择DepthAnythingV2深度预处理器(Depth Anything V2 - Relative)节点,该节点需要输入正常的图像,然后输出进过处理的depth图像,然后选择一个合适的预处理模型即可。如同所示:
这样我们就得到了通过depth的预处理图像。
下载预处理器模型
首次使用预处理时,需要开启代理,预处理节点会自动下载相应的模型文件。如遇无法下载的情况,我这里为大家整理的所有的预处理模型,可以下载后放入ComfyUI\custom_nodes\comfyui_controlnet_aux\ckpts目录中。
网盘下载:https://pan.quark.cn/s/a81ef847aa35
将预处理应用到图像生成工作流
接下来只需要将图像应用到工作流中即可,把之前的图像加载节点,替换为预处理器的图像输出节点。为了清晰的知道预处理后的图像,可以保留预处理后的图像预览。当然最后还要记得把controlnet模型也更换为depth模型,如图所示:
关于预处理器的一些说明
多controlnet应用
多controlnet类似于lora,只需要将多个controlnet串联在工作流中即可,例如同时应用Depth与Canny来增加对图像的控制。如图所示:
更多controlnet模型下载
SD1.5类型
适用于二维码生成控制:
SDXL类
lllyasviel整理的模型合集
网盘下载:https://pan.quark.cn/s/8aa8de37f152
illustriousXL系列
网盘下载:https://pan.quark.cn/s/764246189bf2












评论(0)