想象一下,让机器人“把沙发和台灯之间的那个小咖啡桌捡起来”。对于人类来说,这轻而易举。我们会瞬间解析场景,识别出沙发、台灯以及位于它们之间的那张特定桌子。然而,对于 AI 来说,这项任务——被称为 3D 指代定位 (3D Referential Grounding,或 3D-REFEXP) ——却极其困难。

AI 必须理解自然语言,感知 3D 几何结构,处理现实世界传感器固有的噪声,并推理空间关系。以前,尝试解决这个问题的模型往往依赖“作弊”手段,例如预处理过的完美 3D 网格或人工标注的分割图。但现实世界并不提供预先标记好的网格;它只是一股混乱的 RGB-D (颜色和深度) 传感器数据流。

这就是 LOCATE 3D 登场的地方,这是来自 Meta FAIR 团队的一款新模型。这篇论文展示了一个重大飞跃: 直接在传感器观测流上执行对象定位。该系统的核心是 3D-JEPA , 这是一种新颖的自监督学习 (SSL) 算法,它将“上下文嵌入”的强大能力——大型语言模型 (LLM) 背后的秘密武器——引入到了 3D 点云中。

在这篇深度解析中,我们将拆解 Locate 3D 的工作原理,探索它如何将 2D 基础模型提升到 3D 空间,如何通过自监督学习上下文,以及如何在真实机器人上实现最先进的结果。

核心问题: 为什么 3D 定位如此困难?

要理解 Locate 3D 的贡献,我们需要先看看以前工作的局限性。

  1. 依赖完美数据: 许多现有的 3D 定位方法在推理过程中需要详细的 3D 网格或“地面真值”对象建议。这使得在机器人上部署变得不可能 (因为机器人只能看到当前摄像头看到的内容) 。
  2. “局部”与“全局”的陷阱: 简单地将 2D 特征 (如来自 CLIP 的特征) 投影到 3D 点上,只能得到对场景的“词袋”式理解。模型可能知道某个点属于“椅子”,但它缺乏上下文来知道那是“门旁边的那把椅子”。
  3. 数据稀缺: 与可用于 2D 训练的数十亿图像相比,带标注的 3D 数据稀缺且收集成本高昂。

Locate 3D 通过一个三阶段的流水线解决了这些问题,该流水线旨在处理原始、嘈杂的传感器数据,同时利用嵌入在 2D 基础模型中的海量知识。

Locate 3D 的架构

该模型的架构在从原始数据到语义理解的演进过程中非常优雅。如下图所示,该流水线包括 预处理上下文表征3D 定位

图 1: Locate 3D 的整体架构。流水线从原始 RGB-D 数据变为“提升”后的特征,通过 3D-JEPA 编码器对其进行细化,最后基于文本查询将其解码为特定的对象掩码和边界框。

让我们分解这三个阶段。

第一阶段: 预处理和特征“提升” (Lifting)

研究人员并不是从零开始训练视觉模型。相反,他们站在巨人的肩膀上。他们利用了 2D 基础模型——具体来说是 CLIP (用于语言-图像对齐) 、DINOv2 (用于稳健的视觉特征) 和 SAM (Segment Anything Model,用于对象掩码) 。

该过程如下:

  1. RGB-D 输入: 系统接收一系列定位后的 RGB-D 图像 (带有深度和相机位置的视频帧) 。
  2. 特征提取: 对于每个 2D 帧,使用 CLIP 和 DINO 提取特征。由于 CLIP 特征是全局的 (每张图像一个向量) ,作者使用 SAM 生成实例掩码,并为每个特定掩码计算 CLIP 特征。
  3. 提升 (Lifting) : 这些 2D 特征被“提升”到 3D 空间。RGB-D 数据被反投影为 3D 点云。然后系统对该点云进行体素化 (创建 3D 网格) 。对于每个体素,取落入该空间的 2D 像素特征的平均值。

结果是一个 特征化点云 , 表示为 \(\mathbf{PtC}_{\text{lift}}\)。这个云中的每个点都包含来自 2D 模型的丰富语义信息。然而,这些信息是局部的。桌子上的一个点知道它看起来像桌子,但它本身并不知道旁边的椅子。

第二阶段: 3D-JEPA 和上下文表征

这可以说是该论文最重要的贡献。为了将局部特征转化为全局场景理解,作者引入了 3D-JEPA (用于 3D 的联合嵌入预测架构) 。

在自然语言处理 (NLP) 中,我们从简单的词嵌入 (Word2Vec) 发展到了上下文嵌入 (BERT) 。单词“bank”的意思取决于它是在“river” (河岸) 附近还是“money” (银行) 附近。3D-JEPA 试图为 3D 点做完全相同的事情。

自监督学习 (SSL) 任务

3D-JEPA 使用一种 掩码预测 策略。这个想法很简单: 如果你隐藏场景的一部分,一个真正“理解”场景的模型应该能够根据剩余部分的上下文预测缺失的内容。

图 2: 3D-JEPA 训练框架。上下文编码器处理掩码点云。然后预测器尝试猜测被掩码区域的潜在特征。目标特征来自“目标编码器”,它是上下文编码器的指数移动平均 (EMA) 。

训练过程涉及两条路径:

  1. 目标编码器 (Target Encoder): 处理完整的点云以生成“地面真值”特征表示。
  2. 上下文编码器 (Context Encoder): 处理点云的掩码版本 (场景中的大块区域被移除) 。

然后,一个 预测器 (Predictor) 网络接收上下文编码器的输出,并尝试预测缺失区域的特征表示。

数学目标是最小化预测特征与目标特征之间的距离:

方程 1: 3D-JEPA 的损失函数。它最小化预测器的输出 (基于掩码输入) 与目标编码器的输出 (基于完整输入) 之间的距离。注意目标编码器上的停止梯度 (sg) ,这对稳定性至关重要。

为什么掩码很重要

作者发现,如何对场景进行掩码至关重要。如果你只是随机掩盖单个点,模型可以通过从直接邻居进行插值来“作弊”。为了强制模型学习高层几何和语义,他们使用了 块状掩码 (具体来说是序列化百分比掩码) ,这会移除场景中连续的块。

图 4: 不同的掩码策略。“序列化掩码” (底行) 被发现是最有效的,它迫使模型推断缺失的结构,而不是仅仅插值局部噪声。

通过在这个任务上进行训练,3D-JEPA 编码器学会了观察一个点并理解它与房间其余部分的关系。它生成了 上下文特征

第三阶段: 语言条件解码器

一旦编码器通过 3D-JEPA 进行了预训练,它就会与一个 语言条件解码器 一起进行微调。该组件负责接收丰富的 3D 特征和用户的文本查询 (例如,“窗户旁边的椅子”) ,并找到该对象。

图 3: 语言条件解码器。它使用一系列注意力块。查询 (源自文本) 关注 3D 点特征 (交叉注意力) 以细化其表示。

解码器使用具有 \(N=8\) 个块的 Transformer 架构。它采用:

  1. 自注意力 (Self-Attention): 允许模型推理查询/对象不同部分之间的关系。
  2. 交叉注意力 (Cross-Attention): 将文本查询与 3D 点云特征集成在一起。

预测头

解码器不仅仅输出一个通用的“位置”。它有专门的头来联合预测三件事:

  1. 3D 掩码: 对象点的密集分割。
  2. 3D 边界框: 对象的空间范围。
  3. 文本对齐: 文本的哪一部分对应于此对象。

图 7: 预测头。左上: Token 预测 (将对象与单词匹配) 。右上: 掩码头 (预测逐点概率) 。底部: 边界框头 (预测坐标) 。

作者开发了一种新颖的边界框头,它使用细化后的点特征与查询之间的交叉注意力,性能显著优于标准的 MLP (多层感知机) 方法。

训练策略

训练像这样复杂的多模态系统需要仔细的平衡。你有一个强大的预训练编码器 (3D-JEPA) 和一个随机初始化的解码器。如果立即一起训练,来自解码器的噪声可能会破坏编码器中预训练的知识。

为了解决这个问题,作者利用了 复合损失函数分阶段学习率调度

损失函数

模型同时针对多个目标进行优化: 准确的分割 (Dice/交叉熵) 、准确的框 (L1/GIoU) 和文本对齐。

方程 2: 复合损失函数。它结合了用于掩码的 Dice 和交叉熵,用于框的 L1 和 GIoU,以及用于文本接地的对齐损失。

学习率调度

该调度旨在对系统进行“预热”。最初,编码器被冻结或学习非常慢,而解码器学习基础知识。逐渐地,编码器被“解锁”以针对特定的定位任务微调其表示。

图 8: 学习率调度。注意编码器 (左) 的学习率远低于解码器 (右) ,并在训练过程的后期提升,以保留预训练特征。

数据集: L3DD

为了系统地研究泛化能力,研究人员推出了 Locate 3D Dataset (L3DD) 。 现有的数据集通常仅限于单一的捕捉设置 (ScanNet) 。L3DD 聚合了跨越 ScanNetScanNet++ARKitScenes 的标注,总计超过 130,000 条语言标注。

这种多样性至关重要。它确保模型不仅仅是在死记硬背某种特定相机类型或房间布局风格的怪癖。

图 10: 来自 L3DD 数据集 (ScanNet++ 分割) 的样本。模型看到 RGB 场景 (左) ,并且必须针对查询“桌子上的室内植物”预测掩码 (右) 。

实验与结果

那么,它的效果如何呢?简短的回答是: 它树立了新的最先进水平 (SoTA) 。

基准性能

作者在标准基准 (SR3D、NR3D、ScanRefer) 上评估了 Locate 3D。关键是,他们是在 传感器点云——从 RGB-D 帧派生的原始数据——上进行评估的,而不是以前“最先进”方法使用的干净网格。

尽管这种设置更难,Locate 3D 还是超越了之前的方法,包括那些依赖地面真值建议或网格的方法。

表 2: 与先前方法的比较。与 3D-VisTA 和基于 VLM 的方法等基线相比,Locate 3D 在所有基准测试中都实现了显著更高的准确率 (Acc@25 和 Acc@50) 。

当使用额外的 L3DD 数据进行训练时 (称为 Locate 3D+ ),性能进一步提升,证明了该方法的可扩展性。

3D-JEPA 真的有用吗?

一个关键问题是复杂的 SSL 预训练是否必要。难道不能只使用“提升”后的 CLIP 特征来训练解码器吗?

消融研究 (表 3) 给出了明确的“是的,它有用”。

表 3: 消融研究。使用原始 RGB 效果很差 (28.9%)。使用提升特征 (ConceptFusion/CF) 更好 (53.9%)。但使用 3D-JEPA 初始化产生了最佳结果 (61.7%),证明了上下文表征学习的价值。

可视化“上下文”

为了可视化 3D-JEPA 在做什么,作者使用 PCA 将高维特征投影为颜色。

在下图中,请看中间一列 (“微调后的 3D-JEPA 特征”) 。你可以看到平滑的语义分组——编码器已将“床”和“地板”分组成不同的语义区域。然后解码器 (右列) 锐化这些特征,强烈聚焦于查询中引用的特定对象。

图 9: 特征可视化。左: RGB。中: 3D-JEPA 特征 (平滑、语义化) 。右: 解码器特征 (锐利、局部化) 。这说明了从一般场景理解到特定对象定位的转变。

真实世界机器人部署

也许最令人兴奋的结果是在波士顿动力公司的 Spot 机器人上的部署。在一个测试公寓 (训练期间未见过) 中,机器人被要求导航到自然语言描述的对象 (例如,“沙发前面的咖啡桌”) 并捡起它们。

Locate 3D+ 实现了 8/10 的成功率 , 显著优于基于 VLM 的基线 (使用 GPT-4o 或 Llama-3 提出 2D 边界框并投影它们) 。这证明直接学习 3D 表示比将 2D 模型串联起来用于物理任务更稳健。

图 12: 机器人实验。Spot 机器人 (左图) 成功定位了诸如“沙发前面的咖啡桌” (上) 和“走廊里的梳妆台” (下) 等物体,通过点云中的边界框 (右) 进行可视化。

结论

Locate 3D 代表了 3D AI 的一个成熟点。我们正在从依赖完美、预处理地图的系统,转向能够解释原始传感器数据这一混乱、嘈杂现实的系统。

通过结合 2D 基础模型的“知识” (通过提升) 与 3D 上下文理解的“智慧” (通过 3D-JEPA) ,Locate 3D 架起了语言与几何之间的桥梁。L3DD 数据集的引入进一步为能够在不同环境中运行的通用 3D 智能体铺平了道路。

对于学生和研究人员来说,收获是明确的:

  1. 提升 (Lifting) 行之有效: 你不需要从头开始为 3D 训练视觉模型;你可以将 2D 智能投影到 3D 空间。
  2. 上下文为王: 局部特征是不够的。像 JEPA 这样的 SSL 方法对于教导模型场景元素如何相互关联至关重要。
  3. 传感器优先设计: 设计适用于原始传感器数据的模型更难,但对于现实世界的机器人技术来说是必要的。

当我们展望拥有实用的家务机器人和先进 AR 助手的未来时,像 Locate 3D 这样的技术将成为基础模块,使机器不仅能理解物体是什么,还能理解它在我们生活环境中的位置