跳转至

Multitwine: Multi-Object Compositing with Text and Layout Control

会议: CVPR 2025
arXiv: 2502.05165
代码: 未开源
领域: 图像生成/目标合成
关键词: 多目标合成, 扩散模型, 文本控制, 布局控制, 身份保持

一句话总结

本文提出首个支持文本和布局引导的多目标同时合成(compositing)生成模型Multitwine,通过联合训练合成与个性化生成任务,结合跨注意力/自注意力解耦损失,实现同时插入多个对象的自然交互(如拥抱、弹吉他),用户研究中交互真实性偏好率最高达97.1%。

研究背景与动机

领域现状:目标合成(Object Compositing)将新对象无缝融入已有场景。现有方法(AnyDoor、IMPRINT、ObjectStitch等)仅支持单目标逐个合成,多目标需要串行处理。

现有痛点:(1) 串行合成无法处理需要同时re-pose的交互场景(如两人拥抱——先放一人后放另一人时无法调整第一人姿态);(2) 串行方式导致前后物体的光照、和谐性不一致;(3) 缺乏文本控制,无法指定对象间的关系(如"拿着"、"拥抱");(4) 文本和图像输入的平衡是个难题——图像主导时文本失效,反之亦然。

核心矛盾:多目标需要同时考虑对象间的空间交互和各自的身份保持,但扩散模型的注意力层倾向于将语义相似对象的特征混合(semantic leakage)。

本文目标 (1) 支持多目标同时合成并实现自然交互;(2) 平衡文本对齐和图像身份保持;(3) 防止多对象间的身份泄露。

切入角度:将合成任务与个性化生成(customization)联合训练——合成任务学习inpainting+和谐化+重光照,个性化任务专注于文本-图像对齐+身份保持,两者互补。

核心 idea:联合训练合成与个性化任务以平衡文本/图像对齐,用grounding信息将图像嵌入插入对应文本token之后构建多模态embedding,加注意力解耦损失防止身份泄露。

方法详解

整体框架

基于Stable Diffusion 1.5 Inpainting版本。输入包括背景图、布局掩码(每个对象的bbox + 全局修改区域掩码)、N个对象图像和文本描述。对象图像经DINO ViT-G/14编码+适配器对齐到文本空间,文本经CLIP编码。利用grounding信息将每个对象的图像嵌入插入其对应文本token之后形成多模态embedding,通过U-Net的cross-attention注入。布局掩码与噪声和背景拼接作为U-Net输入。

关键设计

  1. 多模态嵌入构造(Multimodal Embeddings)

    • 功能:平衡文本和图像控制信号,实现grounding级别的文本-图像对应
    • 核心操作:给定标题中第i个对象的文本描述 \(\mathcal{C}_i\) 和对象图像 \(\mathcal{O}_i\),将图像嵌入 \(\mathcal{A}(\mathcal{E}_I(\mathcal{O}_i))\) 拼接在文本嵌入 \(\mathcal{E}_T(\mathcal{C}_i)\) 之后
    • 设计动机:直接加法会使一种模态主导另一种。通过grounding信息做位置对应的拼接,让cross-attention自然地将视觉特征与对应文本区域关联
    • 训练时各模态独立以30%概率随机丢弃,保证单模态也能工作
  2. 跨注意力+自注意力身份解耦损失

    • 功能:防止多目标间的语义和视觉特征泄露
    • 跨注意力损失 \(\mathcal{L}_c\):鼓励每个对象的文本-图像token的cross-attention map集中在其对应的分割区域 \(\mathcal{S}_i\)
    • 自注意力损失 \(\mathcal{L}_s\):抑制属于不同对象的像素 \(\mathbf{x} \in \mathcal{S}_i\)\(\mathbf{y} \in \mathcal{S}_j\) 之间的self-attention响应
    • 设计动机:扩散模型的attention层天然倾向于对语义相似的区域共享特征,导致两只猫合成时特征混合。两种损失分别从"文本信号该去哪"和"视觉信号不该来自哪"两个角度约束
    • 推理时还额外用bbox掩码mask cross-attention分数
  3. 联合训练合成与个性化任务

    • 功能:通过任务互补改善文本-图像平衡
    • 核心操作:50%概率将 \(\mathcal{M}_G\) 替换为全图掩码、\(\mathcal{I}_{BG}\) 替换为空图,此时模型执行纯个性化生成(无inpainting负担)
    • 设计动机:仅训练合成任务时模型需同时学目标合成+姿态重摆+场景补全+和谐化+身份保持,负担过重。个性化任务让模型有时可以只关注文本-图像对齐
    • 消融验证:去掉个性化联合训练后DINO从0.540骤降到0.449(交互场景)

损失函数

\[\mathcal{L} = \mathcal{L}_d + \alpha \mathcal{L}_c + \beta \mathcal{L}_s\]

其中 \(\mathcal{L}_d\) 是标准扩散去噪损失,\(\alpha=10^3\)\(\beta=1\)

实验关键数据

主实验:多目标合成——交互场景(Table 1,bbox重叠)

方法 CLIP-I↑ DINO↑
AnyDoor 0.727 0.520
IMPRINT 0.713 0.525
TOTB 0.716 0.485
Multitwine 0.741 0.532

消融实验(Table 3,MultiComp-action子集)

配置 DINO↑ CLIP-I↑ CLIP-Tloc↑
完整模型 0.540 0.745 0.286
去掉self-attn loss 0.538 0.744 0.283
去掉所有attn loss 0.534 0.739 0.270
去掉联合个性化训练 0.449 0.705 0.295
去掉多视角数据 0.535 0.751 0.268

用户研究(Fig. 6)

  • vs IMPRINT:图像质量偏好率66.7%,交互真实性偏好率97.1%
  • vs Emu2Gen:文本/布局/对象/背景四项对齐均优

关键发现

  • 同时合成比串行合成(即使同一模型)在交互场景的DINO提升0.012-0.022
  • 联合个性化训练是最关键的消融因子,去掉后DINO骤降0.091
  • 模型涌现出3+对象同时合成和主体驱动inpainting能力
  • 提供文本引导在对象交互场景提升性能,非交互场景则影响不大

亮点与洞察

  1. 开创性的问题定义:首次提出多目标同时合成,解决了串行合成无法repose已放置对象的根本问题
  2. 联合训练的精巧设计:合成与个性化互为辅助任务,通过50%概率切换实现负担分摊
  3. 数据生成pipeline:结合视频数据(多视角+关系标注)、图像数据(自动caption+grounding)和手工收集数据,解决了多模态对齐训练数据稀缺的问题
  4. 涌现能力:虽仅训练2对象,但能泛化到3+对象同时合成,说明学到了通用的交互先验

局限性

  1. 基于SD1.5,整体质量受限。迁移到SDXL/SD3应能大幅提升
  2. 对象数量增加时多模态embedding长度线性增长,存在扩展性瓶颈
  3. 注意力损失在训练中有效但推理时仍需额外掩码操作
  4. 未开源代码,可复现性受限

相关工作与启发

  • AnyDoor/IMPRINT:单目标合成SOTA,DINO特征保持身份保真度。Multitwine在此基础上扩展到多目标
  • KOSMOS-G/UNIMO-G:多实体个性化生成,但不支持compositing的inpainting/重光照
  • Emu2Gen:支持布局+多实体的最接近竞争者,但文本-图像平衡较差
  • FastComposer:多主体生成中的注意力解耦思路被本文借鉴

评分

  • ⭐ 创新性:8/10 — 首创多目标同时合成,联合任务训练策略巧妙
  • ⭐ 实验完备性:8/10 — 用户研究充分,消融清晰,但缺少定量交互质量度量
  • ⭐ 实用价值:7/10 — 应用场景广泛但基于SD1.5且未开源
  • ⭐ 总体:8/10 — 定义了新任务并给出有效解法,联合训练策略值得借鉴

相关论文