一句话定位

MimicGen 是一套示范数据自动倍增系统:把 ~200 条人类遥操作示范切成「物体中心子任务段」,按新场景中相关物体的位姿对每段做刚体变换 + 线性插值拼接,在仿真/真机中开环重放,只保留成功轨迹,从而从 10 条人类示范生成 1000 条新示范、总计 50K+ 条覆盖 18 个任务,再用普通行为克隆(BC-RNN)训练出闭环视觉运动策略。核心洞见:10 条人类示范 + MimicGen ≈ 200 条人类示范

背景与定位

范式名称:object-centric demonstration transformation for scalable data generation(物体中心示范变换做数据生成)。属于「合成示范数据」路线,是把 replay-based imitation 的机制从「最终策略」改造成「离线数据工厂」。

  • 对比遥操作数据采集:RoboTurk [2,23]、RT-1(近 1.5 年、跨月/厨房/机械臂采集)[5]、BridgeData [6] 等靠大量人力堆几千到几万条示范;robomimic [7] 的 case study 里,单场景单物体的搬罐子任务要 200 条示范才到 73.3% 成功率。MimicGen 只要每任务 ~10 条人类示范。
  • 对比 replay-based imitation:YODO [8]、Coarse-to-fine [9]、DOME [10]、Di Palo & Johns 自重放 [11] 也重放人类示范,但把重放当作最终 agent(开环、绑定特定架构、假设 4D 位置+偏航动作空间)。MimicGen 把类似机制只用于生成数据,产出的数据集可喂给任意离线策略学习算法,训出闭环反应式策略。
  • 对比离线数据增强 [7,35–45]:增强是离线的、难保证物理一致;MimicGen 通过环境交互在线生成,数据天然物理一致。
  • 站在 robomimic [7](BC-RNN)、robosuite [49]/MuJoCo [50]、Factory [51]/Isaac Gym [52] 之上。真机侧策略消融用到了 diffusion-policy(ref [100]),与同期遥操作模仿学习工作 aloha-act 形成「采集 vs 倍增」两条数据路线的互补。发表于 CoRL 2023。

模型架构

MimicGen 本体不是神经网络,而是一条几何/算法数据生成流水线;下游策略才是被训练的模型。

数据生成流水线(每次生成一条新示范):

  • 动作空间假设(Assumption 1):7 维 delta 末端位姿动作 = 3 平移 + 3 轴角增量旋转 + 1 夹爪开合;由 Operational Space Controller [63] 执行,控制频率 20 Hz。delta 动作与控制器目标位姿等价,故可把示范当成一串末端目标位姿。
  • 子任务假设(Assumption 2):任务 = 已知的一串物体中心子任务序列 (S₁(o_{S₁}),…,S_M(o_{S_M})),每个子任务的运动相对于单个物体坐标系。
  • 位姿可观测假设(Assumption 3):数据生成时每个子任务开始能观测到相关物体位姿(部署时不需要)。
  • 段变换公式:把选中的源段 τᵢ(一串末端目标位姿)按新物体位姿变换,保持目标位姿相对物体坐标系不变:T_W^{C′_t} = T_W^{O′_0} · (T_W^{O_0})⁻¹ · T_W^{C_t}。
  • 插值段:在变换段起点前加插值——位置线性 + 旋转球面线性插值(SLERP),超参 n_interp 个插值步 + n_fixed 个保持步。默认 n_interp=5, n_fixed=0;真机为安全用 n_interp=25, n_fixed=25。
  • 参考段选择:随机(多数任务)或最近邻(nnk=3,比较当前物体位姿与源段起始物体位姿的 L2 位置距离 + 轴角旋转角);per-subtask 开关决定是否每个子任务重新选源示范。
  • 动作噪声:执行时对动作加 N(0,1)·σ 高斯噪声(不含夹爪),默认 σ=0.05。

下游策略:

  • 主力 BC-RNN(robomimic [7]),行为克隆 + RNN。
  • 观测空间两套:“low-dim”(末端位姿 + 夹爪指位 + 真值物体位姿)与 “image”(前视 + 腕视相机,84×84;真机 120×160)。图像 agent 用 pixel shift randomization(最多平移 10%)。
  • 真机消融另训了 diffusion-policy

数据

规模(论文口径):从 <200 条人类示范生成 50K+ 条新示范,覆盖 18 个任务2 个仿真器 + 1 台真机

50K 明细(Appendix C FAQ #11,不含真机与附录额外实验):

  • 175 条源示范 = 16 个仿真任务各 10 条(Mobile Kitchen 例外,用 25 条)。
  • 36K 生成 = Fig.4 的 36 个任务变体各 1000 条。
  • 12K 生成 = 机器人迁移实验(2 任务 × 2 变体 D0/D1 × 3 新臂 × 1000)。
  • 2K 生成 = 物体迁移实验(O1 新杯 + O2 十二杯 各 1000)。
  • 另:真机 200 条生成自 20 条源示范。

源示范来源:每任务 1 名操作员遥操作采 10 条(Mobile Kitchen 25 条;Square 用 robomimic Square PH 的 10 条),遥操作系统为 [2,23](RoboTurk 式 / 3D 鼠标)。

仿真 vs 真机:仿真用 robosuite(MuJoCo 后端)+ Factory(Isaac Gym 后端,毫米级高精度);真机用 Franka Panda + RealSense D415(前视)/ D435(腕视),位姿估计走 RGBD→点云→RANSAC 去桌面→DBSCAN 聚类→[88] 全局位姿初始化→ICP 精化。

动作标注:全自动——delta 动作由控制器目标位姿反推,夹爪动作从源段拷贝。

筛选/curation:只按任务成功过滤(naive filter),成功率即「数据生成率 DGR」= 成功数/尝试数。DGR 跨任务差异极大:Kitchen D0 100%、Gear Assembly D1 仅 8.2%、Mug Cleanup 24.5–31%。作者自陈这会带来数据偏置(Appendix R:Three Piece Assembly D1 支撑覆盖仅 43.5%,Coffee D1 达 98.8%)。

开源数据集(GitHub README):正式发布 48,000+ 条示范、12 个任务,托管于 HuggingFace,数据集 CC-BY 4.0,代码 NVIDIA Source Code License。v1.0.0 完整代码(含数据生成代码)2024-07-09 发布。

训练方法

  • 目标函数:行为克隆 arg min_θ E_{(s,a)∼D}[−log π_θ(a|s)]。
  • 策略超参:BC-RNN 用 robomimic [7] 默认超参;唯一改动是 low-dim 策略学习率 1e-3(默认 1e-4),加速大数据集收敛。图像 agent 用 pixel shift randomization。
  • 数据生成”训练”:无训练——纯重放。流程为解析子任务 → 选参考段 → 变换 → 插值 → 加噪执行 → 成功过滤,每个任务变体持续跑到攒够 1000 条成功
  • 关键消融
    • 动作噪声(Table N.1):去掉噪声后 DGR 上升(Threading D0 +33%),但策略性能大跌(图像 agent 最多 −40%,low-dim 最多 −30%)。另有 “replay w/ noise” 基线——直接在源配置上加噪重放,能把 Square 从 11.3%→42.0%,但仍不如 MimicGen 的 90.7%。
    • 选择策略(Table N.2):关掉最近邻/per-subtask 后 DGR 明显下降,但策略性能多数不显著下降。
    • 源示范数量:10/50/200 条差异仅 2–21%;1 条在部分任务(Square)明显更差。
    • 源示范多样性(Table S.1):源示范采自 D0 vs 更宽的 D2,DGR 不同但策略性能相当。
  • 评测协议:仿真每个 checkpoint 跑 50 次 rollout,取 3 个种子的最大成功率;真机取最后 checkpoint 评 50 次。

Infra(训练 / 推理工程)

  • 数据生成 + 训练机器:每个 run 用 1× NVIDIA Volta V100 GPU、8 CPU、32GB 内存、128GB 磁盘;常把 2–4 个 run 批在同一台机器上。
  • 真机实验机器:1× NVIDIA GeForce RTX 3090、36 CPU、32GB 内存、1TB 存储。
  • 控制频率 20 Hz(OSC 控制器)。真机相机 RealSense D415 + D435。
  • GPU-hours、并行策略、精度、推理 FPS/时延:未披露(策略即 BC-RNN,随控制回路 20 Hz 运行)。

评测 benchmark

全部来自论文一手表格,成功率单位 %(3 seeds,取最大)。

源示范 → D0 生成数据(图像 agent,Fig.4):

任务SourceD0D1D2
Square11.390.773.349.3
Threading19.398.060.738.0
Coffee74.0100.090.777.3
Three Pc. Assembly1.382.062.713.3
Kitchen54.7100.076.0
Nut Assembly0.053.3
Pick Place0.050.7
Coffee Preparation12.797.342.0
Mobile Kitchen2.046.7
Nut-Bolt Assembly8.792.781.372.7
Gear Assembly14.798.774.056.7
Frame Assembly10.782.068.736.7
  • 机器人迁移(同 10 条 Panda 源示范生成到 Sawyer/IIWA/UR5e):DGR 差异大(Square D0 20–74%),但策略成功率接近——Square D0 80–91%、Threading D0 89–98%。
  • 物体迁移:Mug Cleanup 未见新杯 O1 90.7%、12 杯 O2 75.3%(图像)。
  • 移动操作:Mobile Kitchen 2.0%→46.7%(图像)、2.7%→76.7%(low-dim)。
  • Factory 高精度(毫米级,Isaac Gym):D0 82–99%(源 9–15%);Gear Assembly 插入公差 1mm,Frame Assembly 4 孔各 4mm 公差。
  • 数据量对比:200 MG demos ≈ 200 human demos(Square D0:79% MG vs 84% human),MG 只用 10 条人类源;200→1000→5000 有明显收益但递减。
  • 对比前作:BUDS 在 Hammer Cleanup 用 100 条示范 68.6%,BC-RNN 在 MimicGen 1000 条 D0 达 100.0%;Kitchen BUDS 72.0% vs 100.0%。
  • 真机:Stack DGR 82.3%(243 次尝试)/ 策略 36%;Coffee DGR 52.1%(192 次)/ 策略 14%(源 10 条示范策略均 0%)。真机低于仿真主因是安全用了更长插值段(sim 消融证实长插值使 Stack D1 从 99.3%→68.7%)。真机 Stack 换 diffusion-policy 后 36%→76%
  • 位姿误差容忍(Table U.1):加 L1(5mm/5°)、L2(10mm/10°)噪声后 DGR 下降但策略成功率稳健(Square D0:90.7%→89.3%→84.7%)。
  • 操作员质量不变性(Table I.1/I.2):不同遥操作设备/不同熟练度操作员的源示范,训出的策略性能偏差仅 0–17% / 0–14%。
  • 数据生成多种子(Table T.1):DGR 偏差 <0.6%,策略 SR 偏差 <2%,故正文只用单种子生成数据。

创新点与影响

  • 贡献:首个通用、可无缝接入现有模仿学习管线的物体中心示范变换数据生成系统——把「重放当策略」改造成「重放当数据工厂」,训出的是闭环反应式策略,且数据集兼容任意离线学习算法。
  • 改变了什么:证明「10 条人类示范 + MimicGen ≈ 200 条人类示范」,提出人类大数据集存在冗余、何时才值得再向人类要数据的问题;揭示数据生成率 ≠ 策略性能(低 DGR 也能训出高成功率策略,如 Gear Assembly D1 DGR 8.2% 却 76.0%)。跨机器人硬件、跨同类物体、跨仿真器、真机全打通,成为后续合成机器人数据扩展(DexMimicGen、RoboCasa 等)的奠基工作。
  • 作者自陈局限:需已知物体中心子任务序列且序列不变;数据生成时需每个子任务起始物体位姿;每子任务只允许单一参考物体;仅按成功过滤会带来偏置与伪影(Appendix R);朴素线性插值不保证无碰撞、且过长插值伤策略;仅验证准静态、刚体、同类别相似尺度物体;移动操作不支持底盘与臂同时动、底盘动作只是拷贝;不支持多臂任务。

原始链接

一手源存档(sources/)

  • mimicgen—github-readme — GitHub README 快照(48K+ 示范/12 任务、发布节点、许可、bibtex)
  • mimicgen—project-page — mimicgen.github.io 项目页快照(各任务/变体策略成功率标注、真机演示说明)
  • arXiv 原文 PDF(2310.17596,完整正文 + 附录 A–U,含全部 DGR/SR 表格与超参):arXiv 原文 PDF,不入 git,见上方 arXiv 链接