StableDiffusionComfyUI基础教程(八):如何使用Controlnet
一、前言
终于到了最激动人心的时刻,我们使用 Stable Diffusion 最重要的就是他的可控性,其中 Controlnet(控制网络)的作用居功至伟,它可以引入更多的条件来让我们出图更加可控。
往期回顾:
在最开始之前我们需要安装 Controlnet 预处理器插件以及下载 Controlnet 模型:
①Controlnet 预处理器插件:
插件地址: https://github.com/Fannovel16/comfyui_controlnet_aux.git如果安装后,运行 ComfyUI 显示无法导入插件请运行“ComfyUI\custom_nodes\comfyui_controlnet_aux”目录下的“install.bat”文件
②Controlnet 模型:
常用模型我会放在本节课文件链接里面;模型存放位置在“ComfyUI_windows_portable\ComfyUI\models\controlnet”目录下,如果你是和 Web UI 共用的模型,那就要看你第一节课设置的是插件下的还是 "models" 下的位置了。一、创建流程
1. 需要有哪些操作:
①为了能让大家更直观的了解使用 Controlnet 需要有哪些操作,我先以 Web UI 上的 Controlnet 为例:
②我们可以看到在使用 Controlnet 插件时,需要我们加载图像、选择预处理器、加载 Controlnet 模型,以及控制权重、控制引导介入时机、控制引导终止时机;
③好了,开始正题,我们还是以“万能的文生图”为基础,先打开“文生图基础流程”,我们这个基础上把 Controlnet 流程加进去。
2. 预处理器:
①Controlnet 预处理器分有很多,比如:线条、面部与姿态、法向与深度、语义分割、颜色、Tile 平铺等多个类型,并且每个类型又有多个预处理器,我们先以线条中的 Canny 细致线预处理器为例,后面我会分别介绍他们有什么作用,以及怎么使用;
②先“右键-新建节点-图像-加载图像”去加载图像,这个应该都会了吧。然后我们再去选择 Controlnet 预处理器,“右键-新建节点-Controlnet 预处理器-线条-Canny 细致线预处理器”
③这一步是我们预处理器最重要的地方,我们可以把“加载图像”与“预处理器进行连接”,并且在右侧连接一个“预览图像”,然后跑一下,看看效果。
④可以看到,我们的图片已经被处理成黑底白色的线稿,这个线稿就是我们使用 Controlnet 之前的必备条件;
⑤当然,如果我们有已经处理好的图片,我们就可以省略“预处理器”这一步,直接进行下一步就可以了。
3. Controlnet:
①图片已经处理好了,我们这时候就需要去加载选择 Controlnet 模型的节点,以及用来进行权重控制的节点;
② “右键-新建节点-Controlnet 加载器”
③ “右键-新建节点-条件-Controlnet 应用”,这时候我们会看到两个 Controlnet 应用节点,分别是 Controlnet 应用、Controlnet 应用(高级):
强度:就是我们用来控制权重的,还记得上节课 Lora 权重的控制吗,是一个意思;开始时间:我们在绘图时,Controlnet 什么时候进行控制;结束时间:我们在绘图时,Controlnet 什么时候结束控制;
④相比较,Controlnet 应用只能用来控制权重,开始/结束时间采用默认 0/1。另外 Controlnet 应用(高级)需要去连接负面关键词。我们根据自己的使用选择就可以,我一般使用 Controlnet 应用(高级);
4. 工作流:
①我们使用 Controlnet 所需要的节点都已经加载出来了,我们把他们连接起来,并添加到“文生图基础流程”中;
②我们把“预处理器”处理好的图像以及“Controlnet 加载器”分别连接到“Controlnet 应用”;
③选择 Controlnet 模型,这时候我们一定要选择对应功能、对应版本的模型:
比如我们用的 Canny 预处理器,那我们就要选择 Canny 的 Controlnet 模型(我会在挨个介绍预处理器的时候给大家讲解,他们分别对应哪些模型);我们出图采用的是 SD1.5 的大模型,那我们就要去选择 SD1.5 的 Controlnet 模型;我给大家演示是用的 SD1.5 的大模型,那我就选择了“control_v11p_sd15_canny”这个模型。
④“正/反 CLIP 文本编码器”连接“Controlnet 应用”,“Controlnet 应用”连接“K 采样器”
⑤我们可以看到我通过一个二次元大模型以及关键词控制后,得到一张相同细节的二次元图像。
5. 多个 Controlnet 如何连接:
大家学习 ComfyUI 有段时间了,应该能猜到多个 Controlnet 怎么连接吧,我们在“Controlnet 应用”后面再串联个“Controlnet 应用”就可以了,其余的该连 Controlnet 模型的连模型,该连 Controlnet 预处理器的连预处理器。
三、后续课程规划
到这我们的 ComfyUI 基础教程就已经结束,在接下来的课程中我会带给大家带来更精深的课程,比如:
Controlnet 各种预处理器以及模型的详细讲解;如何使用“LCM模型&Turbo模型”进行快速出图和实时绘图;如何使用 AnimateDiff 插件生成视频动画;如何使用 Stable Video Diffusion 模型进行图生视频;如何使用 Stable Zero 123 模型生成多角度图像并生成视频。
更多的课程还在规划中,大家敬请期待!
- 免责声明
- 本文所包含的观点仅代表作者个人看法,不代表新火种的观点。在新火种上获取的所有信息均不应被视为投资建议。新火种对本文可能提及或链接的任何项目不表示认可。 交易和投资涉及高风险,读者在采取与本文内容相关的任何行动之前,请务必进行充分的尽职调查。最终的决策应该基于您自己的独立判断。新火种不对因依赖本文观点而产生的任何金钱损失负任何责任。