想象一下,你正看着一张你从未去过的房间的照片。有人问: “那个沙发能搬进门口吗?”即使你手里没有卷尺,你可能也能做出一个非常准确的猜测。你凭直觉知道标准门的通过高度大约是 80 英寸,利用这一心理“尺子”,你就能估算出沙发的大小。这种利用上下文线索来测量世界的能力对人类来说是第二天性。
然而,对于人工智能来说,这是一场巨大的挣扎。
尽管最先进的视觉语言模型 (VLMs) 如 GPT-4 和 Gemini 能够用诗意的细节描述日落,或解释人群中复杂的人际关系,但当被问及简单的定量问题时,例如“那台笔记本电脑有多少厘米宽?”或“那把椅子离这里有多远?”时,它们却出了名地容易犯错。
在一篇引人入胜的新论文 Reasoning Paths with Reference Objects Elicit Quantitative Spatial Reasoning in Large Vision-Language Models 中,研究人员揭示了这些模型失败的原因,并提出了一种令人惊讶的简单零样本提示技术来修复它。通过教模型像人类一样“思考”——具体来说,即识别并使用参考物体 (reference objects) ——他们在无需微调模型或提供额外数据的情况下,实现了巨大的性能提升。
在这篇深度文章中,我们将探讨他们创建的新基准测试、导致突破的统计发现,以及你可以用来让 VLM 在空间感知上更聪明的“SpatialPrompt”方法。
挑战: 单目视觉的不适定问题
要理解这项研究的重要性,我们首先需要了解任务的难度。研究人员专注于从单张单目图像进行定量空间推理 。
在计算机视觉中,从单张 2D 图像估计深度或大小在技术上是一个“不适定问题 (ill-posed problem) ”。从数学上讲,靠近相机的物体看起来可能与远处巨大的物体完全一样。标准的 JPEG 图片中没有固有的深度信息。
人类利用语义先验 (semantic priors) 和上下文线索 (contextual cues) 来解决这种模糊性。我们知道咖啡杯没有建筑物那么大。我们知道地砖通常有标准的尺寸。我们利用这些已知的量来推算未知的量。
在这项工作之前,对 AI 的这种能力进行基准测试是困难的。现有的基准测试要么严重依赖自动数据生成 (这可能会有噪声) ,要么只关注定性概念 (例如,“杯子在勺子的左边还是右边?”) 。在用于定量测量 (例如,“杯子距离勺子 20厘米”) 的高精度、人工标注数据方面存在空白。
介绍 Q-Spatial Bench
为了严格测试 VLM,作者推出了 Q-Spatial Bench , 这是一个包含 271 个高质量人工标注问题的数据集。

如图 1 所示,该基准测试分为两个不同的部分,以确保评估的公平性:
- Q-Spatial-ScanNet: 这个子集重新利用了 ScanNet 数据集中高质量的 RGB-D (红、绿、蓝 + 深度) 扫描数据。它包括室内环境,其中的距离可以对照 3D 点云数据进行验证。问题涵盖五个类别: 物体宽度、物体高度、水平距离、垂直距离和直线距离。
- Q-Spatial++: 为了确保模型不仅仅是在背诵训练数据 (因为 ScanNet 是公开的,很可能在 GPT-4 等模型的训练集中) ,研究人员使用 iPhone 在不同环境 (室内、室外、白天、夜晚) 中收集了一组全新的图像。他们在现实世界中进行了物理测量以创建真值标签。
创建人工标注的基准测试是一个重要的贡献,因为与之前的自动化尝试相比,它提供了一个“黄金标准”。

“顿悟”时刻: 为什么 GPT-4o 遥遥领先?
有了基准测试后,研究人员测试了四个商业巨头: Gemini 1.5 Pro, Gemini 1.5 Flash, GPT-4V, 和 GPT-4o。
初步结果显示了一个明显的赢家。

GPT-4o 在 ScanNet 分割上的成功率接近 70%,而 Gemini 1.5 Pro 则表现得非常挣扎,经常完全拒绝回答问题。但这其中的原始数据并不是研究中最有趣的部分。研究人员想知道为什么 GPT-4o 会好这么多。
参考物体也的作用
团队对 GPT-4o 的文本回复进行了定性分析。他们注意到了一个模式: 在许多 GPT-4o 回答正确的实例中,它自发地生成了一条包含参考物体的推理路径。
例如,当被要求估计一叠毛巾的高度时,GPT-4o 可能会输出这样的推理: “毛巾放在标准的浴室柜台上,通常高 36 英寸。基于此,这叠毛巾看起来是……”
这反映了人类的推理过程。为了从统计上证明这一点,作者标注了模型的回复是否使用了参考物体,并将其与准确性相关联。

上表中的数据令人震惊。当 GPT-4o 使用参考物体时,其成功率跃升至 83% 。 而当它不使用时,成功率仅为 64% 。
为了确保这不是巧合 (也许有参考物体的那些问题本身就更容易?) ,他们运行了一个逻辑回归模型。他们控制了诸如数据集分割的难度和被测量距离的大小等变量。

回归分析证实了他们的假设。如下面的方程所示,参考物体的存在 (\(X_r\)) 是成功 (\(p(\delta_{\leq 2})\)) 的一个统计显著预测因子,将准确估计的几率提高了大约 2.7 倍。

解决方案: SpatialPrompt
受“参考物体 = 准确性”这一观察结果的启发,作者开发了一种提示策略,强制所有模型表现出这种行为。他们称之为 SpatialPrompt 。
这是一种零样本技术,意味着不需要模型训练。与其简单地问“这把椅子有多高?”,SpatialPrompt 指示 VLM 遵循特定的推理结构:
- 识别图像中潜在的参考物体。
- 根据常识估计这些参考物体的大小。
- 使用这些参考作为标尺来测量目标物体。

该提示有两种形式: SpatialPrompt-Single (简洁的指令) 和 SpatialPrompt-Steps (详细的多步分解) 。“Steps”版本明确告诉模型提出一个计划并执行由粗到细的估算。
实验与结果
应用 SpatialPrompt 的结果具有变革性意义。
缩小差距
当应用于表现不佳的模型时,SpatialPrompt 解锁了以前似乎不存在的能力。
- Gemini 1.5 Pro: 成功率提高了超过 47 个点 。
- GPT-4V: 提高了 30 个点 。
- Gemini 1.5 Flash: 提高了 20 个点 。
即使是已经在某些情况下自发使用这种逻辑的 GPT-4o,其一致性也得到了提升。

表 8 提供了详细信息。请注意,使用标准提示的 Gemini 1.5 Pro 在 ScanNet 分割上的成功率几乎为零 (0.59) ——这可能是由于安全拒绝或无法理解请求。使用了 SpatialPrompt-Steps 后,该分数飙升至 53.65 。
作用机制
作者通过验证提示是否真的做到了它所声称的: 增加参考物体的使用,来证实其有效性。他们绘制了不同模型和提示策略下参考物体使用频率与成功率的关系图。

上面的散点图揭示了强正相关性。绿色三角形 (SpatialPrompt) 聚集在右上角,表明高参考使用率和高准确率。蓝色方块 (标准提示) 聚集在左下角。这从经验上证实了论文的核心论点: 通过参考物体进行推理直接提高了准确性。
它对开源模型有效吗?
研究人员还测试了 LLaVA , 这是一个流行的开源 VLM。结果好坏参半。

虽然 LLaVA 在 ScanNet 分割上表现出奇地好,但其性能在多样化的 Q-Spatial++ 分割上显著下降,这表明它可能在预训练期间记住了 ScanNet 数据。此外,SpatialPrompt 并没有持续帮助 LLaVA。作者推测,较小的开源模型可能缺乏“指令遵循”能力,或者缺乏有效估计参考物体大小所需的庞大内部知识库。
定性分析与失败案例
虽然 SpatialPrompt 很强大,但它不是魔法。该方法依赖于模型正确识别参考物体并知道其大小。如果模型对参考物体的大小产生幻觉,最终的计算将是错误的。
在 GPT-4o 中观察到的一个常见失败模式涉及地砖。

在上面的例子中,模型试图使用地砖作为参考。然而,地砖的尺寸变化很大 (不像标准的电源插座或门把手) 。错误判断瓷砖尺寸会导致距离估计出现级联误差。
这凸显了一个局限性: 该方法在场景包含标准化物体 (微波炉、门、插座) 时效果最好,而在空旷的环境或具有非标准建筑结构的场景中则表现挣扎。
结论: 无需训练即可解锁能力
论文 Reasoning Paths with Reference Objects Elicit Quantitative Spatial Reasoning 为 AI 社区提供了一个令人信服的教训。通常,我们假设要使模型在特定任务 (如测量距离) 上表现更好,我们需要在大量新数据上对其进行训练或更改其架构。
然而,这项研究表明,空间推理的能力已经存在于大型模型中。它只需要被正确地“诱发”。通过模仿人类使用参考物体的认知过程——用已知情境化未知——我们今天就可以解锁 VLM 的定量推理能力。
对于学生和从业者来说,要点很明确:
- 上下文为王: 在使用 VLM 时,不要只要求答案;要求模型将其答案建立在视觉上下文中。
- 提示工程很重要: 一个结构良好的、强制逻辑推理路径 (思维链) 的提示可以显著优于原始模型。
- 基准测试推动进步: Q-Spatial Bench 的创建提供了一个必要的衡量标准,确保我们不仅仅依赖于 AI 能力的轶事证据。
随着 VLM 继续被集成到机器人和现实世界的助手应用中,这些基于“参考”的推理路径对于需要导航和理解我们物理世界维度的智能体将至关重要。
](https://deep-paper.org/en/paper/2409.09788/images/cover.png)