一句话定位

Meta FAIR 把 habitat 从”能走但不能碰”的静态扫描仿真升级为可交互的刚体物理仿真——新增 ReplicaCAD(92 件艺术家复刻的公寓物件,含可开合的抽屉/冰箱)+ 深度 C++ 集成的物理渲染引擎 H2.0(单进程 1200 SPS、8 GPU 节点 25,734 SPS,850× 实时,比同代仿真器快 100 倍以上)+ Home Assistant Benchmark 三件套,并用它系统对比强化学习整体策略与经典 sense-plan-act 管线在长程家务整理任务上的表现,得出”整体 RL 学不动长程任务、层级化 RL 更强但有交接问题、SPA 更脆”的结论。NeurIPS 2021。

背景与定位

本文是 habitat(Habitat 1.0,ICCV 2019)的正统续作,历时约 2 年开发。Habitat 1.0 解决的是”仿真跑得快”(PointGoal 导航、静态场景、智能体只能移动不能改变环境),但静态 3D 扫描无法支持物体重排——这正是 Habitat 2.0 要补的洞。论文把这类任务定位为 object rearrangement 的具体化:给定每个目标物体的初始/期望 3D 质心位置(GeometricGoal 规范,沿用 Batra et al. 的重排列框架),机器人从头/臂 RGB-D 相机和本体感觉出发、不借助任何特权状态信息完成任务,作者称其目标是做出移动操作版的 PointNav。

与同代仿真器的定位差异:AI2-THOR/threedworld-tdw/iGibson 靠 Unity/PyBullet 等”homebrew”高层集成,速度停留在 10–400 SPS;sapien 也走 PhysX 但聚焦物体级操作;H2.0 选择深度低层(C++)集成渲染(Magnum)与物理(Bullet),以牺牲部分仿真能力(不支持可变形体、流体、布料、绳索、物理形变、音频/触觉)换取两个数量级的速度提升。与同期 isaac-gym(GPU-resident PhysX + tensor API,聚焦单机器人高自由度灵巧操作的大规模并行 RL)相比,H2.0 走的是 CPU 物理 + GPU 渲染的深度流水线打通路线,聚焦房屋尺度的多物体、多容器长程重排任务而非单环境海量并行。

模型架构

不是神经网络模型论文,“模型架构”栏解读为仿真引擎的系统架构与其上训练的智能体网络结构。

H2.0 引擎的三个核心设计原则

  1. 局部化物理与渲染(Localized Physics and Rendering):假设机器人是唯一能施加非重力外力的实体,对远处物体不重算物理;用 navmesh 让机器人底盘做运动学移动(不仿真轮-地接触,且已验证能很好地迁移到真实世界);利用物体的物理”睡眠”状态缓存场景图变换矩阵与视锥剔除结果;把相对底盘固定约束的物体部件(如柜壁)当静态物体处理。
  2. 交错渲染与物理(Interleaved rendering and physics):物理引擎(Bullet)跑在 CPU、渲染(Magnum)跑在 GPU,两者耗时相近却串行执行造成硬件空闲。做法是把策略从 π(a_t | o_t) 改为 π(a_t | o_{t-1})——智能体”活在过去、行动在未来”,即基于上一时刻观测预测当前动作,从而打破 (s_t,a_t)→s_{t+1} 与 s_t→o_t 之间的顺序依赖,让 CPU 生成 s_{t+1} 与 GPU 生成 o_t 同时进行。附带好处:更接近生物感知延迟(人类视觉系统约 150ms 延迟)、有利于 sim2real 迁移。
  3. 简化复用(Simplify and reuse):对全部 3D 资产做 GPU 纹理压缩(Basis “supercompressed” 格式),带来 4×–6× 显存降低;预取并缓存物体资产以减少场景重置耗时;对物体做凸分解、分离碰撞网格与高保真视觉网格,支持用户指定简化碰撞几何(包围盒/按部件或合并凸包)。

智能体(MonolithicRL)网络结构:视觉编码器(CNN,处理 RGB/D)+ 状态编码器(本体状态 + 目标坐标嵌入)→ 两路特征拼接送入 LSTM → actor head 输出末端执行器位移与抓取动作、value head 输出价值估计。动作空间为末端执行器 30Hz 增量位置控制(δx,δy,δz,单步最大位移 1.5cm),经 PyBullet 逆运动学求解器转为各关节目标、PD 控制(关节电机最大冲量 10Ns,位置增益 Kp=0.3)执行;抓取用”抽象抓取”——末端执行器 15cm 内输出正标量即把最近物体吸附进平行爪。HAB 任务额外加线速度/角速度底盘控制。

配置数字:Fetch 机器人头部+手臂各 1 个 RGB-D 相机(90° FoV,128×128 像素);每仿真步 = 1 次渲染 + 4 次物理子步(各 1/120 秒),共 1/30 秒(对应 30 FPS 相机 + 120Hz 控制的常见机器人实验配置)。

数据

ReplicaCAD(论文正文报告的规模):以 Replica 数据集的 “FRL-apartment” 扫描空间为蓝本,由专业 3D 艺术家团队重建,覆盖 6 个房间的近全部物体(家具、厨具、书籍等)共 92 件,加静态背景(地板墙体),投入 900+ 人时。每件物体标注质量/摩擦/恢复系数等物理参数、碰撞代理形状、语义标注;部分家具(冰箱、橱柜)通过子部件分割 + URDF 关节配置做成”可关节化”(门绕轴旋转/滑动)。艺术家在 6 个原始房间基础上又创作 5 个”宏观变体”(大家具重新布局),每个宏观变体再做 20 个”微观变体”(局部家具位置互换),得到 105 个场景布局(论文摘要另处引用为”111 个独特布局”,两处数字并存,可能因统计口径不同)。此外用程序化流程往标注好的支撑面/容纳空间中动态插入 ReplicaCAD 或 YCB 物体制造杂物,先离线计算物理稳定的摆放再运行时加载。当前官方发布版本(ReplicaCAD Interactive / baked-lighting,HF 上的 ai-habitat/ReplicaCAD_dataset)只放出 105 个变体中的 84 个,余下 21 个(1 宏观 + 20 微观)作为 challenge 测试集留存;发布许可证为 CC BY 4.0(论文正文原表述为面向非商业用途的 CC-BY-NC,发布时放宽)。

训练/评测用物体:YCB 数据集的 kitchen/food 类别,训练用 9 种(chef can、cracker box、sugar box、tomato soup can、tuna fish can、pudding box、gelatin box、potted meat can、bowl),评测泛化到 4 种未见物体(apple、orange、mug、sponge)。Pick 任务训练用 7 种容器(counter、sink、light table、cabinet、fridge、dark table、sofa),评测泛化到 3 种未见容器(tv stand、shelves、armchair)。

HAB 任务的数据规模:TidyHouse 每回合 5 个目标物体分布在 6 种可能容器中(不含冰箱/抽屉),任务时长上限 5000 步;PrepareGroceries 从冰箱取 2 件放柜台、放回 1 件,4000 步;SetTable 从抽屉取碗、从冰箱取水果并组合摆盘,4500 步。评测均使用未见布局与物体配置(不能直接记忆)。MonolithicRL 训练使用 5000 个任务配置,评测集为新物体摆放。

Sim-vs-real:全流程仿真训练,论文未报告真机部署实验;architecture 设计(navmesh 底盘运动学、观测延迟 1 步)明确是为未来 sim2real 迁移埋下的选择,但本文未做真机验证。

训练方法

Pick 基座任务的两类方法

  1. MonolithicRL:端到端 RL 训练的”传感器到动作”策略,用 isaac-gym 之外另一条主流范式 DD-PPO(Decentralized Distributed PPO)训练,视觉输入 CNN 编码,拼接本体感觉/目标坐标嵌入,喂入 LSTM,actor-critic 输出。奖励函数 r_t = 20·I_success + 5·I_pickup + 20·Δo_arm·I_¬holding + 20·Δr_arm·I_holding − max(0.001·C_t, 1.0),其中 Δo_arm 为末端执行器到目标物体欧氏距离的变化量,Δr_arm 为末端执行器到静息位置距离的变化量,C_t 为碰撞冲力。
  2. SensePlanAct (SPA):深度传感器累积三维点云做碰撞查询,用 Bidirectional RRT(RRTConnect,OMPL 库实现)在机械臂关节配置空间做运动规划;另设 SPA-Priv 变体,给予场景几何的特权信息与完美控制器(运动学直接设置到目标关节位姿)作为性能上界。

HAB 长程任务的方法扩展:引入基于 STRIPS 的高层任务规划器,把长程目标拆解为 Pick / Place / Open fridge / Close fridge / Open drawer / Close drawer / Navigate 的技能序列(例如 SetTable 需要把”开抽屉→取碗(Navigate+Pick)→放碗(Navigate+Place)→关抽屉(Navigate+Close)→开冰箱(Navigate+Open)→取水果(Navigate+Pick)→放水果(Navigate+Place)→关冰箱(Navigate+Close)“逐一拆成共 15 个 Navigate/Pick/Place/Open/Close 原子动作)。对应三种方法:TaskPlanning+SkillsRL (TP+SRL)(每个技能独立用 RL 训练,与 Pick 任务中的 MonolithicRL 架构一致,只是输入单个 3D 位置)、TaskPlanning+SensePlanAct (TP+SPA)(除 Navigate 用学出的导航策略外,其余技能均用 SPA 管线;因未解决关节容器开合的无模型检测/约束规划问题,SetTable 未报告 TP+SPA 结果)、MonolithicRL(直接扩展 Pick 版本以接受一组起止坐标列表,并用”按预定技能顺序推断当前处于哪个子技能”的方式提供稠密奖励引导)。

DD-PPO 关键超参(Appendix B):16 个并行进程/GPU × 4 GPU = 64 进程,preemption threshold 60%;PPO value loss 系数 0.1、entropy 系数 0.0001、2 个 mini-batch、每次更新 2 个 epoch、clip 参数 0.2;Adam 优化器 lr=0.0001,训练全程线性衰减;梯度范数裁剪阈值 0.5;训练 100M 步经验(3 个随机种子)。导航技能的动作空间为离散化的线速度(−0.5→1,4 档)× 角速度(−1→1,5 档)共 20 格,含 stop 动作;论文发现学习终止条件比较困难,学出的终止判据比理想终止导致约 20% 的成功率下降。

Infra(训练 / 推理工程)

仿真基准测试硬件:双路 Intel Xeon Gold 6226R(合计 32C/64T)+ 8× NVIDIA GeForce 2080 Ti;单 GPU 基准把进程限制在单颗 CPU 的 8C/16T 内(模拟单 GPU 工作站),单 GPU 多进程用 16 进程,多 GPU 用 64 进程(每 GPU 8 进程);编译用 python-3.8 + gcc-9.3;每项数字取 10 次运行均值 + 95% 置信区间。

仿真吞吐(Table 2,SPS,越高越好)

  • 单进程:Idle 场景 1191 SPS(全优化)/ 781(去渲染优化)/ 271(去物理优化)/ 242(全部优化关闭);Interact 场景 510 / 282 / 358 / 224。
  • 单 GPU 多进程(16 进程):Idle 8186 / 6709 / 2290 / 2223;Interact 1660 / 1035 / 1606 / 941。
  • 8 GPU(64 进程):Idle 25734 / 18844 / 7942 / 7192;Interact 7699 / 5517 / 6119 / 4829。 对照 iGibson(同用 PyBullet/Bullet 物理引擎)在同类 Idle 设置报告 100 SPS:H2.0 单进程全关优化仍快 240%(242 vs 100),全开优化快约 1200%(1191 vs 100)。定性对比(非同硬件同资产,仅数量级参考):AI2-THOR 60/30 SPS(idle/interact)、SAPIEN 200/400 SPS(私下沟通)、TDW 5 SPS(interact)、RLBench 1–60 SPS。8 GPU 节点 25,734 SPS 对应 850× 实时,官方博客口径为约 26,000 SPS/8200 SPS(单 GPU)。100× 加速对应把 6 个月实验周期压缩到 2 天以内。

并行度与训练算力:DD-PPO 训练用 4 GPU × 16 进程 = 64 进程;训练机器 GPU 型号为 Titan Xp、2080 Ti、RTX 6000(混合机型,未给出具体 GPU-小时或单一型号台数)。

精度:论文未披露训练精度(fp32/fp16)。

已知瓶颈(作者自陈):整体仿真+训练循环仍受并行环境同步、episode 重置时资产重新加载拖累;渲染快于物理时仍有 GPU 空闲时间未被吃满,原因是当前 RL 训练系统期望在 a_t 后立即拿到 r_t,而 r_t 依赖 s_t、a_t、s_{t+1},因此推理仍需等 s_{t+1} 与 o_t 都就绪——彻底重组渲染+物理+RL 三者交互被列为未来工作。

边缘部署 / 真机推理延迟:未披露(论文未做真机实验)。

评测 benchmark

Pick 任务系统泛化研究(Table 3,600 回合评测,MonolithicRL 跨 3 seed)——四列依次为 Seen / Unseen Layouts / Unseen Objects / Unseen Receptacles:

  • MonolithicRL:91.7±1.1 / 86.3±1.4 / 74.7±1.8 / 52.7±2.0
  • SPA:70.2±1.9 / 72.7±1.8 / 72.7±1.8 / 60.3±2.0
  • SPA-Priv:77.0±1.7 / 80.0±1.6 / 79.2±1.7 / 60.7±2.0

MonolithicRL 对未见布局泛化较好(91.7→86.3%),显著优于 SPA(72.7%)甚至 SPA-Priv(80.0%);对未见物体泛化打折扣(→74.7%,新视觉特征分布+新障碍几何);对未见容器泛化最差(→52.7%,shelf/armchair/tv stand 属于更受限的窄小空间,而训练容器如台面/桌子大多无此类约束)。

传感器消融(70M 步训练,500 回合评测未见布局):RGB 与 Depth 各种组合表现相近,D+ps 略优(比 RGBD+ps 高约 0.5%,比 RGB+ps 高约 2%);仅本体感觉(盲策略,ps only)达到 78% 成功率——令人意外,因为对未见布局盲策略理论上无法”看见”杂物,但学会了放慢手臂移动、靠触碰感知目标位置;定量上盲策略触发碰撞力阈值的频率是有视觉策略的 2 倍,抓错物体的频率是 3 倍。

HAB 长程任务结果(Figure 9,100 回合评测未见布局,成功率随所需交互步数呈递进曲线,非单一总成功率数字):

  • MonolithicRL 表现”极差”——能训出较好的单项技能(Pick/Place/导航/开抽屉),但缺乏架构上对任务结构的归纳偏置,始终未能设计出让技能自动串联完成长程任务的组合奖励与训练方案。
  • 学出的导航策略相比 oracle 导航有明显性能落差,说明”为操作导航”(需要找到可操作的合适站位)比纯 PointNav(给定可达目标坐标)更难。
  • 即使在较简单的 TidyHouse 上,所有 oracle-导航方法的成功率也随交互步数增加而逐步下降(误差累积)。
  • SPA 变体随任务复杂度上升明显更脆:oracle 导航下 TidyHouse 中 TP+SPA 优于 TP+SRL,但换成学出的导航后趋势反转;PrepareGroceries 中 TP+SRL 全面优于 TP+SPA(冰箱内窄小杂乱空间对感知构成挑战)。论文正文明确量化:TP+SPA 在 PrepareGroceries 中”找不到目标构型”与”在限定时间内找不到规划”两类失败发生频率均为 TidyHouse 的 3 倍。
  • SPA 失败归因分析(Appendix G.1,针对 TP+SPA/TP+SPA-Priv 配学出导航的设置,Fig.25):失败分三类——Target Plan(采样算法超时找不到能达成目标的无碰撞关节构型,PrepareGroceries 因需伸入冰箱而失败率更高)、Motion Plan(RRTConnect 运动规划阶段本身超时,30 秒超时阈值)、Execution(规划出的关节角序列执行失败)。该分析发现所有方法的 Motion Plan 失败率均为 0(一旦采样到目标关节构型,RRTConnect 总能规划出路径);TP+SPA-Priv 的 Target Plan 失败率反而更高(拥有完整场景几何信息使碰撞检查纳入更多障碍、采样更难),但其 Execution 失败率为 0(用的是完美控制器);TP+SPA 的 Execution 失败则源于不完美控制器与信息不全的规划(看不到的障碍物导致规划被判定成功却执行失败)。

命名 baseline:iGibson、AI2-THOR、SAPIEN、threedworld-tdw、RLBench(仿真吞吐对比);MonolithicRL、SPA、SPA-Priv、TP+SRL、TP+SPA、TP+SPA-Priv(任务方法对比)。

创新点与影响

贡献:①ReplicaCAD——首个艺术家复刻、可关节化、语义标注的房屋尺度交互数据集(900+ 人时);②H2.0——深度 C++ 集成物理与渲染的仿真引擎,靠局部化物理/渲染、交错物理渲染流水线、纹理压缩与资产缓存实现比同代仿真器快 100 倍以上的吞吐(单进程 1191 SPS、8 GPU 节点 25,734 SPS);③Home Assistant Benchmark——TidyHouse/PrepareGroceries/SetTable 三组长程移动操作任务,并系统对比 RL 整体策略与经典 SPA 管线,得出三条核心发现:flat RL 学不动长程任务链、层级化方法有技能”交接问题”、SPA 比 RL 更脆弱。

改变了什么:把 Habitat 从”仿真导航”平台扩展为”仿真操作+重排”平台,ReplicaCAD/HAB 之后成为具身操作研究的常用基准(后续 Habitat Challenge 2022 Rearrange 即基于此),并被 Habitat 3.0(2023,加入人类/avatar 协同)直接继承。H2.0 的”交错物理渲染”(π(a_t|o_{t-1}))思路也被论文自陈有利于 sim2real,呼应了后续对观测延迟建模的工作。

作者自陈的局限:①ReplicaCAD 仅以美国公寓为蓝本,不同文化/地区的家具布局与类型未覆盖,可能给下游具身助理带来代表性偏差;②整体仿真+训练循环仍受并行环境同步与场景重置资产重载拖累,GPU 存在结构性空闲时间(渲染快于物理时);③MonolithicRL 无法学会长程任务链;④层级方法的技能交接问题(导航到操作不便的位置、只部分打开抽屉、碰飞后续需要的物体);⑤SPA 处理未知关节容器的开合在当时是机器人学界公认的未解问题(检测/跟踪关节结构、无手工约束的全身规划、连续接触控制器),因此论文未对 SetTable 报告 TP+SPA。

原始链接

一手源存档(sources/)