"完美修复,ComfyUI让你轻松搞定!"


4 个月前

欢迎各位创作者!在这篇文章中,我们将深入探讨一个高级的ComfyUI修复工作流程,该流程设计灵活且高效。在我之前的文章中,我介绍了使用不同版本的Fill模型进行扩展和修复的结果,以及一个实用的扩展工作流程。

今天,我们将专注于修复,特别关注如何替换物品、修复扭曲的面部,甚至修复那些棘手的AI生成的手部。

如果你喜欢通过视频内容深入了解ComfyUI,欢迎观看与本文相辅相成的精彩视频教程:

让我们开始吧!

一个可靠的修复工作流程的重要性

我开发的工作流程非常灵活,并且适用于量化模型,使其更加节省内存。无论你是修改小细节还是进行较大的更改,比如替换帽子或修复手部,这种方法都能帮助你轻松获得高质量的结果。

让我向你展示如何使用这个设置。

1. 设置工作流程

第一步:加载模型

首先,绕过其他节点组并激活第一个节点组,该组负责加载模型。我已经为你预先配置了这个部分,所以我们准备好运行工作流程了。

None

组中的第一个节点加载Fill模型,该模型足够灵活,适用于扩展和修复任务。在这个演示中,我使用的是量化Q5版本的模型[1]。它只占用8GB的显存,这更容易管理。如果你的显存不足,可以选择Q4版本,它只使用6.8GB。

Q5和Black Forest Labs的20GB模型之间的结果差异实际上很小,正如我在之前的文章中所验证的那样。你可以自信地使用这些较小的版本进行第一轮修复。为了提高速度和效率,我在右侧的节点中添加了一个Turbo LoRA[2],以加快图像生成。

Fill模型下方的节点[3]加载一个检查点,以确定图像的最终质量。这一步至关重要,因为它使工作流程即使在低显存的情况下也能顺利运行。如果需要,你可以加载一个量化检查点,如FluxRealistic,它只需要6.8GB的显存,但仍能提供良好的质量。

这里还有另一个Turbo LoRA节点[4],但我将其强度设置为零,因为在这个阶段它不太有用。你可以在稍后修复面部或手部时再回来使用它。

第二步:限制图像大小

激活第二个节点组,该组负责加载图像并使用“限制图像”节点限制其大小。

None

这一步对于防止显存过载至关重要。如果你的图像很大但修复区域很小,你不需要调整整个图像的大小。我们稍后会裁剪修复区域,这一步主要是为了管理该区域的大小。

2. 创建修复遮罩

第三步:生成遮罩

接下来,我们激活第三个节点组,在这里我们将创建修复遮罩。你有三个选择:自动生成遮罩、手动调整遮罩或从头开始绘制遮罩。

对于大图像——尤其是像4K这样的图像——如果你的显存有限,我建议手动绘制遮罩。使用“SegmentAnything”节点自动生成遮罩适用于较小的图像,但对于较大的图像可能会很慢或不精确。

None

要生成自动遮罩,只需输入你希望节点识别的对象,如“头发”、“衬衫”或“牛仔裤”。节点将为你分割这些区域。

None

None

None

None

然而,如果它难以识别某个物品(如吉他),通常最好手动绘制遮罩。

例如,如果我们想将电吉他改为原声吉他,节点可能无法正确识别它,因为吉他的部分被手臂遮挡。为了解决这个问题,我只需切换到“预览桥(图像)”节点并手动绘制吉他,以确保我捕捉到正确的修复区域。

None

第四步:优化遮罩

我将遮罩做得比电吉他稍大一些,以考虑电吉他和原声吉他之间的尺寸差异。我还包括了女性的手,因为修复过程可能会影响或扭曲该区域的像素。

一旦遮罩准备好,保存它,然后继续运行工作流程。

None

第五步:修复区域

在下面的节点中,你将输入你希望修复区域变成的内容的描述。例如,要将电吉他改为原声吉他,你可以输入“原声吉他”。[1] 右侧的节点“GrowMask”[2] 稍微扩展了修复区域,以确保结果与周围图像平滑融合。

None

3. 裁剪以获得更好的修复效果

第六步:使用“CropByMask”节点

为了获得更高质量的结果,下一步是使用“CropByMask”节点。这在修复较小区域(如手部)时尤其有用。

当修复一个小区域(如手部)时,仅裁剪手部本身不会为详细、自然的结果提供足够的上下文。通过裁剪手部并保留一些周围空间,AI可以参考附近区域的光影,以获得更一致的外观。

调整此节点中的参数,以保留你想要修复区域周围的适当空间。尽量保持最小,同时确保修复与周围环境平滑融合。

None

第七步:运行第一轮修复

我将采样器步骤设置为8,这与Turbo LoRA配合得很好。然后,我运行工作流程。

None

None

如你所见,修复存在一些明显的问题,尤其是在手部区域。但别担心——我们将在下一轮修复中解决这些问题。

4. 通过第二轮修复进行优化

第八步:遮罩优化和修复细节

在第一轮修复之后,我们可以进入第二轮修复,以修复任何瑕疵。“Mask Grow Fast”节点扩展并模糊原始遮罩,以覆盖稍大的区域,帮助平滑修复区域的边缘。

None

再次,我们使用“CropByMask”节点以确保一切保持对齐,结果精确。

None

对于吉他,我们使用Flux微调模型(stoiqoNewreality检查点)运行第二轮修复。确保将去噪强度保持在适度水平,以避免过度校正。

5. 最终修饰:手部修复

第十步:修复手部

为了修复手部,我们使用一个专门用于手部修复的LoRA[1]。你可以输入“详细的手”或“完美的手”等提示来触发此模型[2]。

在“UltralyticsDetectorProvider”节点[3]中,选择手部检测模型。如果你在处理面部,选择一个名称中包含“face”的模型。“facedetailer”节点也可以在需要时修复服装细节。

对于手部,稍微降低去噪强度[4],以防止过度处理。运行工作流程后,手部应该看起来更自然。如果仍有小问题,只需重新运行工作流程,专注于手部区域。

None

None

结论

通过这个工作流程,你可以处理各种修复任务——从替换帽子和更换服装到修复面部和手部。通过正确的模型、LoRA和工作流程步骤的组合,实现精致的结果比以往更容易。

随着假期的临近,我想祝大家圣诞快乐,假期愉快!

基本工作流程:https://openart.ai/workflows/ZxX625DPdQQVZFO9pJTI

⚠️注意:基本和高级工作流程非常相似,可以产生相同的结果。主要区别在于,高级工作流程允许你自动生成修复遮罩,而在基本工作流程中,你需要手动绘制遮罩。此外,还有一些补充高级工作流程的变体,如修复手部、修复面部和更换服装。考虑在Patreon上支持我以访问高级工作流程。

高级工作流程:https://www.patreon.com/posts/better-flux-with-118274031

模型:

💡想要更深入的了解?我的Stable Diffusion合集等着你。

喜欢这篇文章吗?

如果喜欢,那么:

FluxAI 中文

© 2025. All Rights Reserved