Controlling the World by Sleight of Hand¶
会议: ECCV 2024
arXiv: 2408.07147
代码: 项目页
领域: 图像生成
关键词: 动作条件生成, 手部交互, 扩散模型, 世界模型, 机器人泛化
一句话总结¶
提出 CosHand,通过手部二值掩码作为动作条件,在预训练 Stable Diffusion 上微调,预测手-物交互后的未来图像,并可零样本泛化到机器人末端执行器。
研究背景与动机¶
人类具有天然的心理模拟能力——看到物体就能想象与之交互后会发生什么变化。现有生成模型主要依赖文本或无条件方式生成/编辑图像,但文本无法精确描述交互的空间位置、方向和力度。例如"挤压枕头使其水平变形"这种指令,文本难以编码变形的精确方向和距离。
核心问题: 如何让机器具备基于动作的交互想象能力?具体来说,给定当前场景图像和一个期望的手部交互位置/形状,如何生成交互发生后的未来图像?
关键洞察: 互联网上存在海量的人手与物体交互的无标注视频数据(如 SomethingSomethingv2 的 180k+ 视频),这些数据天然提供了"交互前-交互后"的配对,可以高效地大规模训练动作条件生成模型。同时,使用二值手部掩码作为条件而非具体手部外观,使模型天然具备跨具身体(embodiment)泛化的潜力。
方法详解¶
整体框架¶
CosHand 基于 Latent Diffusion Model(LDM)架构,核心思路是将手部交互信息编码为条件信号注入扩散模型。系统接收三个输入:
- 当前图像 \(x_t \in \mathbb{R}^{H \times W \times 3}\):交互前的场景
- 当前手部掩码 \(h_t \in \mathbb{R}^{H \times W}\):标记当前手在图像中的位置
- 目标手部掩码 \(h_{t+1} \in \mathbb{R}^{H \times W}\):标记期望交互后手的位置/形状
模型学习函数 \(f(x_t, h_t, h_{t+1}) = \hat{x}_{t+1}\),输出交互后的未来图像。
关键设计¶
1. 数据获取流程
从 SomethingSomethingv2 数据集中自动提取训练数据: - 将视频按 12 FPS 分帧,间隔 3 帧采样"前-后"图像对 - 使用 Segment Anything(SAM)配合提供的边界框获取手部二值掩码 - 无需任何人工标注,整个流程全自动,可轻松扩展到更大数据集
2. 双路径条件注入机制
CosHand 使用两种互补的条件注入方式:
-
通道拼接条件(Channel Concatenation): 将当前图像 \(x_t\)、当前手部掩码 \(h_t\)、目标手部掩码 \(h_{t+1}\) 分别通过 VAE 编码器编码为潜在表示,在通道维度拼接得到上下文潜在向量 \(c_i \in \mathbb{R}^{h \times w \times 3c}\),再与待去噪的潜在向量 \(z_i \in \mathbb{R}^{h \times w \times c}\) 沿通道维拼接,作为 U-Net 的输入。这种方式提供空间对齐的精细控制信号。
-
交叉注意力条件(Cross-Attention): 使用冻结的 CLIP 图像编码器提取输入图像的语义嵌入 \(\tau(x_t)\),通过交叉注意力层将全局语义信息注入 U-Net。这确保生成图像在整体语义上与输入一致(保留物体类别、背景等)。
3. 利用预训练先验
- U-Net、VAE 编码器/解码器均从预训练 Stable Diffusion 初始化
- 预训练模型(如 DALL-E 2)在训练过程中已见过数十亿张手-物交互对图像,积累了丰富的手物交互先验
- 微调策略利用这些先验,使模型能泛化到训练分布之外的新物体和新场景
4. Agent-Agnostic 设计
使用二值掩码而非 RGB 手部图像作为条件,使条件信号与具体的执行器外观解耦。这意味着在推理时可以直接替换为机器人末端执行器的掩码,实现零样本跨具身体迁移,无需额外微调。
损失函数 / 训练策略¶
训练目标: 标准的 LDM 噪声预测损失
训练细节: - 硬件: 8×A100-80GB,训练 7 天 - 优化器: AdamW,学习率 \(10^{-4}\) - 图像分辨率: 256×256(潜在空间 32×32),以支持大 batch size = 192 - Classifier-free guidance: 训练时以 5% 概率随机丢弃条件信号 \(c_i\) 和 \(\tau(x_t)\) - 推理时 CFG scale 设为 2.5(通过消融实验确定最优值)
实验关键数据¶
主实验¶
数据集: SomethingSomethingv2(SSv2)测试集 + 自采集 In-the-wild 数据集(45个视频)
| 方法 | SSv2 PSNR↑ | SSv2 SSIM↑ | SSv2 LPIPS↓ | In-the-wild PSNR↑ | In-the-wild SSIM↑ | In-the-wild LPIPS↓ |
|---|---|---|---|---|---|---|
| MCVD | 最低 | 最低 | 最高 | 最低 | 最低 | 最高 |
| UCG(无条件) | 中等 | 中等 | 中等 | 中等 | 中等 | 中等 |
| InstructPix2Pix | 较低 | 较低 | 较高 | 较低 | 较低 | 较高 |
| TCG(文本条件) | 较低 | 较低 | 较高 | 较低 | 较低 | 较高 |
| CosHand | 最高 | 最高 | 最低 | 最高 | 最高 | 最低 |
CosHand 在两个数据集上的 PSNR、SSIM、LPIPS 三项指标均全面优于所有基线。
消融实验¶
| 消融变体 | 效果变化 | 分析 |
|---|---|---|
| 无 SD 预训练(从头训练) | 性能大幅下降 | 缺乏手-物交互先验知识 |
| 无 CLIP 条件 | 三项指标均下降 | 丢失全局语义信息,难以重建细节 |
| 10% 训练数据 | 性能和泛化双降 | 数据量与模型能力正相关 |
| 多帧上下文(4帧) | 性能提升 | 引入时序理解,但实际应用中多帧不易获得 |
| CFG scale 分析 | scale=2.5 最优 | >2.5 生成过于保守;<2.0 忽略输入图像 |
关键发现¶
- 跨具身体零样本泛化: 仅在人手数据上训练,CosHand 可直接迁移到机器人末端执行器(BridgeDataV2),成功预测推毛巾、拿杯子等简单交互结果
- 多未来预测: 给定相同输入但不同手部掩码,模型可预测多个分歧的未来;同一条件下多次采样可建模交互/环境力的不确定性
- 对手部掩码质量的鲁棒性: 即使手绘的粗略掩码也能产生合理结果,但更精细的掩码(如 SAM 生成)能产生更精确的输出
- 交互类型泛化: 平移、拉伸、挤压效果最佳;旋转、折叠等复杂交互也有不错表现
亮点与洞察¶
- 问题定义精妙: 用手部掩码代替文本作为交互条件,既直观又精确,完美绑定了空间信息和动作语义
- 数据pipeline优雅: 全自动从无标注视频提取训练数据,无需人工标注,可直接扩展到互联网规模
- Agent-agnostic 架构: 二值掩码的使用使训练在人手数据上、推理在机器人上成为可能,这是一个有价值的范式
- 概率建模交互不确定性: 扩散模型的随机性天然建模了交互力方向/大小的不确定性,多次采样可获得多种合理未来
- 图像编辑的创意应用: 可以将手叠放在任意图像上进行"物理合理"的编辑,如移动哈利波特中的金色飞贼
局限性 / 可改进方向¶
- 不现实场景失效: 模型无法处理极不合理的交互(如用手推动建筑物、改变云的形状)
- 物体分离歧义: 当两个物体紧密相邻不易分开时,交互一个物体可能导致周围物体也产生不期望的变化
- 分辨率限制: 当前仅使用 256×256 分辨率,更大分辨率可保留更多空间信息但需更多计算资源
- 单帧限制: 默认仅使用单帧上下文,多帧虽提升效果但实际场景不易获取
- 复杂交互挑战: 大角度旋转和精细折叠等复杂操作仍有改进空间
- 机器人泛化有限: 零样本迁移仅在简单动作上成功,复杂机器人操作尚需验证
相关工作与启发¶
- InstructPix2Pix: 文本条件编辑的代表,但文本难以精确描述空间交互,CosHand 用手部掩码弥补了这一缺陷
- Zero-1-to-3: 相机视角条件生成,与 CosHand 类似地利用 Stable Diffusion 先验解决不同条件控制问题
- World Models (Ha & Schmidhuber): CosHand 本质上是一种视觉世界模型,预测动作导致的状态变化
- BridgeData V2: 机器人操作数据集,CosHand 零样本泛化到该数据集展示了从人类视频到机器人的知识迁移潜力
- ControlNet / LoRA: 类似地通过额外权重实现条件控制,但 CosHand 的手部掩码条件更加自然和精确
启发: 这项工作展示了一个有前景的方向——通过大规模人类交互视频学习物理交互动力学,并零样本迁移到机器人。未来可结合更大规模数据、更高分辨率和时序建模进一步提升。
评分¶
- 新颖性: ⭐⭐⭐⭐ — 手部掩码作为交互条件是新颖且直觉的设计
- 实验充分度: ⭐⭐⭐⭐ — 消融全面,跨域泛化实验有说服力
- 写作质量: ⭐⭐⭐⭐ — 结构清晰,motivation 表达有力
- 价值: ⭐⭐⭐⭐ — 对机器人规划和世界模型方向有启示意义