ComfyUI服装更换工作流
通常,在 ComfyUI 或 Automatic1111 中更换服装的过程需要繁琐的修复和 ControlNets 来保持角色姿势不变,同时应用一点提示工程或 LoRA 来获得你想要的风格。
经过一些实验,当你将 IPAdapter 的风格提取与 Grounding Dino 和 Segment Anything 模型的精确分割相结合时,你可以获得非常准确且轻松的服装更换,并且只需进行最少的后期处理。
我发现将其分为三个不同的组是一种好方法——从组织角度到整个流程中发生的事情。这三个组如下:基本工作流程、IPAdapter 和分割。以下是每个组中发生的事情:
1、基本工作流程
这基本上是你在 ComfyUI 中开始使用的默认工作流程。这里最显著的变化是,你需要加载修复(inpainting)检查点而不是生成(generation)检查点,因为我们正在处理图像的一部分。
我还推荐一个好的 SDXL 检查点,例如 RealVision、ICBINP XL 或基本 SDXL 修复检查点。
至于你的提示,因为我们将对特定分割进行更改,所以你需要定义你想要显示的内容——在我们的示例中,我们将把一件基本衬衫转换成一件时髦的夏威夷衬衫。
2、IPAdapter
IPAdapter 代表图像提示适配器(Image Prompt Adapter)。本质上,这些节点可以将一个人的风格或一般特征转移到模型中。
可以将其想象成一个迷你版 LoRA 或文本嵌入。
因此,我们需要通过“加载图像”节点提供图像作为输入,并从图像中提取相关信息。
要在 ComfyUI 中设置图像提示适配器 (IPAdapter),你需要加载 CLIP-ViT-H-14-laion2B-s32B-b79K.safetensors
和 ip-adapter-plus_sdxl_vit-h.safetensors
模型。你可以在 IPAdapter GitHub repo 上找到这些和其他相关模型。
放入相关目录后,将图像输出从“加载图像”节点传递到 IPAdapter Advanced
节点。
此外,你还将使用 Load CLIP Vision
和 IPAdapter 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
汇智网翻译整理,转载请标明出处