Generative Photomontage¶
会议: CVPR 2025
arXiv: 2408.07116
代码: https://github.com/seanjliu/generative_photomontage
领域: 扩散模型
关键词: 图像合成, 扩散特征, 图割优化, 自注意力注入, ControlNet
一句话总结¶
提出 Generative Photomontage 框架,允许用户从多张 ControlNet 生成的图像中选取不同区域,通过扩散特征空间的图割分割和自注意力特征注入进行无缝合成,实现对生成图像的精细组合控制。
研究背景与动机¶
领域现状:文本到图像模型能够从简单条件(如文字、草图)生成高质量图像,但生成过程本质上是一次"掷骰子"——用户难以通过单次生成获得完全满意的结果。ControlNet 等条件控制方法虽然限制了输出空间,但给定相同条件和不同随机种子,仍会产生在光照、外观、背景等方面差异显著的多样结果。
现有痛点:用户可能喜欢第一张图的某个物体、第二张图的背景、第三张图的某个细节,但没有办法将它们组合成一张理想图像。现有的图像编辑方法要么侧重高层风格迁移(如 MasaCtrl),要么在像素空间混合时出现颜色失真(如 Interactive Digital Photomontage 的梯度域融合),要么在噪声空间操作导致结构变化(如 Blended Latent Diffusion)。
核心矛盾:如何在保留用户选择的局部区域外观不变的同时,实现多图像区域之间的自然和谐融合?像素空间的图割对低层颜色敏感容易把接缝放在不理想的位置,而现有扩散模型的编辑方法往往无法同时保证局部保真度和全局一致性。
本文目标 设计一个框架,让用户先大量生成候选图像,再从中"挑选"喜欢的局部区域并自动合成,将生成模型的输出作为中间产物而非最终结果。
切入角度:由于 ControlNet 图像共享相同输入条件(如边缘图、深度图),生成的图像具有一致的空间结构,这为跨图像的区域分割和组合提供了天然基础。扩散模型自注意力层的 Key 特征具有丰富的语义和外观信息,适合作为图割优化的特征空间。
核心 idea:在扩散特征空间而非像素空间执行多标签图割分割,再通过自注意力 Q/K/V 特征注入实现无缝合成。
方法详解¶
整体框架¶
输入是一组 ControlNet 生成的图像栈(使用相同输入条件、不同随机种子),用户通过简单的画笔笔触标记不同图像中希望保留的区域。系统首先在扩散特征空间执行多标签图割优化得到分割结果,然后在去噪过程中注入组合后的自注意力特征生成最终合成图像。
关键设计¶
-
扩散特征空间图割分割:
- 功能:根据用户笔触,在生成图像栈中找到最优的区域分割,使得接缝尽可能落在语义边界上
- 核心思路:利用自注意力层的 Key 特征 \(K \in \mathbb{R}^{w \times h \times d}\) 作为图割的特征空间(分辨率为原图的 1/8)。能量函数包括一元项(惩罚违反用户笔触的标签分配,代价 \(C=10^6\))和二元项(鼓励接缝落在所有图像中特征梯度都大的位置)。二元项用各图像 Key 特征的 top-10 PCA 分量计算特征距离,通过指数衰减函数 \(\lambda e^{-|f_i(p)-f_i(q)|/(2\sigma)}\) 鼓励接缝沿语义边缘放置
- 设计动机:像素空间的图割对低层颜色变化敏感,容易把接缝放在不理想的边缘上。扩散特征捕获了更高层的语义信息,使得分割结果在语义上更合理;同时后续在特征空间融合可以避免像素空间合成所需的额外后处理
-
自注意力特征注入合成:
- 功能:将分割后的各区域特征组合成一致的合成图像
- 核心思路:根据图割得到的标签分配图,对每个自注意力层构建组合特征 \(Q^{comp}\)、\(K^{comp}\)、\(V^{comp}\)。对于 K 和 V,直接按掩码从各图像拼接对应区域的存储特征。对于 Q,基底图像区域使用模型当前生成的 \(Q^{model}\) 而非存储的 \(Q^B\),让模型能够自适应调整结构以实现更好的接缝融合
- 设计动机:\(Q\) 影响图像结构,\(K/V\) 影响外观。如果强制注入基底图像的 \(Q^B\),模型无法在接缝附近自适应调整结构,会导致阴影残留等问题;使用 \(Q^{model}\) 释放了模型在低分辨率图割边界处进行高分辨率语义对齐的能力
-
多图像用户交互流程:
- 功能:用户通过简单笔触从多张图像中选择区域,指定一张为基底图像
- 核心思路:生成阶段保存所有图像每个时间步、每个自注意力层的 Q/K/V 特征。用户标注后系统自动完成分割和合成,使用基底图像的种子和提示词进行最终去噪。相比逐图像用 SAM 分割的方案,多标签图割能自动处理图像间的重叠和覆盖问题
- 设计动机:将生成模型的输出作为中间产物而非最终结果,让生成过程从"掷骰子"变为"先摇骰子再选最优组合",组合式地提高成功率
损失函数 / 训练策略¶
本方法无需额外训练,是一个即插即用的推理时框架。图割优化使用 α-expansion 算法求解多标签问题,超参数 \(\lambda=100\), \(\sigma=10\) 在所有实验中固定。
实验关键数据¶
主实验¶
| 方法 | Masked LPIPS ↓ | Masked SSIM ↑ | PSNR ↑ | Seam Gradient Score |
|---|---|---|---|---|
| Ours | 0.123 | 0.815 | 22.46 | 0.339 (范围内) |
| IDP [1] | 0.104 | 0.888 | 20.13 | 0.306 |
| BLD [4] | 0.222 | 0.772 | 20.27 | 0.393 |
| MasaCtrl+CtrlNet | 0.230 | 0.680 | 18.34 | 0.341 |
| CollageDiffusion | 0.243 | 0.605 | 20.57 | 0.559* (超范围) |
消融实验¶
| 配置 | Masked LPIPS ↓ | PSNR ↑ | 说明 |
|---|---|---|---|
| Full model (Ours) | 0.123 | 22.46 | 完整模型 |
| w/ K^concat, V^concat | 0.243 | 18.37 | 用拼接 K/V 替代组合特征,局部保真度下降严重 |
| w/ K^model, V^model | 0.268 | 18.85 | 用模型生成的 K/V 替代存储特征,丢失原始外观 |
关键发现¶
- K/V 注入方式是保留局部外观的关键:使用组合掩码注入存储 K/V 的 PSNR 比备选方案高 3.6-4.1 dB
- Q 的处理最为微妙:基底区域使用 \(Q^{model}\) 而非 \(Q^B\) 可以避免接缝处的结构僵化,将低分辨率图割边界与高分辨率语义特征对齐
- 用户调研(324 次回答)显示本方法在融合质量上大幅领先所有基线,在真实感上与 MasaCtrl+CtrlNet 相当
- 相比 SAM 的单图像分割方案,基于图割的多图像分割在标签一致性和用户笔触遵循能力上明显更优
亮点与洞察¶
- 扩散特征作为图割空间的巧妙利用:将经典的图割优化从像素空间迁移到扩散模型的自注意力特征空间,一举解决了接缝放置和特征融合两个问题,这个思路可以推广到任何需要跨图像语义对齐的任务
- \(Q^{model}\) vs \(Q^B\) 的深刻洞察:发现 Q 控制结构、K/V 控制外观的解耦特性在合成任务中的具体表现,为基底区域保留模型自适应的 Q 的设计选择提供了理论和实验支持
- 用户交互范式的转变:从"让模型一次生成正确结果"到"让模型生成多个候选再组合",这种思维方式的转变对交互式生成内容创作具有启发意义
局限与展望¶
- 需要预先存储所有图像所有时间步的 Q/K/V 特征,内存开销较大
- 依赖 ControlNet 图像共享空间结构,无法处理不同条件生成的图像混合
- 基于 Stable Diffusion 1.5 实现,未验证在更新的扩散架构(如 DiT、SD3)上的泛化性
- 当用户选择的区域在语义上冲突严重时,合成效果可能不够自然
相关工作与启发¶
- vs Interactive Digital Photomontage:经典工作在像素空间做图割+梯度域融合,本文在扩散特征空间做图割+自注意力注入,解决了颜色失真和低层噪声敏感问题
- vs MasaCtrl / Cross-Image Attention:这些方法侧重高层风格迁移,局部外观会改变;本文强调精确保留用户选择区域的局部外观
- vs Blended Latent Diffusion:在噪声空间融合可能导致结构和外观变化;本文在注意力特征空间融合保真度更高
评分¶
- 新颖性: ⭐⭐⭐⭐ 将经典图割思想迁移到扩散特征空间的思路新颖,但核心组件(图割、注意力注入)均有前人基础
- 实验充分度: ⭐⭐⭐⭐⭐ 定量评估、用户调研、消融实验、多种基线对比非常充分
- 写作质量: ⭐⭐⭐⭐⭐ 动机清晰,方法描述详尽,figure 质量高
- 价值: ⭐⭐⭐⭐ 提出了一种实用的交互式图像创作范式,对创意工作流有直接价值
相关论文¶
- [CVPR 2025] Generative Image Layer Decomposition with Visual Effects
- [CVPR 2025] GIF: Generative Inspiration for Face Recognition at Scale
- [CVPR 2025] ObjectMover: Generative Object Movement with Video Prior
- [CVPR 2025] Learning Visual Generative Priors without Text
- [CVPR 2025] Symbolic Representation for Any-to-Any Generative Tasks