一句话定位
CALVIN(Composing Actions from Language and Vision)是一个开源 PyBullet 仿真基准,用 ~24 小时无脚本”游玩(play)“数据 + 仅 1% 语言标注、四个共享结构却纹理/布局各异的桌面环境(A/B/C/D),评测长程、语言条件、7-DOF 连续控制的操作策略;它把”连续 5 条自然语言指令依次完成”的 LH-MTLC 作为主指标(现行社区口径为平均连续完成任务数 Avg. Len.),成为语言条件模仿学习的事实标准测试床。2022 年获 IEEE RA-L 最佳论文奖。
背景与定位
论文属于”语言条件机器人操作 benchmark”范式。作者(Oier Mees、Lukas Hermann、Erick Rosete-Beas 在 University of Freiburg,Wolfram Burgard 在 University of Technology Nuremberg;通讯作者 Mees 在 Freiburg)指出:当时的多任务学习普遍用 goal image、one-hot skill selector 指定任务,对非专家用户不友好;真正需要的是”用不受约束的自然语言,把长程任务拆成一串指令让单一 agent 闭环完成”。
最直接的对标是 ALFRED(导航+操作,7 个预定义离散动作原语)——CALVIN 的差异在于不分类预定义动作,而要求策略习得可组合的通用技能库、做闭环连续控制。桌面环境设计刻意对齐 Lynch et al. 的 Play-LMP / MCIL(Learning latent plans from play, CoRL 2019;Language conditioned imitation learning over unstructured data, RSS 2021),以便公平复现其 MCIL 基线;相对 MCIL 原始设定,CALVIN 子任务更多(34 vs 18)、长程序列更长(5 vs 4),并新增了”同款指令指向不同颜色积木”的视觉 grounding 难题。
同类基准可对比 meta-world(多任务/元 RL,one-hot 任务)、rlbench(100 任务、稀疏奖励,无语言)、habitat(导航为主);CALVIN 的独特组合是:自然语言条件 + 多模态高维输入 + 7-DOF 连续控制 + 长程操作 + 跨环境零样本,四者同时具备,据作者称为首个公开做到这一点的指令跟随基准。
模型架构
benchmark 侧(仿真环境与传感/动作接口)与 baseline 策略两部分。
仿真环境:PyBullet 物理引擎(支持 GPU 并行渲染,代码用 EGL 把渲染从 CPU 移到 GPU 加速 rollout)。每个环境含一台 7-DOF Franka Emika Panda 机械臂 + 平行夹爪,桌面有可开合的滑门与抽屉、按下切换绿色 LED 的按钮、控制灯泡的拨杆,以及 3 个不同颜色/形状的矩形积木。四个环境 A/B/C/D 结构一致但纹理不同、静态元件(滑门/抽屉/按钮/拨杆)位置不同;桌子、机器人、静态相机位置在四环境中一致。控制频率 30 Hz 闭环。
观测空间(Fig. 2 / Fig. 3):
- 静态相机 RGB
200×200×3、深度200×200 - 夹爪相机 RGB
84×84×3、深度84×84 - 视觉触觉图像
120×160×2(论文 Fig. 2 口径;GitHub README 记为120×160×6,两处不一致,此处以论文为准) - 本体感受:EE 位置(3)、EE 姿态(3)、夹爪宽度(1)、关节位置(7)、夹爪动作(1)
- 仿真器状态(物体位姿)也提供,但基线不使用,以贴近真实场景
动作空间(三选一,鼓励混用):
- 绝对笛卡尔位姿(相对世界坐标系):EE 位置(3)+姿态(3)+夹爪(1)
- 相对笛卡尔位移(相对夹爪坐标系):EE 位置(3)+姿态(3)+夹爪(1)
- 关节动作:关节位置(7)+夹爪(1)
任务定义:34 个具体任务(Fig. 6/Fig. 9),每个任务的成功判据用”首帧与末帧的环境状态变化”定义(如”物体绕 z 轴顺时针旋转 >60° 且 x/y 轴旋转 <30°”、“滑门推动 ≥12 cm”、“抽屉推拉 ≥10 cm”、“积木抬升 ≥5 cm”)。环境内置任务检测器可对任意长度离线序列自动判定完成情况,也可作为 RL 稀疏奖励。(注:官方 leaderboard 现将 MTLC 标注为 “32 tasks”,与论文正文 34 个任务定义存在口径差,源于后续 changelog 对推/抬判据与任务分布的调整。)
baseline 策略(MCIL):多上下文模仿学习(Multi-context Imitation Learning,源自 Lynch et al.)。核心是一个 seq2seq 条件变分自编码器(seq2seq CVAE),把自由形态演示自编码进一个隐”计划(plan)“空间 z;decoder 是策略 π_θ(a_t | x_t, x_g, z),在状态 x_t、目标 x_g、推断计划 z 条件下重建动作。训练时对无标注 play 数据做 hindsight relabeling(每个访问过的状态当作”已达成目标”),只用 <1% 数据配语言标签即可学到语言条件策略 π_θ(a_t | x_t, l);对每个上下文数据集配一个 encoder,共享一个隐目标条件策略。感知编码器:夹爪相机 84×84 输入 → 3 层卷积(32/64/64 通道) + 128 单元 ReLU MLP;视觉触觉用预训练 ResNet-18;深度图与 RGB 通道级早融合,各模态特征拼接。因 CALVIN 夹爪两指不能独立控制,动作输出比 Lynch 原实现少 1 维。
数据
- 规模:~24 小时遥操作 play 数据,用 HTC Vive VR 头显采集;四个环境各约 6 小时。对应 ~2.4M 交互步、~40M 短程窗口(用于 relabeled goal-conditioned imitation,每窗 1–2 秒)。
- 采集方式:请 3 名未受训、不知下游任务的人采集,唯一指引是”探索环境、别把物体从桌上碰掉”。行为包含抓放、开合抽屉/滑门、按按钮、拨开关及无目的动作——刻意保留探索性、次优、重试等行为,覆盖多模态解法空间;因是自由游玩,某些以他任务为前置的任务天然出现更少。
- 语言标注:over 400 条众包自然语言指令覆盖 34 个任务;论文摘要提到 20K 语言指令(directives)。标注是程序化的:随机采窗口 64 帧,用任务检测器判定首末帧间是否解出某任务,且要求该任务及其它任务在前半段未被解出(保留任务前的移动行为),合格后从每任务约 11 条同义句中采样,合计 389 条唯一语言指令 / 34 任务。为模拟真实场景中无法给所有经验配语言,仅 1% 交互数据被语言标注。
- 语言编码:数据集内置预计算 MiniLM 句向量——MiniLM 蒸馏自大 Transformer、在通用语料(如 Wikipedia)训练,词表 30,522、任意长句映射为 384 维向量;也支持换用自选语言模型(README 提供 relabel 脚本,可换 MPNet / 多语 MPNet 等 SBert 模型)。
- 数据划分:官方提供
D、ABC、ABCD三份下载,另有debug(1.3 GB)小集。ABC 用于零样本(训练 ABC、测试 D),ABCD 用于多环境。(README changelog 记录 2022-09 修过 ABC/ABCD 的语言标注与 scene_info bug、2023-02 修过 D 的 scene_info,使用需注意版本。)
训练方法
benchmark 本身不”训练”,此处指官方 MCIL 基线的训练配方(复用 Lynch et al. 架构,除下述外):
- 目标:最大似然目标条件模仿
L = E[Σ_t log π_θ(a_t | x_t, x_g)],配 seq2seq CVAE 的 KL 项。 - 优化器 Adam,学习率 1e-4;KL 散度权重 β = 0.001。
- 训练时随机采长度 16–32 的窗口,pad 到最大长度 32。
- 不做图像数据增强(贴近原实现),使用相对世界坐标的绝对笛卡尔动作。
- 所有 split 用同一套超参。
- 无强化学习成分;论文强调 CALVIN 不限定必须用模仿学习,RL(利用任务指示器作稀疏奖励)同样适用,README 附带 RL colab 示例。
Infra(训练 / 推理工程)
- 渲染/仿真:PyBullet + EGL,将渲染放到 GPU 以支持训练中 rollout;多 GPU 场景需正确映射 EGL/CUDA device id(README FAQ 详述,calvin_env 已自动处理)。
- 训练框架:PyTorch Lightning,多 GPU 自动走 DDP(
trainer.gpus=-1用全部 GPU),支持 SLURM 集群。提供共享内存数据加载器把数据集预载入 shared memory(作者 SLURM 集群上准备约 20 分钟)以加速训练。 - GPU 型号 / 数量 / GPU-hours:未披露(论文与 README 均未给基线训练的具体卡数与机时)。
- 推理:控制频率 30 Hz 闭环;具体推理延迟/边缘硬件未披露(作为仿真基准不涉及真实机部署)。
评测 benchmark
三种训练/测试组合,均用两档指标评测。
评测组合:
- Single Environment:
D → D(对齐 Lynch et al. 设定) - Multi Environment:
A,B,C,D → D(策略需泛化到多纹理/多布局,但可受益于更多数据) - Zero-Shot Multi Environment:
A,B,C → D(测试环境训练时从未见,最难)
指标:
- MTLC(Multi-Task Language Control):34 个任务、每任务 10 次 rollout,从合法未见演示的首状态复位;测试用语言指令不在训练集中。
- LH-MTLC(Long-Horizon MTLC):把 34 任务当子目标,构造 5 个连续任务的合法序列,过滤循环/冗余/相似后得 1000 条唯一指令链;每条序列前把机器人复位到中性位(打破初始状态与任务的相关性,逼策略靠语言推断任务);仅当当前子任务按环境状态判定成功才转下一子目标。
MCIL 基线关键结果(Fig. 8):
- MTLC 静态相机 RGB
D→D:53.9%;加夹爪相机/深度/触觉后基本持平(最高 54.2%,静态RGB+触觉;静态RGB+夹爪RGB 反降到 51.8%)。 - LH-MTLC
D→D最佳:第 1 条指令 48.9%,连续 5 条仅 0.08%——长程近乎失败。 - 跨环境显著下滑:MTLC
A,B,C,D→D静态RGB 35.6%、A,B,C→D静态RGB 38.6%;零样本A,B,C→DLH-MTLC 第 1 条约 20.2%、第 2 条起趋近 0。 - 定性观察:策略常混淆红/蓝积木(MiniLM 对含 red/blue 的句子编码相近);表现强依赖机器人初始位姿,疑似 proprioception 与目标动作间的因果混淆(causal confusion)。
作者结论:SOTA 级 MCIL 在 CALVIN 长程任务上表现很差,留有巨大改进空间——这正是 benchmark 的设计意图。
官方 leaderboard 现状(http://calvin.cs.uni-freiburg.de/,2026-07-16 抓取,主指标为 Avg. Len. 即平均连续完成任务数,满分 5):
D → D:FLOWER 4.35、RoboUniView 3.85、MDT 3.72、HULC++ 3.3(原始 baseline+delta 1.82)。A,B,C,D → D:FLOWER 4.67、UniVLA 4.63、MDT 4.52、GR-1 4.21、RoboFlamingo 4.08(原始 baseline 0.40)。A,B,C → D(零样本):FLOWER 4.53、UniVLA 4.41、Seer-Large 4.28、GR-MG 4.04、3D Diffuser Actor 3.27。
即:发布时基线 5 连近乎 0,如今 VLA/扩散策略已把连续完成数推到 4+,印证 CALVIN 成为语言条件操作策略的主流刷榜场。
创新点与影响
- 首个同时结合”自然语言条件 + 多模态高维输入 + 7-DOF 连续控制 + 长程操作 + 跨环境零样本”的公开指令跟随基准;把”连续多条语言指令闭环完成”确立为可复现的评测协议。
- 用无脚本 play 数据 + 1% 语言标注的范式,把昂贵的语言标注负担降到最低,示范了”廉价探索数据 + 少量后验语言标签”的可扩展数据配方。
- 灵活的传感器/动作空间接口(静态+夹爪 RGB-D、触觉、本体感受;绝对/相对笛卡尔、关节),让社区可自由研究不同模态组合。
- 环境状态驱动的自动任务检测器:既是评测判据,也可当 RL 稀疏奖励、还能对任意离线序列自动打标签。
- 影响:成为 HULC/HULC++、GR-1、RoboFlamingo、3D Diffuser Actor、MDT/MoDE、UniVLA、FLOWER 等大量语言条件操作 / VLA 工作的标准评测台;2022 获 RA-L 最佳论文奖(IEEE RA-L vol.7, no.3, pp.7327-7334;MIT License)。
- 作者自陈局限:为降低语言条件多任务闭环控制难度,把物体简化为单色基本形状(承诺后续可扩展到更真实多样物体);基线未用数据增强、未反传语言模型、未做视觉-语言对齐辅助损失,跨域朴素数据共享可能加剧分布偏移——这些都被列为后续可改进方向而非已解决。
原始链接
- arXiv 摘要页:https://arxiv.org/abs/2112.03227
- arXiv PDF(v4, 2022-07-13):https://arxiv.org/pdf/2112.03227
- 官方项目页 / Leaderboard:http://calvin.cs.uni-freiburg.de/
- GitHub:https://github.com/mees/calvin
- 期刊:IEEE Robotics and Automation Letters (RA-L), 2022, vol.7 no.3 pp.7327-7334(RA-L Best Paper Award)
一手源存档(sources/)
- calvin—github-readme — GitHub README 快照(含 quick start、数据划分、传感/动作空间、SOTA 列表、changelog、citation),
sources/embodied/2021/calvin--github-readme.md - calvin—project-page — 官方项目页/Leaderboard 快照(三组 train→test 完整排行 + Avg. Len.),
sources/embodied/2021/calvin--project-page.md - arXiv 原文 PDF(arxiv 2112.03227,全文 PDF,不入 git):见上方 arXiv 链接