Mem-World:给操作世界模型装一个「4D 表面记忆」
🎯 为什么重要:操作世界模型的「失忆症」
动作条件世界模型(action-conditioned world model)正成为机器人学习的「虚拟仿真器」:给它一个动作,它生成一段「按这个动作,相机会看到什么」的视频。可以用来 ① 评估 policy 不用上真机、② 生成合成数据训练 policy。
但在机器人操作场景里,它有个致命问题——「失忆」:
· 操作场景标配「wrist 相机 + 第三方相机」多视角。wrist 视角信息最浓(直视接触区),但它跟着机械臂走——大幅 egocentric 运动 + 频繁被末端执行器/物体遮挡。
· 结果:当前帧根本看不到刚才看到的东西(比如盖子被抓手挡住了)。autoregressive 视频生成器只能基于最近几帧预测未来——一旦之前看到的东西再次出现,模型要么忘记它存在,要么 hallucinate 一个错的。
· 任务越长越严重:pick 2 objects to 2 targets 这种长程任务,wrist 相机会来回扫,每次回访都应该「认出」之前的目标——现有模型做不到。
现有方案都有缺陷:
💡 核心思想:把「历史帧」钉在「带时间戳的 3D 表面」上
Mem-World 的核心创新是 W-VMem(Wrist-view-centered Surfel-indexed View Memory)。它继承自 VMem(导航场景的工作),但针对操作做了三个关键改造:
每个 surfel:$s_k = (p_k, n_k, r_k, t_k, m_k)$
3D 位置 + 法向 + 半径 + 创建/合并时间集 + 是否被操作物体标志
关键打分函数(公式 2)综合三个因素:
$\text{score}(s, t) = \frac{\langle n_s, \bar{v}_w\rangle}{1+d_s}\cdot \ln(e+m_s)\cdot\left[\lambda_{\min} + (1-\lambda_{\min})\cdot 2^{-\frac{T-t}{H}}\right]$
三个因子分别表示:① 几何可见性(法向对齐相机方向 + 距离倒数);② 任务相关性(被操作物体加分);③ 时间新鲜度(指数衰减)。NMS 防止「wrist 在被操作物体上方来回盘旋」时所有帧都被选上。
🛠️ 工程化:4 个让操作场景真正 work 的设计
| 设计 | 心智 | 为什么必要 |
|---|---|---|
| ① 把 4D 时间属性塞进 surfel | 每个 surfel 带 $t_k$(创建/更新时间集)和 $m_k$(是否被操作物体) | 导航场景的 VMem 假设场景静态;操作里物体被移动,必须区分「这是哪一时刻看到的」+「这是不是任务相关物」,否则检索会混 |
| ② 用动作推未来 wrist 位姿 | 给定 action chunk,正运动学算末端位姿 → 刚体变换得 wrist 位姿 | VMem 假设相机位姿已知(导航里有里程计);操作里必须从动作推。Mem-World 用「未来动作 chunk 的平均位姿」做单次渲染,避免每帧都算 |
| ③ 只用 wrist 帧更新 W-VMem | 第三视角的全局 FoV 会让所有 surfel 在所有时刻被「反复刷新」,时间戳失效 | 这是论文最反直觉但最关键的设计——要保住「surfel 时间戳 = wrist 实际看到它的时间」这个语义。一旦让第三视角也更新,所有 surfel 的 $t_k$ 都被填满,检索就退化成无时间信息 |
| ④ 逐时刻单独渲染 + NMS 去冗 | 不像 VMem 联合渲染整个 surfel 集,而是每个历史时刻 τ 单独渲染打分;再用 NMS 选 top-K | 不同时刻的 surfel 对应不同交互阶段,联合渲染会「平均掉」时序线索;NMS 防止 wrist 在同一区域盘旋时选一堆相似帧 |
想象你在做 pick 任务:wrist 相机先看了一眼盖子(盖子 surfel 的时间戳 = 第 3 秒),然后抓手把盖子挡住了 5 秒,最后 wrist 又看到盖子。
如果让第三视角也更新 surfel——第三视角全程都看得到盖子——那盖子 surfel 的 $t_k$ 会被填成「几乎所有时刻」。结果:检索「过去哪些 wrist 帧看到过盖子」时,答案变成「全部」,没有任何区分能力。
只用 wrist 更新,$t_k$ 真实反映「wrist 视角下何时看到」,检索才能找到「上一次 wrist 视角最接近未来视角」的那一帧。
📊 关键结果:一致性、评估、训练三重红利
| 实验 | 对比 | 数字(源自 PDF) |
|---|---|---|
| 一致性 - 仿真 rollout | Table 1:34 个 memory-stress 轨迹(遮挡/往返运动),20 步 autoregressive | wrist 视角:Ctrl-World PSNR 17.34 → Mem-World 19.21(+1.87);Obj. Consistency 0.476 → 0.524;第三视角 PSNR 23.17 → 25.30 |
| 记忆机制 ablation | Table 2:Short-term / Stride / W-VMem | wrist PSNR:Short-term 15.04 → Stride 17.06 → W-VMem 18.97。Fig.3 可视化:W-VMem 让勺子在遮挡后重新出现,其他方法 hallucinate |
| 策略评估保真度 | Fig.4:5 任务(2 短 + 3 长),π0 和 π0.5 真机 vs 世界模型相关性 | Ctrl-World Pearson r=0.85 → Mem-World r=0.97(+14.5%)。Ctrl-World 在长程任务上「严重失真」(如叉子被扭曲) |
| 策略训练提升 | Fig.5:用 Mem-World 生成成功轨迹反哺 π0.5 | 3 个长程任务平均成功率:58% → 72%(+14pt 绝对提升) |
| 训练成本 | §4 实现细节 | 11K 轨迹子集,只 fine-tune 时间注意力层,8×H100 2 天完成(轻量) |
🌐 在领域中的位置
谱系定位:Mem-World 处于「action-conditioned 世界模型」轴的记忆机制分水岭。它把导航场景的 surfel memory(VMem, NaVid 等)改造成操作场景的版本:增加时间属性、用动作推算相机位姿、约束更新源。它不试图改进视频生成 backbone(用 Ctrl-World 现成的),而是改进「上下文检索」——证明了「记忆机制 > 生成器容量」对长程一致性更重要。同期工作 Cosmos Predict 2.5、Interactive World Simulator 走的是「单视角 + 大模型」路线,没解决多视角长程一致性问题。
❓ 常见误区
世界模型和强化学习的 world model(Dreamer 类)一样吗?
不一样。Dreamer 类是 latent state 世界模型——在 latent 空间预测下一步状态,用于 actor-critic 训练。Mem-World 是视频生成世界模型——直接生成像素级未来帧,用于策略评估、合成数据、可视调试。两者哲学相反:前者压缩到 latent 求速度,后者保像素求保真。
surfel 是什么?为什么不用 NeRF / 3DGS?
surfel(surface element)= 一个带位置、法向、半径的局部圆盘,是经典的 3D 表面表征(2000 年代就有)。论文选 surfel 而非 NeRF/3DGS 的原因:① 轻量——每个 surfel 就几个数;② 易增量更新——加新观测直接 merge;③ 易打分——几何属性(法向、深度)天然可计算。NeRF/3DGS 重训练成本太高,不适合 rollout 中的实时检索。
为什么 VLM 来标记「被操作物体」?
记忆打分公式里有 $m_s$ 因子,给「任务相关物体」的 surfel 加分。识别哪些是任务相关——比如指令说「把勺子放进碗里」,VLM 从指令 + 初始帧推断「勺子、碗」是 relevant,然后 segmentation 模型分割这些物体,对应 surfel 的 $m_s$ 置 1。这让检索优先照顾「真正在操作的东西」而非背景。
用它做策略评估,真的能替代真机吗?
不能完全替代。论文承认 Mem-World 的绝对成功率系统性低于真机(差距比较均匀)。它的价值在于相对排序——「policy A 比 policy B 好」的判断和真机一致(r=0.97)。所以它适合做policy 筛选(从 10 个候选选 2 个上真机),而非最终验收。
它的 limitation 是什么?
论文 §5 明确:① 首帧质量敏感——如果初始 wrist 帧被遮挡或视野差,整个 rollout 一致性就崩(无源之水);② 没显式建模物理——它是视频生成模型,不真理解「物体被抓住才能拿起」,所以接触富任务的力学一致性还是弱项。后续方向:多视角记忆互补 + 触觉信号融合。