让图像提示进入
文本扩散模型
IP-Adapter 用独立的图像 cross-attention 分支,把参考图像注入冻结的 Stable Diffusion。它保留原有文本分支,新增约 22M 可训练参数,使图像、文本和结构控制条件能够组合。
文本很难表达参考图的全部信息
一张图像同时包含主体、材质、配色和构图。把这些内容逐项写进文字提示既费力,也无法保证模型保留所需细节。原有图像提示方法通常重训或改动文本条件模型,可能损害文本生成能力;把图像 token 与文本 token 直接拼接,也让图像特征经过专为文本训练的 key/value 投影。作者的假设是:让图像使用自己的投影参数,能够更有效地进入冻结 UNet,同时保留已有文本控制能力。论文 §1
参考图 → 图像 token
冻结 OpenCLIP 编码器产生全局图像 embedding;线性层与 LayerNorm 将其投影成四个 token。
独立 cross-attention
每个文本 cross-attention 旁增加一条图像分支,共十六处;两条分支共用 UNet query。
冻结底座
仅训练图像投影网络及新增图像 key/value;原文本编码器和扩散 UNet 保持冻结。
原论文在 COCO2017 验证集报告:IP-Adapter 的 CLIP-T 为 0.588、CLIP-I 为 0.828;其余 adapter baseline 均低于这两个值。训练初始模型和完全微调模型中仍有更高数值,故不能把“所有方法最佳”当成实验结论。
两条注意力支路如何工作
输入是文本提示 \(y\)、参考图像 \(I_{\mathrm{ref}}\) 和采样噪声 \(\boldsymbol{x}_{T}\)。冻结文本编码器输出 \(\boldsymbol{c}_{t}\);冻结 OpenCLIP 图像编码器输出全局向量,训练的投影层生成四个图像 token \(\boldsymbol{c}_{i}\)。UNet 逐步预测噪声并解码为新图像。训练时参考图来自图文训练对中的同一幅图像,目标也是该图像的加噪 latent;这相当于学习利用图像条件重建训练图像。原文只描述使用图文对,未公开图像提示与目标图像之间的额外配对构造或局部裁切策略。论文 §3.2
变量和维度
\(\mathbf{Z}\) 是当前 UNet 空间特征,\(\mathbf{Q}=\mathbf{Z}\mathbf{W}_{q}\) 是空间查询;\(\boldsymbol{c}_{t}\) 是文本 token 序列,\(\boldsymbol{c}_{i}\) 是长度为四的图像 token 序列。论文采用 SD v1.5,因此文本 token 与图像 token 对齐到该 UNet 的 cross-attention 特征维度;具体维度由所在层决定,不能把某一层宽度当作全部层宽度。
四个投影把两种模态变成可参与 attention 的 key 和 value。共享 query 确保两条分支都读取同一空间位置。每条 attention 先依据 query-key 相似度求权重,再对 value 加权求和:
分母 \(\sqrt d\) 缓和维度增大带来的 logit 尺度变化。最终特征叠加两条支路:
训练中新增 key/value 从原文本 key/value 权重初始化;推理时 \(\lambda=0\) 使图像支路消失。图像路径保留自己的投影,因此不会强迫图像 token 完全符合文本投影已学习的映射。这个解释属于 Our Interpretation;论文的直接证据是 Figure 10 中 decoupled 和简单拼接的定性比较。论文公式 3–8

噪声目标与 classifier-free guidance
\(\boldsymbol{x}_{0}\) 是训练图像 VAE latent,\(\boldsymbol{x}_{t}=\alpha_{t}\boldsymbol{x}_{0}+\sigma_{t}\boldsymbol{\epsilon}\),\(\boldsymbol{\epsilon}\) 是采样噪声,\(t\) 是扩散时间步。损失只训练 adapter 参数;\(\epsilon_{\theta}\) 中原 SD 参数冻结。训练时随机删除条件,让推理可比较有条件和无条件噪声预测。论文 §3.2.3
论文公开的训练与推理设置
| 环节 | 原论文设置 | 复现含义 |
|---|---|---|
| 数据 | LAION-2B 与 COYO-700M 中约一千万图文对 | 原文没有给出完整过滤脚本、精确划分与许可证清单。 |
| 扩散底座 | Stable Diffusion v1.5 | 原始 UNet 冻结;与同源定制模型复用需要基础结构兼容。 |
| 图像编码器 | OpenCLIP ViT-H/14,冻结 | 全局图像 embedding 经线性层、LayerNorm,映射为四个图像 token。 |
| 新增参数 | 十六处图像 cross-attention,合计约 22M 参数 | 训练图像投影与新增的 key/value。 |
| 优化 | AdamW,固定学习率 \(10^{-4}\),weight decay 0.01 | 原文没有给出 warmup、梯度累积或随机种子。 |
| 设备和步数 | 8×V100,单卡 batch 8,训练 1M steps,DeepSpeed ZeRO-2 | 名义全局 batch 64;不据此推断实际训练时长。 |
| 预处理 | 短边缩放至 512,再中心裁切 \(512\times512\) | 非方形参考图边缘可能被裁掉。 |
| 条件删除 | 文本单独 0.05、图像单独 0.05、两者同时 0.05 | 有条件与无条件路径支持 CFG;不公开更细采样比例。 |
| 推理 | DDIM 50 steps;CFG 7.5 | 仅图像提示时,文本设为空且 \(\lambda=1.0\)。 |
论文没有公开完整 system prompt、few-shot 示例或语言模型调用;该系统的文本输入是普通 caption / user prompt。图像条件来自整张图像的全局特征,基础版本没有局部对象掩码或区域指定入口。论文 §4.1
Table 1:九种方法的完整比较
COCO2017 验证集 5,000 张参考图及对应 caption,每张生成四个结果,共 20,000 张。CLIP-I 比较生成图与参考图的图像 embedding;CLIP-T 比较生成图与参考图 caption。两指标由 CLIP ViT-L/14 计算。表中“可复用、兼容控制、图文组合”依原论文标注,质量指标不覆盖所有生成质量维度。论文 §4.2 / Table 1
| 方法 | 类别 | 同底座定制模型复用 | 结构控制兼容 | 图文组合 | 训练参数 | CLIP-T ↑ | CLIP-I ↑ |
|---|---|---|---|---|---|---|---|
| Open unCLIP | 从头训练 | 否 | 否 | 否 | 893M | 0.608 | 0.858 |
| Kandinsky-2-1 | 从头训练 | 否 | 否 | 否 | 1229M | 0.599 | 0.855 |
| Versatile Diffusion | 从头训练 | 否 | 否 | 是 | 860M | 0.587 | 0.830 |
| SD Image Variations | 微调 | 否 | 否 | 否 | 860M | 0.548 | 0.760 |
| SD unCLIP | 微调 | 否 | 否 | 否 | 870M | 0.584 | 0.810 |
| Uni-ControlNet | adapter | 是 | 是 | 是 | 47M | 0.506 | 0.736 |
| T2I-Adapter Style | adapter | 是 | 是 | 是 | 39M | 0.485 | 0.648 |
| ControlNet Shuffle | adapter | 是 | 是 | 是 | 361M | 0.421 | 0.616 |
| IP-Adapter | adapter | 是 | 是 | 是 | 22M | 0.588 | 0.828 |
相对于 adapter
相对 Uni-ControlNet,CLIP-T 增加 0.082,CLIP-I 增加 0.092;训练参数由 47M 降至 22M。
跨类别比较
Open unCLIP 的两个分数仍分别高 0.020 和 0.030。它训练 893M 参数,与 IP-Adapter 的可复用能力和训练预算不同。
评测局限
CLIP 相似度无法直接测量局部结构、身份一致性或复制倾向;定性图每个 prompt 生成四张后选最好的一张。
Figure 3 是跨方法定性对比;Figure 4 以 Realistic Vision V4.0、Anything v4、ReV Animated 展示同源 SD v1.5 定制模型复用;Figure 5–6 展示和 ControlNet / T2I-Adapter 组合;Figure 7 展示 img2img 与 inpainting;Figure 8–9 展示图文联合提示。这些应用主要是图片示例,原文没有逐项量化通用迁移收益。论文 §4.3

消融支持什么结论
Figure 10
把图像 token 直接与文本 token 拼接的简单 adapter 与独立图像分支比较,两者都训练 200k steps。作者展示 decoupled 分支对复杂参考内容更忠实;这是一组定性证据,原文没有给出对应的 CLIP 数值表。
Figure 11
细粒度版本使用 CLIP 倒数第二层的 grid features,加十六个可学习 token 形成图像条件。示例中对象细节一致性增强,多样性随之降低;原文没有报告定量消融。
Figure 4–9
展示同源定制模型、ControlNet、图像修复和文本组合的可行性。示例不能证明所有底座或控制模块都兼容。
Paper Verified:Table 1 确证该基线集合中的 adapter 性能优势,Figure 10–11 展示设计差异。Author Claim:作者把独立分支视作提升图像条件效用的原因;有限的定性消融支持该解释,缺乏多随机种子和一致预算下的全面量化。Our Interpretation:冻结文本通路使模型保有原生成能力,新的图像 key/value 为图像内容保留专用映射。Research Extension:将图像条件分解成区域级 token 并在生成过程中根据结构误差动态调节 \(\lambda\),可检验局部编辑精度与多样性的关系。
论文 §5 明确承认:基础 IP-Adapter 可保留内容或风格相似性,但对某个特定人物或对象的高度身份一致性,仍不及 DreamBooth 或 Textual Inversion。后续 FaceID 产品变体不能用于倒推 2023 年基础论文已解决这一局限。论文 §5
原始论文与持续更新的仓库
官方仓库持续收录基础模型、Plus、SDXL、FaceID 等多种版本。原始论文的结论限定为 SD v1.5、全局 OpenCLIP embedding、四个投影 token 和约 22M adapter。仓库 README 中后续 FaceID、SDXL 或 Plus 的权重、训练示例与效果,属于另外的模型配置。官方仓库 README
| 议题 | 论文 v1 | 官方实现需要核查的边界 |
|---|---|---|
| 图像输入 | 冻结 CLIP 全局 embedding | 公开示例经过 CLIP 图像预处理与中心裁切;非正方形内容会失去边缘。 |
| 网络插入 | 十六个文本 cross-attention 旁增设图像分支 | diffusers attention processor 需与所加载 UNet 和 ControlNet 版本匹配。 |
| 训练数据 | 约 10M LAION-2B / COYO-700M 图文对 | 完整样本清单与过滤过程未公开,难以逐样本重建训练集。 |
| 扩展模型 | 同源 SD v1.5 定制模型的示例 | SDXL、FaceID 和 Plus 为后续发布,不能合并进基础 Table 1。 |
笔记中已有关于 AttnProcessor、IPAttnProcessor 和 CNAttnProcessor 的源码阅读记录。程序调用时 attention processor 实际操作由传入的 attention 模块持有的投影权重;实现细节应以使用的仓库提交和 diffusers 版本为准。本文原论文没有公开完整训练过滤代码,也没有固定现代仓库最新默认参数作为原始实验条件。
贡献、局限与后续问题
Strengths
仅增加少量参数;两条注意力支路职责清晰;保留冻结底座的文本能力;Table 1 同时报告质量与适配能力;ControlNet 组合有可见案例。
Weaknesses
COCO CLIP 相似度不能评价精细身份;训练图像与提示图像同源可能鼓励复制全局外观;基础全局 embedding 缺少区域控制;定性消融缺少多种子统计。
Potential Improvements
用局部图像 token、掩码和空间位置绑定;报告主体相似、结构保真、文本遵循与多样性四类指标;对不同模型和控制模块进行同预算兼容性测试。
对于 procedural material generation,可以把参考材质图的 patch 特征送入独立 cross-attention,再用可微 renderer 验证材质图在不同光照和视角下的表现。这样的扩展还需要显式图拓扑或参数表示;IP-Adapter 论文没有研究材质节点图生成。
原始材料与核查边界
Ye et al., arXiv:2308.06721v1:标题、作者、公式、Table 1、Figure 1–11、附录与结论。本地 PDF:Reading/Papers/2308.06721v1.pdf,16 页。PDF 首页脚注明确 Jun Zhang 为通讯作者。
官方项目主页:图片展示与作者信息。官方代码仓库:持续更新的实现与模型列表,使用时需核对提交日期及模型版本。
这份网页以原论文 v1 的基础 IP-Adapter 为主要对象;后续仓库版本只在实现边界中出现。2026-09-30。