一句话定位
Genima 把「生成动作」直接建模成「生成图片」:微调 Stable Diffusion(ControlNet + SD-Turbo)在 RGB 观测上画出未来 K 步的关节目标位置(彩色带条纹的球),再用一个 ACT 控制器把这些视觉目标翻译成一串关节动作;RLBench 25 任务平均成功率 49.6%,超过 ACT(39.6%)和 SuSIE(21.8%),逼近有深度/关键点先验的 3D Diffuser Actor(73.8%),且对场景颜色/光照/背景扰动展现出「自动复原为训练画风」的涌现鲁棒性(CoRL 2024)。
背景与定位
论文提出的问题是:图像生成扩散模型已经被微调出图像编辑、新视角合成等新能力,能不能同样把它们解锁给视觉运动控制?此前机器人领域用图像生成模型主要走三条路:(1) 子目标生成——如 SuSIE(Black et al. 2023)微调 InstructPix2Pix 生成目标 RGB 观测图,再用策略追这个目标图,但对形变物体、颗粒介质等混沌交互很难画准确的像素级细节;(2) 数据增强——GenAug、ROSIE 等用生成图像随机化场景纹理/光照/干扰物提升鲁棒性,但不直接用生成模型产生动作;(3) 3D 特征提取——GNFactor、DNAct 把扩散模型特征提升到 3D 空间辅助表征,但依赖深度相机等特权信息。
Genima 的立场是回到扩散模型的原生形式——画图。不生成目标观测图、不做数据增强、不提特征,而是直接把机器人动作(关节位置)画成图上的视觉标记,让”动作模式”变成”视觉模式”,从而让互联网预训练的图像生成先验直接迁移到动作生成上。这与 3D Diffuser Actor、PerAct、RVT、Act3D 等依赖深度、关键点、运动规划器的 3D next-best-pose 路线形成鲜明对比——Genima 是纯 RGB-to-joint、无 3D 先验的方案。控制器沿用 ACT(Zhao et al. 2023)架构,语言条件方式承袭 RoboAgent 的 FiLM 条件化。作者为 Dyson Robot Learning Lab 的 Mohit Shridhar、Yat Long Lo、Stephen James。
模型架构
Genima 是两阶段流水线,把 RGB 观测 O_t 和语言目标 g 映射到关节动作 A_t^joints。
阶段一:扩散智能体(画目标)。 用 ControlNet 微调 Stable Diffusion,让其在观测图上”画”出 t+K 步之后的关节目标位置图 A_(t+K)^image。
- 基座模型为 SD-Turbo(蒸馏模型,1-4 步扩散即可出图),使用 HuggingFace diffusers 的 ControlNet 实现,未做架构改动。ControlNet 是双流结构:一路是冻结的 Stable Diffusion UNet(接收带噪 latent + 语言描述),另一路是可训练的 UNet 下采样编码器副本(接收条件图像 latent),两路通过零卷积(zero-convolution)层连接。
- 条件图像 = RGB 观测本身(用于精确画出目标位置)。
- 目标渲染:对每个待渲染时间步,通过机器人 API 的正运动学取得每个关节的 6-DoF 位姿,用 pyrender 把彩色球放在这些位姿上,渲染到 4 路相机观测(front / wrist / left / right,256×256)上。7-DoF Franka Panda 只渲染 4 个关节(base、elbow、wrist、gripper)以避免画面杂乱;gripper 开/合用不同颜色区分;每个球带与关节旋转轴平行的水平条纹作为”刻度”指示旋转角度。
- Tiled Diffusion(分块扩散):为解决”SD 需要 512×512 以上分辨率但机器人图像小导致推理慢""多视角扩散生成不一致""逐张生成 4 张图太慢”三个问题,把 4 张 256×256 观测直接平铺(tile)成一张 512×512 图像统一生成。分块生成 4 张图在 NVIDIA A100 上 5 Hz、RTX 3090 上 4 Hz。
阶段二:控制器(执行目标)。 用 ACT(Transformer 策略)把目标图像翻译成一串可执行关节动作。控制器与扩散智能体独立训练:
- 骨干为 ImageNet 预训练 ResNet-18,CVAE 结构(BERT 式编码器 + DETR 式解码器),动作维度 8(7 关节 + 1 夹爪开合);4 路相机输入(wrist/front/right/left,256×256)。
- 训练技巧:控制器只在”随机背景 + 真实目标球”上训练(不看真实 RGB 观测),强迫其只跟目标球、忽略场景上下文;语言条件用 FiLM 层(承袭 MT-ACT);数据增强用随机裁剪、颜色抖动、弹性变换、高斯噪声;夹爪开合用交叉熵损失,关节动作用 L1 损失。
- 相对原版 ACT 的修改:加数据增强(原版无)、滑动窗口采样保证每 epoch 全数据覆盖(原版稀疏采样)、夹爪用交叉熵而非 L1、关闭时序集成平滑(发现平滑会让轨迹过度平滑、损失精度和纠错能力)、用解码器最后一层特征而非第一层。
- 关键超参:动作序列 K=20,执行视界 20,编码器 4 层/解码器 6 层/8 头/前馈维 2048/隐藏维 256/dropout 0.1,学习率 1e-5,权重衰减 1e-4,batch size 96,1000 epoch。
- 推理时控制器在 NVIDIA RTX 3090 上运行约 50 Hz,接收扩散智能体给出的目标图,预测 K 个关节动作并执行,然后以闭环方式重新查询扩散智能体。
作者强调该框架对控制器实现无强绑定,理论上 Diffusion Policy 或 RL 方法都可替代 ACT,但实测 ACT 推理更快、训练更稳定。
数据
纯行为克隆,无额外数据采集/增强来源,示范数据本身即渲染监督信号:
- 微调数据构造:对每条专家示范,随机采样观测时间步 t 与 t+K 目标时间步,取该时刻各关节的正运动学 6-DoF 位姿,渲染成球叠加到观测图上,组成 image-to-image 数据集(输入=RGB+语言,输出=同图+目标球)。
- RLBench 仿真:从 RLBench 100 个任务中挑出 25 个偏好非线性/平滑运动(对末端执行器控制或运动规划器不友好)的任务,如 open box、open microwave。每任务仅用 variation0(简化训练量),生成 50 条训练示范 + 50 条评测 episode;多任务智能体在全部 25 任务上联合训练,每任务用最后三个 epoch 检查点各评 50 次episode,即每任务 150 次、25 任务共 3750 episode评测量。
- 真实机器人:9 个真实任务,每任务 50 条示范,用类 ALOHA 的主从遥操作(leader-follower Franka)在关节空间镜像采集,视觉观测与关节状态以 30 FPS 记录;相机为 4 个 Intel RealSense D415(2 个末端腕部相机 + 2 个外部固定相机:front、right shoulder),外参用 easy_handeye(ROS)标定。
- 数据效率消融:仿照 R&D 做网格状位姿采样以最大化工作空间覆盖,发现仅用 25 条示范即可达到峰值性能的 80%。
- Colosseum 扰动测试:复用同一批已训练模型(无额外训练数据),在 6 类扰动配置下评测——随机物体/部件颜色、干扰物、光照颜色与亮度变化、随机桌面纹理、随机场景背景、相机位姿变化。
训练方法
两阶段流水线分别独立训练(论文强调控制器不需要看真实 RGB 观测,只需要目标球 + 随机背景):
- 扩散智能体训练:标准 ControlNet 训练损失(对 latent 加噪后预测噪声的标准 L2 扩散损失)。基座 SD-Turbo,学习率 1e-5,权重衰减 1e-2,200 epoch,batch size 24,图像 512×512(tiled),训练调度器 DDPM,测试调度器 Euler Ancestral Discrete,学习率 warmup 500 步(常数调度),推理扩散步数 10(RLBench 设置);四路相机球半径分别为 wrist 3cm、front 8cm、right/left 6.5cm。目标时间步 K=20(对应 RLBench 20Hz 采样率下预测足够长的轨迹)。
- 控制器训练:L1 损失(关节动作)+ 交叉熵损失(夹爪开合),细节见”模型架构”。
- 消融关键结论(在 take lid off / open box / slide block 3 任务上训练评测):
- 绝对关节位置是最优动作模式(delta 动作累积误差;IK 末端执行器控制难处理非线性轨迹;关节位置也更利于全身控制和跨本体扩展)。
- 更长动作序列预测至关重要:K=20 最优(对应 RLBench 20Hz 采样)。
- 更长执行视界避免误差累积:执行全部 20 步动作效果最好;执行视界太短会导致动作生涩、把机器人带入陌生状态。
- SDXL 优于 SD:更大基座模型有更强建模能力。
- 分块扩散在保持性能的同时提升生成速度:4 张图分块生成需 0.2 秒,逐张生成需 0.56 秒,两者性能相近,但分块生成在更大范围任务上多视角一致性更好。
- 球体条纹去掉后性能减半:条纹作为旋转角度的”刻度”,帮助 Stable Diffusion 把关节旋转学成视觉模式。
- 全上下文控制器(用真实 RGB 观测而非随机背景训练)会过拟合:倾向直接用观测预测动作、忽略目标球,损害性能与泛化。
- ACT 优于 Diffusion Policy 作为控制器:ACT 推理耗时 0.02 秒,Diffusion Policy(20 扩散步)耗时 0.1 秒。
- 5 步扩散或更多即可:借助 SD-Turbo,0.2 秒内可用 5 步扩散生成目标图。
- “尝试但未奏效”的设计(论文附录 K,值得记录的负结果):固定间隔(而非连续 t+K)预测目标球,会迫使控制器用全上下文训练、反而忽略目标;用带八分色块+黑点的更复杂球体纹理不如简单条纹球;离散化关节动作(RT-2 式分箱)轨迹更平滑但精度不足;把当前关节状态也渲染成球输入扩散模型,反而因遮挡视觉信息使性能显著变差;给控制器提供目标球的二值分割掩码,无明显增益;用 DepthAnything 生成深度图替代 RGB 作为 ControlNet 条件,效果持平或更差。
Infra(训练 / 推理工程)
- 训练硬件:扩散智能体(Genima 与 SuSIE 基线)及 3D Diffuser Actor 基线均在**单张 NVIDIA A100(80GB VRAM)上训练;控制器在单张 NVIDIA L4(24GB VRAM)**上训练(README 另注需 120GB 系统内存)。
- GPU 数量/GPU-hours/并行策略:论文未披露训练卡数、总 GPU-hours 或分布式并行方案;README 说明扩散智能体因基于 HuggingFace diffusers 天然支持多 GPU 训练,但控制器(RoboBase 实现)仅支持单 GPU。
- 精度:论文正文未给出训练精度;GitHub 提供的训练脚本示例使用
--mixed_precision=fp16 --variant=fp16(仓库配置,非论文正文披露的数值)。 - 推理速度/频率:
- 扩散智能体分块生成:A100 上 5 Hz、RTX 3090 上 4 Hz(生成 4 张目标图一次)。
- 控制器推理:RTX 3090 上约 50 Hz。
- 扩散智能体明显慢于控制器(5 Hz vs 50 Hz),是论文明确指出的局限之一,会导致响应迟钝和误差累积。
- 真实机器人评测推理用 NVIDIA RTX 3090(24GB VRAM)。
- 实时性对比(消融):分块扩散生成 4 图 0.2 秒 vs 非分块逐张生成 0.56 秒;ACT 控制器推理 0.02 秒 vs Diffusion Policy 控制器(20 扩散步)0.1 秒。
评测 benchmark
RLBench 25 任务(Table 1,多任务智能体,每任务 150 次评测取平均成功率 %):
| 方法 | 平均成功率 |
|---|---|
| Genima | 49.6 |
| ACT | 39.6 |
| SuSIE | 21.8 |
| Diffusion Policy | 2.9 |
| 3D Diffuser Actor(3D 先验基线) | 73.8 |
- Genima 在 25 项任务中 16 项超过 ACT(尤其是有遮挡的任务如 open window、复杂运动如 turn tap);23/25 超过 SuSIE(SuSIE 难以画出动态场景像素级细节);25/25 超过 Diffusion Policy(Diffusion Policy 在单任务 take lid off 上可达 75% 成功率,证明实现无误,但难以扩展到 25 任务的多任务联合训练)。
- 相对 3D Diffuser Actor(依赖深度/关键点/运动规划器的 3D next-best-pose 代表性基线):Genima 在 6/25 任务反超(如非线性轨迹的 open box、open door,以及小物体的 turn on lamp),另有 3 项任务差距在 3% 以内(insert usb、play jenga、toilet seat up);3D Diffuser Actor 在多数任务上仍领先。
- Colosseum 6 类扰动测试(同一批已训练的 Genima/ACT 智能体,零额外训练):论文报告 Genima 在物体颜色、干扰物、光照、桌面纹理扰动下性能下降极小(涌现出”把场景复原为训练画风”的属性),而 ACT(即便用 ImageNet 预训练 ResNet 初始化)显著过拟合、性能大幅下降;两种方法在相机位姿变化下均失败泛化。(具体数值以图表形式呈现,正文未给出逐类的数字表格。)
- 真实机器人 9 任务(Table 2,5 次评测 episode 均值,%):
| 任务 | ID Genima | ID ACT | OOD Genima | OOD ACT | OOD 扰动类型 |
|---|---|---|---|---|---|
| lid off | 80 | 60 | 60 | 20 | 新锅 |
| place teddy | 100 | 80 | 100 | 60 | 新玩具 |
| elbow touch | 80 | 40 | 60 | 40 | 新背景 |
| hang scarf | 40 | 60 | 60 | 20 | 新围巾 |
| put marker | 40 | 40 | 40 | 20 | 移动物体 |
| slide book | 100 | 20 | 100 | 0 | 更暗光照 |
| avoid lamp | 40 | 0 | 0 | 0 | 新障碍物 |
| lift bag | 80 | 60 | 40 | 40 | 干扰物 |
| flip cup | 20 | 80 | 20 | 40 | 新杯子 |
真实机器人上 Genima 在分布外泛化上普遍优于 ACT(如 slide book OOD 100% vs 0%),但 flip cup 上 ACT 明显更强(ID/OOD 均 80/40 vs Genima 20/20)。
创新点与影响
- 核心贡献:把机器人动作生成第一次直接建模为”图像生成”问题——不生成目标观测(SuSIE 路线)、不做数据增强(GenAug/ROSIE 路线)、不提取特征喂给 3D 网络(GNFactor/DNAct 路线),而是让互联网预训练的扩散模型直接”画”出动作本身,使动作模式与视觉模式对齐。
- 验证的关键现象:(1) 纯 RGB-to-joint、无 3D 先验(深度/关键点/运动规划器/任务专属场景边界)的方法可以逼近有这些先验的 3D next-best-pose 方法性能;(2) 图像空间与动作空间对齐带来空间外推能力(Figure 5,ACT 在训练数据稀疏的区域失败,Genima 能外推);(3) 互联网预训练扩散模型带来的涌现鲁棒性——对物体颜色、光照、背景纹理扰动有”自动复原为训练画风”的倾向,这是 ACT 等纯判别式视觉运动策略不具备的性质。
- 论文自陈局限(Conclusion + Appendix J):(1) 只是行为克隆,只能蒸馏专家行为、不能发现新行为;(2) 依赖相机外参标定来渲染目标,假设机器人本体在某个视角下始终可见,遮挡严重或纯腕部相机场景可能不成立;(3) 扩散智能体推理频率(5Hz)明显低于控制器(50Hz),响应迟钝、易累积误差;(4) 生成新目标图后偶有动作生涩(尝试时序集成平滑但反而损害纠错能力);(5) 控制器有时无法跟随目标;(6) 对物体大幅旋转的任务表现差(phone on base 仅 19% vs 3D Diffuser Actor 94%);(7) 继承 Stable Diffusion/ImageNet 预训练的社会偏见等安全隐患,作者建议引入 safety guidance、分布外检测分类器和人机协同监督。
原始链接
- arXiv: https://arxiv.org/abs/2407.07875
- PDF: https://arxiv.org/pdf/2407.07875
- 项目主页: https://genima-robot.github.io
- GitHub: https://github.com/MohitShridhar/genima
- 预训练检查点(25 任务): https://github.com/MohitShridhar/genima/releases/download/1.0.0/25_tasks.zip
- 预训练检查点(3 任务,消融用): https://github.com/MohitShridhar/genima/releases/download/1.0.0/3_tasks.zip
一手源存档(sources/)
- genima—github-readme — GitHub README 快照(sources/embodied/2024/genima—github-readme.md,安装/训练/评测流程、硬件需求、FAQ)
- genima—project-page — 项目主页快照(sources/embodied/2024/genima—project-page.md,摘要、方法图示说明、结果展示页文字)
- arXiv 2407.07875 全文(HTML)已通读,原文 PDF 不入 git,引用见上方 arXiv 链接