一、前言
终于到了最激动人心的时刻,我们应用 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 模型生成多角度图象并生成视频。