Paint by Inpaint: Learning to Add Image Objects by Removing Them First¶
会议: CVPR 2025
arXiv: 2404.18212
代码: 项目页面
领域: 图像分割
关键词: 图像编辑, 对象添加, 扩散模型, 图像修复, 数据集构建
一句话总结¶
提出"Paint by Inpaint"框架,利用"添加对象是移除对象的逆过程"这一洞察,通过自动化 inpainting 管线构建包含约 100 万高质量图像对的 PIPE 数据集,训练的扩散模型在对象添加和通用编辑任务上达到 SOTA。
研究背景与动机¶
基于文本指令的无 mask 图像对象添加是一个极具挑战的任务,需要理解全局上下文(位置、尺度、风格)。现有方法的主要瓶颈在于训练数据的质量:
- InstructPix2Pix (IP2P) 的数据问题:使用 GPT-3 + Prompt-to-Prompt 合成数据集,但源图和目标图都是合成的,且常存在不一致性。虽然使用 Directional CLIP 过滤但效果有限
- MagicBrush:人工使用 DALL-E2 创建的半合成数据集,质量较好但规模受限于人工标注成本
- 根本矛盾:在无 mask 设置下,几乎不可能获得一对仅在编辑区域不同的自然图像
本文的核心 insight 非常优雅:添加对象 (Paint) 本质上是移除对象 (Inpaint) 的逆过程。利用大量分割数据集中已有的图像和 mask,可以通过 inpainting 模型移除对象生成"源图",将原始图像作为"目标图",从而构建大规模、高质量、mask-free 的对象添加数据集。
关键优势在于:(i) 目标图是真实自然图像而非合成图,(ii) 源-目标一致性天然保证——改动仅限于被移除对象的区域。
方法详解¶
整体框架¶
分为两阶段框架: 1. 数据集构建阶段 (PIPE):移除对象 → 过滤 → 生成指令 → 形成训练三元组 2. 模型训练阶段:基于 SD 1.5 架构训练去噪扩散编辑模型
关键设计¶
-
图像对生成管线 (Source-Target Pairs):
- 功能:从分割数据集自动构建高质量的对象添加图像对
- 核心思路:
- 数据源:统一 COCO + Open Images + LVIS = 889,230 张图像,1400+ 类别
- 预移除过滤:排除太大/太小/边缘处 mask,用 CLIP 语义相似度过滤异常对象视图(模糊、遮挡),对 mask 做形态学膨胀确保完全覆盖
- 对象移除:使用 SD inpainting 模型,正面提示"a photo of a background",负面提示"an object, a
",10步去噪生成 3 个候选 - 后移除验证:CLIP 共识检测(3 个候选嵌入标准差低=一致移除)+ 多模态 CLIP 过滤(区域与原类别相似度低=确实移除)+ α-blending 一致性增强 + 重要性过滤
- 设计动机:inpainting 模型不是专为移除训练的,可能留下残留或生成新对象,因此需要多层过滤确保质量
-
对象添加指令生成:
- 功能:为每对图像生成自然语言编辑指令
- 核心思路:三种策略——(i) 类名指令"add a
";(ii) VLM-LLM 指令:CogVLM 描述对象 → Mistral-7B 通过 5-shot ICL 转为指令;(iii) 参考指令:利用 RefCOCO 系列的人工标注描述 - 设计动机:多种策略结合产生 1,879,919 条指令,涵盖简洁和详细两种编辑场景
-
扩散编辑模型训练:
- 功能:学习根据指令向图像添加对象
- 核心思路:基于 SD 1.5 架构,同时以文本指令 c_T 和源图像 c_I 为条件。训练时以 5% 概率分别丢弃 c_T、c_I 或两者,支持推理时 classifier-free guidance
- 设计动机:双条件 CFG 允许在推理时平衡编辑忠实度和原图一致性
损失函数 / 训练策略¶
- 标准扩散去噪损失
- Classifier-free guidance 中分别对文本和图像条件进行概率 dropout(各 5%)
- 可通过调整图像/文本 guidance scale 控制一致性-编辑权衡
实验关键数据¶
主实验¶
MagicBrush 对象添加子集(144 edits):
| 方法 | L1↓ | CLIP-I↑ | DINO↑ | CMMD↓ |
|---|---|---|---|---|
| VQGAN-CLIP | .211 | .670 | .507 | .862 |
| SDEdit | .168 | .765 | .572 | .539 |
| IP2P | .100 | .860 | .766 | .363 |
| Hive | .095 | .846 | .782 | .353 |
| Ours | .072 | .900 | .852 | .301 |
PIPE 测试集(750 images):
| 方法 | L1↓ | CLIP-I↑ | DINO↑ | CMMD↓ |
|---|---|---|---|---|
| IP2P | .098 | .861 | .753 | .142 |
| Hive | .088 | .849 | .754 | .232 |
| Ours | .057 | .945 | .903 | .060 |
消融实验¶
人类评估(100 张图,57 名评估者,1833 条评价):
| 指标 | IP2P | Ours |
|---|---|---|
| 编辑忠实度偏好 (Overall%) | 26.4% | 73.6% |
| 输出质量偏好 (Overall%) | 28.5% | 71.5% |
| 编辑忠实度 (Per-image wins) | 28 | 72 |
| 输出质量 (Per-image wins) | 31 | 69 |
关键发现¶
- 数据集规模和质量是决定性因素:PIPE 的约 100 万真实目标图像全面超越 IP2P 的 31 万合成对
- 一致性优势显著:L1 指标大幅领先,说明编辑区域外的一致性天然保证
- 泛化到通用编辑:将 PIPE 与 IP2P 数据集合并训练的模型在通用编辑任务上也超越仅用 IP2P 训练的模型
- 人类评估压倒性优势:73.6% 的全局偏好率确认了生成质量的显著提升
- Fine-tuning 进一步提升:在 MagicBrush 上 fine-tune 后 L1 从 .072 降至 .067
亮点与洞察¶
- "逆向思维"的核心洞察:识别到"添加 = 移除的逆"这一对称性是全文最精彩的部分,将困难问题转化为简单问题
- 工业级数据管线:多层过滤机制(CLIP 共识、多模态 CLIP、一致性增强、重要性过滤)确保了大规模自动化流程中的数据质量
- VLM-LLM 两阶段指令生成:将对象描述和指令生成分开,避免 VLM 幻觉
- 一致性的天然保证:通过 α-blending 和 mask 约束,源-目标一致性是构造式保证的
局限与展望¶
- 受限于 inpainting 模型质量:如果 inpainting 没有完全移除对象或产生异常,即使有过滤也可能有漏网之鱼
- 对象添加位置不可控:模型从数据中隐式学习位置,用户无法精确指定添加位置
- 类别覆盖受限于分割数据集:虽然有 1400+ 类别,但长尾类别覆盖仍不足
- 基于 SD 1.5 架构:在更先进的基础模型上可能获得更好效果
- 未来可探索多对象添加、精确位置控制、与更大 VLM 结合等
相关工作与启发¶
- vs InstructPix2Pix: IP2P 的数据全是合成的且有一致性问题;PIPE 的目标图是真实图像,一致性天然保证
- vs MagicBrush: MagicBrush 是人工标注的高质量数据但规模受限(约 10K);PIPE 自动化产生约 100 万对
- vs Inst-Inpaint: Inst-Inpaint 也利用分割+inpainting 但用于对象移除;PIPE 反向使用实现对象添加
- vs SmartBrush: SmartBrush 需要用户提供 mask;PIPE 的模型不需要任何 mask 输入
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ "Paint by Inpaint"的核心洞察极其优雅,将困难问题通过对称性转化为简单问题
- 实验充分度: ⭐⭐⭐⭐ 三个基准测试 + 人类评估 + 通用编辑扩展 + 多指标评估
- 写作质量: ⭐⭐⭐⭐ 动机清晰,管线描述详细,图示丰富
- 价值: ⭐⭐⭐⭐⭐ PIPE 数据集本身具有极高价值,框架思路对数据构建领域有广泛启发