引言

想象你是一个身处厨房的机器人。你收到一个简单的指令: “打开微波炉。”对你作为一个人类来说,这轻而易举。你会看着微波炉,找到“启动”按钮,然后按下它。

但对于人工智能来说,这是一个巨大的挑战。首先,AI 必须理解“打开”意味着与特定的按钮进行交互。其次,它必须在一个充满其他物体、阴影和遮挡的复杂 3D 环境中,通过视觉定位那个微小的按钮。标准的计算机视觉模型很擅长找到微波炉 (整个物体) ,但在找到完成任务所需的特定功能性部件 (按钮) 时,它们往往会彻底失败。

这个问题被称为功能性理解 (Functionality Understanding) 。 它需要双重能力: 世界知识 (根据语言理解物体如何工作) 和细粒度感知 (在 3D 中精确分割细小的交互元素) 。

在这篇文章中,我们将深入探讨 Fun3DU , 这是一篇开创性的研究论文,提出了一种免训练的方法来解决这个问题。Fun3DU 利用大语言模型 (LLM) 和视觉语言模型 (VLM) 的能力来解释自然语言指令,并以惊人的准确度在 3D 场景中分割功能性物体。

Fun3DU 流程概览。

如上图所示,Fun3DU 接收诸如“打开第二个抽屉”之类的指令,通过世界知识模块进行处理,并输出完成工作所需的特定把手的精确 3D 分割。

背景: 为什么这如此困难?

要理解 Fun3DU 的重要性,我们必须看看当前开放词汇 3D 分割 (OV3DS) 方法的局限性。

传统的 OV3DS 方法 (如 OpenMask3D 或 LERF) 允许用户使用文本查询 3D 场景。你可以输入“椅子”,模型就会高亮显示椅子。然而,这些模型依赖的数据集严重偏向于大型、明显的物体 (家具、墙壁、地板) 。当你要求它们找到“底部抽屉的把手”时,它们通常会失败。它们可能会高亮整个柜子,因为它们的训练数据从未教过它们区分把手和它所附着的木头。

此外,指令通常是模棱两可的。“打开灯”并没有明确提到“开关”。具身智能体 (如机器人) 需要推断出缺失的环节。

SceneFun3D 基准测试

研究人员在 SceneFun3D 上验证了他们的工作,这是一个专门为此挑战设计的数据集。它包含室内环境的高分辨率扫描和需要推理的任务描述 (例如,“打开上面有电视的柜子”) 。正如我们将看到的,标准基线模型在这个基准测试中表现不佳,突显了像 Fun3DU 这样的专门方法的需求。

核心方法: Fun3DU

Fun3DU 的精妙之处在于其模块化设计。它并不试图从头开始训练一个庞大的新神经网络。相反,它像一位指挥家,协调几个强大的、预训练的“基础模型”来一步步解开谜题。

该方法是免训练的 (training-free) 。 它使用冻结的预训练模型,这意味着它可以立即部署,无需在海量新数据集上进行昂贵的微调。

Fun3DU 的四个主要模块。

如图 2 所示,该架构由四个不同的模块组成:

  1. 任务描述理解: 使用 LLM 推理请求。
  2. 上下文物体分割与视图选择: 找到大致区域并选择最佳相机角度。
  3. 功能性物体分割: 精确定位特定的交互部件。
  4. 点云功能性分割: 将结果提升到 3D 空间。

让我们详细分解这些步骤。

1. 任务描述理解 (大脑)

输入是原始文本指令 \(D\)。目标是识别两件事:

  • 上下文物体 (Contextual Object, \(O\)) : 与任务相关的大型物体 (例如,“柜子”) 。
  • 功能性物体 (Functional Object, \(F\)) : 需要交互的特定部分 (例如,“把手”) 。

系统使用大语言模型 (LLM) 并利用思维链 (Chain-of-Thought, CoT) 推理。它不仅仅是询问物体名称;它要求 LLM 列出一个“任务解决序列”。

LLM 推理输出示例。

在上面的例子中,“Open the bottom drawer of the cabinet… (打开柜子底部的抽屉……) ”这个提示引导 LLM 推导出一个层级结构。它将“上下文物体”识别为柜子,将“功能性物体”识别为把手。这解决了歧义问题: 即使用户说“打开灯”,LLM 也会推断出“灯开关”。

这种推理能力的更多示例如下所示:

提取物体层级结构的 LLM 对话示例。

2. 上下文物体分割与视图选择 (眼睛)

一旦系统知道它在寻找“柜子” (\(O\)) ,它需要在视觉数据中找到它。一个 3D 场景由数千张从不同角度拍摄的 2D 图像 (帧) 组成。用繁重的视觉模型处理所有图像在计算上既昂贵又不准确 (许多视图可能模糊不清或显示物体的背面) 。

上下文分割: 系统首先使用开放词汇分割器 (如 OWLv2) 在所有可用视图中找到上下文物体 (\(O\)) 。

基于分数的视图选择: 这是一个关键的创新。系统需要将数千个视图过滤为少数几个“最佳”视图。但是什么构成了“好”的视图?

  1. 置信度: 检测器确信它看到了该物体。
  2. 居中: 物体靠近图像中心。
  3. 完整性: 物体没有在边缘被截断。

为了实现这一点,作者引入了一种基于极坐标的评分机制。对于像素掩码 \((x, y)\),他们计算相对于图像中心的距离 \(d\) 和角度 \(\alpha\):

极坐标方程。

然后,他们使用 Kullback-Leibler (KL) 散度将这些距离和角度的分布与均匀分布进行比较。居中且分布良好的掩码将与均匀分布具有较高的相似度分数 (\(S\)) 。

分布相似度分数方程。

一个视图的最终得分 (\(S_O^n\)) 结合了模型的置信度 (\(S_m\)) 与这些空间得分:

总视图得分方程。

这个数学公式确保系统忽略那些柜子仅在角落依稀可见的视图,而专注于柜子位于正前方的视图。

通过热力图可视化好视图与坏视图。

图 4 (上图) 完美地展示了这一点。热力图显示,具有中心分布的视图 (顶行) 获得高分,而偏离中心或部分的视图 (底行) 获得低分。

你可以在下面看到这个选择过程的结果。左侧的图像 (高排名) 显示了物体清晰、无遮挡的视图,而右侧的图像 (低排名) 则被遮挡或构图不佳。

按分数排名的选定上下文物体掩码。

3. 功能性物体分割 (精度)

现在系统拥有了一组包含上下文物体 (例如柜子) 的“最佳视图”,它需要找到功能性物体 (例如把手) 。

Fun3DU 使用视觉-语言模型 (VLM) , 具体来说是 Molmo。系统用图像和文本提示 VLM: “Point to all the [Functional Object] in order to [Task Description]. (为了[任务描述],指出所有的[功能性物体]。) ”

包含完整的任务描述至关重要。如果有两个把手,但任务是“打开底部抽屉”,VLM 会利用文本上下文仅指向底部的把手。

VLM 的输出是一组 2D 点。这些点随后被输入到 SAM (Segment Anything Model,分割一切模型) 中,这是一种“可提示的分割器”。SAM 接收这些模糊的点,并将其扩展为精确的像素级掩码。

来自 VLM 的绿点和来自 SAM 的最终掩码。

在上图中,你可以看到 VLM 提供的绿点以及 SAM 生成的高质量掩码。

4. 点云功能性分割 (地图)

最后一步是 3D 聚合。我们拥有来自几个不同相机角度的精确 2D 掩码。我们需要将它们组合成点云上的单个 3D 预测。

系统使用多视图一致性 (Multi-View Agreement) 。 它将 2D 掩码投影到 3D 点上。如果一个 3D 点在多个不同的视图中被选中,它的“分数”就会增加。

3D 点评分方程。

累积了足够选票 (超过阈值 \(\tau\)) 的点被视为最终功能性物体的一部分。这种投票机制自然地过滤掉了噪声——如果 VLM 在某个奇怪的角度犯了错,其他 50 个角度会纠正它。

实验与结果

研究人员将 Fun3DU 与最先进的基线模型进行了比较: OpenMask3DOpenIns3DLERF 。 评估指标是 SceneFun3D 数据集上的平均精度 (AP) 和交并比 (IoU) 。

定量分析

结果差距悬殊。基线模型表现非常挣扎,通常精度接近于零。这是因为这些模型倾向于分割上下文物体 (整个梳妆台) 而不是功能性物体 (旋钮) 。

表 1: Split 0 上的结果。

如表 1 所示,Fun3DU 实现了 33.3 的 \(AP_{25}\),而次优的方法 (OpenMask3D) 仅达到 0.4 。 差距是巨大的。

表 2: Split 1 上的结果。

表 2 显示了 Split 1 (一个更难的数据集) 上的结果。趋势仍在继续,Fun3DU 保持了显著的领先优势。

定性分析

数字是一回事,但看掩码能解释为什么基线模型会失败。

与基线模型的定性比较。

在图 5 中,看看“控制音量 (Control the volume) ”任务 (第一列) 。

  • 基线模型: 它们很难找到任何东西,或者高亮了整个电视柜。
  • Fun3DU: 正确高亮了小按钮/旋钮区域。

在“打开底部抽屉”任务中,差异更加明显。基线模型高亮了灯或整个床头柜。Fun3DU 高亮了把手。

这里有更多定性示例,展示了 Fun3DU 处理复杂提示 (如“打开烤箱的底部以门”) 的能力:

Split 1 上的更多定性示例。

以及最终 3D 点云输出的可视化:

最终 3D 点云可视化。

消融实验: 什么最重要?

研究人员进行了消融研究,以通过观察哪些组件驱动了性能。

视图选择重要吗? 是的。如表 4 所示,移除评分系统 (\(\lambda_m=1\),意味着仅依赖检测置信度) 会导致性能下降。空间居中和置信度的结合是关键。

表 4: 视图选择的消融实验。

我们需要很多视图吗? 图 6 显示了视图数量 (\(\hat{V}\)) 对性能的影响。随着视图数量的增加,性能会提高,在 50 个视图左右达到峰值。有趣的是,即使只有 10 个精心选择的视图,该模型的表现也相当不错,证明了选择算法的高效性。

性能与视图数量的关系图。

结论与启示

Fun3DU 代表了具身智能感知的一次重大飞跃。作者没有尝试从头开始训练庞大的任务特定网络,而是将预训练的“专家” (用于推理的 LLM,用于指向的 VLM,用于分割的 SAM) 链接在一起,创建了一个既灵活又精确的系统。

关键要点:

  1. 上下文至关重要: 如果不先理解“把手”属于“柜子”,你就无法找到它。
  2. 视图质量 > 数量: 智能地选择最佳相机角度比处理所有内容更有效率。
  3. 基础模型是乐高积木: 3D 理解的未来可能不在于新架构,而在于更好地组合现有的强大模型。

这种方法为机器人真正理解像“给我的手机充电”或“调低暖气”这样的指令打开了大门,使其能够在混乱的 3D 现实家庭环境中导航,并与世界上微小的、功能性的部分进行交互。