论文笔记(一百二十二)PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation(一)
人类仅凭一眼观察以及对自身动作的预想,便能够预测三维世界将如何作出响应,而这种能力对于机器人操作同样至关重要。我们提出了 POINTWORLD,一个大规模预训练的三维世界模型,该模型将状态与动作统一表示在同一三维空间中,并以三维点流(3D point flows)的形式建模:在给定一张或多张 RGB-D 图像以及一段低层级机器人动作指令序列的情况下,POINTWORLD 能够预测每个像素在三维空间
PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation
文章概括
引用:
@article{huang2026pointworld,
title={PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation},
author={Huang, Wenlong and Chao, Yu-Wei and Mousavian, Arsalan and Liu, Ming-Yu and Fox, Dieter and Mo, Kaichun and Fei-Fei, Li},
journal={arXiv preprint arXiv:2601.03782},
year={2026}
}
Huang, W., Chao, Y.W., Mousavian, A., Liu, M.Y., Fox, D., Mo, K. and Fei-Fei, L., 2026. PointWorld: Scaling 3D World Models for In-The-Wild Robotic Manipulation. arXiv preprint arXiv:2601.03782.
主页: https://point-world.github.io/
原文: https://arxiv.org/pdf/2601.03782
代码、数据和视频: https://github.com/huangwl18/PointWorld
系列文章:
请在 《 《 《文章 》 》 》 专栏中查找
宇宙声明!
引用解析部分属于自我理解补充,如有错误可以评论讨论然后改正!
ABSTRACT
人类仅凭一眼观察以及对自身动作的预想,便能够预测三维世界将如何作出响应,而这种能力对于机器人操作同样至关重要。我们提出了 POINTWORLD,一个大规模预训练的三维世界模型,该模型将状态与动作统一表示在同一三维空间中,并以三维点流(3D point flows)的形式建模:在给定一张或多张 RGB-D 图像以及一段低层级机器人动作指令序列的情况下,POINTWORLD 能够预测每个像素在三维空间中的位移变化,以响应所给定的动作。通过将动作表示为三维点流,而非依赖于具体机器人本体的动作空间(例如关节位置),这种建模方式能够直接以机器人的物理几何结构为条件,同时自然地实现跨不同机器人本体的统一学习。为训练该三维世界模型,我们构建了一个大规模数据集,涵盖开放世界环境中真实与仿真的机器人操作任务,这得益于近年来三维视觉与仿真环境的发展;该数据集共包含约 200 万条轨迹、500 小时的数据,涉及单臂 Franka 机器人和双臂人形机器人。通过对主干网络、动作表示、学习目标、部分可观测性、数据混合、跨域迁移以及规模扩展等方面开展严格的大规模实证研究,我们总结并提炼了大规模三维世界建模的设计原则。凭借 0.1 秒的实时推理速度,POINTWORLD 可以高效地集成到模型预测控制(MPC)框架中,用于机器人操作任务。我们展示了,仅凭一个预训练模型权重,真实世界中的 Franka 机器人便能够完成刚体推动、可变形物体与关节物体操作以及工具使用任务,且无需任何示范数据或后续训练,全部仅基于一张在自然环境中拍摄的单幅图像。代码、数据集以及预训练模型权重将全部开源。
图 1. POINTWORLD 是一个大规模预训练的三维世界模型,它以静态点云以及与机器人本体无关的动作描述作为输入(该动作同样以三维点流的形式表示),从而预测整个场景的三维点流。 我们构建了一个大规模的三维动力学建模数据集,涵盖真实与仿真环境中的单臂、双臂、全身以及移动操作等多种交互形式。 通过细致而系统的评估,我们对三维世界模型规模化扩展的关键方法进行了严格研究。 在多样化数据上完成预训练后,仅凭一个模型、仅输入一张在真实环境中采集的 RGB-D 图像,便可在真实物理硬件上实现多种不同的操作行为,而无需额外数据或微调。
1) 这段话到底想解决什么问题?
机器人在真实环境里做事(推箱子、拉抽屉、擦桌子、拿布、清理垃圾……)最大的难点是:
- 世界不是静止的:你一动,物体会动、会滑、会倒、会变形。
- 真实环境复杂:厨房、桌面、地面、杂物堆,各种形状材质。
- 你不可能为每一种场景、每一种机器人、每一种动作都手写物理规则。
所以他们想做一个东西: 给机器人一个“会预言未来”的世界模型——你告诉它“现在世界长啥样 + 机器人要怎么动”,它就能预测接下来整个场景会怎么变化。
2) 这模型的输入输出是什么?(这是最核心的主线)
这段话的输入输出非常明确:
输入 A:静态点云(Scene Point Cloud)
你可以把“点云”理解成:
用很多很多 3D 小点拼出来的世界(桌面、物体、地面、墙……每个点有3D坐标,可能还有颜色)。图里写“RGB-D image”,意思是:用一张 RGB-D(彩色+深度)图像,就能算出一个点云。
输入 B:动作描述(Robot 3D Point Flows)
他们不是用“关节角、力矩”这种强绑定某个机器人的动作表达,而是用一种更“通用”的表达:
- 用机器人本体上的一些 3D 点(例如手臂、夹爪上的采样点)
- 用这些点将要怎么移动来表示动作(也就是“点的位移”)
这就是文中说的 embodiment-agnostic(与机器人本体无关):
不管你是单臂、双臂、人形、移动机器人,只要你能把“机器人会怎么动”表达成“这些点会怎么走”,模型就能理解。
输出:全场景 3D 点流(Full-scene 3D point flows)
“点流(point flow)”你可以把它当成:
每一个场景点,都会得到一个箭头(3D位移向量),告诉你它接下来会往哪儿走、走多远。
- 桌上的盒子会被推走 → 盒子上的点箭头都指向滑动方向
- 布被拉动 → 布上的点箭头呈现拉扯形变
- 抽屉被拉开 → 抽屉点云整体平移
- 甚至周围被挤压、碰撞导致的连带运动,也用点箭头表示
一句话总结输入输出:
输入:世界的“3D点照片” + 机器人动作的“3D点运动” 输出:整个世界里每个点“下一刻会怎么动”
1. Introduction
在非结构化环境中进行世界建模对于通用型机器人而言至关重要,其目标是根据机器人所看到的内容以及其计划通过身体执行的动作,预测世界将如何演化。 人类仅凭一次观察与一次抓取,便能够预测物体的形变、关节运动、稳定性与接触情况,这揭示了当世界建模目标在三维空间中以“预想动作”为条件时,能够捕捉到多么丰富的信息(见图 3)。 动作发生在物理规律所支配的空间与时间之中:我们的目标是在开放世界环境下,仅依赖感知输入,构建一个能够进行这种具有空间约束、以动作为条件的预测模型,这也是空间智能的终极目标之一 [1]。
图 3。在以三维机器人点流以及部分可观测的 RGB-D 作为条件时,用于物理交互的三维世界建模所具备的丰富监督信号。 该三维世界建模目标在享有稠密的像素级监督信号的同时,还编码了机器人操作中至关重要的一系列能力。 为了预测整个场景的演化过程,模型需要隐式地对感兴趣的物体进行分割,识别其材料属性和/或关节结构,为接触推理执行隐式的形状补全,将机器人—物体的交互传播至物体—物体的动力学关系中,并同时考虑重力的影响,而上述所有能力均被封装在该学习模型的一次前向推理过程中。
大量已有研究从互补的角度对世界建模问题进行了探索。 基于物理的模型 [2] 虽然能够实现高度精确的预测,但面临仿真到现实的差距问题,并且需要针对具体环境进行精细化建模。 基于学习的动力学模型 [3] 通过从观测到的交互中学习来缓解这一问题,但往往依赖于特定领域的归纳偏置,例如完全可观测性、物体性先验或材料属性设定。 与此同时,大规模训练的视频生成模型 [4] 虽然能够生成逼真的视觉预测,但缺乏显式的动作条件建模,并且在物理一致性方面往往表现不足。 有关近期综述可参见 Ai 等人 [5]。 尽管已有进展,但当前模型的预测能力与人类在真实环境中仅凭视觉观察和预想动作所能预见的结果之间,仍然存在明显差距。
我们的核心理念是通过统一表示来实现规模化:将状态与动作统一表示在同一种三维物理空间模态中。 状态由基于 RGB-D 采集构建的完整场景三维点云表示;动作则表示为从智能体自身本体实例化得到的稠密三维点轨迹,这些本体信息通常是先验已知的(例如机器人描述文件),因此可以在时间维度上进行预测。 在这种表示下,三维世界建模等价于对在机器人点序列扰动下的全场景三维点流进行建模:即在给定部分可观测的场景三维点以及动作点的情况下,预测在一定时间范围内每个场景点的位移变化。 尽管这一建模形式在概念上较为简单,但它通过动力学过程(即哪些部分发生运动、如何运动以及在何处运动)将原始感知观测与一种与本体无关的动作空间绑定在统一表示中,并通过机器人特定几何结构(如夹爪、手指)与部分可观测场景之间的交互,隐式地捕捉了物体性、关节结构以及材料属性。 通过对与目标无关的交互几何进行建模,POINTWORLD 旨在捕捉物理世界的“单一真实源”,并能够自然地从异构的机器人本体、任务与轨迹中进行学习(无论成功或失败),这一过程类似于“下一 token 预测”[6],但作用对象是三维空间与时间中的交互。 我们将该方法命名为 POINTWORLD。
为提供监督信号,我们构建了一个用于三维动力学建模的大规模数据集,涵盖数百个真实环境场景中的单臂、双臂及全身交互,同时覆盖真实与仿真两种域。 该数据集基于现有的机器人操作数据集 DROID [7] 和 BEHAVIOR-1K [8] 构建而成。 由于精确的三维标注对于捕捉物理交互中的精细接触至关重要,研究团队投入了大量精力构建了一套定制化流水线,用于从真实世界数据集中提取三维点流,这一过程得益于近年来在度量深度估计 [9]、相机位姿估计 [10] 以及点追踪 [11] 方面的进展。 借助该数据集,我们通过对主干网络结构、动作表示方式、学习目标、部分可观测性、数据混合策略、规模规律以及零样本与微调条件下的跨域迁移等方面进行严格研究,总结并提炼了大规模三维动力学学习中的关键设计决策。
为展示 POINTWORLD 在操作任务中的潜力,我们将其与模型预测控制器(MPC)相结合,用于真实机器人上的动作推断。 由于 POINTWORLD 能够在一次前向推理中、以实时延迟(0.1 秒)联合预测短时间动作片段内的场景动力学,因此它能够与基于采样的 MPC(例如 MPPI [12])实现自然且高效的集成。 我们表明,仅凭一个预训练模型权重,真实世界中的机器人即可完成刚体推动、可变形与关节物体操作以及工具使用任务,而无需任何示范数据或后续训练,且全部仅依赖一张在自然环境中采集的单幅图像。
Contributions. (i)我们提出了一个大规模预训练的三维世界模型 POINTWORLD,该模型在三维点流的统一表示中融合了状态与动作,并对其建模方案进行了系统而严格的研究。 (ii)我们构建并开源了一个高质量的大规模三维交互数据集,用于训练 POINTWORLD,总计约 200 万条轨迹或约 500 小时的数据。 (iii)我们证明,仅凭一个预训练的 POINTWORLD 模型,真实机器人即可从一张在自然环境中采集的 RGB-D 图像出发,完成多样化的操作任务,而无需额外的示范或训练。
2. Related Work
World Modeling. 世界模型 [13] 是一类预测模型,用于在给定当前状态与动作的情况下模拟未来状态,通常根据其状态—动作表示方式进行分类。 视频模型采用像素空间作为状态表示,通常通过光度重建方式 [4, 14–29] 或联合嵌入预测方式 [30, 31] 进行训练。 三维世界模型则作用于网格或显式表面表示 [32–38]、辐射场或高斯表示 [39–48],以及粒子表示 [3, 49–56]。 混合方法还在世界建模中进一步引入对层级结构的推理 [57–63]。 动作参数化形式涵盖从低层级的关节空间指令 [14, 64–70],到相机与导航运动 [71–78]、文本提示 [4, 79–83],以及二维线索 [84–94]。 机器人动作随后可以通过在线规划 [3, 12, 64, 95–97]、离线策略合成 [64–67, 98–100] 或逆动力学模型 [101–103] 生成。 POINTWORLD 使用三维点流作为共享的状态—动作表示,强调接触与几何而非外观;其以具有特定几何结构的机器人/夹爪三维动作为条件,相比二维线索能够建模超出可见区域的交互,并且仅需一张(或少量)输入图像(结合估计的深度),即可通过一个大规模预训练模型完成一次实时前向推理(见图 3)。
Dynamics Models in Robotics. 机器人领域中的动力学模型将世界模型具体化到机器人动作空间中。 这些模型包括基于物理的仿真器 [2, 104–108] 以及基于学习的方法 [3, 5, 33, 49–54, 69, 109]。 在机器人领域中,这些模型至关重要,它们支持策略学习 [110–112]、规划 [58, 113–116]、基于模型的强化学习 [64–67, 98–100]、探索与在线引导 [117–120]、安全过滤 [121, 122]、基于模型的设计与验证 [105, 123, 124] 以及策略评估 [46, 125–127]。 尽管现有动力学模型通常需要针对具体场景进行精细化建模 [5],我们的目标是预训练一个能够跨越多样真实环境进行泛化的单一动力学模型。 通过使用三维点流作为状态—动作空间,该模型以与本体无关的方式自然地涵盖了先前工作中使用的多种动作参数化形式,包括关节空间指令 [69, 109, 128]、末端执行器动作 [53] 以及运动基元 [3, 129],同时能够在真实环境中的部分可观测 RGB-D 图像上运行,而无需场景重建 [35],也不依赖物体性 [53] 或材料 [130] 的先验。
2D and 3D Flows for Manipulation. 流(或点轨迹)用于建立跨越空间与时间的对应关系,为感知与控制之间提供了一个强有力的接口。 随着点追踪技术的发展 [11, 131, 132],近期研究将其作为结构化表示,用于策略学习 [133–140]、奖励建模 [141–144]、(子)目标设定 [145],或作为视觉伺服的目标 [103, 146–150]。 在本工作中,我们利用三维视觉领域的最新进展——包括深度估计 [9]、相机位姿估计 [10] 以及点追踪 [11]——从大规模真实世界机器人操作数据集 [7] 中标注三维场景流(其中机器人点流由已知的机器人几何结构、运动学和本体感知信息获得),从而通过稳定的回归损失函数训练大规模三维世界模型,以捕捉开放世界环境中机器人与多样物体之间的交互。
3. Method
POINTWORLD做的事: 给它 当前世界的3D点云(从RGB-D来) + 机器人未来一小段时间要怎么动(从关节动作+URDF算出来的“机器人点流”),它就一次性预测:未来 H H H步里,场景里每个点会往哪里走(全场景3D点流)。 你可以把它当成:
“我把世界变成一堆3D粒子点;把机器人动作也变成一堆会移动的3D粒子点;把两堆点塞进同一个点云网络,让网络学会‘机器人怎么动会带着世界哪些点一起动’。”
我们将三维世界建模表述为以动作为条件的全场景三维点流预测(见第 3.1 节和图 2)。 随后,我们介绍 POINTWORLD 如何用于动作推断,并讨论其在本工作所探究的模型预测控制框架中的应用场景(见第 3.2 节)。
图 2。POINTWORLD 的整体概览。 在给定标定后的 RGB-D 数据、机器人关节空间动作以及机器人描述文件(URDF)的情况下,我们将动作转换为机器人点流,并与场景点云进行拼接,形成一个作为与本体无关交互几何的统一点云。 场景点通过冻结的 DINOv3 编码器进行特征提取,机器人点则使用时间嵌入进行编码,随后由点云主干网络预测整个场景的三维点流。
图2在讲什么
图2从上到下就是完整管线:
(1) 输入1:RGB-D观测(RGB-D Obs)
- 你拍一张RGB-D(彩色+深度)。
- 深度告诉你每个像素离相机多远,所以能反推出3D坐标。
- 这样你就能得到场景点云(scene points):桌子、物体、背景墙……一堆3D点。
(2) 输入2:关节动作+URDF(Joint Actions + Robot URDF)
- 关节动作:比如未来 H H H 步的关节角序列 q t + k {q_{t+k}} qt+k。
- URDF:机器人的结构说明书(每个关节连着哪根连杆、连杆形状、坐标系怎么连)。
有了这两样,你就能用正向运动学(Forward Kinematics)算出:
机器人身体表面上某些点,在未来每个时刻的位置会在哪里。
这就得到机器人点流(Robot Flows):一串“机器人点云随时间怎么移动”。
(3) 拼接:Concatenated Point Cloud(拼成一个统一点云)
把:
- 场景点(静态采集到的点)
- 机器人点(未来会动的点,按时间堆叠)
直接拼在一起,作为一个“统一点云”。 论文用词叫:embodiment-agnostic interaction geometry 直白翻译:
不管你是什么机器人,把它都变成点;点的运动表达动作;这样动作表达不依赖“某个特定机器人关节定义”。
(4) 特征编码
拼接后每个点要带“特征”,不然网络只能看到坐标,理解能力弱。
场景点特征:冻结DINOv3 做法是:把3D点投影回2D图像上,用DINOv3从图像抽特征,再贴回点上。 “冻结”意思是:DINOv3参数不训练,它只是一个固定的“视觉特征提取器”。
机器人点特征:时间嵌入(Time Embed) 机器人点很关键:同一个点在 t t t、 t + 1 t+1 t+1、…对应不同时间。 时间嵌入就是给机器人点加一个“第几步”的标记,让网络知道:
这是未来第 k k k步机器人会到的位置,而不是现在的位置。
(5) 主干网络:Point Cloud Backbone(PTv3)
把带特征的“统一点云”丢进一个SOTA点云主干(PTv3),输出每个点的深层表示。
(6) 输出:Predicted Full-Scene Point Flow
最后用一个共享MLP头,把主干输出转成预测:
- 对场景点:未来 H H H步每一步的3D位移(或位置)
- 也就是:全场景点流预测
3.1. 3D World Modeling with POINTWORLD
我们将环境动力学建模为一个由参数 θ \theta θ 表示的神经网络 F θ : S × A → S \mathcal{F}_\theta:\mathbf{S}\times\mathbf{A}\rightarrow\mathbf{S} Fθ:S×A→S,该网络在给定当前状态和机器人动作的情况下预测下一状态,其中 S \mathbf{S} S 和 A \mathbf{A} A 分别表示状态空间与动作空间。 现有方法 [5] 通常将其表述为单步更新形式: s t + 1 = F θ ( s t , a t ) \mathbf{s}_{t+1}=\mathcal{F}_\theta(\mathbf{s}_t,\mathbf{a}_t) st+1=Fθ(st,at)。 相比之下,我们采用一种用于数据驱动建模的多步(分块)建模方式 [151]:模型在一次前向推理中预测长度为 H H H 的未来状态序列 F θ H : ( s t , a t : t + H − 1 ) → s t + 1 : t + H \mathcal{F}^H_\theta:(\mathbf{s}_t,\mathbf{a}_{t:t+H-1})\rightarrow \mathbf{s}_{t+1:t+H} FθH:(st,at:t+H−1)→st+1:t+H,该方式能够提升时间一致性并摊销计算开销。 在实现中,我们使用 H = 10 H=10 H=10 个时间步,每个时间步对应 0.1 0.1 0.1s。
3.1 单步世界模型 vs 多步分块世界模型
传统写法是单步:
- s t + 1 = F θ ( s t , a t ) \mathbf{s}_{t+1}=\mathcal{F}_\theta(\mathbf{s}_t,\mathbf{a}_t) st+1=Fθ(st,at) 意思:给当前状态和当前动作,预测下一步。
他们用的是一次预测 H H H步:
- F θ H : ( s t , a t : t + H − 1 ) → s t + 1 : t + H \mathcal{F}^H_\theta:(\mathbf{s}_t,\mathbf{a}_{t:t+H-1})\rightarrow \mathbf{s}_{t+1:t+H} FθH:(st,at:t+H−1)→st+1:t+H 意思:一次前向就预测未来一段轨迹( H H H步)。
他们设定:
- H = 10 H=10 H=10
- 每步 0.1 s 0.1s 0.1s 所以一次预测覆盖未来 1 s 1s 1s。
为什么要多步?(直白解释)
- 时间一致性更好:你一次预测整段,模型更容易学“连续运动”的规律,不会每步各说各话。
- 摊销计算:你做MPC要评估很多候选动作轨迹,一次就出10步,比“跑10次单步网络”更划算。
State Representation. 构建世界模型需要对状态空间 S \mathbf{S} S 进行慎重选择,其中时刻 t t t 的状态表示为 s t ∈ S \mathbf{s}_t\in\mathbf{S} st∈S。 在本工作中,我们采用点流(亦称为粒子 [3, 53])作为环境状态表示。 形式化地,令 s t = { ( p t , i , f i S ) } i = 1 N S \mathbf{s}_t=\{(\mathbf{p}_{t,i},\mathbf{f}_i^S)\}_{i=1}^{N_S} st={(pt,i,fiS)}i=1NS 表示时刻 t t t 的点流状态,其中包含 N S N_S NS 个点,每个点具有三维位置 p t , i ∈ R 3 \mathbf{p}_{t,i}\in\mathbb{R}^3 pt,i∈R3,以及维度为 D S D_S DS 的时间不变特征 f i S ∈ R D S \mathbf{f}_i^S\in\mathbb{R}^{D_S} fiS∈RDS。 与其他表示方式相比,点流在机器人操作的世界建模中具有以下优势: (i)强调三维几何之间的物理交互,而非外观信息,其作用更类似于物理仿真器而非渲染器; (ii)能够直接从部分可观测环境中的任意 RGB-D 采集中获得 [114],且不依赖物体性或材料属性的先验假设; (iii)通过对位移使用 L 2 \mathrm{L}2 L2 损失即可实现简单且稳定的训练,而无需进行排列匹配; (iv)具有足够的表达能力以刻画多样且精细的接触动力学。 为获得点流表示,我们从一张或多张已标定的 RGB-D 视角出发,通过正向运动学(利用 URDF 与关节配置)对机器人像素进行遮罩处理,并将剩余像素反投影以获得 p t , i \mathbf{p}_{t,i} pt,i。 需要注意的是,由于模型输入的是来自环境的静态点集,点之间的对应关系仅在模型的前向推理过程中(即其“想象”阶段)被维持,因此在推理阶段无需额外的点追踪器,且不同前向推理之间点的数量可以变化。
3.1.1 State Representation:状态为什么用“点流/粒子”表示
他们把状态 s t s_t st 定义成一堆点:
- s t = { ( p t , i , f i S ) } i = 1 N S \mathbf{s}_t=\{(\mathbf{p}_{t,i},\mathbf{f}_i^S)\}_{i=1}^{N_S} st={(pt,i,fiS)}i=1NS
每个点包含:
- p t , i ∈ R 3 \mathbf{p}_{t,i}\in\mathbb{R}^3 pt,i∈R3:点的3D位置
- f i S ∈ R D S \mathbf{f}_i^S\in\mathbb{R}^{D_S} fiS∈RDS:点的特征(时间不变的,比如从DINOv3来的语义/外观线索)
这套表示为什么好?
(i)更像“物理模拟器”,不是“渲染器” 它关心的是“几何点怎么动”,而不是“像素怎么变漂亮”。
(ii)从RGB-D直接拿到,不依赖‘物体先验/材质先验’ 你不需要先分割出“这是杯子那是盒子”,也不需要告诉它摩擦系数、材质类别,直接用点。
(iii)训练稳定:用位移做 L 2 \mathrm{L}2 L2就行,不用做复杂匹配 很多生成式/集合预测会遇到“点的排列不固定”要做匹配。 他们这里的关键技巧是:
输入是“静态点集”,点之间对应关系只在一次前向“想象”里维持。 简单说:一次推理里,网络把“第 i i i个点”当作同一个粒子在滚动;下一次推理点数变了也无所谓。 所以训练时对每个点的在未来位置做回归就行。
(iv)表达力强,能刻画细接触动力学 推、挤、擦、拖、布料滑动……这些本质就是点的局部位移模式。
场景点怎么从RGB-D得到(关键步骤)
- 用URDF+关节配置做正向运动学,算出机器人在图像里哪里(像素层面)。
- 把机器人像素mask掉(否则场景点云里会混进机器人)。
- 对剩余像素做反投影得到3D点 p t , i p_{t,i} pt,i。
在起始时刻 t t t,从RGB-D图像中采样 N N N个像素点,并将它们编号为 i = 1.. N i=1..N i=1..N,每个像素对应一个3D粒子 P t , i P_{t,i} Pt,i。 用2D追踪(光流/跟踪器)将每个粒子从 t t t追到 t + k t+k t+k得到像素位置 ( u i k , v i k ) (u_i^k,v_i^k) (uik,vik),再用 t + k t+k t+k帧深度反投影得到真实3D位置 P t + k , i P_{t+k,i} Pt+k,i(不可见则mask)。 模型对同一批粒子输出未来 H H H步预测位置 P ^ t + k , i \hat P_{t+k,i} P^t+k,i。 损失对所有 i = 1.. N i=1..N i=1..N与 k = 1.. H k=1..H k=1..H求和(并加权/Huber/不确定性)。 若序列更长(例如需要第11步),训练时用滑窗:把起点移到 t + 1 t+1 t+1,在 t + 1 t+1 t+1帧重新采样新的 N N N个粒子,再监督未来 H H H步。
Action Representation. 为了能够从异构机器人本体中学习(包括不同的运动学结构、夹爪几何形状,甚至不同数量的夹爪),我们再次采用三维点流作为表示方式。 然而,与通过 RGB-D 采集获得的场景点流不同,机器人点流是通过正向运动学预测机器人自身几何结构生成的,该过程利用的是先验已知的 URDF 描述文件。 这种设计是有意为之,旨在确保“想象中的动作”在表示上是完全可观测的,而非部分可观测,同时仍保持与具体机器人本体无关——这一点在接触发生于遮挡区域的场景中尤为关键(例如在自我视角下搬运或运输一个大箱子)。 具体而言,给定一段关节配置序列 { q t + k } k = 0 H \{\mathbf{q}_{t+k}\}_{k=0}^{H} {qt+k}k=0H,我们在时刻 t t t 对机器人表面进行一次采样,将每个采样点绑定到其对应的连杆上,并通过正向运动学对其进行传播,从而在每个时间步 t + k t+k t+k 得到一个包含 N R N_R NR 个机器人点的有序集合 { ( r t + k , j , f t + k , j R ) } j = 1 N R \{(\mathbf{r}_{t+k,j}, \mathbf{f}^R_{t+k,j})\}_{j=1}^{N_R} {(rt+k,j,ft+k,jR)}j=1NR。其中, r t + k , j ∈ R 3 \mathbf{r}_{t+k,j}\in\mathbb{R}^3 rt+k,j∈R3 表示第 j j j 个点在时间 t + k t+k t+k 的三维位置, f t + k , j R ∈ R D R \mathbf{f}^R_{t+k,j}\in\mathbb{R}^{D_R} ft+k,jR∈RDR 表示其维度为 D R D_R DR 的时间变化特征向量。 我们将该点集视为时间 t + k t+k t+k 的动作,并记作 a t + k \mathbf{a}_{t+k} at+k。 由此,我们在整个时间范围内获得了一种与具体机器人本体无关的交互几何描述。 在实际应用中,大多数机器人表面点并不会与场景发生接触;因此,为提高效率,我们仅从夹爪处采样机器人点流(每个夹爪根据其几何形状采样数百个点)。 相关实验结果请参见第 5.2 节。
3.1.2 Action Representation:动作为什么也用“点流”,以及怎么从URDF算出来
动作不是用“关节角向量”直接喂给网络,而是变成“机器人表面点怎么动”。
3.1.2.1 为什么这么做(非常关键)
不同机器人:
- 关节数不同、排列不同、坐标系不同
- 夹爪形状不同、甚至夹爪数量不同
如果你用关节角做动作输入,模型就绑死在某一种机器人上。 用“点流”就统一了:
不管什么机器人,动作都变成“这些点未来会走到哪里”。
而且他们强调:机器人点流是“完全可观测”的 原因是它来自URDF+FK,是你自己算出来的,不受遮挡影响。
这在“接触发生在相机看不见的地方”时非常重要(比如搬大箱子挡住夹爪)。3.1.2.2 机器人点流怎么构造(一步一步)
给定未来 H H H步关节序列 { q t + k } k = 0 H \{\mathbf{q}_{t+k}\}_{k=0}^{H} {qt+k}k=0H:
- 在时刻 t t t,在机器人表面采样很多点(通常只采夹爪附近,效率高)。
- 把每个点“绑定”到它所在的连杆上(意思是:这个点跟着这个连杆走)。
- 对每个未来时刻 t + k t+k t+k,用FK算出该连杆位姿,把点变换过去,得到 r t + k , j \mathbf{r}_{t+k,j} rt+k,j。
- 同时给机器人点一个时间变化特征 f t + k , j R \mathbf{f}^R_{t+k,j} ft+k,jR(靠时间嵌入实现)。
于是每步动作 a t + k \mathbf{a}_{t+k} at+k 就等价于:
- “第 k k k步机器人这些点在哪里”(以及它们的时间编码)
Dynamics Prediction. 在上述状态—动作表示的基础上,模型的输入包括一个静态的全场景点云 s t \mathbf{s}_t st,以及一段时间序列形式的机器人点流动作 a t : t + H − 1 \mathbf{a}_{t:t+H-1} at:t+H−1。 我们并未设计定制化网络结构,而是有意构建在最先进的点云主干网络之上 [152],以提炼支撑可扩展、大规模三维世界建模的核心原则。 为此,我们将初始场景点与按时间堆叠的机器人点进行拼接,形成一个统一的点云,并交由主干网络处理。 场景点通过投影至二维视角后,使用冻结的 DINOv3 编码器进行特征提取 [153, 154];而机器人点则采用时间嵌入进行特征编码。 点云主干网络对拼接后的点云进行处理,并为所有点输出对应的特征表示。 随后,一个共享的 MLP 预测头在一次前向推理中,预测长度为 H H H 的时间块内,每个时间步上场景点的逐点位移。 这种分块式建模方式带来了极高的推理效率,能够在实时延迟下(每次批量前向推理约 0.1 0.1 0.1s)评估大量候选轨迹;相比之下,由于采用扩散目标,基于像素的方法通常需要数秒级的推理时间 [31, 80]。
3.1.3 Dynamics Prediction:网络结构到底怎么做预测
“动力学预测”在这里就是一句话:已知现在世界长什么样(静态场景点云 s t \mathbf{s}_t st)+ 机器人接下来一段时间怎么动(机器人点流序列 a t : t + H − 1 \mathbf{a}_{t:t+H-1} at:t+H−1),预测未来 H H H步里,场景里每个点会怎么移动。
注意:他们预测的不是“图片变成什么样”,而是3D点怎么动(逐点位移)。
这里论文的态度很明确:不发明新网络,就用成熟点云主干来研究“规模化原则”。
3.1.3.1 输入组织方式:统一点云
输入A:静态全场景点云 s t = { ( p t , i , f i S ) } i = 1 N S \mathbf{s}_t=\{(\mathbf{p}_{t,i},\mathbf{f}_i^S)\}_{i=1}^{N_S} st={(pt,i,fiS)}i=1NS
你可以把它想成: 一张“3D照片”,由很多点组成:
- 每个点有3D坐标 ( x , y , z ) (x,y,z) (x,y,z)
- 可能还有颜色/语义特征(后面会讲怎么来)
关键:它是静态的,就是时刻 t t t看到的那一堆点。
输入B:机器人点流序列 a t : t + H − 1 = { ( r t + k , j , f t + k , j R ) } j = 1 N R \mathbf{a}_{t:t+H-1} = \{(\mathbf{r}_{t+k,j}, \mathbf{f}^R_{t+k,j})\}_{j=1}^{N_R} at:t+H−1={(rt+k,j,ft+k,jR)}j=1NR
这是“机器人未来动作”的3D版本。 它不是“关节角向量直接输入”,而是:
- 在机器人(通常是夹爪)表面采样一些点
- 用URDF+正向运动学算出这些点在未来每一步的位置
- 所以你得到一段时间序列:第1步机器人点在哪、第2步在哪……一直到第 H H H步
这段序列就是动作。
然后拼接成一个点云丢给主干网络(PTv3)。
这一步非常核心:
让网络在同一个“点集合”里同时看到“世界”和“会动的机器人”,从而学出接触与影响范围。
把“世界的点” + “机器人未来会经过的点” 直接拼在同一个点集合里,形成一个统一点云,喂给点云主干网络。 你把它想成:
- 场景点 = 桌子、物体、背景的“静态粒子”
- 机器人点 = 夹爪未来轨迹上的“会移动粒子”
- 拼一起以后,网络看到的是:这些粒子离得近、会发生接触,可能会带动彼此移动。
这就是他们说的核心思想:不用为“接触、碰撞”手写规则,让网络在点的空间关系里自己学。
3.1.3.2 特征怎么来
拼完点云后,每个点需要一个“身份证信息”(feature),否则网络只能看到几何位置,很难理解“这块是布、那块是盒子、那块是桌面纹理”等等。A. 场景点特征:DINOv3(冻结)投影到2D,用冻结DINOv3取特征,再回填到点
做法是:
- 你有RGB图像(来自RGB-D)
- 把3D场景点投影回图像平面(知道这个3D点对应图像哪个像素)
- 在那个像素位置,从DINOv3抽一个特征向量
- 把这个向量贴回这个3D点上
DINOv3是什么? 你可以把它当成一个“超级强的视觉特征提取器”,能把像素周围的语义/纹理信息变成向量。
冻结是什么意思? 训练PointWorld时,DINOv3不更新参数。它像一个固定的“工具人”,稳定提供特征,不参与学习。
为什么要冻结?直觉上有两个好处(不偏离原意):
- 训练更稳定,世界模型只学动力学,不把视觉编码也搅乱
- 借用大模型预训练的视觉能力,提高泛化
B. 机器人点特征:时间嵌入(Time Embedding)时间嵌入(告诉网络第几步)
机器人点是按时间堆叠的:你会把第0步、第1步…第H-1步的机器人点都放进统一点云里。
这时最大的问题是:
同样一堆机器人点,如果不告诉网络“这是第几步”,网络分不清谁是现在、谁是未来第7步。
所以他们给机器人点加一个“时间标签”(时间嵌入):
- 第k步的机器人点,带着“k”的编码
- 让网络知道这个点代表未来哪个时刻机器人的位置
你可以把时间嵌入理解成: 给每个机器人点贴一个小纸条写着“第k帧”。
顺序
生成scene点坐标 p t , i \mathbf{p}_{t,i} pt,i
生成robot点坐标 r t + k , j \mathbf{r}_{t+k,j} rt+k,j(按时间堆叠)
分别算特征:
- scene点特征 f i S ← DINOv3 ( RGB at projected pixel ) \mathbf{f}^S_i \leftarrow \text{DINOv3}(\text{RGB at projected pixel}) fiS←DINOv3(RGB at projected pixel)
- robot点特征 f k , j R ← TimeEmbed ( k ) \mathbf{f}^R_{k,j} \leftarrow \text{TimeEmbed}(k) fk,jR←TimeEmbed(k)(通常再拼一些“点类型标记/局部几何标记”)
拼接点:
- 坐标拼接: X = [ P ; ; R ] X=[P;;R] X=[P;;R]
- 特征拼接: F = [ F S ; ; F R ] F=[F^S;;F^R] F=[FS;;FR]
把 ( X , F ) (X,F) (X,F)喂给PTv3骨干
3.1.3.3 点云主干网络(PTv3)到底在做什么?
他们说“我们不设计定制化网络结构,而是用最先进的点云主干网络”。 不用纠结PTv3内部的每层公式(论文此处也没展开),你只要抓住它的功能:
输入:一个带特征的“大点集合”(场景点+机器人点)
输出:每个点一个“更聪明的特征向量”(融合了周围点的信息)更直白一点: 主干网络会做大量“点与点之间的信息交换”,让每个点都知道:
- 我附近有哪些场景点(物体边界、桌面)
- 我附近有没有机器人点(未来会不会来碰我)
- 空间上怎么相对运动(根据时间嵌入暗示未来接触)
所以经过主干网络后,每个场景点的特征已经变成:
“考虑了机器人未来动作影响”的场景点表示
3.1.3.4 预测头:共享 MLP 一次输出 H H H 步逐点位移(这句非常关键)
主干网络输出每个点的特征后,还没直接得到“点会移动多少”。 所以他们加一个很简单的预测头:
- 共享的 MLP:同一个小网络,给每个场景点都用一遍(参数共享)
- 一次前向推理:喂一次网络,就把未来 H H H步的结果都吐出来
- 输出内容:对每个场景点 i i i、每个未来时间步 k k k,输出一个3D位移向量 ( Δ x , Δ y , Δ z ) (\Delta x,\Delta y,\Delta z) (Δx,Δy,Δz)
你可以想象它输出一个张量:
形状大概是: N S × H × 3 N_S \times H \times 3 NS×H×3
- N S N_S NS:场景点数
- H H H:未来步数
- 3:xyz位移
这就是“分块式(chunk)建模”:一次预测一整段未来,而不是一步一步滚。
3.1.3.5 为什么这种“分块式”会很快?(以及为什么适合MPC)
他们强调速度:一次批量前向约 0.1 s 0.1s 0.1s,能评估大量候选轨迹。 这里的逻辑是:
A. MPC需要“试很多动作”
MPC(模型预测控制)的核心动作是:
- 你有很多候选动作序列(很多条未来轨迹)
- 你要用世界模型预测每条轨迹会导致什么结果
- 选最好的那条
所以世界模型越快,你能试的候选轨迹越多,MPC越强。
B. 为什么一次预测 H H H步比逐步预测快?
如果你逐步预测:
- 要跑 H H H次网络(每步一次)
如果你分块预测:
- 只跑1次网络,直接输出 H H H步
这就叫“摊销计算开销”(amortize computation): 一次计算,得到整段结果。
整个推理流程(deployment/inference)到底长什么样?
下面是“从输入到输出”的完整推理链路,按真正运行顺序写。
1. 输入
- 一张标定RGB-D(单视角或多视角都可)
- 机器人URDF + 当前关节状态(用于mask机器人像素)
- 未来 H H H步的动作(训练时来自数据,控制时来自规划器)
2. 构建场景点云(scene points)
- 用URDF+FK投影机器人到图像,mask掉机器人像素
- 对剩余像素用深度反投影得到3D点: P = { p t , i } i = 1 N S \mathbf{P}=\{\mathbf{p}_{t,i}\}_{i=1}^{N_S} P={pt,i}i=1NS
3. 构建机器人点流(robot points across time)
给定关节序列 { q t + k } k = 0 H \{q_{t+k}\}_{k=0}^{H} {qt+k}k=0H:
- 在夹爪表面采样点(几百个)并绑定到连杆
- 用FK把这些点推进到每个时刻 t + k t+k t+k,得到 R k = { r t + k , j } j = 1 N R \mathbf{R}_k=\{\mathbf{r}_{t+k,j}\}_{j=1}^{N_R} Rk={rt+k,j}j=1NR
- 把所有时间的机器人点按时间堆叠: R = ⋃ k = 0 H − 1 R k ( 点数大约是 H ⋅ N R ) R=\bigcup_{k=0}^{H-1}R_k\quad(\text{点数大约是 }H\cdot N_R) R=k=0⋃H−1Rk(点数大约是 H⋅NR)
注意:这个“时间堆叠”非常关键:你不是只给骨干一个“当前机器人点云”,而是把“未来每一步机器人会在哪里”的几何都塞进去,让网络能推断接触会发生在什么时候/哪里。
4. 给点加特征(feature)
4.1 scene点特征(DINOv3)
对每个scene点 p t , i \mathbf{p}_{t,i} pt,i:
- 投影回图像得到像素 ( u i , v i ) (u_i,v_i) (ui,vi)
- 从冻结DINOv3的特征图里取一个向量
- 得到 f i S \mathbf{f}^S_i fiS
4.2 robot点特征(time embedding)
对每个robot点 r t + k , j \mathbf{r}_{t+k,j} rt+k,j:
- 取其时间步索引 k k k,算时间嵌入向量 e ( k ) e(k) e(k)
- 作为 f k , j R \mathbf{f}^R_{k,j} fk,jR(也可拼点类型one-hot,这属于实现细节)
B5. 拼接成“一个”联合点云,送入PTv3骨干
- 坐标: X = [ P ; ; R ] X=[P;;R] X=[P;;R]
- 特征: F = [ F S ; ; F R ] F=[F^S;;F^R] F=[FS;;FR]
把 ( X , F ) (X,F) (X,F)一次性送进PTv3。 PTv3输出每个输入点的高维表示 Z Z Z。
B6. 预测头输出未来 H H H步场景点位移
共享MLP head只对场景点那部分输出:
- 每个scene点 i i i
- 每个未来步 k k k 预测 Δ p k , i ∈ R 3 \Delta p_{k,i}\in\mathbb{R}^3 Δpk,i∈R3 或者直接预测 P ^ t + k , i \hat P_{t+k,i} P^t+k,i
最终得到:未来 H H H步的场景点位置序列(点流轨迹)。
Training Objective. 尽管该建模形式天然适用于标准的回归目标,但三维世界建模引入了两个需要精心设计的独特挑战: (i)由于需要进行全场景预测,机器人往往只操控场景中的一小部分区域,因此大多数点是静止的,直接使用标准的 L 2 \mathrm{L}2 L2 损失会导致训练信号极其稀疏; (ii)真实世界数据具有噪声,因此需要对模型进行正则化,使其对噪声具有鲁棒性。 为应对挑战(i),我们采用加权回归目标,根据真实运动信息为每个时间步上的每个点分配一个软运动概率 m k , i ∈ [ 0 , 1 ] m_{k,i}\in[0,1] mk,i∈[0,1],从而将损失函数聚焦于发生运动的点。 设 δ k , i ≥ 0 \delta_{k,i}\ge 0 δk,i≥0 表示点 i i i 在第 k k k 个时间步上的真实位移向量的范数,我们定义 m k , i = σ ( κ ( δ k , i − τ ) ) , m_{k,i}=\sigma\big(\kappa(\delta_{k,i}-\tau)\big), mk,i=σ(κ(δk,i−τ)), 其中 σ \sigma σ 为逻辑 Sigmoid 函数, τ \tau τ 和 κ \kappa κ 分别表示非负的位移阈值参数与温度参数。 随后,我们对这些运动概率进行归一化,得到每个时间步 k k k 上、每个点 i i i 的权重 w k , i = m k , i ∑ k , i m k , i w_{k,i}=\frac{m_{k,i}}{\sum_{k,i} m_{k,i}} wk,i=∑k,imk,imk,i。 为应对挑战(ii),我们采用偶然不确定性(aleatoric uncertainty)正则化方法 [10, 155, 156],为每个时间步 k k k 上的每个点 i i i 预测一个标量对数方差 s k , i s_{k,i} sk,i,并在残差项上使用 Huber 损失。 形式化地,完整的训练目标函数为:
1 2 ∑ k , i H , N S w k , i ⏟ movement weight ( ρ δ ( P ^ t + k , i − P t + k , i ) ⏟ Huber loss on 3D residual e − s k , i ⏟ uncertainty weight + s k , i ⏟ uncertainty reg. ) , (1) \frac{1}{2}\sum_{k,i}^{H, N_S} \underbrace{w_{k,i}}_{\text{movement weight}} \Big( \underbrace{\rho_\delta(\hat{\mathbf{P}}_{t+k,i}-\mathbf{P}_{t+k,i})}_{\text{Huber loss on 3D residual}} \underbrace{e^{-s_{k,i}}}_{\text{uncertainty weight}} + \underbrace{s_{k,i}}_{\text{uncertainty reg.}} \Big), \tag{1} 21k,i∑H,NSmovement weight wk,i(Huber loss on 3D residual ρδ(P^t+k,i−Pt+k,i)uncertainty weight e−sk,i+uncertainty reg. sk,i),(1)
其中, ρ δ \rho_\delta ρδ 表示逐元素的 Huber 损失函数, P ^ t + k , i \hat{\mathbf{P}}_{t+k,i} P^t+k,i 和 P t + k , i \mathbf{P}_{t+k,i} Pt+k,i 分别表示点 i i i 在第 k k k 个时间步上的预测位置与真实位置。 在实际实现中,我们还会忽略由用于生成伪真实标注的二维追踪器判定为不可见的点(更多细节见第 4 节)。
0)先把背景钉牢:这个模型训练时到底在学什么?
模型每次输入:
- 现在的场景点云(很多点)
- 机器人未来 H H H步动作(机器人点流)
模型输出:
- 未来 H H H步里,场景里每个点的3D位置(或位移)
所以训练最朴素的想法是: 对每个点、每个未来时间步,把“预测位置”和“真实位置”做差,然后用 L 2 \mathrm{L}2 L2(平方误差)去最小化。 但他们说:这样会出两个大问题。这一段就是在解决这两个问题。
Step 1:在 t t t 帧 RGB-D 中“选好一批点”
这一步是训练数据构建阶段做的,不是网络做的。
典型做法(完全符合论文精神):
拿 t t t 时刻的 RGB-D
mask 掉机器人像素
在剩余像素里 采样 N S N_S NS 个像素(比如 500~2000 个)
对每个像素 ( u i , v i ) (u_i,v_i) (ui,vi):
- 用深度反投影得到 3D 点 p t , i p_{t,i} pt,i
- 记录这个点的 索引 i i i
到这里你已经有了:
- 点集合: { p t , i } i = 1 N S \{p_{t,i}\}_{i=1}^{N_S} {pt,i}i=1NS
- 每个点在 RGB 中的原始像素位置 ( u i , v i ) t (u_i,v_i)_t (ui,vi)t
🔑 这一步就已经“锁死”了点的身份
以后所有监督、预测、损失,都是围绕这同一批点 i = 1 … N S i=1\ldots N_S i=1…NSStep 2:训练时网络到底在预测什么?
网络输入的是:
- 这 N S N_S NS 个点在 t t t 时刻的 3D 位置(scene points)
- 机器人未来 H H H 步的 robot point flows
网络输出的是:
- P ^ t + 1 , i , P ^ t + 2 , i , … , P ^ t + H , i \hat P_{t+1,i}, \hat P_{t+2,i}, \dots, \hat P_{t+H,i} P^t+1,i,P^t+2,i,…,P^t+H,i 👉 第 i i i 个“初始点”在未来每一步的预测 3D 位置
注意: 网络不是在“生成新的点云”, 而是在做一个 index-preserving 的逐点回归:
输入点 i ──▶ 输出未来的点 iStep 3:真值是怎么来的?——你说的 2D tracking 正是这里用的
对这 同一批初始点 i i i,做下面的事:
3.1 在 RGB 中做 2D tracking
用 2D tracker(光流 / 点追踪器)
把 ( u i , v i ) t (u_i,v_i)_t (ui,vi)t 追踪到:
- ( u i , v i ) t + 1 , ( u i , v i ) t + 2 , … , ( u i , v i ) t + H (u_i,v_i)_{t+1}, (u_i,v_i)_{t+2}, \dots, (u_i,v_i)_{t+H} (ui,vi)t+1,(ui,vi)t+2,…,(ui,vi)t+H
如果某一步:
- 遮挡
- 出画面
- 跟丢
👉 标记为 不可见
3.2 把追踪到的像素再变回 3D(这一步你已经说对了)
对每个 可见 的 ( u i , v i ) t + k (u_i,v_i)_{t+k} (ui,vi)t+k:
- 用 t + k t+k t+k 时刻的深度图
- 反投影得到: P t + k , i ∈ R 3 P_{t+k,i} \in \mathbb{R}^3 Pt+k,i∈R3
这就是训练用的 真值 3D 位置
Step 4:训练损失为什么能“对得上号”?
现在你有:
- 网络预测: P ^ t + k , i \hat P_{t+k,i} P^t+k,i
- 真值标签: P t + k , i P_{t+k,i} Pt+k,i
它们的 i i i 是 同一个索引,因为:
- i i i 来自 t 帧选点
- tracking 是 “追这个 i i i”
- 网络预测是 “预测这个 i i i”
所以损失函数里的:
∣ P ^ t + k , i − P t + k , i ∣ |\hat P_{t+k,i} - P_{t+k,i}| ∣P^t+k,i−Pt+k,i∣
在语义上是完全对齐的,不需要任何 matching、Hungarian、ICP 之类的操作。
👉 这正是论文敢说
“无需排列匹配(no permutation matching)” 的真正原因。Step 5:那“联合点云”“点云骨干”在这套里扮演什么角色?
关键澄清一句:
点云骨干只是一个函数 f ( i ) f(i) f(i),它不会创造点,也不会改变点的身份。
流程是:
输入是一个数组:
index i : [scene point i , robot points...]PTv3 内部怎么做 attention / pooling 是它的事
输出仍然是:
index i : feature of point iMLP 头再对 同一个 i 输出 P ^ t + k , i \hat P_{t+k,i} P^t+k,i
所以:
- tracking 负责“点的身份在时间上的延续”
- 点云网络负责“在空间中理解谁会被机器人影响”
两者不冲突,分工明确
1)问题(i):大多数点不动 → 直接 L 2 \mathrm{L}2 L2会让模型“偷懒”
1.1 直觉:如果90%的点都静止,会发生什么?
举个极端例子:桌面上100万个点,机器人只碰到盒子上那一小撮点,真正运动的可能只有几千点。
如果你用普通 L 2 \mathrm{L}2 L2,总损失大部分来自“不动点”:
- 对不动点,真值位移≈0
- 模型只要学会“所有点都预测不动”,损失就能很小
- 结果:模型会倾向于忽视真正运动的少数点
所以论文说“训练信号稀疏”: 不是没信号,而是“有用信号被海量静止点淹没”。
1.2 他们的解决:给“会动的点”更高权重
核心思想一句话:
先根据真值判断哪些点真的在动,然后训练时主要惩罚这些点。
2)他们怎么判断“这个点在第k步是不是在动”?——软运动概率 m k , i m_{k,i} mk,i
2.1 δ k , i \delta_{k,i} δk,i是什么?
δ k , i \delta_{k,i} δk,i 是一个数(非负):
- 取点 i i i在第 k k k步的真实位移向量的长度(范数)
- 位移越大, δ k , i \delta_{k,i} δk,i越大
- 完全不动时, δ k , i = 0 \delta_{k,i}=0 δk,i=0
你可以把 δ k , i \delta_{k,i} δk,i理解成:“这个点真的移动了多少”。
2.2 为什么不用硬阈值“动/不动”?而用Sigmoid软概率?
如果你用硬阈值,比如:
- 位移>1mm算动,否则不动。那在阈值附近会很不稳定:一点点噪声就把点从“动”翻成“不动”。
所以他们用Sigmoid做“软开关”: m k , i = σ ( κ ( δ k , i − τ ) ) m_{k,i}=\sigma(\kappa(\delta_{k,i}-\tau)) mk,i=σ(κ(δk,i−τ))
你这样读它:
- τ \tau τ:位移阈值(比如“超过这个量我才认为真的动了”)
- κ \kappa κ:温度/斜率(控制过渡有多陡)
- σ \sigma σ:Sigmoid,把任何数压到 [ 0 , 1 ] [0,1] [0,1]
结果是:
- 若 δ k , i ≪ τ \delta_{k,i}\ll\tau δk,i≪τ: m k , i ≈ 0 m_{k,i}\approx 0 mk,i≈0(基本不动)
- 若 δ k , i ≫ τ \delta_{k,i}\gg\tau δk,i≫τ: m k , i ≈ 1 m_{k,i}\approx 1 mk,i≈1(明显在动)
- 若 δ k , i \delta_{k,i} δk,i接近 τ \tau τ: m k , i m_{k,i} mk,i在0到1之间(“有点动但不确定”)
一句话: m k , i m_{k,i} mk,i就是“这个点在这一步有多像在动”的分数。
3)权重 w k , i w_{k,i} wk,i:把训练注意力集中到运动点上
他们把 m k , i m_{k,i} mk,i归一化: w k , i = m k , i ∑ k , i m k , i w_{k,i}=\frac{m_{k,i}}{\sum_{k,i} m_{k,i}} wk,i=∑k,imk,imk,i
这一步很多人会卡住,我直接说清楚:
- 归一化后,所有 w k , i w_{k,i} wk,i加起来等于1(像概率分布)
- 如果只有少数点真正在动,那么这些点的 m m m接近1,权重就会很大
- 大量静止点 m m m接近0,权重就很小(几乎不贡献损失)
这就等于告诉训练:别把力气浪费在“本来就不动”的点上,重点盯着“被机器人影响的那部分点”。
4)问题(ii):真实数据有噪声 → 需要让模型对噪声“更稳”
现实世界里,真值并不完美:
- 深度传感器有噪声
- 2D追踪器生成伪真值会错
- 遮挡/反光会让点的位置抖动
如果你还用普通 L 2 \mathrm{L}2 L2:
- 少量错误点(离群点)会产生巨大梯度
- 训练会被“假真值”带跑,模型不稳
所以他们加了两层“抗噪声设计”:
- Huber损失(比 L 2 \mathrm{L}2 L2更抗离群点)
- 偶然不确定性(aleatoric uncertainty)正则化(模型自己学会:哪些点本来就很噪,别太自信)
下面把这俩讲透。
5)Huber损失 ρ δ \rho_\delta ρδ:为什么比 L 2 \mathrm{L}2 L2稳?
Huber是“介于 L 1 \mathrm{L}1 L1 和 L 2 \mathrm{L}2 L2 之间”的损失,你可以这样记:
- 误差小的时候像 L 2 \mathrm{L}2 L2:平滑、好优化
- 误差大的时候像 L 1 \mathrm{L}1 L1:增长没那么快,不会因为一个离群点把损失炸飞
ρ δ ( r ) = { 1 2 r 2 , ∣ r ∣ ≤ δ δ ( ∣ r ∣ − 1 2 δ ) , ∣ r ∣ > δ \rho_\delta(r) = \begin{cases} \frac{1}{2}r^2, & |r|\le \delta \\ \delta\left(|r|-\frac{1}{2}\delta\right), & |r|>\delta \end{cases} ρδ(r)={21r2,δ(∣r∣−21δ),∣r∣≤δ∣r∣>δ
直觉:
真实数据里偶尔会有“追踪器错得离谱”的点,Huber不会让这种点把训练拖垮。
论文说“逐元素Huber”意思是对3D残差的每个坐标分量做Huber(实现细节),总之核心是“抗离群”。
6)偶然不确定性: s k , i s_{k,i} sk,i、 e − s k , i e^{-s_{k,i}} e−sk,i、 + s k , i +s_{k,i} +sk,i到底在干嘛?
“aleatoric uncertainty 正则化”的核心:
模型自适应地给每个点、每个时间步分配一个噪声尺度,用来调节损失权重,并用一个项约束它别乱报。
这是这一段最容易卡住的地方,我用一个“很直白的机制”解释:
6.1 模型除了预测位置,还额外预测一个“噪声大小”。也就是说,网络最后不只输出位置/位移,还输出一个额外通道:
- 位置预测: P ^ t + k , i ∈ R 3 \hat{\mathbf{P}}_{t+k,i}\in\mathbb{R}^3 P^t+k,i∈R3
- 不确定性预测: s k , i ∈ R s_{k,i}\in\mathbb{R} sk,i∈R
对每个点 i i i、每个时间步 k k k,模型预测一个标量:
- s k , i s_{k,i} sk,i:对数方差(log variance)
你不用怕“对数方差”这四个字,它的作用就是:
数越大表示:模型认为这个点这个时刻的真值越不可靠/噪声越大。
6.2 为什么要用 e − s k , i e^{-s_{k,i}} e−sk,i乘在残差上?
损失里有一项: ρ δ ( P ^ − P ) e − s k , i \rho_\delta(\hat{\mathbf{P}}-\mathbf{P}) e^{-s_{k,i}} ρδ(P^−P)e−sk,i
你这样理解:
- 如果模型觉得这里噪声大 → s s s大 → e − s e^{-s} e−s小 → 这点的残差惩罚被“削弱”
- 如果模型觉得这里很可靠 → s s s小 → e − s e^{-s} e−s大 → 这点的残差惩罚更强
这就像老师批作业:
- 有的题本来就印刷模糊,允许你错一点(惩罚小)
- 有的题很清晰,错了就该扣分(惩罚大)
6.3 但如果模型耍赖:把所有 s s s都调很大,不就都不用学了吗?
所以损失里还加了: + s k , i + s_{k,i} +sk,i
这就是“反作弊条款”:
- 你说自己不确定( s s s大)可以让残差惩罚变小
- 但你要付出代价: s s s本身会被加进损失里
- 所以模型不能无限制地把 s s s抬高
最终效果是一个平衡:
只有当某点的误差确实更像噪声、无法拟合时,模型才“合理地”提高不确定性;否则提高 s s s反而得不偿失。
这就是“偶然不确定性正则化”的核心。
误差项乘 e − s e^{-s} e−s:噪声越大,误差惩罚越小。
加上 + s +s +s:噪声越大,自己也要付代价,防止 s → ∞ s\to\infty s→∞的作弊7)把最终目标函数(式1)逐块翻译成人话
式(1)是:
1 2 ∑ k , i H , N S w k , i ⏟ movement weight ( ρ δ ( P ^ t + k , i − P t + k , i ) ⏟ Huber loss on 3D residual e − s k , i ⏟ uncertainty weight + s k , i ⏟ uncertainty reg. ) , (1) \frac{1}{2}\sum_{k,i}^{H, N_S} \underbrace{w_{k,i}}_{\text{movement weight}} \Big( \underbrace{\rho_\delta(\hat{\mathbf{P}}_{t+k,i}-\mathbf{P}_{t+k,i})}_{\text{Huber loss on 3D residual}} \underbrace{e^{-s_{k,i}}}_{\text{uncertainty weight}} + \underbrace{s_{k,i}}_{\text{uncertainty reg.}} \Big), \tag{1} 21k,i∑H,NSmovement weight wk,i(Huber loss on 3D residual ρδ(P^t+k,i−Pt+k,i)uncertainty weight e−sk,i+uncertainty reg. sk,i),(1)你按“外→内”读:
外层:对所有时间步 k = 1.. H k=1..H k=1..H、所有场景点 i = 1.. N S i=1..N_S i=1..NS求和
表示:未来每一步、每个点都要管。
w k , i w_{k,i} wk,i:运动权重
表示:动的点算得多,不动点算得少(解决问题i)。
括号里第一项: ρ δ ( P ^ − P ) e − s \rho_\delta(\hat{P}-P)e^{-s} ρδ(P^−P)e−s
表示:用Huber计算3D误差,然后再根据不确定性调整惩罚强度(解决问题ii的一半)。
括号里第二项: + s +s +s
表示:防止模型把“不确定性”乱报得太大(解决问题ii的另一半)。 所以整体一句话总结式(1):
重点惩罚真正运动的点;对噪声大的点允许模型降低惩罚,但必须付出“报不确定性”的代价;同时用Huber抵抗离群点。
图 4。运动加权与不确定性正则化示意图,其中机器人松开并释放一块黄色布料。 (左下)训练目标中使用的运动加权机制,会根据真实点流计算结果,在每个时间步上有效地将训练重点偏向于正在发生运动的场景点。 (右下)模型在无任何真实标注监督的情况下预测得到的不确定性数值,对训练过程起到正则化作用,从而防止模型对真实标注不可靠的点产生过拟合。 值得注意的是,我们观察到该不确定性还会自发地捕捉由物体物理属性引起的、以动作为条件的不确定性(例如布料边缘区域表现出更大的变化幅度)。
3.2. POINTWORLD for Robotic Manipulation
整体结构:POINTWORLD + MPC + MPPI(你可以当成三个模块插在一起)
模块A:POINTWORLD(世界模型)
功能:你给它
- 当前场景状态 s 0 \mathbf{s}_0 s0(点云)
- 一段动作 a 1 : T \mathbf{a}_{1:T} a1:T(机器人点流动作序列)
它就能预测未来:
- s 1 , s 2 , … , s T \mathbf{s}_1,\mathbf{s}_2,\dots,\mathbf{s}_T s1,s2,…,sT(每一步的场景点怎么动)
直觉:它就是“预言机/模拟器”,但由神经网络学出来。
模块B:MPC(模型预测控制)
MPC的本质是:
- 不直接靠网络输出一个动作就执行
- 而是每次都规划未来一段动作序列,预测后果,算代价,选最好的
- 执行一点点,再重新规划(滚动优化)
所以MPC需要一个东西:能预测未来。这就是POINTWORLD给它的。
模块C:MPPI(采样式规划器)
MPC里“怎么搜索最好的动作序列”?方法很多。这里用MPPI:
随机采样很多条候选动作轨迹 → 用世界模型模拟后果 → 用代价函数打分 → 按“分数好坏”加权平均,更新名义轨迹 → 迭代几轮变好。
你把MPPI理解成“聪明的随机试错 + 软选择”。
如第 2 节所述,一个预训练的 POINTWORLD 能够支持多种机器人应用场景。 在本工作中,我们具体研究这样一个问题:是否仅凭一个预训练的 POINTWORLD,就能够在未见过的、真实自然环境中,仅基于单张 RGB-D 观测完成动作推断,而无需在部署阶段进行任何额外示范或后续训练。 为此,我们将 POINTWORLD 集成进一个模型预测控制(MPC)框架中,并采用基于采样的规划器 MPPI [12],在模型状态空间中定义代价函数,从而规划一段长度为 T T T 的末端执行器 S E ( 3 ) \mathrm{SE}(3) SE(3) 位姿序列。 具体而言,在给定一张已标定的 RGB-D 观测后,我们首先按照第 3.1 节的方法构建场景点集,得到初始状态 s 0 \mathbf{s}_0 s0。 随后,我们使用时间相关的(三次样条)噪声分布对动作进行采样,得到 K K K 组动作扰动 ℓ 1 : K \ell_{1:K} ℓ1:K,并将其叠加到一个名义的末端执行器轨迹上。 对于每一条采样得到的轨迹 E 1 : T ( ℓ ) \mathbf{E}^{(\ell)}_{1:T} E1:T(ℓ),我们构建对应的机器人点流动作 a 1 : T ( ℓ ) \mathbf{a}^{(\ell)}_{1:T} a1:T(ℓ),并在该动作条件下由 POINTWORLD 推演场景点流,同时累计该轨迹的代价 J ( ℓ ) J^{(\ell)} J(ℓ)。 通过对各采样轨迹计算指数权重 ω ℓ ∝ exp ( − J ( ℓ ) / β ) , \omega_\ell \propto \exp(-J^{(\ell)}/\beta), ωℓ∝exp(−J(ℓ)/β), 并以加权平均的方式更新名义轨迹,从而对其进行迭代式优化,其中 β \beta β 为非负的温度参数。
MPPI 软选择。
- J J J小(好轨迹)→ − J / β -J/\beta −J/β大 → exp ( ⋅ ) \exp(\cdot) exp(⋅)大 → 权重大
- J J J大(差轨迹)→ 权重小
β \beta β是温度参数,控制“偏爱好轨迹”的程度:
- β \beta β小:更“挑剔”,几乎只信最好的几条
- β \beta β大:更“温和”,很多轨迹都会有点权重
在代价函数的定义上,我们将任务目标与控制正则项进行分离。 令 I task ⊆ { 1 , … , N S } \mathcal{I}_{\text{task}}\subseteq\{1,\ldots,N_S\} Itask⊆{1,…,NS} 表示一组与任务相关的场景点,其对应的目标位置为 { g i } i ∈ I task \{\mathbf{g}_i\}_{i\in \mathcal{I}_{\text{task}}} {gi}i∈Itask。 在时间步 k k k 上,预测状态 s k \mathbf{s}_k sk 的任务代价定义为
c task ( s k ) = 1 ∣ I task ∣ ∑ i ∈ I task ∣ ∣ p k , i − g i ∣ ∣ 2 2 。 c_{\text{task}}(\mathbf{s}_k)=\frac{1}{|\mathcal{I}_{\text{task}}|}\sum_{i\in \mathcal{I}_{\text{task}}}||\mathbf{p}_{k,i}-\mathbf{g}_i||_2^2。 ctask(sk)=∣Itask∣1∑i∈Itask∣∣pk,i−gi∣∣22。 这种逐点的目标代价形式可广泛适用于刚体、可变形物体以及关节物体。 任务相关点既可以由人类通过图形界面指定,也可以由视觉语言模型(VLM)自动给出 [145]。 整体优化问题被表述为一个全局轨迹优化问题:
arg min E 0 : T ∑ k = 1 T [ c task ( s k ) + c ctrl ( E k ) ] s.t. s 1 : T = F θ T ( s 0 , a 1 : T ) , E 0 = E measured , ( 2 ) \argmin_{\mathbf{E}_{0:T}} \sum_{k=1}^{T}\Big[c_{\text{task}}(\mathbf{s}_k)+c_{\text{ctrl}}(\mathbf{E}_k)\Big] \quad \\ \text{s.t. } \mathbf{s}_{1:T} = \mathcal{F}_\theta^T(\mathbf{s}_0,\mathbf{a}_{1:T}),\; \mathbf{E}_0=\mathbf{E}_{\text{measured}}, \quad (2) E0:Targmink=1∑T[ctask(sk)+cctrl(Ek)]s.t. s1:T=FθT(s0,a1:T),E0=Emeasured,(2)
其中, c ctrl c_{\text{ctrl}} cctrl 包含路径长度与可达性等控制正则项, E k \mathbf{E}_k Ek 表示第 k k k 个时间步的末端执行器位姿, E measured \mathbf{E}_{\text{measured}} Emeasured 为当前测得的末端执行器位姿。 更多细节见附录。
控制正则 c ctrl ( E k ) c_{\text{ctrl}}(\mathbf{E}_k) cctrl(Ek):别让动作太离谱
c ctrl c_{\text{ctrl}} cctrl包括“路径长度、可达性”等。 直觉:
- 路径不要太长(不浪费动作)
- 不要去不可达姿态(机器人做不到)
- 不要走得太激烈(平滑、安全)
它是让规划更“机器人友好”的。
arg min E 0 : T ∑ k = 1 T [ c task ( s k ) + c ctrl ( E k ) ] \argmin_{\mathbf{E}_{0:T}} \sum_{k=1}^{T}\Big[c_{\text{task}}(\mathbf{s}_k)+c_{\text{ctrl}}(\mathbf{E}_k)\Big] E0:Targmink=1∑T[ctask(sk)+cctrl(Ek)]
意思: 找一条末端轨迹 E 0 : T E_{0:T} E0:T,让未来 T T T步任务+控制总代价最小。
图 5。三维标注质量及对比结果。 其中 FS 表示 FoundationStereo [9];Dataset Extrinsics V1 和 V2 分别表示 DROID 数据集发布的两版外参标注。 (上)与 DROID 官方发布版本相比,我们的处理流程生成了显著更高质量的深度估计与相机位姿标定,从而得到更精确的机器人掩码叠加效果以及对齐更好的点云。 (鼓励读者放大查看或访问项目网站上的交互式可视化以获取更多细节。) (下)我们进一步计算了深度重投影误差(即机器人表面解析深度与观测深度之间的差异)以及点云对齐的 F1 分数。 我们观察到,仅依赖现有模型(FS、VGGT)并不足以获得高质量标注;V2 外参通过过滤点云对齐较差的场景相比 V1 有所改进,但也导致可用场景数量显著减少。 相比之下,我们的标注流程在深度误差低于 0.10 的条件下保留了显著更多的场景,并在所有评测指标上均占据优势。
4. Dataset Curation and Evaluation Protocol
准确且大规模的三维数据对于第 3 节中的世界模型在真实环境中的泛化能力至关重要。 除动作标注外,数据集还需要具备准确的空间感知能力(即高保真深度)、手眼标定(即相机在机器人基坐标系下的外参),以及在遮挡条件下的逐像素对应关系匹配(即点追踪)。 尽管已有大量工作致力于收集多样化的真实世界机器人操作数据集 [7, 158],但此前获取其三维标注一直颇具挑战。 我们的关键观察在于,三维视觉领域近期的发展——包括度量深度估计、相机位姿估计以及稠密点追踪——已逐渐成熟,能够构建一条无需标记、完全基于录制数据的离线处理流水线,从而生成所需的数据集(见图 5 左上)。 逼真的仿真环境为此提供了真实标注级别的监督作为补充。 结合真实数据与仿真数据,我们构建了一个包含约 200 万条轨迹(约 500 小时)的数据集,涵盖真实自然场景与家庭尺度仿真环境中的单臂、双臂以及全身遥操作交互。 据我们所知,这是目前规模最大的三维动力学建模数据集,并且我们已将其全部开源。
3D Annotation for Real-World Data. 我们利用 DROID 数据集 [7],该数据集记录了多样化的真实世界机器人交互场景,采集设备包括两台外置相机和一台腕部相机。 尽管 DROID 提供了传感器深度和相机外参,但在开放世界环境中深度数据常出现退化,且由于标定不完善,相机位姿往往不够准确。 前沿的三维重建模型(如 VGGT [10])可以从 RGB 图像中联合估计深度和相机参数,视觉效果往往合理,但其生成的深度图过于平滑,且相机位姿可能与真实值存在数十厘米的偏差。
在大量实验之后,我们采用了一条三阶段标注流水线,将多个学习模型与专门设计的优化过程相结合。 首先,我们使用 FoundationStereo [9] 估计的立体视觉深度替换传感器深度,该方法在机器人操作常见的近距离工作范围内尤为有效。 其次,我们通过一种优化过程对 VGGT 初始化的相机位姿进行细化,使机器人深度观测结果与已知的机器人网格模型对齐,从而计算相机外参。 第三,在获得准确的深度与外参之后,我们使用 CoTracker3 [11] 进行逐像素点追踪。 CoTracker3 是一种二维点追踪器,可输出图像空间中的对应关系及可见性图;我们利用优化后的深度与相机位姿将这些轨迹提升至三维空间,并保留其可见性标注,从而在模型训练时排除被遮挡的点。 通过该流水线,我们为超过 60% 的 DROID 数据(约 200 小时的人类遥操作原始数据)恢复了可靠的三维点流,并获得了在定性与定量上均优于原始数据集及其他标注方法的重建点云(见图 5)。 为在缺乏真实标注的真实环境中进一步评估外参精度,我们将原始数据集外参下深度重投影误差最低的前 1% 场景视作真实外参的近似参考。 相对于该参考标准,我们优化后的外参在平移和旋转上的中位误差分别为 1.8 厘米和 1.9 度。
Simulation (BEHAVIOR-1K). 为补充真实世界数据,我们使用 BEHAVIOR-1K [8](B1K),该数据集在逼真的家庭尺度环境中提供了约 1100 小时的遥操作交互数据(过滤前),涵盖双臂、全身及移动操作。 我们利用已知的仿真状态直接获得真实标注的三维点流。 由于该数据集侧重长时序活动,而 POINTWORLD 关注短时序交互动力学,我们利用仿真中可获得的特权信息对轨迹进行筛选。 我们仅保留机器人与物体存在主动接触且物体具有非零运动的轨迹。 更多细节见附录。
Model Evaluation Protocol. 我们使用预测时间范围内逐点、逐时间步的 ℓ 2 \ell_2 ℓ2 距离,对 POINTWORLD 及其他基线方法的点流预测结果进行评估。 由于在机器人交互过程中大多数场景点保持静止,我们将评估重点放在运动点上( ℓ 2 \ell_2 ℓ2 mover),该指标基于真实数据测量,并使用第 3 节中引入的运动概率对全部点集进行筛选。 对于真实世界数据,我们进一步通过在保留的测试集上训练一个独立的专家模型,利用第 3 节中的不确定性目标标记不可靠的点流,仅保留模型置信度最高的前 80% 点用于评估。 所有参与评估的模型均仅在存在噪声的训练集上训练,并在经过专家模型筛选的测试集上进行评估。 具体细节见附录。
Interpretation of the Metric. 这种稠密的逐点 ℓ 2 \ell_2 ℓ2 指标在方法对比中具有很强的判别力,能够揭示任务级成功率往往难以体现的轨迹推演保真度上的系统性差异 [125]。 由于所有误差均在一秒时间范围内测量,即使是较大的运动,其点位移也通常只有数厘米,因此绝对数值差异看起来可能较小;但我们通过实验观察到,微小的数值差异往往对应着显著的轨迹推演质量提升。 鉴于评估集规模巨大(约 40,000 条机器人轨迹,每条包含约 10,000 条点流), ℓ 2 \ell_2 ℓ2 指标的标准误差可忽略不计(≤ 10 − 5 10^{-5} 10−5 米),因此我们仅报告均值。
图 6。来自单个预训练 POINTWORLD 的未见过场景下的轨迹推演结果,涵盖多个不同领域,并使用 Viser [157] 进行可视化。 在给定 RGB-D 观测的情况下,POINTWORLD 以机器人点流作为条件,预测长度为 10 个时间步的点流。 图中展示了第一次预测结果、最后一次预测结果以及最后一步的真实标注结果。 真实标注(GT)中以绿色标记的点表示在二维点追踪过程中被遮挡的区域;我们观察到,对于这些点,模型的预测结果往往更加准确,这是因为这些点在模型训练过程中并未被监督。 由于我们对所有点云都进行了 1.5 厘米的网格下采样,为了提升可视化效果,所有三维结果均通过最近邻插值上采样至图像分辨率进行显示。 项目网站提供交互式可视化结果。
5. Experiments
以真实世界数据为重点,我们总结并梳理了在扩展三维世界模型规模过程中获得的一系列经验性结论(见第 5.1 节与图 7)[159, 160]。 随后,我们沿着若干互补的设计维度,对 POINTWORLD 进行了有针对性的消融研究(见第 5.2 节)。 通过结合真实数据与仿真数据,我们在零样本与微调两种设置下,定量评估了模型在域内、跨域以及保留测试集上的泛化能力(见第 5.3 节)。 最后,我们研究了在无需额外示范或微调的情况下,POINTWORLD 在真实环境中的物理机器人上进行基于 MPC 的动作推断能力(见第 5.4 节)。 除非另有说明,所有实验均在受控设置下构建,用于相对于基线方法隔离并评估单一建模选择的影响。
图 7。三维世界模型扩展路线图,评估指标为 DROID 测试集上运动场景点的 ℓ 2 \ell_2 ℓ2 误差。 从已有基线方法 [5] 出发,我们逐步对主干网络进行现代化改造、稳定训练目标、利用预训练特征并扩大模型规模,从而持续获得精度提升。 带有斜线填充的柱状条表示未被最终模型采用的设置。
5.1. Scaling 3D World Models: A Roadmap
现代点云主干网络(PTv3 [152])在三维世界建模中表现出良好的建模能力、高效性与可扩展性。 由于具备关系归纳偏置,基于图的神经动力学(GBND)模型被广泛用于动力学建模 [5]。 将 GBND 基线模型扩展至我们的数据集规模时,暴露出两个主要挑战(见表 1)。 其一是内存消耗迅速增长,因为为场景中所有点维护高维特征代价高昂。 其二是在部分可观测条件下,纯局部的信息传递机制表现不佳,因为长程效应需要通过噪声较大的多次传递才能建模。 基于上述局限性,我们考察了多种替代性的点云网络结构,包括从 PointNet [161]、PointNet++ [162]、稀疏卷积网络 [163] 到 Transformer 架构 [164]。 在这些方法中,PointTransformerV3(PTv3)[152] 展现出最强的建模能力。 其点序列化方式与 GBND 的局部分组机制相似,而 U-Net 式层级结构则使模型能够在逐渐变粗的点集上施加注意力,从而实现长程建模并支持显著的参数规模增长。 表 1 显示,PTv3 在保持内存与运行时间增长相对温和的前提下,可将模型规模扩展至 GBND 的 957 倍。 这些结果促使我们选择 PTv3 作为默认的主干网络。
表 1。主干网络对比。 PTv3 [152] 在保持相近内存占用和高效推理性能的同时,支持大规模参数扩展(推理延迟以毫秒计,PTv3-1B 约为 0.12 秒)。
运动加权、不确定性正则化以及 Huber 损失函数能够显著稳定真实世界数据上的三维世界模型学习过程。 如第 3 节所述,朴素的 ℓ 2 ℓ_2 ℓ2 损失难以优化,因为在任一时刻只有极少比例的点发生运动(约 1–5%)。 真实世界数据中的噪声进一步加剧了这一问题。 因此,我们采用运动加权、不确定性正则化以及作用于三维残差上的 Huber 损失。 单独使用运动加权会过度放大噪声信号,而不确定性分支与鲁棒损失函数能够对权重进行调节,从而减少过拟合。 综合这些改动后,模型训练更加稳定,且相较于未加权的 ℓ 2 ℓ_2 ℓ2 基线方法,预测精度得到显著提升。
预训练的二维特征提供了关键的先验信息,并带来了显著性能提升。 尽管三维几何信息本身极具潜力,但高质量的预训练三维表示仍然相对稀缺。 诸如 Sonata [160] 等方法取得了令人鼓舞的进展,但在细粒度场景中仍常常表现不足。 遵循文献 [9, 10] 的思路,我们假设 DINOv3 [153] 提供的稠密特征能够在无需显式分割的情况下提供物体性先验。 因此,我们将点投影至已标定的相机视角中,并为其附加来自冻结的 DINOv3 多个层级的特征。 这一简单的改动便显著提升了模型相对于基线方法的精度。
为了有效吸收大规模世界建模数据,模型规模扩展是必要的。 在架构、训练目标和特征设计确定之后,我们在同一 PTv3 设计框架下同时扩展模型的深度与宽度。 与视觉和语言建模中的尺度规律观察结果一致 [165],将模型参数规模从 5000 万扩展至 10 亿,在三维世界建模中同样带来了平滑、近似对数线性的性能提升(见图 9)。
图 9。尺度扩展研究。 无论扩展数据规模还是模型规模,POINTWORLD 的预测精度均呈现近似对数线性的提升趋势。
综合来看,这些因素——主干网络、训练目标、预训练特征以及模型规模扩展——共同作用,使模型性能显著优于原始的 GBND 基线方法 [5]。
图 8。真实世界动作推断。 POINTWORLD 以零样本方式结合 MPC,在真实环境中完成刚体、可变形、关节物体及工具使用等任务。 成功率显示在图像上方。
5.2. Ablations
将动作表示为夹爪上的点流,在有效且高效的接触建模之间取得了平衡,并能够在异构机器人形态之间实现正迁移。 在 POINTWORLD 中,机器人动作被表示为夹爪上的稠密点流,每个夹爪包含约 300–500 个点。 我们将该表示方式与四种基线方法进行比较:(i)使用相同点数的全身点流(覆盖更稀疏);(ii)包含 2000 个点的全身点云(与我们的方法具有相近密度);(iii)6 自由度末端执行器位姿与夹爪开合度;(iv)关节位置与夹爪开合度。 后两种低维表示方法不包含机器人点,而基于点流的模型则会将机器人点与场景特征进行拼接。 我们在 DROID 和 B1K 两个数据集上联合训练所有模型,其中 DROID 使用单臂 Franka 机器人,而 B1K 使用双臂类人机器人。 实验结果如图 11 所示。 在 B1K 数据集上,通过空间化方式表示接触,使得点流动作优于低维表示方法(末端位姿和关节位置)。 稀疏的全身点流表现不如仅使用夹爪点流的方法,这可能是由于其分辨率不足以捕捉精确的接触细节。 高密度的全身点流在一定程度上有所改善,但仍然落后于夹爪点流方法,因为梯度需要通过大量未参与接触的点传播,从而带来额外的计算开销。 在真实世界的 DROID 数据集上,两种全身点流基线方法均不如低维基线方法。 一种合理的解释是,大量机器人点会掩盖本就稀疏的学习信号,而这些信号又受到真实世界噪声的影响。 仅使用夹爪点流的方法有效缓解了这一问题并取得了最佳性能,凸显了其在真实世界数据上的有效性,以及在两个域中实现异构机器人形态间正迁移的能力。
图 11。动作表示方式。 将动作表示为夹爪上的点流,在有效且高效的接触建模之间取得平衡,并支持在异构机器人形态之间实现正迁移。
在训练和推理阶段均采用分块预测,可以减少轨迹推演漂移,同时提升计算效率。 POINTWORLD 采用 10 个时间步的分块预测(相当于 1 秒)。 我们将该设计与两种自回归基线方法进行对比消融:(i)教师强制(每一步输入真实值);(ii)带有 1 万步预热的自回归输入;并进一步使用相同的分块模型进行滑动窗口推理(W=1, 5)。 实验结果如图 12 所示。 当训练与推理策略保持一致时,教师强制方法优于自回归输入方法。 使用 W=1(等价于自回归输入)对分块训练模型进行评估时,性能下降最为显著;W=5 能够恢复部分精度,但在超过训练窗口后仍会出现性能退化。 在训练和测试阶段均采用完整时间范围的分块预测,可以在仅需一次前向推理(相比自回归方法需要 2–10 次)的情况下同时最小化漂移并摊薄计算开销,表明分块预测在精度与效率上均更具优势。
图 12。分块预测的消融实验,我们在训练和测试阶段研究了不同的轨迹推演策略。 在训练和推理阶段均采用分块式轨迹推演,相比其他基线方法能够显著减少漂移,同时仅需一次模型前向计算即可摊薄计算开销。
POINTWORLD 对不同程度的部分可观测性具有较强鲁棒性,并且在训练与推理阶段均能从额外相机中获益。 我们训练了四种模型变体,它们仅在 RGB-D 观测所使用的相机数量上有所不同:分别为一台、两台、三台,或随机抽取最多三台相机。 随后,我们在最多使用三台相机的三种设置下对所有模型进行评估。 实验结果如图 13 所示。 运动点上的误差始终保持在亚厘米级,且标准误差可以忽略不计;同时,在训练阶段使用更多相机会持续降低测试阶段的误差。 有趣的是,使用固定相机数量训练的模型,在推理阶段可用相机数量增加时,性能反而更好。 随机视角模型在所有测试相机数量设置下均表现出最强的鲁棒性,这表明在训练阶段接触多样化的可观测性,有助于模型在推理阶段于部分可观测条件下推断物体属性与物理特性。
图 13。部分可观测性的消融实验,我们训练了使用不同数量相机的 POINTWORLD 变体,并在测试阶段于所有设置下进行评估。 POINTWORLD 对不同程度的部分可观测性具有鲁棒性,并且在训练和推理阶段均能从额外相机中获益。 在训练阶段使用随机相机数量能够在所有测试设置下取得最佳性能。
预测误差随着模型规模和数据规模的增加呈现近似对数线性的下降趋势。 受语言和视觉领域尺度规律研究的启发 [165–167],我们检验了 POINTWORLD 是否遵循类似趋势。 在 DROID 数据集上,我们分别改变模型容量(5000 万至 10 亿参数)以及数据使用比例(5%–100%)。 每条曲线仅沿一个维度进行变化。 在对数空间中,我们在两个维度上均观察到近似线性关系(见图 9),表明增加数据量和模型容量能够带来可预测的性能提升。
图 10。零样本与微调条件下对保留真实世界场景的泛化能力示例,其中机器人搬运一只高反射玻璃瓶。 在 DROID 上预训练,或在 DROID 与 BEHAVIOR(D+B)联合数据上预训练的 POINTWORLD,能够在零样本条件下泛化到来自 DROID 保留实验室场景中的未见环境与运动模式,从而缩小与在该实验室数据上训练的专用模型之间的性能差距。 仅基于仿真数据预训练的 POINTWORLD 在零样本条件下无法实现有效泛化。 进一步的微调可使被抓取物体的轨迹预测更加精确。
5.3. Generalization and Transfer
我们研究了 POINTWORLD 在零样本和微调两种设置下,于域内、跨域以及保留的真实世界环境中的泛化能力。 每次微调仅使用原始训练迭代次数的 1/20。 实验结果见表 2。
表 2。POINTWORLD 在零样本与微调设置下,于域内、跨域以及保留真实环境中的泛化表现。 其中,D 表示 DROID,B 表示 B1K,H 表示保留的真实世界场景。 “From Scratch” 表示在保留实验室数据上从零开始训练的专用模型。 所有评估均在对应数据集中未见过的样本上进行。 POINTWORLD 能够在域内实现泛化,在零样本条件下迁移至未见过的真实世界环境,并在仅使用 20 倍更少更新次数进行微调后超越专用模型,同时还能从真实—仿真联合训练中获益。
POINTWORLD 在域内具有良好的泛化能力。 我们在训练过程中未见过的 DROID 与 B1K 保留子集上,研究了域内迁移能力。 在 B1K 数据集上,模型在保留轨迹上的运动点误差达到亚厘米级;而在 DROID 数据集上,尽管存在真实世界变化,保留集上的性能仍与训练阶段相当。 这表明 POINTWORLD 并非仅仅记忆训练样本。
预训练的 POINTWORLD 能够通过高效微调(更新次数减少 20 倍)实现从真实到仿真以及从仿真到真实的双向迁移。 我们通过评估在 DROID 上预训练的模型向 B1K 的泛化能力,以及反向迁移,来研究跨域迁移效果。 仿真域与真实域之间的零样本迁移仍然具有挑战性。 然而,仅使用原始训练步数的 5% 进行微调,便可迅速缩小与使用多 20 倍更新次数、从零训练的领域专用模型之间的性能差距。 这一效果具有对称性:从真实到仿真以及从仿真到真实的迁移均能从中受益。 从经验上看,我们观察到基于真实世界数据的预训练相比反向迁移具有更好的迁移效果,这可能源于真实世界数据具有更高的场景多样性。
POINTWORLD 能够在零样本设置下泛化到未见过的真实世界环境中,并在仅使用 20 倍更少更新次数进行微调后超越专用模型,同时还能从真实与仿真数据的联合训练中获益。 为研究真实世界保留集的泛化能力,我们从 DROID 数据集中保留 CLVR 实验室的数据,并评估在其余 DROID 数据上预训练的模型对该实验室场景的泛化效果。 该保留数据集被划分为 90% 的训练集和 10% 的测试集。 零样本模型从未接触这些帧,而微调模型仅使用其中 90% 的子集。 尽管在背景、光照、物体类型以及可能的运动分布上存在变化,基于其余 DROID 数据预训练的 POINTWORLD 仍能达到与在该保留实验室数据上训练的专用模型相当的性能。 在进行微调后,其性能很快超过了专用模型。 我们观察到,仅基于仿真数据预训练的模型并未优于从零训练的基线模型,但在微调后可达到相近的精度。 最后,在 DROID 与 B1K 混合数据上预训练的模型,相比仅使用 DROID 数据的模型,在零样本设置下表现出略强的性能。
5.4. Model-Based Planning with POINTWORLD
在多样化交互数据上完成预训练后,我们测试 POINTWORLD 是否能够在真实自然环境中的物理机器人上以零样本方式部署用于操作任务。 在评估中,我们采用了与 DROID 相似的 Franka 机器人配置,其安装在带轮底座上,并配备一台 RealSense D435 相机。 深度信息通过 FoundationStereo 方法进行估计 [9]。 对于每个任务,我们通过图形界面工具手动绘制目标物体的掩码,并指定其目标位置。 每次优化过程进行 30 个时间步的轨迹推演(相当于 3 次自回归前向推理)。 仅依赖预训练模型和统一的 MPC 框架,POINTWORLD 即可为多种真实世界任务优化动作,包括:刚体物体的非抓取式推动(如纸巾盒、书本)、可变形物体操作(如折叠围巾、放置枕头)、关节物体操作(如打开微波炉、关闭抽屉,涉及转动与滑动关节),以及工具使用(如使用掸子或扫帚进行清扫)。 任务类型及其成功率如图 8 所示,结果表明预训练的 POINTWORLD 能够捕捉具有可迁移性的交互动力学特性,包括在部分可观测条件下进行接触推理(刚体推动)、隐式推断物体的关节结构与形变特性(关节与可变形操作),以及物体—物体之间的交互(工具使用)。
6. Conclusion
我们提出了 POINTWORLD,一种大规模预训练的三维世界模型,其在统一的三维点流表示下,能够基于真实环境中的 RGB-D 观测与机器人动作预测三维环境动力学。 为训练该模型,我们利用了三维视觉领域的最新进展,并构建了一个大规模、以动作为条件的三维世界建模数据集,包含高质量的深度图、相机位姿以及三维点轨迹。 通过系统的实验评估,我们深入研究了三维世界模型训练的扩展方法,包括主干网络设计、动作表示方式、学习目标、部分可观测性、数据混合策略、跨域迁移以及尺度规律等方面。 在多样化数据上完成预训练后,单个 POINTWORLD 模型即可在真实世界中实现多种实用的操作行为,包括非抓取式推动、可变形与关节物体操作以及工具使用。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)