Robot-Factored World Models via Robot Rendering论文笔记
Robot-Factored World Models via Robot Rendering
一句话总结
这篇文章不是主要发明新的视频生成 backbone,而是发明了一种更适合机器人的动作表示接口:把动作先变成可部署的机器人名义运动,再渲染成相机视角下的机器人几何,让视频世界模型专注学习物体和场景如何响应机器人运动。 它的局限也比较实际:需要准确 URDF、相机到机器人的标定;动态相机下需要静态 3D 场景或重建;训练数据成功案例多,失败、滑落、误接触的数据少,所以对失败情形的鲁棒性还不够。
动作指令先经过机器人自己的控制器/运动学,变成部署时可获得的 nominal trajectory,再用 URDF、相机参数、机器人 mesh 把这条轨迹渲染成:机器人 mesh RGB 视频、末端执行器 depth、配合静态场景 RGB/depth 然后把这些作为条件喂给视频世界模型,让模型预测未来视频:物体会不会被推、抓、遮挡、掉落,场景如何变化。 机器人自己怎么动这部分尽量显式建模,环境怎么响应机器人运动这部分交给世界模型学。
引言与摘要部分
提出了机器人因子化世界模型(robot-factored world models),将两个特定于机器人的因子移出世界模型之外:
- 动作实现(Action realization): 每个指令通过机器人自身的控制器和运动学推演(rolled)为一个部署时可用的名义轨迹(nominal trajectory)——这是一个中间信号,既避免了学习动作实现,又避免了未来状态泄露。
- 机器人渲染(Robot rendering): 该名义轨迹通过机器人的 URDF 进行渲染,将机器人的几何结构、运动学和外观从模型中解耦,转化为显式的渲染机器人几何体。
视频生成模型的最新进展使得世界模型能够直接在像素空间中预测未来的观察 [2, 3, 4, 5]。对于机器人学而言,这展示了一个极具吸引力的用途:在候选动作的条件下,视频世界模型可以推演(roll out)该动作将产生的未来,作为策略改进的学习环境 [6],或在实际执行前对行为进行排序 [7]。这就提出了一个核心问题:应该如何向视频世界模型呈现机器人动作?其挑战在于找到一种部署时可用(deployment-available)的视觉条件信号,同时将场景响应预测保留为模型的任务。
引入了一种机器人因子化视觉世界模型接口,该接口围绕部署时可用的名义轨迹构建:
- 给定一个动作序列,我们在观察场景交互之前,将其通过机器人自身的控制器和运动学推演,生成这个名义轨迹:即在场景交互前由动作实现出的运动。该轨迹在推理时可用,在自由空间中与实际运动一致,并在应该预测接触介导交互的地方发生分歧。
- 我们通过机器人的 URDF 将该名义轨迹渲染为与摄像机对齐的机器人几何体。
- 摄像机感知的静态 RGB/深度上下文与渲染的机器人几何体共同为固定视角和动态视角构建了一个共享的视觉世界模型接口。模型将动作视为可见的机器人几何体,并学习场景如何在机器人周围做出响应。
利用末端执行器深度和场景深度对接口进行了增强,提供了超越图像平面重叠的接近程度、接触和遮挡的几何线索。
贡献如下:
- 引入了一个逼真且可部署的视觉世界模型接口,它将动作转化为名义机器人轨迹,并渲染为与摄像机对齐的 URDF 网格 RGB 和末端执行器深度,配合摄像机感知的静态 RGB/深度上下文解耦场景外观和视角。
- 通过结合末端执行器和场景深度,使该接口具备深度感知能力,提供了超越 RGB 图像平面重叠的距离接近、遮挡以及可能发生接触的几何线索。
- 展示了渲染接口在不同机器人实体和运动来源之间是共享的,从而实现了对未见过机器人的实体泛化,以及从重定向的人类演示中生成贴合物理约束的机器人交互视频。
方法
机器人因子化的视觉世界模型接口(Robot-Factored Visual World-Model Interface)
动作条件化的机器人世界模型根据当前观察结果和拟定的动作序列 a1:F 来预测未来的视频 V1:F 我们将动作实现与场景响应预测分离开来,并在世界模型条件化之前对实现过程进行显式建模。用算子 ΦR 来表示这一实现过程,它将动作映射为名义轨迹(Nominal Trajectory): $$q_{1:F} = \Phi_R(a_{1:F}; q_0) \quad (1)$$ 其中 q1:F 是在发生场景交互之前由动作实现的名义轨迹 沿着目标摄像机轨迹 C1:F 渲染该名义轨迹: $$(M^{\text{rgb}}{1:F}, D^{\text{eef}}) = \Pi_R(q_{1:F}; C_{1:F}) \quad (2)$$ 其中 M1:Frgb 是机器人网格(Mesh)RGB 视频,D1:Feef 是仅包含末端执行器(End-effector)的深度。渲染算子 ΠR 利用机器人的 URDF 和几何结构,将名义轨迹投影到目标摄像机坐标系中 初始场景状态 S0 通过沿着相同摄像机轨迹渲染的静态上下文流来表示: $$(B^{\text{rgb}}{1:F}, D^{\text{scene}}) = \Pi_S(S_0; C_{1:F}) \quad (3)$$ 其中 B1:Frgb 和 D1:Fscene 在目标摄像机坐标系中提供外观和几何上下文。
这些数据流共同定义了世界模型的条件化接口,模型学习以下分布: $$p_\theta\left(V_{1:F} \mid B^{\text{rgb}}{1:F}, D^{\text{scene}}, M^{\text{rgb}}{1:F}, D^{\text{eef}}, T\right) \quad (4)$$ 其中 T 是提供给视频模型的文本提示(Text Prompt)包含场景上下文,不包含对意图动作或未来结果的描述。
名义轨迹条件化(Nominal Trajectory Conditioning)
部署时的视觉条件信号必须满足两个要求:它必须在推理时可用,并且能够对由动作实现的机器人运动保持信息量。
图1:视觉世界模型接口。 静态上下文承载场景与视角信息;渲染的标称机器人几何结构承载动作信息;扩散模型预测场景响应。 图2:动作到状态的实现差距。 (a)机器人特有的控制器和硬件约束在原始动作与标称轨迹之间造成差距。(b)场景交互在标称轨迹与实现状态之间造成差距。标称轨迹作为部署时可用的条件信号。
信号之间的不匹配可以分解为两个差距(Gap):
- 动作-实现差距(Action-realization gap):原始动作与控制器实现的名义运动之间的差异。
- 名义-实现差距(Nominal-realized gap):名义轨迹与在包含丰富接触的推演(Rollout)中实际观察到的状态之间的差异。
摄像机感知静态上下文(Camera-Aware Static Context)
公式 (3) 中定义的静态上下文流为世界模型提供了初始场景状态的摄像机对齐表示,因此模型可以专注于由交互引起的改变,同时由静态流保持场景内容。
具体实现方式:
- 动态视角:如果场景表示和摄像机轨迹已知,它会利用投影函数 (\Pi_S),按照目标视频的摄像机路径 (C_{1:F}),逐帧生成对应的静态RGB图和深度图。
- 固定视角:如果摄像机不动,实现更简单——直接把第一帧的图像在时间轴上不断重复,作为后续所有帧的静态背景。
- 输入分离:这种设计提供了一个统一的条件接口,无论是固定镜头还是随动镜头都适用;而“动作”信息(机器人怎么动)不混入这个静态流,而是通过渲染出的“标称机器人几何结构”(即机器人的虚拟轮廓)作为另一个独立通道输入。
渲染机器人动作提示(Rendered Robot Action Prompts)
公式 (2) 中的渲染器 ΠR 在目标摄像机坐标系中将名义轨迹转换为渲染的机器人几何结构。
RGB 网格渲染在图像空间中对机器人进行定位,而深度则能够分辨重叠在物体上的末端执行器是在物体前方、后方还是处于接触深度。因此,我们在静态场景深度 D1:Fscene 的基础上,加入了仅包含末端执行器的深度 D1:Feef
这些深度信号有助于消除超越表观 2D 重叠的邻近性、可能接触和遮挡顺序的歧义。
学习场景响应模型(Learning the Scene-Response Model)
使用潜在视频扩散模型(Latent Video Diffusion Model)实例化公式 (4),使用了一个视频修复(Inpainting)骨干网络,其中静态上下文视频作为条件输入,并且在预测时间界限上应用全掩码。因此,模型学会了以静态场景上下文和渲染的机器人几何结构为条件,生成由交互引起的场景变化。
所有条件流都由骨干模型 [47] 预训练的视频 VAE [46] 进行编码。静态 RGB 上下文、渲染的机器人 RGB、场景深度和末端执行器深度流经编码后,与噪声视频潜在变量(Noisy Video Latent)拼接在一起: $$\mathbf{c} = \left[ \mathcal{E}(B^{\text{rgb}}{1:F}), \mathcal{E}(M^{\text{rgb}}), \mathcal{E}(D^{\text{scene}}{1:F}), \mathcal{E}(D^{\text{eef}}) \right] \quad (5)$$ 此处 E 表示应用于每个条件流的预训练视频 VAE 编码器。
训练过程旨在最小化潜在流匹配(Latent Flow-Matching)目标 [48, 49]。对于采样的噪声潜在变量 ϵ 和噪声水平 σ,我们构造 zσ=(1−σ)z0+σϵ,并使用目标速度 u=ϵ−z0: $$\mathcal{L} = \mathbb{E}{z_0, \sigma, \epsilon} \left[ \left\Vert{} u - v\theta(z_\sigma, \sigma \mid \mathbf{c}, T) \right\Vert{}_2^2 \right] \quad (6)$$ 文本提示 T 仅包含场景上下文,不包含对意图动作或未来结果的描述。
实验
第四章实验表明,本文提出的视觉化动作接口相比数值动作/状态条件更容易被视频世界模型利用;nominal trajectory 避免了 raw action 与实际运动之间的控制差异,深度信息进一步帮助模型理解接触和遮挡;此外,该接口还展示出跨机器人形态和人类演示转机器人视频的潜力。
实验设置
作者在两个数据集上做实验:真实机器人数据集 DROID,以及仿真/类人机器人场景 RoboCasa-GR1。他们比较不同的动作条件接口,包括直接用位姿/状态向量条件,以及本文提出的“渲染机器人 mesh + 末端执行器深度 + 场景深度”的视觉条件接口。使用的 backbone 包括 SVD 和 Wan 2.1 14B。
主实验结果
主实验比较的是:同样的视频世界模型,如果给它不同形式的动作条件,预测未来视频的效果如何。结果显示,本文的渲染式接口明显优于数值向量条件。作者认为原因是:数值 action/state vector 需要模型自己学会“这些数字对应画面中哪个机器人、哪个位置、怎么动”,而渲染 mesh 直接把机器人运动画在目标相机视角里,模型更容易把动作和场景变化对应起来。
表 1:主要动作接口对比。 每个主干网络单元格列出模型、训练分辨率及其训练数据(D+R:DROID+RoboCasa-GR1)。SVD 1.5B 仅在 DROID 上训练,因此未在 RoboCasa-GR1 上评估(以破折号表示);由于较低分辨率会夸大重建指标,因此数值仅在同一个主干网络内部具有可比性。DROID 和 RoboCasa-GR1 分别报告,不取平均;每个主干网络中的最优结果以粗体标出。 
图 3:定性对比。 渲染的机器人几何结构能够定位由机器人驱动的场景变化,而深度信息则有助于解析与接触相关的接近程度和遮挡关系。
消融实验
这一节验证两个设计是否真的有用: 第一,nominal trajectory 比 raw action 更好。直接渲染 raw action 会忽略机器人控制器、动力限制等因素,可能和实际机器人运动不一致;先通过控制器得到 nominal trajectory 后再渲染,和部署时机器人预期运动更一致。 第二,加入深度信息有帮助。单靠 RGB mesh,模型只能看到图像平面上的重叠,但不知道机器人末端和物体在 3D 空间里是不是真的接近或接触。加入 end-effector depth 和 scene depth 后,可以更好判断接触、遮挡和空间关系。

图4:深度模块消融实验。机械臂末端深度与场景全局深度能够区分物体真实接触距离和仅二维图像层面的重叠。
接口性质分析
这一节更偏展示性质,不是核心定量实验。 作者做了两个验证: 第一,改机器人轨迹,生成结果也会跟着变。说明模型确实在使用渲染出来的机器人运动作为动作条件,而不是只根据初始图像生成一个平均结果。 第二,换一个没见过的机器人形态,模型也能工作。因为输入给模型的是渲染后的机器人几何,而不是某个机器人专属的 action vector,所以理论上只要有 URDF 和相机标定,就能把新机器人渲染成同样形式的条件输入。


人类演示到机器人视频
这一节是应用展示。作者把人类手部操作视频中的手部运动 retarget 到机器人,再把机器人运动渲染成 mesh/depth 条件,输入同一个世界模型,生成机器人执行类似操作的视频。 这说明本文接口不一定依赖机器人原始控制命令,只要能把某种运动源转换成机器人轨迹并渲染出来,就可以作为世界模型条件。

结论与局限性
提出了机器人分解世界模型,将动作实现与机器人渲染从视频世界模型中分离出来。动作被转化为可部署的标称轨迹,并以与相机对齐的机器人几何形态进行渲染,因此模型将动作视为可见的机器人几何形态,并学习场景在其周围的响应方式。该渲染界面的性能优于向量条件基线模型,且该界面同样适用于未见的机器人形态以及重定向的人类演示。
尽管我们基于渲染的动作界面提升了动作跟随与泛化能力,但仍存在若干局限性。该界面需要已知的机器人URDF模型以及相机-机器人标定,这在已标定的设置中是标准要求,但针对每一种新的机器人形态都需重新进行标定。当相机发生移动时,静态上下文流会采用静态场景表示法,这种表示法在仿真环境中可完整获取,但在真实场景中只能部分观测;前馈三维重建可以提供这一表示,不过缩小外观差距可能还需要额外的训练。此外,DROID交互片段大多能成功完成,因此模型接触到的抓取失败、滑动以及接触预测错误的情况较少;收集失败案例数据将能提升模型在这些场景下的鲁棒性。