【WAM篇】15:Dreamitate——让“工具“当桥梁,把人类演示变成机器人动作

前两篇里,AVDC 和 Im2Flow2Act 都走的是"光流"这条几何提取路线:追踪画面里物体表面密集点的移动,再反解出动作。但几何式动作提取还有另一条同样优雅的支路------不追踪一堆密集的点,而是直接跟踪一个刚体物体的 6 自由度位姿。 Dreamitate("Dream"+"imitate","在梦里模仿";CoRL 2024)就是这条路线的代表作。

它的招牌创意藏在一个看似不起眼的选择里:用"工具"作为连接人和机器人的桥梁。 这个看似简单的决定,恰好一举化解了"具身鸿沟"和"动作提取"两大难题。


一、要解决什么问题:人手和机械臂,长得太不一样了

我们想让机器人从人类演示里学操作,但有一道天堑横在中间------具身鸿沟(embodiment gap)。

人手有五根灵活的手指、有皮肤的触感、有几十个自由度;机械臂往往就一个平行夹爪,自由度少得可怜,长相和运动方式都和人手天差地别。你给机器人看一段"人用手叠衣服"的视频,它根本没法照搬------它的"手"和人手压根不是一回事。

过去的做法要么是费力地做"动作重定向"(motion retargeting,把人手姿态映射到机器人关节,但映射本身就很难、很不准),要么干脆放弃人类视频、老老实实采集昂贵的真机数据。

打个比方,动作重定向就像是请一个翻译,把"人手的手语"逐字翻译成"机械臂的关节语"。可这两种"语言"的词汇表根本不对应------人手有几十个自由度,机械臂只有几个;很多人手的细微动作在机械臂上压根没有对应词。翻译出来的结果常常别扭、失真,甚至物理上做不到。于是大家长期被困在一个两难里:要么忍受重定向的失真,要么放弃免费的人类视频去花大价钱采真机数据。

Dreamitate 的核心追问是:有没有一种方式,能让"人怎么做"和"机器人怎么做"在物理上变成几乎同一件事?

它的答案出人意料地简单:让两边都用同一件工具。

为什么"工具"能消解具身鸿沟?

设想一个场景:人手里握着一把刮刀去刮平腻子。这时候,真正和环境发生物理交互的,不是人的手,而是那把刮刀------是刮刀的刃口在接触墙面、施加压力、留下痕迹。人的手指怎么弯、关节怎么动,其实无关紧要,重要的只是"刮刀这个刚体在空间里怎么移动、怎么转动"。

现在把同一把刮刀装到机械臂的夹爪上。只要机械臂能让刮刀走出和人手演示时一模一样的轨迹,物理结果就完全相同。 人手的几十个自由度,和机械臂的几个自由度,在"工具的 6DoF 位姿"这个层面被完美抹平了------因为它们要控制的,是同一个刚体的同一段运动。

这就是 Dreamitate 论文那句点睛之言的含义:

"用通用工具,让我们能毫不费力地跨越人手与机械臂之间的具身鸿沟。"

工具把一个棘手的"人-机器人动作映射"问题,转化成了一个干净的"刚体位姿跟踪"问题------而后者,是计算机视觉里有成熟解法的经典任务。


二、核心思想与直觉:在"梦"里生成工具的运动,再跟踪出位姿

一句话概括 Dreamitate:

用一个在人类工具使用演示 上微调的立体视频扩散模型 ,根据当前场景"做梦"般生成一段完成任务的视频;再用 MegaPose 从视频里逐帧跟踪工具的 6DoF 位姿,立体几何帮它把深度估准;最后用逆运动学把工具轨迹翻译成机器人关节指令。

它属于级联式 WAM 里"基于像素空间、几何式动作提取"这一支,和 AVDC、Im2Flow2Act 同宗,但有两个鲜明特点:

  1. 几何提取的对象是"工具的 6DoF 位姿",而非密集光流。这让它特别适合那些核心动作就是"刚体工具空间运动"的任务。
  2. 用"立体视频"(stereo video)而非单目视频。两个视角的画面同时生成,立体几何能可靠地约束深度估计------这正好补上了二维方法(如 Im2Flow2Act)最头疼的"Z 轴深度不准"短板。

由于动作完全由"工具位姿"决定,再经逆运动学落到具体机器人上,整个动作提取过程独立于机器人形态------换一台机械臂,只要它能握住工具、能解逆运动学,就能直接用。


三、方法详解:从立体视频生成到关节指令

整条流水线可以拆成"训练阶段"和"测试时执行"两部分。

3.1 数据采集:人手持工具,立体相机记录

训练数据怎么来?让人手持工具完成任务,同时用一套立体相机(两个有固定基线、左右并排的相机)从两个视角记录下来。

注意几个要点:

  • 演示者用的工具,和将来装到机器人上的,是同一件工具------这是整个方法的前提。
  • 记录的是立体视频对(左右两路画面),这为后面的深度估计埋下伏笔。
  • 不需要任何机器人动作标注------人怎么用工具,相机如实记录画面即可。

3.2 第一步:立体视频扩散模型------"做梦"生成执行过程

先说它在干嘛。 给定当前场景的立体图像(机器人此刻看到的左右两路画面),模型要生成出"接下来工具该怎么动、任务怎么完成"的一段立体视频。

再说怎么实现。 它的底座是一个视频扩散模型(U-Net 架构),在收集到的人类工具使用演示上微调。关键设计:

  • 以立体场景图像为条件:模型同时生成左右两个视角的未来视频,且要保持两个视角的几何一致性。这是它和单目视频生成最大的不同。
  • "做梦"式生成:模型并不真的去推理物理或规划,而是凭借在演示数据上学到的模式,"幻想"出一段看起来合理的任务执行过程------这正是名字里"Dream"的由来。

为什么非要立体?因为下一步要从画面里反解工具的三维 位姿,而单张二维图像存在深度歧义 ------同一个二维投影,可能对应远近不同的三维位置。你可以自己做个小实验:闭上一只眼睛去伸手抓一个杯子,会发现手总是够偏,因为单眼看不准"杯子到底离我多远";睁开双眼立刻就准了。机器在这件事上和人完全一样:单目(一只眼睛)画面里,工具是"大而近"还是"小而远"无从分辨;而立体(两只眼睛)画面提供了视差(同一个点在左右两幅图里的位置差),立体几何便能据此把深度精确解算出来。这正是 Dreamitate 选择生成立体视频、而非省事的单目视频的根本原因------它要的就是那份可靠的深度。

3.3 第二步:MegaPose 逐帧跟踪工具的 6DoF 位姿

先说它在干嘛。 视频生成好了,现在要从每一帧里"读出"工具此刻的精确三维姿态------它在空间哪个位置、朝向哪个方向。

再说实现。 这里调用 MegaPose------一个现成的、基于物体 CAD 模型的 6DoF 位姿估计器(6DoF 即 6 自由度:三维平移 + 三维旋转,完整描述一个刚体在空间中的姿态)。由于我们用的工具是已知的(有它的三维模型),MegaPose 可以在生成视频的每一帧上,估计出工具的位姿。

逐帧跟踪下来,就得到了一条工具 6DoF 位姿随时间变化的轨迹 。而立体几何约束了深度估计 ------左右两路画面提供的视差信息,让 MegaPose 估出的深度(也就是工具离相机多远)远比单目可靠。这一步同样是零训练的:MegaPose 开箱即用。

3.4 第三步:逆运动学------把工具轨迹翻译成关节指令

拿到工具的 6DoF 位姿轨迹后,最后一步是让真实机器人复现它。

由于工具被固定在夹爪上,"工具的位姿"和"末端执行器的位姿"之间有一个固定的几何关系。于是:

  1. 把工具轨迹换算成末端执行器应当经过的一连串目标位姿;
  2. 逆运动学(inverse kinematics,简称 IK,简单说就是"已知机械臂末端要到达的目标位姿,倒求出各个关节该转到什么角度"的几何求解)把每个目标位姿解算成机器人的关节指令;
  3. 机器人依次执行,工具便走出了和人类演示同样的轨迹。

这一步是动作提取"独立于机器人形态"的关键所在:工具轨迹是抽象的、与本体无关的;逆运动学则是把这个抽象轨迹"翻译"给具体机器人的环节。换台机械臂,只需换一套逆运动学求解,前面的视频生成和位姿跟踪原封不动。

3.5 组件一览

组件 角色 是否需要训练 关键技术
立体视频扩散模型 第一阶段:想象工具运动 是(在人类演示上微调) U-Net 视频扩散,立体条件
MegaPose 第二阶段:跟踪工具 6DoF 位姿 否(现成模型) 基于 CAD 模型的位姿估计
立体几何 约束深度估计 双视角视差
逆运动学(IK) 工具轨迹 → 关节指令 经典 IK 求解

可以看到,整套系统里需要训练的只有那个立体视频生成器,后面的动作提取全是零训练的几何/运动学计算------这和 AVDC 的精神一脉相承。


核心公式与逻辑梳理

把 Dreamitate 的"想象 → 跟踪 → 执行"压成一条形式化链条:

  1. 输入 :当前场景的立体图像对 v0=(v01,v02)v_0 = (v_0^1, v_0^2)v0=(v01,v02) + 任务隐含在演示分布里。
  2. 想象 :立体视频扩散模型一次性生成左右两路的未来视频 {(v^t1,v^t2)}\{(\hat v_t^1, \hat v_t^2)\}{(v^t1,v^t2)}。
  3. 跟踪:MegaPose 从每一帧里读出工具的 6DoF 位姿,立体几何把深度钉死。
  4. 落地:把工具位姿换算到末端目标,再用 IK 解关节角,让机器人复现那段运动。

这一支的核心抽象是把"动作"等同于"工具刚体位姿轨迹"------下面三条式子把这层意思讲透。

(1) 视觉运动策略的总框架

at=T(v^t),{v^t}=fθ(v0)a_t = T(\hat v_t), \qquad \{\hat v_t\} = f_\theta(v_0)at=T(v^t),{v^t}=fθ(v0)

符号说明 :v0v_0v0 是当前观测的立体图像对(机器人现在看到的左右两路画面);fθf_\thetafθ 是参数为 θ\thetaθ 的视频扩散模型,吃一帧吐一段未来视频 {v^t}t=1T\{\hat v_t\}_{t=1}^T{v^t}t=1T;T(⋅)T(\cdot)T(⋅) 是跟踪函数------逐帧从画面里读出工具 6DoF 位姿;at∈SE(3)a_t \in SE(3)at∈SE(3) 是第 ttt 步的机器人动作,由工具位姿经一段固定的工具-末端几何关系换算得到。

这条式子在做什么 :它一句话点出了 Dreamitate 的整体世界观------动作 = 跟踪 ∘ 生成 。所有难学的部分(任务理解、物理常识、人类先验)都塞进 fθf_\thetafθ 里靠学习解决;所有几何的部分(从画面里读位姿、从位姿到关节)都交给现成模块(MegaPose + IK)零训练解决。这种"学一半、算一半"的分工正是几何式级联 WAM 这一支的精髓,Dreamitate 把它写得格外干净。

(2) 立体视频扩散的训练目标

min⁡θ Ev∈V∑t=1T∥v\^t 1−vt 1∥2+∥v\^t 2−vt 2∥2,{v^t}=fθ(v0)\min_\theta\ \mathbb{E}{v \in \mathcal{V}}\left \\sum_{t=1}\^{T} \\big\\\| \\hat v_t\^{\\,1} - v_t\^{\\,1} \\big\\\|_2 + \\big\\\| \\hat v_t\^{\\,2} - v_t\^{\\,2} \\big\\\|_2 \\right,\quad \{\hat v_t\} = f\theta(v_0)θmin Ev∈Vt=1∑T v\^t1−vt1 2+ v\^t2−vt2 2,{v^t}=fθ(v0)

符号说明 :V\mathcal{V}V 是人类持工具完成任务的立体演示视频集合;(vt1,vt2)(v_t^1, v_t^2)(vt1,vt2) 是真值左右两路第 ttt 帧;(v^t1,v^t2)(\hat v_t^1, \hat v_t^2)(v^t1,v^t2) 是模型生成的对应帧;Ev∈V\mathbb{E}_{v \in \mathcal{V}}Ev∈V 是在数据集上取期望(实际训练里就是 mini-batch 平均);求和遍历 TTT 帧未来视频。

这条式子在做什么 :本质就是标准视频扩散的重建损失,但把"对一路视频做 L2"变成了"对左右两路同时做 L2"。这点小小的扩展承担着大用------它逼着 fθf_\thetafθ 学会"生成两路画面时必须几何一致",因为只有左右两路在视差上对得上,下游的 MegaPose 立体三角化才能把深度估准。换句话说,这条损失是 Dreamitate 解决"二维深度盲区"的训练侧落脚点:让深度信息自然涌现在两路视频的视差中,而不是寄希望于单目网络去猜。

(3) 立体三角化的深度恢复(流程化定义)

对于工具上的同一空间点 X∈R3X \in \mathbb{R}^3X∈R3,它在左、右两个相机里的投影满足

x1=π(K1R1 ∣ t1X),x2=π(K2R2 ∣ t2X)x^1 = \pi(K_1 R_1\\,\|\\,t_1 X), \qquad x^2 = \pi(K_2 R_2\\,\|\\,t_2 X)x1=π(K1R1∣t1X),x2=π(K2R2∣t2X)

而 XXX 由"两条投影射线最近中点"恢复:

X∗=arg⁡min⁡X ∥X−L1(x1)∥2+∥X−L2(x2)∥2X^* = \arg\min_{X}\ \big\| X - L_1(x^1) \big\|^2 + \big\| X - L_2(x^2) \big\|^2X∗=argXmin X−L1(x1) 2+ X−L2(x2) 2

符号说明 :KiK_iKi 是第 iii 个相机的内参矩阵,Ri∣tiR_i \| t_iRi∣ti 是它的外参(旋转 + 平移);π(⋅)\pi(\cdot)π(⋅) 是从齐次坐标到二维像素的透视除法;Li(xi)L_i(x^i)Li(xi) 表示"从相机 iii 中心穿过像素 xix^ixi 射出去的那条三维射线";X∗X^*X∗ 是论文中所说的"两条投影线中点"------也就是这两条射线在三维空间中最接近彼此的点。MegaPose 对左右两个视角各跑一遍位姿估计、再把平移取这种"中点"、把旋转在两视角间平均,最终给出工具的 6DoF 位姿。

这条式子在做什么 :它点明了为什么必须用立体视频而不能用单目 。单目里 XXX 在那条射线上可以滑来滑去都满足 x1x^1x1,深度完全不定(这就是"单眼伸手够偏"的根源);两路同时存在时,两条射线相交(或近乎相交)于一个点,深度被一举钉死。Dreamitate 把"治二维光流深度盲区"的赌注押在了立体几何这条久经验证的经典路线上,所以它能在那些 Im2Flow2Act 栽跟头的精细对位任务上立得住。

落到最后一步,"工具位姿 → 关节指令"靠 IK 求解 q∗=IK(Ttool⋅Ttool→ee−1)q^* = \text{IK}(T_{\text{tool}} \cdot T_{\text{tool}\to\text{ee}}^{-1})q∗=IK(Ttool⋅Ttool→ee−1)(其中 Ttool→eeT_{\text{tool}\to\text{ee}}Ttool→ee 是工具固定在夹爪上的标定关系),是经典几何,论文未给出新的式子。整套系统唯一需要学习的就是 fθf_\thetafθ------从工具位姿往后,全是零训练的几何运算,这正是 Dreamitate 跨本体红利的源头。

四、实验怎么做·结果说明了什么

Dreamitate 在四个难度递增的真实操作任务上做了验证,部署平台包括 UFACTORY xArm 7 和 UR5(都是真机,不在仿真里测)。

由于这是一篇以真机为主、强调泛化能力的工作,它最核心的结论是定性而有力的:

Dreamitate 相比现有的行为克隆(behavior cloning)方法,展现出显著更强的泛化能力

怎么理解这句话的分量?传统行为克隆是"端到端学一个从画面到动作的映射",它在见过的场景里表现尚可,但一换到新的视觉环境(新背景、新物体摆放)就容易崩。而 Dreamitate 把"理解任务、想象过程"交给了在大规模视频数据上有强先验的视频扩散模型,把"提取动作"交给了对场景外观不敏感的几何位姿跟踪------这两层都比"死记硬背画面-动作映射"更能扛住环境变化。

四个任务难度递增的设计,是为了考察方法在从简单到复杂的工具操作上的适应性。它跨越 xArm 7 和 UR5 两个不同平台部署,本身就佐证了"动作提取独立于机器人形态"这一卖点------同一套视频生成 + 位姿跟踪,配不同的逆运动学,就能驱动不同的机械臂。

(注:论文的逐任务精确成功率数字未在公开摘要/页面中完整列出,本文不臆造具体百分比;其核心结论"泛化能力显著优于行为克隆基线"是论文明确给出的。)


五、亮点与为什么重要

  • "工具作为桥梁"这一抽象:这是 Dreamitate 最优雅的贡献。它用一个极简的物理事实------"真正与环境交互的是工具,不是手"------一举消解了困扰人类视频学习已久的具身鸿沟,还顺带把动作提取变成了干净的刚体位姿跟踪问题。
  • 立体视频补上了深度短板:相比 Im2Flow2Act 那种二维光流"Z 轴不准"的痛点,Dreamitate 用立体几何把深度估计约束住,对需要精确三维定位的工具操作更友好。
  • 动作提取完全独立于机器人形态:工具轨迹是抽象的,靠逆运动学落地到任意机器人------这是真正的跨本体。
  • 第二阶段零训练:只需训一个视频生成器,位姿跟踪(MegaPose)和动作落地(IK)都是现成的几何计算。
  • 强泛化:把任务理解交给视频先验、把动作提取交给几何,两层都比端到端行为克隆更抗环境变化。

它代表了几何式级联 WAM 的"位姿跟踪"路线------与 AVDC、Im2Flow2Act 的"光流"路线并列,共同构成了"不学 IDM、用几何拿动作"这一大思路的两条支柱。


六、局限与未解

虽然论文以"强泛化"为卖点,但从方法本身可以推断出几处约束:

  • 强依赖"工具"这个前提:方法的全部优雅都建立在"人和机器人用同一件刚体工具"之上。对于那些没有明确工具、需要直接用手指完成的灵巧操作(比如捏取、手内调整),"工具桥梁"就无从谈起。
  • 被操作对象需是可跟踪的刚体:MegaPose 依赖工具的 CAD 模型来估位姿,工具必须是已知的刚体;对形变工具或无模型物体会失效。
  • 依赖立体相机标定:立体几何的红利建立在两个相机精确标定之上。
  • 生成视频的质量决定上限:和所有级联式方法一样,如果视频生成器"做的梦"本身不合理,后面跟踪得再准也是错的------误差会从第一阶段传导到末端。
  • 逆运动学的可达性:工具轨迹再合理,若超出机械臂的工作空间或遇到奇异位形,IK 也解不出可行的关节指令。

七、在 WAM 谱系中的位置

Dreamitate 在级联式 WAM 的"像素空间 + 几何提取 "分支里,开辟了与"光流路线"平行的"位姿跟踪路线":

  • 承上:它和 AVDC(第 13 篇)共享"世界模型想象未来、几何反解动作、第二阶段零训练"的总思路,但把几何提取的对象从"密集像素光流"换成了"工具的 6DoF 位姿"。这条思路更适合刚体工具操作,也通过立体视频补上了二维光流的深度短板。
  • 横向对照(相对 Im2Flow2Act,第 14 篇):两者是几何提取的两条支路------Im2Flow2Act 追"物体上 1024 个点的二维光流",Dreamitate 追"工具一个刚体的三维位姿 + 立体深度"。前者偏向通用物体运动,后者偏向精确的工具空间控制。
  • 启下 :它定义的"位姿跟踪"路线被后续工作继续推进------
    • RIGVid:把跟踪对象从"工具"换成"被操作的物体",用 FoundationPose 跟踪,并用零样本视频生成替代人类演示,做到无需演示数据;
    • 4DGen:扩展到多视角一致生成,联合预测 RGB 视频与三维点云序列。

放在整个"级联式 WAM → 像素空间 → 几何式动作提取"的版图里,Dreamitate 的价值在于:它用"工具"这个朴素而深刻的桥梁,证明了只要选对了"动作的载体"(一个可跟踪的刚体),人类演示就能被几乎无损地、跨本体地转化成机器人动作。


八、参考

  • 论文 :Junbang Liang, Ruoshi Liu, Ege Ozguroglu, Sruthi Sudhakar, Achal Dave, Pavel Tokmakov, Shuran Song, Carl Vondrick. Dreamitate: Real-World Visuomotor Policy Learning via Video Generation.
  • 会议:Conference on Robot Learning (CoRL), 2024.
  • arXivhttps://arxiv.org/abs/2406.16862

注:本文为基于该论文的学习性解读,所有方法与数据集名称均来自论文公开信息;未公开列出的逐任务数值本文不作臆测。方法名称保留英文原名以便检索。

相关推荐
WangN21 小时前
【通识】具身智能、机器人、智能驾驶研发主线:世界模型与VLA技术深度调研
人工智能·机器人·自动驾驶·具身智能
与芯同行1 小时前
从春晚武术机器人到桌面萌宠:拆解AI陪伴硬件的“听觉-能量铁三角”
人工智能·机器人
才兄说2 小时前
机器人二次开发巡检系统?高精度自主建图
机器人
兔兔爱学习兔兔爱学习11 小时前
1.1 机器人发展历史与背景
机器人
田里的水稻12 小时前
OE_ubuntu26.04与宿主机之间复制粘贴内容
人工智能·python·机器人
QYR-分析14 小时前
智能化重构仓储物流:仓储人形机器人行业全景解析
人工智能·重构·机器人
孟林洁16 小时前
Java转AI应用开发速成(3)—— 第一个 SpringAI 聊天应用
java·spring boot·后端·ai·机器人
生成论实验室17 小时前
算力时代结束,判断力时代开始
人工智能·深度学习·机器人·自动驾驶·gpu算力
梦想的旅途218 小时前
基于 RPA 技术的企业微信自动化 API 开发指南
机器人·自动化·企业微信