ComfyUI服装更换工作流

通常,在 ComfyUI 或 Automatic1111 中更换服装的过程需要繁琐的修复和 ControlNets 来保持角色姿势不变,同时应用一点提示工程或 LoRA 来获得你想要的风格。

经过一些实验,当你将 IPAdapter 的风格提取与 Grounding Dino 和 Segment Anything 模型的精确分割相结合时,你可以获得非常准确且轻松的服装更换,并且只需进行最少的后期处理。

我发现将其分为三个不同的组是一种好方法——从组织角度到整个流程中发生的事情。这三个组如下:基本工作流程、IPAdapter 和分割。以下是每个组中发生的事情:

1、基本工作流程

这基本上是你在 ComfyUI 中开始使用的默认工作流程。这里最显著的变化是,你需要加载修复(inpainting)检查点而不是生成(generation)检查点,因为我们正在处理图像的一部分。

我还推荐一个好的 SDXL 检查点,例如 RealVisionICBINP XL 或基本 SDXL 修复检查点

至于你的提示,因为我们将对特定分割进行更改,所以你需要定义你想要显示的内容——在我们的示例中,我们将把一件基本衬衫转换成一件时髦的夏威夷衬衫。

2、IPAdapter

IPAdapter 代表图像提示适配器(Image Prompt Adapter)。本质上,这些节点可以将一个人的风格或一般特征转移到模型中。

可以将其想象成一个迷你版 LoRA 或文本嵌入。

因此,我们需要通过“加载图像”节点提供图像作为输入,并从图像中提取相关信息。

要在 ComfyUI 中设置图像提示适配器 (IPAdapter),你需要加载  CLIP-ViT-H-14-laion2B-s32B-b79K.safetensorsip-adapter-plus_sdxl_vit-h.safetensors 模型。你可以在 IPAdapter GitHub repo 上找到这些和其他相关模型。

放入相关目录后,将图像输出从“加载图像”节点传递到 IPAdapter Advanced 节点。

此外,你还将使用 Load CLIP VisionIPAdapter Unified Loader 将 CLIP 模型引入 IPAdapter Advanced 节点。如果你使用的是前面提到的相同 IP 适配器模型,请务必将预设设置为 PLUS(高强度)。

最后,在 IPAdapter Advanced 中,请务必将 weight_type 更改为 style transfer

IPAdapter Advanced 的模型输出直接进入 KSampler 节点,修改后的模型文件现在将根据你所需的输入准确绘制图像/样式。

3、分割

此过程中最酷的部分之一是 GroundingDino 模型的实现。可以为此分割模型提供文本提示,然后在图像中找到该提示并相应地进行分割。

这非常强大。

虽然在我们的工作流程中,我们使用它来分割衬衫,但你可以分割几乎任何东西,从帽子到鞋子,甚至整个背景。可能性无穷无尽。

要进行设置,你需要引入 Segment Anything 自定义节点(可在 ComfyUI 管理器或通过 GitHub 存储库获得)。

与 IPAdapter 一样,分割时,图像将是第一个输入。

因此,设置你的 Load Image 节点,然后将其传递给 GroundingDinoSAMSegment 节点。

此外,你还需要使用 SAMModelLoader 节点和 GroundingDinoModelLoader 引入 Segment Anything 模型。首次运行时,这些模型加载器节点将出去下载相关模型(~3GB),然后将它们传递到 GroundingDinoSAMSegment 节点。

你会注意到, GroundingDinoSAMSegment 节点有一个文本字段,你可以在其中输入要分割的对象的单词,例如衬衫、眼镜等。

现在你可以定义多个对象,例如衬衫眼镜,但是,我注意到它不会那么可靠:

至于阈值,一般来说,较低的值允许模型在选择时更加自由,而较高的值会更有信心。太高的值可能会导致未选择任何内容的错误。

分割完成后,你只需将蒙版传递给 VAE Encode(用于修复)(蒙版输入)和 IPAdapter Advanced(attn_mask 输入)节点。原始图像也应传递给 VAE 编码(用于修复)节点。

可选:可以将 FeatherMask 节点添加到蒙版,这会柔化边缘并可能有助于产生更好的效果。

4、提示排队和结果查看

全部连接后,你可以将提示排队(queue prompt)并查看结果。你应该看到一个相当准确地呈现你想要的结果图像,将衬衫变成时髦的夏威夷衬衫。

应用样式的几种不同方法

记下输出图像并根据需要调整设置以实现所需结果。

请记住尝试不同的设置并测试各种模型以找到适合你的完美组合。

5、优点和局限性

以下是此方法的一般优缺点概述,可能有助于决定如何利用此工作流。

优点:

  • GroundingDino 的零样本对象检测允许你在批处理中自动分割和修饰图像。
  • 准确的分割允许模型仅修饰正确的区域。
  • 潜在的面向消费者的应用程序,例如“虚拟试穿”

缺点:

  • 分割会占用更多 GB 的 VRAM,如果与其他节点(如 ControlNets、LoRA、AnimateDiff 等)一起使用,可能会导致问题。
  • 仅限样式应用,而非物理应用。例如,如果 IPAdapter 的输入是长袖衬衫,则最终图像仍将有短袖,因为这是分割的。

原文链接:How to Change Outfits in ComfyUI

汇智网翻译整理,转载请标明出处