IP-Adapter
仅22M参数让文生图模型秒懂图像提示,风格/构图/人脸精准迁移
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
仅22M参数让文生图模型秒懂图像提示,风格/构图/人脸精准迁移
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你有没有过这样的经历——看到一张特别喜欢的图片风格,想让 AI 以假乱真地复刻,却不知道该怎么用文字描述?比如一组人像的光影构图、一幅油画的笔触纹理,又或者某个设计作品的色彩搭配。这种意会而难以言传的感觉,正是 AI 图像生成领域长期以来的痛点。
IP-Adapter 的出现,就是为了解决这个难题。这个由腾讯优图实验室(Tencent AI Lab)开源的项目,能够让预训练的文生图扩散模型(Stable Diffusion)直接看懂图像提示(Image Prompt),只需上传一张参考图,模型就能理解其中的风格、构图甚至人脸特征,生成与之一脉相承的新图像。

图1:IP-Adapter 架构图
IP-Adapter 由腾讯优图实验室(Tencent AI Lab)开发,论文《IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models》于 2023 年 8 月在 arXiv 发表(arXiv:2308.06721)。团队的核心想法是:既然文生图模型已经非常强大,为什么不能给它加一个图像理解模块,让它同时支持图像提示和文字提示?
在此之前,要让扩散模型理解图像提示,通常需要对整个模型进行微调(Fine-tuning),代价极高。而 IP-Adapter 采用了解耦交叉注意力机制(Decoupled Cross-Attention),仅需 22M 参数的轻量级适配器,就能实现与全模型微调相当甚至更好的效果。这一设计使得 IP-Adapter 可以即插即用地接入任何基于 SD 的下游模型,包括社区微调的 LoRA、CKPT 变体等。
打个比方:如果把 Stable Diffusion 想象成一个只会听文字指令的厨师,那么 IP-Adapter 就像是给这位厨师配了一位双语助理——厨师原来听不懂图像,现在有了助理的翻译,图像也能变成指令了。
IP-Adapter 的能力远不止风格迁移那么简单。它实际上是一个多功能的图像提示工具包,涵盖以下核心场景:
这是最基础的功能——上传一张图,生成风格相似的多张变体。比如设计师有一张满意的草图,希望快速生成多个配色或构图方案,用 IP-Adapter 就能一键搞定。

图2:图像变体生成效果
在图像提示的基础上叠加文字提示,实现更精细的控制。例如,输入一张风景照片,加上赛博朋克风格的文字提示,模型就会在保持原图构图的同时,将场景转换为霓虹灯光效。

图3:Image-to-Image 转换效果
用图像提示引导局部区域的重建。用户可以遮盖图像的某一部分,用图像提示来指导该区域的重新生成,这在电商模特换装、产品背景替换等场景中有极高的实用价值。

图4:Inpainting 局部重绘效果
IP-Adapter 支持同时使用多张图像作为提示,并结合文字描述。例如,可以同时输入一张人脸图像和一张服装图像,让模型将两者特征融合生成新图像。这在虚拟试穿、角色设计等创意场景中非常有用。

图5:多模态提示组合生成
传统方法中,图像特征和文本特征共享同一个交叉注意力层,容易相互干扰。IP-Adapter 的核心创新在于引入了独立的图像交叉注意力路径,图像提示和文字提示各自有独立的表达通道,互不干扰,从而实现真正的多模态融合。
技术实现上,IP-Adapter 在 U-Net 的每个交叉注意力层中注入了额外的注意力模块,包括:
仅 22M 参数,相比微调整个 SD 模型(通常 860M+ 参数),参数量降低约 97%。
IP-Adapter 使用 CLIP Vision Model 作为图像编码器:SD 1.5 版本使用 OpenCLIP-ViT-bigG-14(后来更新为 ViT-H-14),SDXL 版本使用 OpenCLIP-ViT-H-14。
IP-Adapter 还包含一个 Perceiver Resampler 模块,用于将变长图像 token 序列压缩到固定的 4 个 token 长度,这是参考了 BLIP-2 的设计思路。
腾讯团队围绕 IP-Adapter 框架持续推出衍生模型,形成完整工具矩阵:
| 模型 | 特点 | 适用场景 |
|---|---|---|
| IP-Adapter | 基础图像提示 | 风格迁移、构图参考 |
| IP-Adapter-Plus | 细粒度特征提取 | 精确还原细节 |
| IP-Adapter-FaceID | 人脸身份保持 | 写真、角色一致 |
| IP-Adapter-FaceID-PlusV2 | SDXL + 人脸 | 高分辨率人像 |
| IP-Adapter-XL (SDXL) | 支持 SDXL 1.0 | 1024x1024 高分辨率 |
其中 IP-Adapter-FaceID 专门针对人脸身份保持进行了优化,能够在风格迁移的同时确保生成人物的五官特征与输入人脸高度一致,避免了传统方法中风格对了但人脸走了样的问题。

图6:IP-Adapter-FaceID 人脸身份保持效果
官方推荐通过 Jupyter Notebook 交互式运行。项目提供了 8 个 .ipynb Demo,每个都附带 Google Colab 链接,可以直接在云端 GPU 上运行,无需本地配置。
核心 Demo 包括:ip_adapter_demo.ipynb(基础演示)、ip_adapter_t2i-adapter_demo.ipynb(结合结构控制)、ip_adapter_multimodal_prompts_demo.ipynb(多模态提示)、ip_adapter-plus-face_demo.ipynb(人脸版本)、ip_adapter_sdxl_demo.ipynb(SDXL 版本)等。
IP-Adapter 已被广泛集成到主流 AI 图像工具中:
这意味着如果你已经在用 WebUI 或 ComfyUI,可以直接安装对应插件使用 IP-Adapter,无需额外的代码操作。
| 资源 | 最低要求 | 推荐配置 |
|---|---|---|
| GPU | 8GB VRAM | 16GB+ VRAM |
| 内存 | 8GB RAM | 16GB+ RAM |
| 存储 | 5GB | 15GB(含模型权重) |
| 显存 | FP16 可运行 | BF16 更佳 |
尽管 IP-Adapter 表现出色,仍有以下需要注意的局限:
IP-Adapter 解决了扩散模型多模态控制的核心痛点,在开源社区引发了广泛跟进。它的意义不仅在于技术本身,更在于:
截至目前,IP-Adapter 在 GitHub 上已获得超过 6500 颗星,被 Stable Diffusion 生态中最主流的工具(WebUI、ComfyUI、InvokeAI)全面采用,成为文生图领域不可或缺的基础组件之一。