Comfyui入门篇6.controlnet搭建教程
欢迎各位同学们继续回到小江老师新一期的哈康复UI的系列教程,那么我们今天的话呢,就正式要给大家讲这个contra net了,大家如果说学过YBUI的都知道contra net的话呢,它是真正的哈,我们的这一类图片生成的一个工具的灵魂所在,Coner net的存在的话呢,哈,去开拓了很多的一个呃商业的一个应用吧哈,可以说是我们不管说学C复UI还是web a UI都是必须得要去掌握的一个内容。
CTR net的话呢,我们可以就鼠标右键点空白的地方新建节点,然后在这里面的话呢,就有一个这个ctrl net的一个预处理器哈来里面的话呢,呃,有着非常多哈,就是我们比如语衣分割呀,线条呀,呃这个呃面部与姿态呀,这个就是我们之前经常去。碰到的open POS嘛,来我们这边的话呢,就是先给大家去说一下哈,这个我们的预处理器的话呢,在我们使用的一个过程当中,是需要先去下载的,你在使用的过程当中的话呢,哈,我们的一个后台。
啊,后台它会自动的去进行到这个下载和配置,呃,当然这个下载的话呢,是需要大家连接呃,配置一下那个网络的哈,我们这个CTR net的一个预处理器啊,比如说这个canny,它左边的话呢,是一个图像的一个输入对不对?好,这里的话呢,我们就需要去加载一个图像出来啊,就像我们图生图那一刻讲的一样,我们需要加载一张图像,然后的话呢,加载这张图像哈,我们连接到它啊,在处理完成之后的话呢,预览图像啊,可以给大家去看一下生成之后是怎样的一个效果。
哦,不好意思,我忘记把上面的给它关掉了。可以看到就是说我们的这个预处理器哈,它能够呢,将我们的一张这个像这样的一个图片对不对哈,通过我们的一个controlr net canny细线的预处理器提取出啊,我们图片当中的一些啊,细微的这些这个线条,然后呢,将这些线条的一个轮廓保存下来,再往我们即将生成出来的一个图片当中,把这些轮廓应用进去啊,那么这个是controlr net的一个其中的一个用法吧,好,我们这边先把上面的给它删掉吧。
然后再把它删掉,呃,这节课的话呢,我们先来了解一下哈,就是各个不同的一个预处理器处理出来之后的一个效果是怎样的,通过这节课呢,你可以理解就是说在什么时候嘛,我们想要保留图片当中哪些部分的时候,我们该使用哪个预处理器哈,去告诉AI这边我们再来啊。新建节点。CR net预处理器。啊,我们这里还有一个。面部与姿态哈。来,我们这个有一个姿态预处理器。好,再连接到一个预览图像,好像这样哈,我们再来看一下。这个姿态预处理器它是能够去保留图片当中的哪一些信息呢?
我们可以来看一看哈,好可以看到这个我之前没有下载过,然后呢,在我们的这个后台哈,它会自动的去进行到这个下载,下载完成之后呢,它才能够,呃,就是正常的让我们去进行到图像的预览,这个的话呢,可能需要一定的时间,好OK,那么等到我们预处理器下载完之后呢,大家可以看到经过哈,这个DW姿态预处理器,它能够去保留我们的图片当中的什么样的一个内容呢?啊,大家相信很简单哈,能够看得出来,它是能够哈将我们这个人物的这个姿势哈去保留下来的,然后应用到我们即将生成出来的一个图像当中,也就是即将生成出来的一个图像,它的一个姿势和人物的一个位置啊,和我们的这个原图是一样的啊这个就是DW姿态预处理器,一般来说的话呢,我们在做摄影呀,或者说做这个呃,真人照片转动漫的一个时候哈,我们都会需要去用到它。
好,那么我们接着继续来哈,接着往下啊,我们新建节点。CTR net预处理器,还有这个哈,我们的一个sga语义分割啊,这个语义分割的话呢,我们也来看一看,但是。能够保留图片当中哪些效果?同样的点击添加这个应该也是要下载一下哈,我这里面呢,很多模型都没有下载,因为是这个讲课之前我临时去重新装的一个康复UI。好,这里大家可以看到哈,我们通过这个Sigma语义分割与处理器处理出来的图像是这样的,来我们可以分析一下哈,它和原图啊,它保留了原图当中的哪些元素呢?
其实细心的小伙伴就会发现哈,就是他能够去检测把一些相关性的东西哈,用这个不同的颜色哈去做到这个渲染,比如说我们人物的位置,它就用这个玫红色来代替啊,我们的这个哈比较高的一些大树啊,它就用这个绿色来代替,然后呢,这个天空的位置,它用蓝色哈来进行这个代替,旁边两边的这个树丛呢,它是用一个浅黄色来代替,像这样呢啊,我们即将生成的图片,在经过哈语义分割的一个预处理器之后,他就知道这一块应该产生什么样的一个东西,这一块是大树啊,这一块啊是我们的一个天空啊,那么能够将这样的一个规则的话呢,应用到我们即将生成的一个图片当中,好,那么我们继续来看哈。
同样的来我们新建节点ctrl net预处理器还有什么呢?啊,我们平时用的比较多的。来,稍等哈。这个啊,还有深度啊,我们的一个深度预处理器,呃,这个深度的话呢,给大家来看一下哈。它代表着什么样的一个意思?同样呢,我们这边的话呢,去添加提示词到队列,这个可能也得要下载一下,我剪了吧,等到生成出来之后的话呢,再给大家解说。好,这里的话呢,大家可以看到这个蓝色的进度条哈,就是我们呃,这个预处理器哈,它下载的一个进度,等到这个百分百的话呢,就意味着下载完成。
我们趁现在的话呢,我们再来看一看,就第一个哈,是我们的一个canny啊预处理器,它主要的话呢,是能够提取图片当中的一些线条轮廓,将它们保存下来,然后应用到我们即将生成的图片当中,然后第二个的话呢,是这个DW姿态预处理器啊,那么它能够保持我们原图当中哈,如果有人物的话呢,能够将人物它的一个位置和姿势保存下来,好,第三个的话呢,语义分割,它能够去检测哈,我们图像当中,呃。某一块哈,它出现的一个东西,然后的话呢,根据东西不同呢,按照我们不同的颜色去进行到标注,呃,最后一个哈,就是我们的这个深度图啊,那么这个深度预处理器,呃,大家能够。
联想的到它和我们的原图有什么样的一个关联吗?啊,大家可以想一下啊。对。其实没错哈,就是这个空间光系,就它以这个白色为黑色哈作为这个显示,如果说图片当中的一个东西距离镜头越近的话呢,那么它就会越白,如果说哈图片当中的元素距离镜头越远,那么啊这些地方就会越黑,就相当于呢,它能够保持这个空间的一个关系哈,然后的话呢,再结合到我们书写的这个提示词来为我们去进行到这个出土,比如说呢哈,我可以去啊描述啊有一块一块石头对不对,在森林里啊,那么前面这个高亮的地方呢,它就会自动的替代为石头啊,离镜头比较近的,后面的话呢,就是啊,也是根据这个轮廓去描绘到一个森林的一个场景。
好,那么在了解了这四大类的我们contra net预处理器之后呢,相信大家对它会有一个比较初步的了解。那么接。接下来我们的问题就是我们该如何将ctrl net啊去和我们生成图片的一个流程去进行到这个接入呢?好,那么下面的话呢,我们将这些给清空,然后再加载一个默认的啊康复UI纹身图的一个工作流,我们还是一样的来分析一下哈,首先我们的模型和这个clip文本编码器那肯定是不能够去动的,对不对?好,那么当然的话呢,大家要了解ctrl net它和我们的文本编码器以及前面的大模型加载器一样,它是前置的条件,我们得需要把这些所有的一个条件啊设置好之后呢,我们才能够给到采样器去进行到随机的采样以及前空间的图片生成,那么最后的话呢,再将它保存到这个图像当中,所以说的话呢,我们ctrl net的一个插入应该是在。
排哈,我们采样器的前半部分,好,那么下面的话呢,我们直接来操作哈,这里的话呢,我们需要这个右键在空白的位置,然后新建节点,在这个条件里面也有一个contra net哈,我们点开之后的话呢哈,可以看到一个叫做contra net的应用,我们需要通过这个节点呢,去让它和我们的提示词去进行到这个相连,那么大家可以看到这里有两个版本哈,一个是这个旧版叭较直观,然后的话呢,还有一个是这个旧版高级。啊,以及的话呢,还有我们一个新版的,嗯,直接左键搜索。
CTRL, 嗯,还有这一个高级ctrl net的一个应用,那么我们先来看一下他们的一个对比哈,首先的话呢,我们的一个旧版就是它,呃,需要连接到的是什么呢?它需要连接到的就是我们的一个前置的一个提示词嘛,对不对啊,这里我们将这个条件和负面提示词相连,我们需要先通过这个文本编码器哈,给出我们的正反向提示词,给到CTRT这边之后呢,来我们在哈,在CTR net里面通过这个图片哈,去进行到这个控制,大家可以看到啊,这里的话呢,有一个问题就是呃,我们的这个前置条件,它只能够去连接一个啊,我们的一个文本编码器,所以说一般来讲的话呢哈,我们这里如果大家应用的是旧版本的话呢,我们只需要去连接这个正向提示词这个模块就可以。
可以了啊,那么负面提示词的话呢,我们还是哈和我们的clip文本编码器相连,那么在这里的话呢,哈,大家就可以看到呃,它有这个其他的一个选项,比如说我们的一个controlr net啊对不对啊,我们呃需要创建一个CR net的一个加载器啊,这里面的话呢,存放的就是各种各样的controlr net的模型了,这个模型的话呢,要根据我们的这个预处理器选择的,然后再来去进行到这个选择,那么controltr ne的模型呢,我一开始已经打包在哈我们的一个下载的一个网盘里了,大家的话呢,可以就进行到安装之后,我会给大家去讲一下该怎么去安装啊,那么像这样的话呢,哈,我们刚才的这个图像对不对哈,大家就知道去怎么连了嘛啊,我们先来图像。
然后的话呢,这个啊,加载一个图像,然后的话呢哈,我们的这个图像是需要通过什么呢?需要通过预处理器嘛,对不对啊,Controltra net的一个预处理器,就这里的话呢,比如说我们面部与姿态啊,我们找一个open POS的一个预处理器,然后的话呢,预处理完成之后呢,对不对,我们预处理器就要连接哈,我们的一个应用,然后呢,通过哈我们应用里面的这个contra net的模型啊去进行到这个套用,最后呢,呃,让我们在生成图片的过程当中呢,让我们的原图的这个人物的姿势和动作和即将生成的图片的姿势和动作啊保持一致,那么这个啊,是我们的一个旧版啊,我们这里的话呢,来稍微修改一下提示词哈,就是说一个。
一个女孩在海边,好。点击双击啊,我们去翻译,然后这里的话呢,我就选一个这个麦菊写实吧,这个大模型,好那么翻译完成之后哈,我们这里嗯,图像的话呢,就预览图像即可,好那么这里点击添加提示词到队列,我们可以来看一看哈,它能否去满足我们想要的,就是同样的一个姿势,在生成的过程当中呢,给大家去看一下。就这个的话呢,是一个旧版的一个高级的controltr net应用的一个处理器,大家可以看到它和下面的这个哈,不同的地方就是什么呢?
就它不仅可以去啊,它就不单单只能够去连接一个我们的一个提示词条件了,就正向提示词,负向提示词都可以通过我们的一个高级版本啊去进行到这个处理,然后的话呢,后面也有一个正面条件,一个负面条件,我们就可以通过这两个选项呢,连接到我们的K采样器上面,然后另外的话呢,呃,我们ctrl net的旧版高级,它也可以直接去连接这个VAE哈。它也可以直接连接这个va ae到我们的一个呃,大模型当中来,大模型加载器单中来,好另外的话呢,还有这个哈,我们的一个强度是什么意思呢?
强度的话呢,就是CTR net的一个权重啊,比如说呢,我们这里强度默认都是一哈,如果说是你调的这个比较低的话呢,呃,比如说到0.2 0.3左右,可能我们的一个人物的一个姿势会有一个呃,肉眼可见的一个变化吧,然后的话呢,我们的一个强度来到中段左右,就比如说0.40.5左右,它可能就会发生一些比较轻微的一个改变啊,这个强度我们其实默认都是1的,然后这个开始时间是什么意思呢?开始时间默认是0,结束时间默认是1,也就是从0%~100%,我们可以设置,比如说啊0.2,就是先让AI生成。
就是先让AI随机生成0.2的一个噪声,然后的话呢,再由我们controltr net的一个介入哈,对不对,从20%到百分百的一个过程当中呢哈,让ctrl net参与进来,这个的话呢,之后我们讲一些这个嗯,商业案例的时候哈,会有给大家去详细的说明,相信大家之前了解过web UI的一个小伙伴,应该就应该很快就能了解他到底是什么意思,这个的话呢,就是我们现在用的比较多的就是高级contra net的应用啊,正面条件负面条件啊,Controltra net都有啊,包括图像呀,遮罩呀,帧间隔啊,然后的话呢,这个雷腾光键帧啊,这两个的话呢,主要是做这个AI视频的时候去用到的,然后还有这个什么覆盖controltr net的一个权重,然后的话呢,还可以选择这个模型,然后还可以连接到这个VE,总的来说的话呢,是非常。
全面的,那么大家在呃,使用的一个过程当中,也只需要哈,就是我们正面条件负面条件啊,CTR net va ae相连接即可,其他的如果说不需要的话呢,我们就暂时用不到,好那么我们先来给大家看一下这边最终的一个图片哈,我们是生成出来了哈,来呃,这边把原图拿过来给大家看一看。它们的相同之处是什么呢?啊,相同之处的话呢,就是保持了我们人物的这个姿势动作一致性啊,但是的话呢,它的一个比例发生了一个变化,其实呢,是因为我们原图这一张照片哈,应该是512×768的一个框和高,然后呢,我们这里设置的是512×512这里,呃,稍微给它去改一下哈,宽度512高度的话呢,我们来到一个768好OK。
啊,这里再生成一张哈,生成一张的话呢,我们再换下一个的这个c net的一个呃,应用。去进行到连接。好,那么大家可以看到吧,像这样的话呢,就非常直观了,对不对,就相当于的话呢,我们就是通过control net去固定了人物的一个姿势啊,那么除了姿势以外,人物会有变化,服装会有变化,包括背景会有变化啊,这些其他的一个因素呢,都是我们可以通过呃,提示词去进行到改变的。啊。然后另外我们来连接一下另外的这一个吧。
Control net应用哈,另外的这个的话呢,其实正常来讲已经够用了,如果你不做视频的话呢,直接用这个也没任何问题,好我们还是一样的,正面条件相连,负面条件相连,这边的话呢,我们就断掉。我们就给它断掉,然后呢,这里也是正面条件啊,我们的负面条件啊,先经过提示词去控制,再经过contra net去控制啊,这里也一样的,Contra net连conttra net模型,然后的话呢,图像啊,连接到我们的这个原图当中,那么重要的是这个VAE啊,VAE的话呢,我们可以呃,就直接连接大模型自带的一个VAE啊,当然的话呢,你也可以干嘛呢,你也可以就是呃去选择一个这个va ae的这个加载器啊,这个加载器的话呢,就比如说啊,我们自己电脑上面的哈,就比如说经常用的啊一些外挂的一个va ae, 我们可以把它加载过来。
就这个也是大家可以去灵活使用,Ae的话呢,不管是在呃C站上面还是label label下面,大家都是可以去下载的,VD的话呢,它的一个效果就类似于是一种呃,你可以理解为滤镜吧,好。那么这个我们后面也会给大家去讲哈,好,那么这里我们再去,呃,修改一下这个参数吧,参数的话呢,我们这次给它做的稍微漂亮一些,度数啊,来到一个30步,呃,让它画的更加精细,采样器的话呢,我们选择OLAA。啊OLAA,然后呢,调度器哈,选择卡萨啊,那么就这样。
没问题,好,这里我们添加提示词条队列。其实都是一样的啊,就是如果说大家已经了解了基础的一个逻辑,你就能够去知道哈,这些东西要该怎么去相连啊,它缺少是什么样的一个东西哈,我们就去找相对应的东西哈,去与它呢来进行到这个连接。好,那么大家可以看到这个也是一样的哈,我们同样的一个动作。就是这个样子。是不是是不是很厉害,好,那么当然我们接下来的话呢,我们换一个吧,我们换一个这个control net的一个模型。
这里的话呢,我们。把原图拉过来。好,我们换一个预处理器,比如说呢,这一次对不对哈,我们的一个,嗯,预处理器我需要一个线条类型的。然后的话呢,这里我们需要一个canny细致线条预处理器,然后呢,这里图片相连接。然后这里的一个图片相连接好。然后呢,这里我们的一个CTR net的一个加载器肯定也要有所变化,对不对?来然后呢,我们找到这个SD1.5,我们的大模型是SD1.5的,那么这里我们就选择SD1.5啊SDXL的一个conttra net呢也需要单独的去下载哈,大家如果有需要的话呢,同样的在我们的一个呃,视频下方的置顶评论当中啊,去进行到领取,好,我们这里切换到这个canny来这里我们先那个。
创建一个预览的一个图像。然后的话呢,待会儿我们一起给大家做一个对比好。添加提示此道队列,好,那么来看一下哈。我们的一个原图啊,通过这个线条的话呢,对不对哈,我们去生成出来了比较细致的一些画面的描边,然后的话呢哈,我们可以把这些描边保存下来,去应用到哈,我们最终的一个生成的一个图片当中来,Kenny的话呢,这个硬边缘其实它的一个控制是非常非常准确的,你看就是哪怕是哈我们生成的一个图片啊。脸部轮廓的一个描述和原图也是有几分神似的,我们的一个candy印边缘哈,这个是还有一些其他的哈,还有一些其他的,相信我们之后的一个课程当中会慢慢给大家去讲。