欢迎光临
我们一直在努力

第十一节.如何利用ControlNet生成“可控画面”?(生成第一张图)

这节课我们来讲“预处理”。

🍉什么是预处理?为什么必须做预处理?

简单来说,预处理就是把你输入的原始图片,转换成 ControlNet 模型在训练时 “看得懂” 的格式。

这是因为 ControlNet 模型(比如 Canny)在训练阶段,是通过 “图像对” 来学习的。以 Canny 模型为例,它学习的是 ** 原始图像(左侧)和对应的轮廓图像(中间)** 之间的对应关系。

如果不做预处理,直接把原始图片喂给模型,它就无法正确提取到需要的特征,自然也就达不到理想的控制效果。

🎯 为什么直接用原图效果差?

因为我们输入的是原始图片,而不是模型训练时用的轮廓图,所以生成效果自然会很差。

✨ 预处理的简便方法

你完全不用去学 Photoshop 这类复杂工具,在 ComfyUI 里就可以直接用预处理器来完成图像转换。它会自动把原始图片转换成模型需要的格式,比如把照片变成 Canny 轮廓图。

1.Canny预处理器节点

进行图像的预处理:

⚠️ 重要提醒

预处理器和 ControlNet 模型是配套使用的,不能随意混用。

比如我们现在用的是 Canny 模型,就必须搭配 Canny 预处理器。如果换用其他 ControlNet 模型(如 Depth、OpenPose),也要选择对应的预处理器。

它们之间是多对一的对应关系(多个预处理器可能对应一个模型),但不能跨类型混用,否则会完全达不到控制效果。

其中,“预览图像” 这个节点只是用来让你查看预处理后的图像效果的,它不会对最终的图像生成结果产生任何影响。

运行一下:

请重点观察两个红框标注的节点输出:

  • 预处理后的图像,应该是清晰的轮廓图,这才是 Canny 模型能接受的标准输入格式。
  • 最终生成的图像,和参考图在结构、轮廓上变得非常相似。

但我想,如果只是做成这样,和最终的效果相差依然很大,问题出在哪里呢?

因为空的太厉害,所以我们需要适当降低强度,降低到多少合适呢?这个就跟模型,图像本身都相关了。

2.ControlNet权重

这里我们尝试降低权重到0.3。

生成的效果:

这样就合理多了。

但是只能这样了吗?当然不是,ControlNet还可以多个模型一起使用,增强控制效果。

注意:补充一句,ControlNet也不是连接越多越好,需要根据实际情况来控制。

3.多ControlNet混用

这里我们连接一个tile的ControlNet。

⚠️ 重点提醒

请留意框线标注的节点连线方式,以及模型的选择是否正确。

你会发现,在 ComfyUI 中串联多个 ControlNet 模型是比较容易的,不同模型的输入也各不相同。例如 tile 模型,只需要直接输入原始图片即可。


💡 小技巧:修正发色

如果发现生成图像的发色被意外改变,最简单的解决方法就是在正向提示词中增加描述发色的关键词,比如 black hair(黑发),这样就能精准控制发色了。

最后输出:

⚠️ 补充说明

关于图像清晰度和灰度的问题,在后续学习到 VAE(变分自动编码器)相关内容时,会有更完善的调整方法,这里暂时先不展开讲解。

本节课的工作流可以网盘下载

链接: https://pan.baidu.com/s/1u-kWkOOXg_mGN5njOx-eyg 提取码: wfp3 

课程小结

到这里,我们已经学会了边发现问题、边解决问题的核心思路。

那么,这类基础的问题解决思路还有哪些呢?

下节课,我们会继续讲解:

  • 如何找到 ComfyUI 最基础的工作流
  • 如何进行高效的自学
赞(0)
未经允许不得转载:171主机测评 » 第十一节.如何利用ControlNet生成“可控画面”?(生成第一张图)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址