跳转至

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在背景保持和人物生成之间达到最佳平衡。

关键发现

  1. 像素精确掩码反而有害:实验证明过于精确的掩码会限制T2I修复模型的生成自由度,粗糙的blob掩码反而更好
  2. Blob连接至关重要:未连接的独立blob会散布在图像各处,无法形成适合人体姿态的连续掩码
  3. 固定部分参数是必要的:若所有blob参数可学习,尺度和宽高比会无限增大以最小化SDS损失,导致过大的掩码区域
  4. VLM(LLaVA/GPT4V)的可供性推理能力有限:LLaVA常将框放在图像左下角,GPT4V框虽在正确位置但尺寸不当
  5. 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基线)、消融详细,但数据规模偏小
  • 写作质量: ⭐⭐⭐⭐ — 条理清晰、方法阐述到位、图示丰富直观

相关论文