中文 EN

ARDuP: Active Region Video Diffusion for Universal Policies

中文精读报告:这篇论文把视频生成用于通用机器人策略学习,但它的关键不是“生成完整视频越真越好”,而是先显式生成任务相关的主动区域,让视频规划器和动作解码器更关注真正会被交互的物体/区域。

arXiv:2406.13301v2 Video Diffusion Robot Policy Active Region CLIPort / BridgeData v2
作者:Shuaiyi Huang, Mara Levy, Zhenyu Jiang, Anima Anandkumar, Yuke Zhu, Linxi Fan, De-An Huang, Abhinav Shrivastava
机构:University of Maryland, UT Austin, Caltech, NVIDIA
本地输出:Report/2406.13301/
说明:arXiv 源码未包含独立附录;本报告整合正文全部章节与源码中全部图表。

1. 论文速览

论文要解决什么 已有 video-as-planner 方法把文本目标和初始图像生成未来帧,再由 inverse dynamics 解码动作。但这些模型通常把所有像素同等对待,容易关注错误物体,甚至通过“改颜色”等视觉捷径降低生成损失却生成错误计划。ARDuP 要解决的是:如何让视频规划器更稳定地关注任务真正需要交互的区域,并把这种关注转化为更高的机器人任务成功率。
作者的方法抓手 引入 active region 作为显式条件。训练时用 Co-Tracker 从演示视频中找运动点,再用 SAM 生成 pseudo active region mask,无需人工标注;推理时用 latent active region diffusion 根据初始帧和语言命令预测主动区域,再将该区域作为条件输入 latent video diffusion planner,最后用 latent inverse dynamics 直接从生成 latent 序列解码动作。
最重要的结果 在 CLIPort 三个 unseen tasks 上,ARDuP 相比 UniPi* 分别提升 Place Bowl +21.3%、Pack Object +17.2%、Pack Pair +15.7%。主动区域质量越高,成功率越高;若测试时使用 GT active region,提升可到 +16.6%、+24.4%、+24.8%。在 BridgeData v2 上,ARDuP 生成的视频计划定性上更能选择正确物体和放置位置。
阅读时要注意的点 这篇不是直接解决真实机器人闭环控制,而是一个离线数据驱动的视频规划 + 动作解码框架。读的时候要区分三件事:active region pseudo-label 如何来、active region 如何进入 latent diffusion、任务成功率提升到底来自主动区域条件还是 latent inverse dynamics 的设计。
ARDuP teaser
Figure 1:没有 active region 时模型会抓错紫色方块;有 active region 条件后,生成计划围绕白色方块展开。

2. 背景与问题设定

从 MDP 到 UPDP

传统 MDP 需要定义状态、动作、奖励和环境动力学。对于跨任务、跨环境机器人策略,这些定义很难统一。UniPi 引入 Unified Predictive Decision Process (UPDP):把状态空间换成视频帧,把目标换成语言文本,把规划换成条件视频生成。

UPDP 被定义为 \(\mathcal{G}=(\mathcal{X},\mathcal{C},H,\rho)\)。其中 \(\mathcal{X}\) 是 RGB 帧空间,\(\mathcal{C}\) 是任务文本集合,\(H\) 是规划长度,\(\rho(\cdot|x_0,c)\) 是根据初始帧 \(x_0\) 和任务文本 \(c\) 生成未来 \(H\) 帧的视频生成器。动作预测算法 \(\mu(\cdot|\{x_h\}_{h=0}^{H},c)\) 再从生成视频中预测动作序列。

UPDP 的问题

UPDP 的动作质量依赖生成帧质量。但生成模型若把所有像素同等优化,会在机器人任务中产生一种很危险的错误:只要图像看起来“接近目标”,它未必真的交互了正确物体。例如模型可以先抓错物体,再在后续帧里把物体颜色改成文本描述中的颜色。

ARDuP 的核心判断是:对控制有用的不是全图所有像素,而是 active regions,即最可能被交互的物体/区域。把这些区域显式给视频生成器,可以减少错误关注和视觉捷径。

3. 方法细节

3.1 LUPDP-AR 形式化

作者把 UPDP 改成 Latent Unified Predictive Decision Process conditioned on Active Region (LUPDP-AR):

$$\hat{\mathcal{G}}=(\hat{\mathcal{X}},\mathcal{C},\hat{\mathcal{O}},H,\phi)$$

\(\hat{\mathcal{X}}\) 是 RGB 帧 latent 空间,\(\hat{\mathcal{O}}\) 是 active region latent 空间。Stable Diffusion 风格的 encoder \(\mathcal{E}\) 把 RGB frame 和 active region frame 映射到 latent。视频生成器从原来的 \(\rho(\cdot|x_0,c)\) 改成:

$$\phi(\cdot|\hat{x}_0,c,\hat{o})$$

也就是不仅看初始帧和文本,还看 active region latent \(\hat{o}\)。同时定义 active region generator:

$$\psi(\hat{o}|\hat{x}_0,c): \hat{\mathcal{X}}\times\mathcal{C}\rightarrow\hat{\mathcal{O}}$$

最终动作预测也在 latent 序列上进行:\(\pi(\cdot|\{\hat{x}_h\}_{h=0}^{H},c)\rightarrow \Delta(\mathcal{A}^{H})\)。这避免了必须把每个 latent 解码回 RGB 再做 inverse dynamics。

ARDuP overview
Figure 2:ARDuP 总览。Co-Tracker + SAM 产生 pseudo active region,训练 active region diffusion;预测出的 active region 条件化 latent video diffusion,再由 latent inverse dynamics 解码动作。

3.2 从视频自动构造 active region supervision

训练时没有人工 active region 标注。作者用演示视频 \(\mathbf{V}=\{x_h\}_{h=0}^{H}\) 自动生成 pseudo mask:

  1. 用 Co-Tracker 在初始帧上放置 \(M\times M\) 网格点,并跟踪所有点到后续帧,得到轨迹集合 \(\mathcal{P}=\mathcal{F}_p(\mathbf{V})\)。
  2. 对每条点轨迹计算相邻帧移动量 \(\Delta \mathbf{p}_h=\|\mathbf{p}_h-\mathbf{p}_{h-1}\|_2\)。
  3. 计算平均移动量 \(\Delta\bar{\mathbf{p}}=\frac{1}{H}\sum_{h=1}^{H}\Delta\mathbf{p}_h\)。
  4. 筛选移动点 \(\mathcal{P}_m=\{\mathbf{p}\in\mathcal{P}|\Delta\bar{\mathbf{p}}>\tau\}\)。
  5. 把这些点在初始帧的位置作为 prompt 输入 SAM,得到 active region mask \(\mathbf{M}\)。

为了形成 active region frame,作者把 mask 内保留原图,mask 外置白:

$$o=x_0\circ \mathbf{M}+x_b\circ(1-\mathbf{M})$$

再用 encoder \(\mathcal{E}\) 得到 \(\hat{o}\)。

Pseudo active regions
Figure 3:BridgeData v2 中由点轨迹和 SAM 得到的 pseudo active region。它是训练主动区域生成器的监督信号。

3.3 Latent active region diffusion

推理时没有未来视频,不能再用 Co-Tracker 从整段视频抽主动区域。因此训练一个条件 latent diffusion model \(\psi(\hat{o}|\hat{x}_0,c;\theta_\psi)\),输入初始帧 latent 和任务文本,输出 active region latent。作者强调二者缺一不可:没有图像不知道物体位置,没有文本不知道任务要交互哪个物体。

3.4 Active-region-conditioned latent video planner

视频规划器 \(\phi(\cdot|\hat{x}_0,c,\hat{o};\theta_\phi)\) 生成未来 latent 序列。实现上,作者把 active region latent 与每一帧 latent 拼接,也与初始帧 latent 拼接,使 denoising 过程始终被“应该关注哪里”约束。可视化时可以用 decoder \(\mathcal{R}\) 还原 RGB,但动作解码并不依赖 RGB 解码。

CLIPort qualitative comparison
Figure 4:CLIPort 定性对比。无 active region 的模型容易抓错物体或生成错误机械臂位置;ARDuP 更聚焦目标物体。

3.5 Latent inverse dynamics 与执行

给定相邻 generated frame latents \(\hat{x}_h,\hat{x}_{h+1}\),latent inverse dynamics module 预测动作 \(a_h\)。它由带 skip connection 的卷积层加线性层组成,输出 7 维 manipulation action。执行时从 \(x_0,c\) 开始,先生成 \(\hat{o}\),再生成 \(H=6\) 步 latent 序列,最后一次性解码 \(H\) 个动作并 open-loop 执行。

4. 实验与结果

4.1 实现设置

4.2 CLIPort 多环境迁移

CLIPort 是基于 Ravens 的语言条件机器人操作模拟基准。作者在 11 个任务、110k demos 上训练,在 3 个 unseen tasks 上测试,沿用 UniPi 的 multi-environment transfer 设置。

ModelPlace BowlPack ObjectPack Pair
State + Transformer BC9.821.71.3
Image + Transformer BC5.35.77.8
Image + TT4.919.82.3
Diffuser14.815.910.5
UniPi*65.451.830.9
ARDuP86.7 (+21.3)69.0 (+17.2)46.6 (+15.7)

这个结果说明,在相同视频规划范式下,显式 active region 条件对 unseen task 成功率有明显帮助。

4.3 BridgeData v2 真实数据迁移

BridgeData v2 包含 60,096 条真实机器人轨迹、自然语言指令、24 个环境。作者使用 95% 数据训练,其余评估。论文主要给出定性结果:ARDuP 能在复杂真实场景中选择正确物体并放到正确位置,而 UniPi* 更容易选错物体或放错位置。

BridgeData qualitative comparison
Figure 5:BridgeData v2 定性结果。ARDuP 更能选中 sushi、cup、colander 等任务相关物体;UniPi* 常选错或放错。

4.4 消融:active region 质量

AR 训练AR 测试PlannerPlace BowlPack ObjectPack Pair
--w/o Active Region83.467.738.0
UnsupervisedPredicted+Active Region86.7 (+3.3)69.0 (+1.3)46.6 (+8.6)
SupervisedPredicted+Active Region93.3 (+9.9)79.6 (+11.9)51.7 (+13.7)
-GT+Active Region100.0 (+16.6)92.1 (+24.4)62.8 (+24.8)

这张表非常关键:active region 不是只在定性图上好看,它的质量和最终任务成功率呈正相关。预测主动区域越准,任务越容易成功。

4.5 消融:task loss

作者提出 task loss 来衡量控制任务中的视频生成质量:把 generated video latents 输入预训练 latent inverse dynamics,解码动作,再计算动作和 GT action 的 L1 error。带 active region 的模型在 CLIPort test set 上 task loss 明显更低,说明生成视频不仅视觉上更合理,也更符合动作解码器需要。

Task loss ablation
Figure 6:active region 条件降低 task loss,说明生成 latent 与真实动作序列更一致。

5. 实现与图表要点

源码结构

arXiv 源码中 `root.tex` 是 IEEE 模板样例,实际论文主文件为 `iros24_vid_main.tex`,正文在 `data/` 下。源码未提供单独 appendix。图像资源包括 `teaser.jpg`、`overview.jpg`、`vis_cliport.jpg`、`bridge_vis.jpg`、`pseudo_bridge.jpg`、`ablation_active.pdf` 等。

为什么要在 latent 空间做

作者把视频规划和动作解码都尽量放在 latent 空间:一方面减少 RGB 视频生成计算成本,另一方面让 inverse dynamics 直接消费生成器内部表示,避免先解码 RGB 再重新编码/感知。可视化只是为了人看,控制本身可以不需要 RGB 解码。

active region 的两个角色

6. 复现与实现要点

最小复现路径

  1. 准备带语言指令、图像序列、动作序列的数据集,例如 CLIPort 或 BridgeData v2。
  2. 对训练视频运行 Co-Tracker,得到初始帧网格点的全时序轨迹。
  3. 按平均位移阈值筛选 moving points,并用 SAM 生成 pseudo active region mask。
  4. 将初始帧、active region frame 编码到 Stable Diffusion VAE latent。
  5. 训练 active region diffusion \(\psi\),输入 \(\hat{x}_0,c\),输出 \(\hat{o}\)。
  6. 训练 latent video diffusion \(\phi\),输入 \(\hat{x}_0,c,\hat{o}\),输出未来 latent 序列。
  7. 训练 latent inverse dynamics \(\pi\),输入相邻 latent,输出 7 维动作。
  8. 推理时 open-loop 生成 \(H=6\) 个动作并执行。

容易踩坑的地方

7. 分析、局限与边界

这篇论文最有价值的地方

它提出了一个很实用的修正:不要指望视频生成器在全图像素层面自然学会“什么对控制重要”,而是把交互区域显式建模出来。这个想法把视频生成从“好看”拉回到“对动作有用”。同时,作者用 Co-Tracker + SAM 自动构造 pseudo labels,使 active region 不需要人工标注,这是它能扩展到大规模视频数据的关键。

结果为什么站得住

主要局限

阅读时可追问的问题