简介
在上一篇文章优化 ComfyUI 修复分辨率中,我们探讨了在使用专用模型进行修复工作流时提高分辨率的技术。在此基础上,本文重点介绍使用通用扩散模型进行修复,这种方法用途广泛,适用于无法使用或不适合使用专用修复模型的场景。
本指南将逐步带您完成整个流程,重点介绍以下关键节点,如Set Latent Noise Mask和Remove Latent Mask,以实现无缝效果。读完本文,您将了解如何优化纹理、平衡去噪参数,以及如何调整工作流以获得一致的输出,同时利用通用模型的灵活性。
让我们深入了解工作流,探索如何在 ComfyUI 中使用通用扩散模型进行修复。
目录
为什么使用通用扩散模型进行修复?
- 专用模型的局限性:Flux.1 Schnell 等模型在某些场景下可能会失败,尤其是在使用蒸馏模型时。
- 通用扩散模型的优势:Juggernaut XL 等通用模型在非商业应用中提供更广泛的兼容性和更好的图像质量。
- 理想用例:这种方法非常适合在保留原始纹理的同时,在遮罩区域生成新内容。
使用通用扩散模型进行修复的分步工作流

步骤 1:准备图像和遮罩
- 加载背景图像:
- 使用Load Image节点在 ComfyUI 中导入图像。
- 创建遮罩:
- 右键单击图像并选择Open in Mask Editor。
- 涂抹您想要修复的区域(例如,移除一张桌子)。
步骤 2:搭建图
- 添加 KSampler Advanced 节点:
- 使用两个 KSampler 节点进行优化:
- 第一个节点执行大部分扩散步骤(例如,20 步中的 18 步)。
- 第二个节点对图像进行重采样以保持一致性(例如,2 步)。
- 配置提示词:
- 第一个节点:指定修复区域的细节(例如,“empty room, carpet textured”)。
- 第二个节点:包含完整的提示词,以与原始图像匹配。
- 使用两个 KSampler 节点进行优化:
- 调整去噪参数:
- 对于标准 KSampler 节点,将去噪值设置在0.6 and 0.8之间,以获得最佳效果。
- 对于高级节点,在扩散步骤中手动控制噪声的添加。
步骤 3:使用 Set Latent Noise Mask
- 用途:分离用于图生图操作和随机噪声生成的区域。
- 配置:
- 将潜在图像从VAE Encode连接到Set Latent Noise Mask节点。
- 将遮罩从Load Image节点连接到同一节点。
- 将潜在输出发送到第一个 KSampler 节点。
步骤 4:使用 Remove Latent Mask 优化工作流
- 用途:确保重采样过程应用于整个图像,而不仅仅是遮罩区域。
- 配置:
- 通过 Manager 安装ComfyUI Essentials Node Pack。
- 在两个 KSampler 节点之间添加Remove Latent Mask节点。
步骤 5:比较结果
- 添加Image Comparer节点(在 rgthree 节点包中提供)。
- 将原始图像和解码输出从VAE Decode连接到比较器的输入。
- 展开比较器节点以分析修复前后的差异。

优化后的效果:

优化结果的关键见解
- 模型选择:与其他模型相比,Juggernaut XL 提供更柔和的纹理和更好的抗锯齿效果。
- 去噪值:尝试0.6 and 0.8之间,以平衡上下文保留效果。
- 提示词配置:对修复区域使用有针对性的提示词,对重采样使用全面的提示词以保持一致性。
结论
在 ComfyUI 中使用通用扩散模型进行修复,为专用工作流提供了一种灵活而强大的替代方案。利用Set Latent Noise Mask和Remove Latent Mask等节点,您可以获得无缝效果,在保留原始纹理的同时生成新内容。无论您从事的是商业项目还是非商业项目,这种方法都能让您更好地控制图像质量和优化效果。
有关更高级的技术和故障排除技巧,请参阅我们之前关于优化 ComfyUI 修复分辨率的文章。