Home / 机器人学习 / MimicGen:用对象中心变换复用示范

071|MimicGen:用对象中心变换复用示范

系列首页 · 上一篇 · 下一篇

原论文:MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations,Ajay Mandlekar 等,2023,本文依据 arXiv v1。论文。

先接住前作的问题

robomimic暴露了示范覆盖与采集成本的限制,继续手工录制每种物体摆放难以扩展。MimicGen把示范分成对象中心片段并变换重执行,研究哪些局部动作可复用;它不自动发现任意任务分解。

五个前置概念

五个前置概念:

  • 齐次变换:用一个矩阵统一表达三维旋转与平移。
  • 对象中心表示:把动作写成相对物体的关系,减少对绝对位置的依赖。
  • 行为克隆:通过拟合示范动作学习策略,不要求奖励函数。
  • 数据选择偏差:保留规则改变了数据实际覆盖的状态分布。
  • 闭环策略:不断根据当前观察修正动作,而非只播放固定轨迹。

一、问题设定:少量示范怎样变成覆盖新摆放的真实执行数据

把杯子从桌角移到桌心,人通常不需要重新学习抓杯子,只需让“相对杯子的动作”跟着杯子移动。MimicGen 把这种复用做成数据生产系统:把少量示范分成对象中心片段,变换并执行,收集成功轨迹,再训练视觉策略。

这是“交互生成数据+离线行为克隆”的系统。生成阶段会进入环境执行动作;训练阶段用监督学习,而非用回报优化一个新强化学习算法。任务的成功判定用于筛选数据,不是价值网络。

需要分清两个观察接口:生成器知道当前相关对象的位姿;部署的图像策略只看相机和本体信息。生成时的特权信息相当于一个数据教师,不能据此说策略部署必须访问精确对象位姿,也不能反过来说整个系统不需要它。

典型动作是末端位姿增量加夹爪命令。目标可能是叠块、穿孔、装配或制作咖啡。是否完成由任务判定器决定,轨迹片段结束则由子任务标记决定;两者并不相同。一段“抓取完成”不意味着整个咖啡任务完成。

核心假设是每个子任务能相对一个对象坐标系表达。抓杯相对杯,放杯相对托盘。若一个操作必须同时绕开移动障碍、协调两个自由运动物体,单一刚体变换就未必保留可行性。原有演示覆盖稀疏的问题,因而被转化为“能否把轨迹放到新情境中仍成功”的问题。设定与方法:§3–4。

二、按子任务对象变换轨迹并重新验收

1. 三层系统分别做什么

第一层是任务语义:预先给出子任务顺序,以及每一段应参照哪个对象。第二层是运动几何:选择源片段、计算新目标位姿、插值连接。第三层是学习:把执行得到的图像与动作交给 BC-RNN。三层可以分别失败,不能把所有误差归到神经网络。

选择片段时可以随机取,也可以依据对象位姿选近邻;部分任务允许每个子任务重新选源示范。重新选择有助于利用不同演示的局部优势,但产生的连接运动可能更难模仿。

2. 用明确的坐标约定推导变换

下面采用教学记号:TWOT_{WO} 把对象坐标变换到世界坐标,TWC,tT_{WC,t} 是控制目标在世界中的位姿。先计算相对动作:

TOC,t=TWO−1TWC,t.T_{OC,t}=T_{WO}^{-1}T_{WC,t}.

在新场景中:

TWC,t′=TWO′TOC,t=TWO′TWO−1TWC,t.T'_{WC,t}=T'_{WO}T_{OC,t} =T'_{WO}T_{WO}^{-1}T_{WC,t}.

这三个矩阵的乘法次序不能交换。右边先消除旧对象位置,再放到新对象位置;平移和旋转一起处理。它保存的是控制目标与参考对象的相对关系,不是机器人关节轨迹。

阅读原文时有一处必须注意:v1 §4.2 与附录 M 最终显示的旧、新对象矩阵顺序,与其前一行等式的代数移项不一致。上式由相对位姿相等直接推出,也与官方代码先乘源对象逆、再乘当前对象的实现一致。这里修正的是公式阅读,不据此推断实验实现错误。官方位姿变换函数。

3. 目标、机制、指标

学习目标仍是:

LBC=−E(o,a)∼Dgeneratedlog⁡πθ(a∣o0:t).\mathcal L_{\rm BC}=-\mathbb E_{(o,a)\sim D_{\rm generated}} \log\pi_\theta(a\mid o_{0:t}).

rr 或 QQ 没有进入这个目标。方法改变数据来源;指标则有人工示范量、生成成功率、策略成功率。三者不可互换。

生成时还会给动作加噪声,增加局部变化;只有执行成功的轨迹留下。因而它不像普通图像增强那样假设变换后标签自动有效,而是让环境检查物理后果。

成功筛选会重塑训练分布。令 p0(x)p_0(x) 为尝试生成时初态 xx 的分布,s(x)s(x) 为生成器在该初态的成功概率,则保留数据的初态分布为 pkeep(x)=p0(x)s(x)/Ep0[s(x)]p_{\rm keep}(x)=p_0(x)s(x)/\mathbb E_{p_0}[s(x)]。这个等式假设每次尝试按同一规则独立采样且平均留存概率大于零。即使初态均匀,难位置也会因低通过率而稀少。

教学例:左右两区各尝试100次,成功率分别90%与10%,最终示范就有90%来自左区。增加生成次数不会自动纠正此偏差,还需分区配额、改进生成器或补充示范。原文真机生成通过率与学习后策略成功率明显不同,且插值长度也影响模仿难度;不能把“生成成功”直接当作策略能力。原文数据生成成功率与真机讨论

用小例子检验理解

自构教学例子,未运行。 旧杯子中心在x=0.2x=0.2米,抓取目标在x=0.25x=0.25米,相对偏移为0.05米。杯子移到x=0.5x=0.5米,新目标应为0.55米。若把新、旧矩阵次序写反,会得到向反方向移动的结果。这是检查公式的最简单单元例子。

接着把托盘单独移到另一侧。抓杯片段应跟杯子变换,放杯片段应跟托盘变换,不能把整条轨迹只平移一次。两段之间的新连接可能穿过障碍;几何复用没有解决全局避障。

最后假设生成1000条成功轨迹需要5000次尝试,策略训练后在100次评估成功80次。20%是生成率,80%是策略成功率。不能宣称机器人从20%“强化学习提升”到80%,因为训练方法是监督模仿,且两个执行系统不同。

三、变换对象中心片段并实际执行生成候选

抓杯片段跟杯子变换,放杯片段跟托盘变换,段间还要连接并重新执行。生成器产生可训练示范,随后学习器才从观察预测动作;二者不是同一个控制系统。

输入:源示范、已知子任务顺序、对象位姿接口、成功检测器
把每条源示范切成对应子任务的片段
重复直到收集够成功轨迹:
    重置到新的场景
    对每个子任务:
        观测当前参考对象位姿
        随机或按位姿近邻选择源片段
        把源控制目标变换到当前对象坐标对应的位置
        从当前末端位姿插值到片段起点
        执行目标序列,保留夹爪指令,并记录真实观测和动作
    若整个任务成功:加入数据集
用生成数据训练视觉 BC-RNN
部署时:图像与本体信息 → 策略动作 → 控制器

这是教学伪代码,省略了动作裁剪、移动底盘处理、片段边界随机化等工程细节。尤其“执行控制目标”不意味着机器人精确到达目标;跟踪误差正是需要成功筛选的原因。

四、分别统计生成尝试、保留轨迹和策略成绩

作者希望降低人工遥操作量。实验支持它能在规定的任务结构下扩展数据与初始状态覆盖;它没有证明机器人能够自己发现任意任务分解,也没有让所有生成轨迹天然正确。

原图怎么读: 图4,原论文图注与图像。原有局部摘图展示右侧两组消融并上下排列:上图改变源示范数量,下图比较策略训练数据来源;下方完整图补上左侧源示范与生成示范的逐任务结果表。分开这三组变量,才能避免把生成更多与人工示范更多混为一谈。

MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations,图4:左表给出源示范与生成数据在各任务及D0/D1/D2分布的成功率;右上改变生成时的源示范数量,右下比较策略训练数据来源。源示范增加并非各任务单调改善,不能把三种数据量对照合成同一条趋势。
原图摘引:Ajay Mandlekar 等,2023,本文依据 arXiv v1,PDF第6页,图4。核对原文。左表给出源示范与生成数据在各任务及D0/D1/D2分布的成功率;右上改变生成时的源示范数量,右下比较策略训练数据来源。源示范增加并非各任务单调改善,不能把三种数据量对照合成同一条趋势。原引用入口
MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations,图4:所选上图改变源示范数量,下图比较策略训练数据来源;逐任务源示范与生成示范结果表见原文。分开这三组变量,才能避免把生成更多与人工示范更多混为一谈。
实验图原图摘引:Ajay Mandlekar 等,2023,HTML S6.F4,图4,右侧源示范数量与策略训练数据消融。原图面板重新排版,数据未改。核对原文。原版权保留。

位姿函数链接指向官方当前代码,未锁定论文历史提交;它可帮助检查代数方向,但不能证明历史实验的每个实现细节。

项目 原文设置或阅读口径 验证问题
主要平台 robosuite/MuJoCo、Factory/Isaac Gym;另有真实机械臂 方法能否跨任务系统使用
来源与生成量 通常每任务10条人工示范,每变体收集1000条成功轨迹;Mobile Kitchen来源25条 少量人工数据是否可复用
任务变化 默认分布D0D_0、更宽的D1/D2D_1/D_2,对象和机器人变化 扩大哪些具体覆盖
图像策略 前视与腕部图像、本体信息,BC-RNN 生成数据能否训练部署策略
比较 源数据、更多人工数据、不同生成量与选择策略 增益来自何处
模拟评价 每检查点50回合,3个训练种子,报告训练中最大成功率 最佳策略水平,非最终检查点稳定性
真实评价 最后检查点,50回合 实际部署表现
资源 模拟运行使用V100与8 CPU配置;部分任务共享机器 数据生成并非零算力
尚未逐项确认 每任务训练更新总数、全部误差条统计定义 不据此推算统一墙钟效率

这些设置见 §5、附录 N/O。真实 Stack 的生成量在 §6.4 写200条,图6说明与附录部分概括写100条;正文采用 §6.4 明确列出的200条,并保留这个口径差异。

MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations,图6:这些设置见 §5、附录 N/O。真实 Stack 的生成量在 §6.4 写200条,图6说明与附录部分概括写100条;正文采用 §6.4 明确列出的200条,并保留这个口径差异。
原图摘引:Ajay Mandlekar 等,2023,本文依据 arXiv v1,HTML S6.F6,图6。原面板按源顺序重新排版,数据未改。核对原文。这些设置见 §5、附录 N/O。真实 Stack 的生成量在 §6.4 写200条,图6说明与附录部分概括写100条;正文采用 §6.4 明确列出的200条,并保留这个口径差异。

模拟中的最大检查点成功率与真实最后检查点不可直接当作完全同口径的模拟—现实差距。更多数据也意味着更多执行尝试;人工时间节省和机器占用节省是两个不同主张。

五处证据:生成器好用,不等于策略已经可靠

证据1:图4比较源数据与生成数据。 Square 图像策略在D0D_0从11.3%到90.7%,绝对增加79.4个百分点;但更困难的D2D_2为49.3%。这支持数据扩展有效,也说明扩大场景范围仍有难度。不能把D0D_0成绩作为所有物体位置的保证。

证据2:图4的人工与生成数据比较。 作者用相同条数的人工数据和生成数据比较,并观察到生成量继续增大后的收益递减。它支持“重复情境的演示可复用”;不支持“新的操作技巧永远不需要人教”。如果源示范全部没有某种抓法,刚体变换不能创造该技巧。

证据3:表N.1 的动作噪声消融。 去掉噪声可以让数据生成更容易成功,却让训练后策略表现下降。其因果解释是:最容易重放的轨迹可能过于单一。生成器只需把这一次做对,学习器还要从有限样本得到面对变化的反馈规则。

证据4:§6.4 与附录 H 的真实结果。 BC-RNN 的真实 Stack/Coffee 成功率为36%/14%;Stack 改用 Diffusion Policy 达76%。这些数字来自实际执行,不是生成率。它们表明同一类数据对不同策略架构的可学习性不同,也说明高生成率不能替代部署验证。

证据5:附录 R 的覆盖分析。 成功筛选后的数据在部分空间分箱中存在明显缺口。这是选择偏差的直接提醒:被丢弃的尝试可能恰好集中在困难位置,留下来的大数据并不等于均匀覆盖大空间。实验与附录全文。

读这些证据,还要避免把低维策略表Q.1 的结果误填到图像策略图4。论文若在解释段引用了一个不同观察接口的数值,应回到对应表格确认,而不是仅按任务名合并。

五、成功筛选可能丢掉困难状态与过程质量

真正的贡献是将演示复用改成可扩展的数据接口。部署无需每次重新估计对象并重放,而是学习一个视觉反馈策略。这使“生成程序的局限”和“最终策略的形式”不必完全相同。

代价有三类。几何上需要对象坐标与末端控制约定一致;语义上需要已知子任务顺序和边界;资源上需要真实或模拟环境执行许多尝试。真实场景还需要复位,不能只用保留下来的轨迹条数估计成本。

作者承认插值可能产生冗长、不自然的动作,成功轨迹也可能包含不必要碰撞。本文的分析是:单纯按最终成功筛选,会把“达到目标”与“过程质量”混为一谈。若应用在昂贵易损物体上,应把碰撞、力和动作长度作为数据质量指标,而不是期待 BC 自动消除这些行为。

迁移对象也不是无条件形状泛化:需要可对应的规范坐标系和可复用接触方式。杯柄形状改变到无法用原抓法时,再精确的位姿变换也不能解决抓取拓扑变化。

追问:只按最终成功保留轨迹,会不会把不必要碰撞也教给策略?

参考答案:会有这种可能,因为最终成功不约束接触过程。应在保留规则中另外检查碰撞、力或动作长度,并在相同生成预算下比较质量筛选与单纯成功筛选。筛得更干净也可能缩窄覆盖,所以还需记录被拒绝的场景。生成成功和可学习的反馈行为不是同一质量指标。

六、沿机制关系继续读

本篇针对robomimic揭示的示范覆盖瓶颈,用对象中心重执行扩充数据,再组合既有BC学习器;后作DexMimicGen直接继承并扩展这条生成路线到双臂灵巧操作。

七、自测三题与参考答案

问题1:MimicGen 为什么不能被理解成“把旧动作整体平移一下”?

答案:不同子任务相对不同对象,旋转也会改变接近方向。每段需要各自的刚体变换,段间需要连接,并且必须实际执行检查接触结果。整体平移既不能处理对象独立移动,也无法验证新轨迹的动力学可行性。

问题2:提高数据生成成功率一定会提高最终策略成功率吗?

答案:不会。只生成最容易重放的轨迹可以提高生成率,却减少局部变化和困难状态覆盖。策略的目标是学习反馈规律,原文噪声消融体现了两者可能相反。应同时报告尝试成本、覆盖和部署成绩。

问题3:为什么“生成器使用精确对象位姿”与“视觉策略部署不用对象位姿”并不矛盾?

答案:前者负责产生训练标签,后者从图像学习预测动作,信息权限发生在不同阶段。教师可拥有额外信息,但数据生成成本必须计入系统描述。若宣称整个流程只需要RGB,则遗漏了教师的位姿与任务结构条件。