Text2Place: Affordance-aware Text Guided Human Placement¶
会议: ECCV 2024
arXiv: 2407.15446
领域: 图像生成
一句话总结¶
提出Text2Place——首个通过文本引导实现真实感人物放置的方法,利用SDS损失优化基于高斯blob的语义掩码学习场景可供性(affordance),再通过主体条件修复实现身份保持的人物放置。
研究背景与动机¶
- 给定一个背景场景,人类可以直觉地推理在哪里放置人物以及采用什么姿态——这种能力称为"可供性"(affordance)
- 核心挑战:设计计算模型来推理这些可供性非常困难,需要考虑多样化的背景、人物尺度和姿态、以及身份保持
- 现有方法的局限:
- 早期方法受限于特定数据集(如情景喜剧场景)
- Kulal et al.仅在给定边界框内建模局部可供性,无法推理全局可供性(如坐/站的位置选择)
- Ramrakhya et al.需要大规模训练数据(通过修复创建成对数据集)
- 关键问题:如何在没有大规模训练的情况下,学习文本引导的全局+局部人物可供性?
方法详解¶
整体框架¶
分为两个阶段: 1. 语义掩码优化:利用SDS损失优化blob参数化的语义掩码,定位场景中适合放置人物的区域 2. 主体条件修复:通过Textual Inversion学习主体的文本嵌入,使用T2I模型的修复管线进行身份保持的人物放置
关键设计¶
1. 基于高斯Blob的语义掩码参数化
直接在像素空间学习语义掩码会导致坍塌(掩码覆盖整个图像)。论文提出用 \(K\) 个相互连接的高斯blob参数化掩码:
每个blob由以下参数定义: - 中心位置 \(\mathbf{x} \in [0,1]^2\) - 尺度 \(\mathbf{s}\), 宽高比 \(\mathbf{a}\), 旋转角 \(\theta\) - 连续blob间距 \(\mathbf{r}\)(固定)
blob间通过固定距离连接,第 \(i\) 个blob中心由前一个推导: $\(\mathbf{x}_i = \mathbf{x}_{i-1} + [\mathbf{r}\cos(\alpha_i), \mathbf{r}\sin(\alpha_i)]^T\)$
每个blob的掩码通过马氏距离计算:\(\mathcal{M}_i[\mathbf{x}_{grid}] = \exp(-0.5 \cdot D^m(\mathbf{x}_{grid}, \mathbf{x}_i))\)
训练时仅优化第一个blob中心 \(\mathbf{x}_1\)、所有旋转角 \(\theta_i\) 和相对角 \(\alpha_i\),固定 \(\mathbf{s}\)、\(\mathbf{a}\)、\(\mathbf{r}\),避免掩码无限增大。
2. SDS损失驱动掩码优化
- 创建可学习前景人物图像 \(\mathcal{I}_p\)(初始化为背景图像 \(\mathcal{I}_b\) 的副本)
- 通过掩码 \(\mathcal{M}\) 将 \(\mathcal{I}_p\) 和 \(\mathcal{I}_b\) 合成 \(\mathcal{I}_c\)
- 用SDS损失(guidance scale=200)优化 \(\mathcal{I}_c\),梯度回传更新 \(\mathcal{I}_p\) 和 \(\mathcal{M}\) 的参数
- 随着训练,\(\mathcal{I}_p\) 生成人物,\(\mathcal{M}\) 收敛到正确位置和形状
3. 主体条件修复
- 通过Textual Inversion从少量主体图像(3-5张)学习token嵌入 \(\mathbf{V*}\)
- 使用修复提示(如"A \(\mathbf{V*}\) person sitting on sofa")和优化后的语义掩码
- 利用Stable Diffusion XL的修复管线进行生成
- T2I模型的丰富场景-人物先验使输出自动适配合理的人物姿态
损失函数¶
掩码优化阶段:使用Score Distillation Sampling (SDS)损失,guidance scale设置为200,对合成图像 \(\mathcal{I}_c\) 计算。
修复阶段:标准的噪声预测损失(T2I修复管线自带)。
实验关键数据¶
主实验¶
与基线方法的定量对比:
| 方法 | LPIPS↓ | CLIP-sim↑ | %Person↑ |
|---|---|---|---|
| GracoNet | 0.1090 | 0.2601 | 53.48 |
| TopNet | 0.1162 | 0.2617 | 67.3 |
| LLaVA | 0.1296 | 0.2501 | 20.91 |
| GPT4V | 0.1059 | 0.2615 | 64.18 |
| Ours (center) | 0.0845 | 0.2613 | 55.52 |
| Ours | 0.0934 | 0.2726 | 88.55 |
Text2Place在人物生成成功率(%Person)上大幅领先:88.55% vs 第二名GPT4V的64.18%(提升38%),同时CLIP相似度也最高。
消融实验¶
Blob尺度:
| 尺度 \(\mathbf{s}\) | LPIPS↓ | CLIP-sim↑ | %Person↑ |
|---|---|---|---|
| 0.3 | 0.0537 | 0.2594 | 41.1 |
| 0.4 | 0.0806 | 0.2663 | 69.0 |
| 0.5 | 0.0858 | 0.2712 | 81.5 |
| 0.6 | 0.0904 | 0.2736 | 90.6 |
| 0.7 | 0.1074 | 0.2729 | 96.0 |
Blob数量:
| #blobs | LPIPS↓ | CLIP-sim↑ | %Person↑ |
|---|---|---|---|
| 1 | 0.1318 | 0.2780 | 93.0 |
| 3 | 0.1305 | 0.2797 | 94.9 |
| 5 | 0.0904 | 0.2736 | 90.6 |
| 7 | 0.0780 | 0.2749 | 75.0 |
5个blob在背景保持和人物生成之间达到最佳平衡。
关键发现¶
- 像素精确掩码反而有害:实验证明过于精确的掩码会限制T2I修复模型的生成自由度,粗糙的blob掩码反而更好
- Blob连接至关重要:未连接的独立blob会散布在图像各处,无法形成适合人体姿态的连续掩码
- 固定部分参数是必要的:若所有blob参数可学习,尺度和宽高比会无限增大以最小化SDS损失,导致过大的掩码区域
- VLM(LLaVA/GPT4V)的可供性推理能力有限:LLaVA常将框放在图像左下角,GPT4V框虽在正确位置但尺寸不当
- Textual Inversion足够:5张图像的简单文本反演即可获得良好的身份保持效果
亮点与洞察¶
- 问题定义非常好:Semantic Human Placement将全局可供性推理、局部姿态适配和身份保持统一在一个框架中
- 无需大规模训练是核心优势:仅通过SDS损失蒸馏T2I模型的知识即可学习可供性
- Blob参数化设计简洁而有效,只需极少可学习参数(约5×4=20个参数),训练迅速
- 下游应用丰富:场景幻觉、多人放置、文本属性编辑、放置儿童等
- "粗糙掩码反而优于精确掩码"这一反直觉发现为实际应用提供了重要指导
局限性¶
- 小物体放置困难:Blob参数化占用较大图像区域,对放置较小物体效果不佳
- 缺乏精确姿态控制:生成的人物姿态由T2I修复模型隐式决定,无法精确指定
- 评估数据集较小(仅30张背景图+15个名人主体),统计显著性存疑
- SDS优化需要1000次迭代,再加上Textual Inversion的训练时间,端到端流程耗时较长
- Blob参数的最优配置(尺度、数量)需要手动调节
评分¶
- 创新性: ⭐⭐⭐⭐ — 首次提出Semantic Human Placement问题,blob参数化+SDS蒸馏的组合新颖
- 实用性: ⭐⭐⭐⭐ — 无需大规模训练、支持多样化场景和下游任务
- 实验充分性: ⭐⭐⭐⭐ — 对比完整(包括VLM基线)、消融详细,但数据规模偏小
- 写作质量: ⭐⭐⭐⭐ — 条理清晰、方法阐述到位、图示丰富直观
相关论文¶
- [ECCV 2024] LivePhoto: Real Image Animation with Text-guided Motion Control
- [ECCV 2024] Local Action-Guided Motion Diffusion Model for Text-to-Motion Generation
- [ECCV 2024] Realistic Human Motion Generation with Cross-Diffusion Models
- [ECCV 2024] MagicEraser: Erasing Any Objects via Semantics-Aware Control
- [ECCV 2024] Learning Semantic Latent Directions for Accurate and Controllable Human Motion Prediction