type
Page
status
Invisible
date
Jan 26, 2025
slug
summary
tags
国美
艺术
教程
category
知识分享
icon
password
URL

IPAdapter 原理

来源: https://www.comflowy.com/blog/IPAdapter-Tutorial

1. 介绍

ComfyUI IPAdapter 插件是一个能够轻松实现图像到图像转换的工具。它类似于单图像的 Lora 技术,能够将一张参考图像的风格或主题应用到另一张图像上。通过这种图像到图像的条件转换,它能够轻松实现风格和主题的迁移。与文本到图像生成相比,现有的文本到图像扩散模型虽然可以生成高保真图像,但仅通过文本提示生成所需图像通常需要复杂的提示工程。图像提示则作为一种替代方案,能够表达比文本更多的内容和细节。

2. 技术原理

IPAdapter 的核心技术在于其创新的解耦交叉注意力机制。在标准的文本到图像扩散模型中,交叉注意力层主要针对文本特征进行优化,这限制了模型对图像特征的精细处理能力。为了克服这一限制,IPAdapter 引入了一个专门的图像特征交叉注意力层,与原有的文本特征交叉注意力层并行工作,捕捉并整合图像特征,确保图像的细节信息得到充分保留和利用。
notion image
此外,ControlNet 的 Reference-only 功能可以在 SD 模型上实现图像变体,而无需训练,只需注入特征即可。Uni-ControlNet 的全局控制适配器可以通过一个小型网络将 CLIP 图像编码器的图像嵌入投影到条件嵌入中,并将其与原始文本嵌入连接,从而引导生成参考图像的风格和内容。
notion image

2. IPAdapter 插件的功能与用途

2.1 风格迁移

IPAdapter 能够捕捉参考图像的风格和主题,并将其应用到新生成的图像中。用户可以通过调整节点的权重参数来控制风格迁移的程度,从而生成在风格上与参考图像保持视觉一致性的图像。
notion image
你可以通过调整权重参数来控制风格或内容转换的强度。不同的权重值会产生不同的转换效果,满足各种创作需求。此外,增加迭代次数可以提高图像质量,但也会增加计算时间,你可以根据需求进行调整。

2.2 内容转换

除了风格,IPAdapter 节点还可以处理图像的内容转换或融合。例如,它可以识别和分析面部特征,并将这些特征应用到其他图像中,生成具有相似面部特征的新图像。
notion image
这种面部特征转换在肖像创作、角色设计和面部合成等领域展示了其独特的价值。通过这种方法,可以在不从头开始绘制或设计的情况下,创建具有高度一致性和个性化特征的图像。

2.3 条件生成

IPAdapter 允许用户根据特定的输入条件生成新图像。这些条件可以是文本描述、另一张图像或两者的组合。通过这种条件生成能力,用户可以创建与提供条件相匹配的定制图像。
notion image
  1. 文本描述:你可以输入文本描述,插件将解析这些描述并根据其内容生成图像。这对于基于文本描述创建视觉内容非常有用,例如将场景或角色从描述中生动地呈现出来。
  1. 图像条件:你也可以提供一张参考图像作为条件,插件将分析该图像的内容和风格,生成与之相似的新图像。这在需要基于现有图像创建变体或扩展时非常有用。
  1. 文本与图像结合:更高级的用法是将文本描述与参考图像结合。在这种情况下,插件将同时考虑文本描述的内容和参考图像的风格,生成符合描述并具有参考图像风格的新图像。
notion image

2.4 动画支持

IPAdapter 插件支持动画创作,通过添加预设权重的功能,大大简化了创建动态图像序列的过程。用户可以通过精细调整帧之间的权重来实现动画的平滑过渡和连贯性,同时独立控制每一帧的风格和内容,确保动画的每一个细节都符合预期。
notion image
插件的平滑过渡功能确保即使在权重变化较大的情况下,动画也能保持自然流畅。循环动画选项可以创建无缝循环的视觉效果。实时预览和调整功能提高了动画制作的效率,使用户能够快速迭代和完善作品。此外,IPAdapter 插件支持多种模型,包括面部和 SDXL 模型,为用户提供了广泛的创作选择,生成高质量的动画帧。

3. 工作流程介绍

3.1 风格迁移

该工作流程完全支持你完成风格迁移。你可以在 Github 的节点包示例文件中找到它,或者参考图像示例自行设置。
注意:两个 IPAdapterEmbeds 节点分别控制输入图像和参考图像;你可以通过增加权重值来控制最终输出中哪张图像的风格更占主导。
notion image

3.2 FaceID

FaceID 在处理面部细节方面具有更强大的能力。你需要添加 IPAdapterUnifiedLoaderFaceID 和 IPAdapterFaceID 节点来使用,并在 IPAdapterUnifiedLoaderFaceID 中选择你下载的 Face 模型。
最后,记得将 IPAdapterUnifiedLoader 中的模型切换为我在这里使用的模型,即 PLUS FACE(肖像)。
notion image

3.3 与 ControlNet 结合使用

如果你希望最终渲染与输入图像有更强的关联性,上述工作流程可能不够。在这种情况下,我建议添加一个 ControlNet 节点来控制主体的轮廓,同时进行风格迁移。
例如,添加 Controlnet lineart 节点来控制线稿,确保最终生成的轮廓与上传的一致。你只需选择你喜欢的参考图像进行上传,就可以将参考图像的颜色和纹理转移到线稿上。通过调整 steps 和 cfg,你可以生成所需的效果。在这里,我将 steps 设置为 30,cfg 设置为 8。
notion image
除此之外,你还可以通过输入参考图像生成特定姿势,为此你可能会使用 Controlnet 的 openpose 模型。官方提供的原理如下图所示,你可以将输入的人物图像更改为你想要的任何姿势。
notion image

IPAdapter工作流实践

首先,你需要从以下链接下载相应的 ip-adapter 模型和 clip 模型:https://github.com/cubiq/ComfyUI_IPAdapter_plus
notion image
然后你可以从简单示例开始: 通过网盘分享的文件:L2-ipadapter 基础. Json 链接: https://pan.baidu.com/s/1P5npFtCcXXO3726QV8o5bA?pwd=ghuw 提取码: ghuw
导入上边的示例工作流后,需通过管理器安装缺失节点:
notion image

效果验证

成功运行后将获得语义特征迁移结果(非纹理复制):
notion image
测试参数示例
  • 参考图像输入:
    • notion image
  • 提示词: Giant magical whales surfacing through translucent cloud layers, glowing ethereal light, fantasy atmosphere, detailed digital art.

拓展练习

Loading...