项目简介
comfyui-inpaint-nodes 是一套专为 ComfyUI 打造的节点工具集,旨在通过使用多种模型和方法来增强图像的修复能力。这些节点不仅支持 插值修补,还能够为图像预填充和拓展(outpaint)提供方案。项目中整合了 Fooocus inpaint 模型、LaMa、MAT,以及其他多种工具。
Fooocus Inpaint 模型介绍
该项目新增了两个节点,使用户可以使用 Fooocus inpaint 模型对图像进行修补。这是一个小型且灵活的补丁,用户可以将其应用于 SDXL 检查点,将其转换为修补模型。这样,可无缝填充或扩展图像中的某些区域。用户可以从相关资源下载模型,并将其放置在 ComfyUI/models/inpaint
文件夹中。
需要注意的是,应使用常规版本的检查点来创建修补模型,改进的版本如 Turbo、Lightning、Hyper 等不可用。
修补条件设置
Fooocus 修补模型可以直接与 ComfyUI 的 VAE 编码器结合使用,但此方法不允许在遮罩区域内存在已有内容,降噪强度必须为 1.0。该项目增加了一个新的节点 VAE Encode & Inpaint Conditioning,能够在结合已有内容修补的同时,输出 latent_inpaint
和 latent_samples
,分别用于后续处理。
修补前预处理
项目提供了一些用于预处理遮罩区域的节点,这些节点在遮罩足够大的前提下,可以避免留下接缝。
扩展遮罩
此节点可拓展遮罩区域的边界,并模糊处理边缘以实现更光滑的过渡。
填充遮罩
此节点可以填充遮罩区域,并在边界处实现平滑过渡。其提供的填充模式包括:
neutral
:使用灰色填充,适合添加全新内容telea
:基于相邻边缘的颜色填充(依据 Alexandru Telea 的算法)navier-stokes
:基于流体动力学原理的颜色填充
模糊遮罩
该节点将图像模糊化带入遮罩区域,效果在遮罩边界处会更弱,适用于保持整体色彩一致。
修补模型(LaMA, MAT)
节点提供了通过 LaMa 或 MAT 小型快速修补模型处理遮罩区域的方法。这些模型可用于场景拓展或物体移除。
支持的修补模型有 LaMa 和 MAT,用户需要将它们置于 ComfyUI/models/inpaint
中。
修补后处理
噪声去除与合成遮罩
该节点通过设置偏移和阈值,以映射遮罩中数值,生成适合合成的遮罩。这在与 ComfyUI 的“差别扩散”节点结合使用时尤为有用。
示例工作流程
项目中的一些示例提供了不同复杂程度的修补工作流程,比如简单的忽略已有内容的流程,高级的细化现有内容流程,以及结合预处理的场景拓展流程等。
安装指南
用户可以通过 ComfyUI Manager 管理安装,也可以直接下载或通过 GIT 克隆项目到 ComfyUI/custom_nodes
目录中,安装完毕后需重启 ComfyUI。为了使用某些填充模式,还需安装 OpenCV。
致谢
感谢 Fooocus Inpaint、LaMa 和 MAT 项目及其实现者对本工具集的支持与贡献。