PuLID | 精准的人脸嵌入用于文本到图像生成

在这个 ComfyUI PuLID 工作流中,我们使用 PuLID 节点将特定人物的脸部轻松添加到预训练的文本到图像(T2I)模型中。这使您能够创建高质量、逼真的面部图像,准确捕捉个人的相似度。我们还使用 IPAdapter Plus 进行风格迁移,让您精确控制面部特征和图像的艺术风格。这种组合不仅确保生成的图像看起来像该个人,而且还符合所需的视觉美学。

ComfyUI 工作流

ComfyUI PuLID Workflow
想要运行这个工作流吗?
  • 完全可操作的工作流
  • 没有缺失的节点或模型
  • 无需手动设置
  • 具有惊艳的视觉效果

示例

comfyui-pulid-customized-face-generation-1095

描述

PuLID 是什么?

PuLID(Pure and Lightning ID customization)是一种用于文本到图像生成模型中无需调整的身份(ID)定制的新方法。它旨在将特定 ID(例如人脸)嵌入到预训练的文本到图像模型中,而不会破坏模型的原始能力。这允许生成特定人物的图像,同时仍然能够使用文本提示修改属性、样式、背景等。

PuLID 包含两个关键组件:

  1. 一个"Lightning T2I"分支,在标准扩散分支的同时,在几个去噪步骤内快速生成以 ID 为条件的高质量图像。这使得能够计算准确的 ID 损失以提高生成面孔的保真度。
  2. 有无 ID 调节的 Lightning T2I 路径之间的对比对齐损失。这指示模型如何嵌入 ID 信息而不污染模型原有的提示遵循和图像生成能力。

PuLID 如何工作

PuLID 的架构由传统的扩散训练分支和新颖的 Lightning T2I 分支组成:

  1. 在扩散分支中,PuLID 遵循标准的扩散训练过程,即迭代去噪。ID 条件从目标训练图像中裁剪。
  2. Lightning T2I 分支利用最近的快速采样方法,仅在4个去噪步骤中生成以 ID 提示为条件的高质量图像,从纯噪声开始。
  3. 在 Lightning T2I 分支内,构建了两条路径——一条仅以文本提示为条件,另一条以 ID 和文本提示为条件。这些路径的 UNET 特征使用对比损失对齐:
    • 语义对齐损失确保模型对文本提示的响应在有无 ID 调节下相似。这保留了模型原有的提示遵循能力。
    • 布局对齐损失在 ID 插入前后保持生成图像布局的一致性。
  4. Lightning T2I 分支能够在生成的面部嵌入和真实 ID 嵌入之间计算准确的 ID 损失,因为它产生干净的去噪输出面部。这提高了生成 ID 的保真度。

如何使用 ComfyUI PuLID

要在 ComfyUI PuLID 工作流中将 ID 自定义应用于模型,需要在"Apply PuLID"节点中设置几个关键参数:

ComfyUI PuLID

"Apply PuLID"必需输入:

  • model: 用特定 ID 自定义的基础文本到图像扩散模型。这通常是一个预训练的模型,如 Stable Diffusion。
  • pulid: 加载的 PuLID 模型权重,定义 ID 信息如何插入基础模型。可以训练不同的 PuLID 权重文件,以优先考虑 ID 保真度或保留模型的原始生成风格。
  • eva_clip: 加载的 Eva-CLIP 模型,用于从 ID 参考图像中编码面部特征。Eva-CLIP 生成有意义的面部特征嵌入。
  • face_analysis: 加载的 InsightFace 模型,用于识别和裁剪 ID 参考图像中的面部。这确保只编码相关的面部特征。
  • image: 描绘要插入模型的特定 ID 的参考图像。可以提供同一身份的多个图像以改善 ID 嵌入。
  • method: 选择 ID 插入方法,可选"fidelity"、"style"和"neutral"。"fidelity"优先考虑与 ID 参考的最大相似度,即使生成质量下降。"style"侧重于保留模型原有的生成能力,ID 保真度较低。"neutral"平衡两者。
  • weight: 控制 ID 插入的强度,从0(无效果)到5(极强)。默认为1。权重越高,ID 保真度越好,但可能会覆盖模型原有的生成。
  • start_at: 开始应用 PuLID ID 自定义的去噪步骤(百分比从0到1)。默认为0,从第一个去噪步骤开始 ID 插入。可以增加以在去噪过程的后期开始 ID 插入。
  • end_at: 停止应用 PuLID ID 自定义的去噪步骤(百分比从0到1)。默认为1,一直应用 ID 插入直到去噪结束。可以减少以在最终去噪步骤之前停止 ID 插入。

"Apply PuLID"可选输入:

  • attn_mask: 可选的灰度掩码图像,用于空间控制 ID 自定义的应用位置。掩码的白色区域接收完全的 ID 插入效果,黑色区域不受影响,灰色区域接收部分效果。用于将 ID 局部化到仅面部区域。

"Apply PuLID"输出:

  • MODEL: 应用了 PuLID ID 自定义的输入模型。这个定制模型可用于 ComfyUI 的其他节点进行图像生成。生成的图像将描绘 ID,同时仍可通过提示控制。

调整这些参数可以微调 PuLID ID 插入,以实现 ID 保真度和生成质量之间的理想平衡。通常,权重为1,方法为"neutral"提供可靠的起点,然后可以根据结果进行调整。start_at 和 end_at 参数提供了进一步控制 ID 在去噪中何时生效的能力,还可以通过 attn_mask 选项将效果局部化。

欲了解更多信息,请访问 github

想要更多 ComfyUI 工作流吗?