IP-adapter(图像提示适配器)是一个Stable Diffusion的插件,使用图像作为提示,类似于 Midjourney 和 DaLLE 3。您可以使用它来复制参考图像中的风格、构图或脸部。
本篇文章将包括:
- IP-Adapter 模型 – Plus, Face ID, Face ID v2, Face ID portrait等。
- 如何在 AUTOMATIC1111 和 ComfyUI 中使用 IP-adapters
IP-adapter 模型
IP-adapter 模型的数量正在快速增长。如果您不密切关注,可能很难跟进。 本节为您提供迄今为止发布的所有 IP 适配器的概述。您可以在下面找到原始存储库。
- IP-Adapter GitHub page (代码)
- IP-Adapter 模型 (Hugging Face)
- IP-Adapter Face ID 模型 (Hugging Face)
图像编码器在将参考图像送入 IP-adapter 之前对其进行处理。 IP-adapter 中使用两个图像编码器:
- OpenClip ViT H 14(又名 SD 1.5 版本,632M 参数)
- OpenClip ViT BigG 14(又名SDXL版本,1845M参数)
然而,当一些 SDXL IP-adapter 模型也使用 H 版本进行训练时,事情变得混乱了。为了清楚起见,我将它们称为 ViT H 和 ViT BigG 版本。 (ViT 代表 Vision Transformer )
原始 IP-adapter
- 图像编码器:ViT H
- 模型: IP-adapter SD 1.5
原始 IP-adapter 使用 CLIP 图像编码器从参考图像中提取特征。 IP-adapter 的新颖之处在于为图像训练单独的交叉注意层( cross-attention layers )。这使得 IP-adapter 能够更有效地引导图像生成处理。
IP-adapter 的输出如下所示。它大致遵循参考图像的内容。使用 DreamShaper 8 模型和空提示。
IP adapter Plus
- 图像编码器:ViT H
- 模型: IP-Adapter Plus
IP-Adapter Plus 使用类似于 Flamingo 的 Percepter-Resampler 的补丁嵌入方案来对图像进行编码。 IP-Adapter Plus 模型生成的图像更接近原始图片。细粒度的细节(例如脸部)通常无法正确复制。
IP-Adapter Plus Face
- 图像编码器:ViT H
- 模型: IP-Adapter Plus Face
IP-Adapter Plus Face 型号具有与 IP-Adapter Plus 相同的架构。模型权重经过微调,以使用裁剪后的脸部作为参考。
你应该使用特写脸部作为参考。 (如下图所示)
脸部的追踪更加接近。
使用IP-Adapter Plus Face,你可以根据提示更轻松地引导图像。
A girl in office, white professional shirt
IP-Adapter SDXL
IP-Adapter SDXL 有两个版本。一个基于 ViT BigG 训练,另一个基于 ViT H 训练。
我将使用 DreamShaper SDXL 模型作为 IP-Adapter 的 SDXL 模型。
ViT BigG 版本
- 图像编码器:ViT BigG
- 模型: IP-Adapter SDXL
这是 IP-Adapter 的原始 SDXL 版本。它使用更大的图像编码器BigG。
ViT H 版本
- 图像编码器:ViT H
- 模型: IP-Adapter SDXL ViT H
IP-Adapter Plus SDXL
- 图像编码器:ViT H
- 模型: IP-Adapter Plus SDXL ViT H
Plus 版本同样使用补丁图像嵌入和 ViT H 图像适配器。它更紧密地遵循参考图像。
IP-Adapter Plus Face SDXL
- 图像编码器:ViT H
- 模型: IP-Adapter Plus Face SDXL ViT H
IP-Adapter Plus Face SDXL 模型与 IP Adapter Plus SDXL 模型具有相同的架构,但使用裁剪后的脸部图像进行调节。
它更紧密地复制脸部。
IP-Adapter Face ID
- 图像编码器:InsightFace
- 模型:IP-Adapter Face ID
- LoRA:Face ID SD 1.5
IP-Adapter Face ID 使用 InsightFace 从参考图像中提取 Face ID 嵌入。
推荐你将随附的 LoRA 与 Face ID 型号一起使用。
A girl in office, white professional shirt lora:ip-adapter-faceid_sd15_lora:0.6
不太确定这是否有效。
IP-Adapter Face ID SDXL
- 图像编码器:InsightFace
- Model: IP-Adapter Face ID SDXL
- LoRA: Face ID SDXL
IP-Adapter Face ID 使用 InsightFace 从参考图像中提取 Face ID embedding。
InsightFace 模型与 SD1.5 相同。没有 SDXL 版本
你需要将随附的 LoRA 与 Face ID 模型一起使用。
但是我无法让这个工作。
IP-Adapter Face ID Plus
- 图像编码器:InsightFace 和 CLIP 图像嵌入
- Model: IP-Adapter Face ID Plus
- LoRA: Face ID Plus SD 1.5
IP-Adapter Face ID Plus 使用图像编码器工具箱中的所有内容:
- InsightFace 用于面部特征
- CLIP 图像编码器用于全局面部特征
- 使用 Perceiver-Resampler 将它们组合起来
使用权重在 0.5 到 0.7 之间的 LoRA。
A girl in office, white professional shirt lora:ip-adapter-faceid-plus_sd15_lora:0.6
LoRA 似乎具有遵循参考图像的配色方案的效果。删除 LoRA(或将权重设置为 0)也可以。
A girl in office, white professional shirt
IP-Adapter Face ID Plus v2
- 图像编码器:InsightFace 和 CLIP 图像嵌入
- 模型: IP-Adapter Face ID Plus v2
- LoRA: Face ID Plus SD Plus v2 1.5
IP-Adapter Face ID Plus 与 Face ID Plus 相同,除了
- 改进的模型检查点和 LoRA
- 允许设置 CLIP 图像嵌入的权重
LoRA 是 Face ID Plus v2 工作所必需的。使用 0.5 到 1.0 之间的值。越高,效果越强。
A girl in office, white professional shirt lora:ip-adapter-faceid-plusv2_sd15_lora:0.6
IP-Adapter Face ID Plus v2 SDXL
- 图像编码器:InsightFace 和 CLIP 图像嵌入
- 模型: IP-Adapter Face ID Plus v2 SDXL
- LoRA: Face ID Plus SD Plus v2 SDXL
IP-Adapter Face ID Plus v2 SDXL 是 Face ID Plus v2 的 SDXL 版本。
在我的测试中它看起来不太行。
IP-Adapter Face ID Portrait
- 图像编码器:InsightFace
- Model: IP-Adapter Face ID Portrait
IP-Adpater Face ID Portrait 具有与 Face ID 相同的模型架构,但接受裁剪脸部的多个图像。