想象一下,期末考试季,一位地理老师想考察学生是否真正看懂了教室的布局。她不考背诵,而是掏出一张教室照片,问:“椅子在桌子的哪边?”“窗户离黑板远吗?”学生需要扫一眼照片,在心里勾勒出物体间的位置关系,再组织语言作答。如果把“学生”换成多模态 AI 模型——给它一张图片,抛出一连串方位问题,再让脚本自动批改——这就是“空间推理评测”。它考的不是模型认不认识“椅子”,而是模型理不理解“椅子在桌子的左上方”。这篇文章将带你从头了解:这场考试到底考什么、题目怎么出、模型怎么答、成绩怎么算,以及为什么它是机器人导航与具身智能的“入学考试”。
空间推理评测是量化多模态模型“几何直觉”的标准考试。掌握它的评测维度、基准设计与指标口径,能帮助 AI 从业者在模型选型、具身智能落地与视觉问答优化中做出更可靠的判断。
可视化演示
展示DocVQA如何通过OCR与布局理解从文档图像中定位信息并回答问题,以及ANLS评测指标计算流程。
本节配有交互动效(进入视口后自动加载,约 3KB)。
DocVQA文档问答流程 文档输入:表单、发票、幻灯片等文档图像 OCR提取:文字识别+布局坐标定位文本区域 问答输出:根据问题从文档中提取答案 Doc Image + Q → OCR → Answer 需理解版面布局与文字语义
评测定义
期末考试季,地理老师想考察学生是否真正“读懂”了教室布局。她不考背诵,而是掏出几张教室照片,问:“椅子在桌子的左边还是右边?”“讲台离门口近还是远?”这种考试有一个共同结构:给学生一张图,配一个问题,请学生说出答案。多模态空间推理评测正是这场考试的计算机版本。
把图换成图像数据、把问题换成自然语言查询、把答案换成模型输出的文本,就构成了评测的基本单元。研究者收集大量带布局标注的图片,写成标准化的空间问题,让模型逐一作答,再与人工标注的标准答案比对。评测的核心目标不是“模型认不认识物体”,而是“模型理不理解物体之间的几何联系”——这是关系级理解,而非单物体识别。
从数学上看,一次评测可以形式化为一个条件概率问题:给定视觉场景 V 和空间问题 Q,模型对每个候选答案 A 分配一个概率。评测关心的就是正确答案能否获得最高概率。量化这个概率的过程,就是标准答案与评分脚本的由来。
回到考场:老师出图、发卷、收卷、批改,评测平台做的正是同一件事——只不过“出题人”是数据集,“评卷人”是评分脚本。理解了这个定义,后面所有维度、基准与指标就有了统一的舞台。
- 场景变量 VV 代表模型“看”到的图像输入,即考试中的教室照片。
- 问题变量 QQ 是自然语言形式的空间问题,例如“椅子在桌子的哪个方向”。
- 答案变量 AA 是模型给出的答案,评测时用它和标准答案做比对。
- 条件概率 PP 表示在已知场景与问题的前提下,模型选择某个答案的概率,评测想让正确答案的概率最高。
评测维度
知道了考试形式,下一个问题是:出题人到底在考哪些能力?老师提问不会只问“讲台在哪”,她还会问“窗户在黑板左边还是右边”“门离讲台远不远”——这就是空间推理的三个基础维度:位置、方向、距离。位置判断回答“物体在哪里”,需要模型给出坐标级或区域级的定位;方向识别回答“A 相对 B 在哪个方位”,需要模型比较两个物体的空间先后;距离估计回答“A 离 B 有多远”,需要模型具备度量意识,能区分“很近”与“很远”。
这三者在评测实现中可以被统一封装成一个几何向量:设物体 A 的坐标是 $(x_A, y_A)$,物体 B 的坐标是 $(x_B, y_B)$,那么 A 相对 B 的偏移由坐标差刻画,方向角由反正切函数算出,距离由欧氏距离公式决定。标准答案正是从这些几何量翻译成自然语言方位词,比如“左上方”“右侧 2 米”。
老师眼里的“左前方两步”,在评测系统里就是一组坐标差、一个角度和一个距离值。三维度出题既覆盖了人类直觉中的“在哪、朝向、多远”,又保证了标准答案可以机械化生成,这正是空间推理评测可量化的根基。
- 坐标差向量$\overrightarrow{AB}$ 的分量是 B 点坐标减去 A 点坐标,刻画出 A 到 B 的位移。
- 方向角$\arctan$ 把坐标差换算成角度,评测用它把连续角度离散成“左/右/上/下”等方位词。
- 欧氏距离勾股定理求和再开方,得到两个物体的直线距离,对应“远近”类题目。
评测基准
一场正规考试需要三样东西:题库、答题卡和评分标准。空间推理评测基准也是“三件套”:场景数据集、问题模板与量化指标。场景数据集是“考场”——一张张带有物体位置标注的图片,可能是真实照片也可能是渲染的合成房间,标注信息保证了标准答案可以被精确计算。问题模板是“考题”——把“物体 X 在物体 Y 的哪个方向?”“X 与 Y 谁离 Z 更近?”等问法参数化,批量生成题目。量化指标是“评分标准”——用统一公式给所有模型打分,让不同团队的结果可以横向量化对比。
最常见的指标是准确率(Accuracy)。设测试集共有 N 道题,对第 i 题,模型预测答案为 $\hat{a}_i$,数据集标注的标准答案为 $a_i^*$。两者相等记 1 分,否则记 0 分,最后求平均,得到 0 到 1 之间的分数。这一流程为视觉-语言能力量化提供了标准化评测方案和工具。
所有模型面对同一张卷子、同一套答案、同一个评分脚本,分数才具有可比性。评测基准的价值正在于此:它把“空间能力”这样一个模糊概念,压缩成一个可复现、可追踪的量化数字。
- 预测答案$\hat{a}_i$ 是模型对第 i 题输出的答案,带“帽子”表示是模型估计的值。
- 标准答案$a_i^*$ 是数据集里人工标注的正确方位,是评分的唯一依据。
- 指示函数中括号内的等式成立时取 1,不成立时取 0,完成“打勾/打叉”的判分动作。
- 平均打分对所有题目的 0/1 结果求和,再除以总题数,得到最终准确率。
推理流程
一个学生答题时,眼睛先扫过卷面,大脑再构建场景关系,最后落笔写出答案。多模态模型的推理流程也分为对应的三步:视觉编码、几何建模、答案生成。第一步“看”:视觉编码器把图片像素转换成稠密特征图,相当于学生扫视教室;第二步“想”:模型在特征上比较不同物体的位置,建立几何关系,相当于学生心里比较“椅子在西侧,桌子在中央”;第三步“答”:文本解码器根据推理结果生成答案词。整个过程还需要跨模态对齐——把图像中的坐标信息与语言中的方位词对齐,否则模型“看懂了”却说不出。
形式化地看,模型是在所有候选答案上计算条件概率 $P_\theta(a \mid \cdot)$,再用 argmax 挑出概率最大的答案作为输出。值得注意的是,评测通常只能观测到输入与输出,中间“想”的过程被封装在参数里。因此空间推理的评测方法论强调“以终为始”:用标准答案约束输出质量,用准确率倒逼推理能力。
学生的“思考过程”被压缩进模型的权重矩阵,我们能观察到的只有输入和输出。这也是为什么评测要设计得足够精细——因为只有把题目出到位,才能从输出中窥见模型的真实空间推理水平。
- 视觉编码$\phi_{vis}(V)$ 把图像 V 变成特征向量,是模型“看”的环节。
- 文本编码$\phi_{txt}(Q)$ 把问题 Q 变成语义向量,是模型“听题”的环节。
- 条件分布$P_\theta(a \mid \cdot)$ 表示在融合特征条件下,模型给每个候选答案 a 分配的概率。
- 取最大$\arg\max$ 从分布中挑出概率最高的答案,作为最终输出 $\hat{a}$。
应用价值
学生毕业后,方向感好的能当导游、开物流车;同样,空间推理能力强的模型才有资格走进真实物理世界。空间推理评测的第一个应用是具身智能——机器人要在真实房间中移动,必须理解“桌子在我左边”这类布局描述;第二个应用是机器人导航——把视觉场景推理成障碍物与目标的空间布局,才能规划出可行路径。
在这类系统中,空间推理模块充当感知与行动之间的桥梁。它接收当前时刻的视觉画面 $V_t$,输出场景中各物体的相对位置与可达性判断,再与任务目标结合,交给策略函数 $\pi$ 决定下一步动作 $a_t$。评测成绩因此成为模型能否胜任真实任务的“入职考试”——与其把候选模型逐个装进机器人里试错,不如先在空间推理基准上做一轮笔试筛选。
就像招聘测试的分数可以预兆工作表现,空间推理评测的分数为机器人部署提供了一个低成本的“能力预览”:笔试优秀的模型,才有更大把握通过真实环境的“路考”。
- 场景输入$V_t$ 是机器人 t 时刻看到的视觉画面,来自相机或传感器。
- 空间推理$\text{SR}(V_t)$ 从画面中解析出物体布局与相对方位,是“看懂环境”的模块。
- 策略决策$\pi(\cdot)$ 结合推理结果与目标,输出动作 $a_t$,完成“想清楚再行动”的闭环。
挑战难点
再聪明的学生也会被刁钻题难住:“这个盒子在你左边——是面朝盒子时说的,还是背对盒子时说的?”参考系一变,答案就变。空间推理评测面临三大挑战:参考系歧义、遮挡缺失与鲁棒性不足。
参考系歧义是最典型的陷阱。同一个“左边”,在自我中心视角和第三人称视角下指向完全相反。评测题目必须显式声明“以谁为参照”,或者提供额外上下文(如“面向讲台时的左边”)来消解歧义。遮挡与信息缺失则考验模型的推理韧性:当箱子挡住椅子的一半,模型不能靠“猜”蒙混,而要利用先验与部分可见信息推断完整布局。最后,评测还要做难度分级——如果所有题目都是“左还是右”的简单二选一,模型靠语言先验就能拿高分,分数就会“虚高”。
用条件概率的语言说,引入参考系上下文 $C_{\text{ref}}$ 后,答案分布应当随之改变;若模型感知不到这种改变,说明它根本不理解空间关系。好的评测基准必须把这些难点编码进题目,逼出模型的真实水平。
聪明的老师会在题干里补一句“面向讲台时”,好的评测基准同样用上下文钳制歧义、用遮挡增加难度、用分级防止虚高。逃避这些挑战的基准,只是把“空间推理”四个字印在卷面上,并没有真正考出空间推理。
- 基础分布$P(A \mid V, Q)$ 是缺乏参考系声明时模型对答案 A 的估计,此时容易产生歧义。
- 上下文注入$C_{\text{ref}}$ 显式补充“面向讲台时”等参照信息,帮助消解歧义。
- 不等关系$\neq$ 表示加上上下文后,正确答案的概率分布应发生实质性变化,否则说明模型在“蒙”。
AI 应用场景
具身智能模型选型与验收
阶段:模型评测与筛选
解决的问题:传统做法是把候选模型逐个装进真实机器人,在实体房间中反复试错,成本高、周期长、风险大。利用空间推理评测基准,先在仿真图片和标准化空间问题上做一轮“笔试”,能快速筛掉空间能力不足的模型,大幅减少真实部署的试错成本。
具体案例:某仓储机器人团队在部署前,用包含货架、叉车、箱子的空间推理题集测试多个视觉语言模型,优先淘汰准确率低于 70% 的候选,再对表现最好的模型进行室内真机导航测试,最终将验收周期从两周缩短到三天。
智能座舱与 AR 空间助手
阶段:空间语言交互与实时推理
解决的问题:乘客问“左边那家咖啡店叫什么”时,传统语音助手只理解文本,不理解“左边”对应画面中的哪个方向。借助多模态空间推理,助手能从摄像头画面中解析物体方位,把“左边”落到具体对象上。
具体案例:车载助手结合前视摄像头画面,判断“前方第三辆车正在左侧车道超车”,并在抬头显示中用箭头标注方位,辅助驾驶员快速理解路况。
无障碍视觉辅助应用
阶段:实时场景描述与方位播报
解决的问题:视障用户无法直接感知物品位置,需要设备用语言描述“杯子在哪、离我多远”。空间推理能力让手机 App 在拍摄桌面后输出定量的方位与距离描述。
具体案例:无障碍 App 拍摄餐桌后生成语音提示:“水杯在你的左前方约 20 厘米处,盘子在你的正前方。”用户据此伸手即可取物,方位与距离信息全部来自模型的空间推理输出。
Python 演示
# -*- coding: utf-8 -*-"""空间推理评测小示例:合成场景、生成方位题、候选模型作答、准确率评分"""import mathimport random def build_scene(): """在 10x10 房间内随机摆放互不重叠的物体,返回 {名称: (x, y)}""" names = ['桌子', '椅子', '箱子', '柜子', '台灯', '绿植'] scene = {} for name in names: while True: x = round(random.uniform(1, 9), 1) y = round(random.uniform(1, 9), 1) if all(math.hypot(x - px, y - py) > 1.5 for px, py in scene.values()): break scene[name] = (x, y) return scene def get_answer(scene, a, b): """返回标准答案:物体 a 相对物体 b 的主方位(上/下/左/右)""" ax, ay = scene[a] bx, by = scene[b] dx = ax - bx dy = ay - by if abs(dx) > abs(dy): return '右边' if dx > 0 else '左边' return '下边' if dy > 0 else '上边' def spatial_model(scene, question): """候选模型:从题目中抽取两个物体名,再用坐标求方位""" parts = question.replace('?', '').split('物体') a = parts[1].split('在')[0].strip() b = parts[2].split('的')[0].strip() return get_answer(scene, a, b) def evaluate(scene, n=50): """随机出 n 道题,比较模型答案与标准答案,返回准确率""" names = list(scene.keys()) hits = 0 for _ in range(n): a, b = random.sample(names, 2) q = f'物体 {a} 在物体 {b} 的哪个方向?' truth = get_answer(scene, a, b) pred = spatial_model(scene, q) if pred == truth: hits += 1 return hits / n if __name__ == '__main__': random.seed(42) room = build_scene() print('场景布局:') for name, pos in room.items(): print(f' {name}: {pos}') acc = evaluate(room, n=50) print(f'候选模型在 50 道空间方向题上的准确率:{acc:.2%}')
scene[name] = (x, y)把物体名映射为坐标,相当于“布置考场”并记录标准布局math.hypot(x - px, y - py) > 1.5保证任意两个物体间距足够远,模拟真实房间不重叠的摆放random.sample(names, 2)从物体列表中随机抽两个,动态生成一道空间方向题q = f'物体 {a} 在物体 {b} 的哪个方向?'按模板生成自然语言题目,模拟基准中的问题生成器get_answer(scene, a, b)从坐标计算标准答案,扮演“人工标注”的评分依据if abs(dx) > abs(dy):按主方向轴判断:x 偏移更大就答左右,y 偏移更大就答上下return '右边' if dx > 0 else '左边'把坐标差的正负号翻译成自然语言方位词a = parts[1].split('在')[0].strip()候选模型从问题文本中解析出第一个物体名,模拟“看懂题目”if pred == truth:预测与标准答案逐题比对,对应准确率公式中的指示函数return hits / n计算答对比例,完成 Acc 指标的标准化打分
常见误区
误区“模型只要能框出图片里的苹果和书,就算懂空间推理了。反正先把物体找出来,剩下就是查坐标的事。”
正解物体检测只回答“有没有、在哪”,空间推理考的是“关系”——苹果在书的哪个方向、距离多远。评测题目往往以两个及以上物体的相对方位设问,单靠检测框无法直接给出答案,必须做几何比较与推理。
为何常见:检测与定位是空间任务中最直观的步骤,初学者容易把“认出物体”误当成“理解物体之间的关系”。
误区“这个模型在空间题上准确率 95%,那把它装到真实机器人上导航肯定没问题。”
正解准确率只在当前基准的题目分布内有效。若基准只考“左右”这类粗粒度二选一,模型靠语言先验就能猜对;换到需要距离估计或参考系判断的难题,分数会明显下滑。评测需要难度分级与多维度覆盖,单看一个总分容易被“虚高”误导。
为何常见:总分最直观,行业习惯用单一指标横向对比模型,容易忽略题目构成对分数的影响。
误区“空间推理评测不就是准备几张图片,问几个'左边还是右边',然后对一下答案嘛。”
正解高质量基准还要考虑标注一致性、参考系声明、遮挡干扰、防止模型记住题目,以及跨场景泛化。数据集构建、答案生成、指标选取每一步都影响评测可信度,是一套系统工程。
为何常见:评测工具库封装得太好,使用者只看到“传图片—收分数”,看不到背后的数据与流程设计决策。
误区“多模态大模型见过那么多图片,左右上下这么简单的问题肯定都会,根本不用专门评测。”
正解空间推理恰恰是多模态模型的薄弱环节。语言模型常在文本里学到“左右”的统计搭配,但面对真实图片的镜像布局仍会混淆方向、低估距离。这正是空间推理评测被纳入多模态评测体系的原因——用标准化方法暴露并量化这类缺陷。
为何常见:人类觉得空间关系“显而易见”,容易把自己的直觉迁移到模型身上,忽略了模型没有真实物理世界经验这一事实。
面试题
Q1. 空间推理评测主要考察多模态模型的哪项能力?
- A.物体间空间关系的理解← 正确答案
- B.图像颜色分布的统计
- C.文本语法的正确性判断
- D.音频节奏与音高识别
答案:A。空间推理评测就像一场布局考试,核心是考察模型对物体间空间关系的理解,例如方位、距离与布局。颜色统计属于低层视觉特征,语法与音频任务则与空间无关。
Q2. 下列哪项属于空间推理的核心评测维度?
- A.位置判断、方向识别、距离估计← 正确答案
- B.情感分类、主题建模、摘要生成
- C.图像压缩、格式转换、分辨率调整
- D.语音唤醒、声纹识别、信号降噪
答案:A。位置、方向、距离是空间推理评测的三个基础维度,分别回答“在哪、相对哪个方位、相距多远”。B 属于 NLP 任务,C 属于图像处理,D 属于语音任务。
Q3. “箱子在桌子的东北方向”这类问题,模型首先需要做什么?
- A.从视觉输入中解析物体坐标与方位← 正确答案
- B.将图片压缩到更小的分辨率
- C.对答案文本做拼写检查
- D.统计训练集中箱子的出现次数
答案:A。回答方位题必须先“看懂考场”,从视觉输入中解析物体坐标与相对方位。压缩图片、拼写检查与统计频次都不能提供几何关系信息。
Q4. 准确率指标中的指示函数 I[·] 起什么作用?
- A.判断预测答案是否等于标准答案← 正确答案
- B.计算模型参数的梯度大小
- C.对视觉特征做归一化处理
- D.随机打乱测试样本的顺序
答案:A。指示函数就像批卷老师的“打勾器”,预测等于标准答案时取 1、否则取 0,是准确率公式的核心判分动作。梯度计算、归一化与打乱顺序都属于训练或预处理环节,与判分无关。
Q5. 空间推理评测中“参考系歧义”指的是什么?
- A.同一空间描述在不同参照下答案不同← 正确答案
- B.图片分辨率过低导致识别失败
- C.模型参数量不足导致过拟合
- D.数据集标注文件出现格式错误
答案:A。“左边”在自我中心视角与第三人称视角下指向相反,不同参照物会得到不同答案,这就是参考系歧义。分辨率、参数量与文件格式不是评测特有的空间语义问题。
Q6. 模型生成答案时使用 argmax 的作用是?
- A.在答案概率分布上选概率最大项← 正确答案
- B.对视觉特征进行降维投影
- C.计算交叉熵损失函数的梯度
- D.对输入图像做随机数据增强
答案:A。模型为每个候选答案计算条件概率,argmax 从中挑出概率最高的答案作为最终输出,就像考生在多个选项里选最确信的那个。降维、梯度计算与数据增强都不涉及“选择最可能答案”这一步。
Q7. 具身智能场景中,空间推理能力主要服务于什么?
- A.从场景布局推理以指导导航行动← 正确答案
- B.提升翻译模型的文本流畅度
- C.压缩模型权重以减小部署体积
- D.加速训练数据的网络下载速度
答案:A。具身智能中,空间推理模块把视觉场景转成布局与方位信息,再结合目标交给策略函数输出动作,相当于机器人“看懂环境再迈步”。翻译流畅度、模型压缩与数据下载都不需要理解房间几何关系。
Q8. 下列哪些属于空间推理评测的常见挑战?
- A.参考系歧义导致答案不确定← 正确答案
- B.物体遮挡造成空间信息缺失← 正确答案
- C.图片格式与压缩比率不一致
- D.GPU 显存容量不足导致报错
答案:AB。参考系歧义和遮挡缺失是空间推理评测特有的难点,需要显式声明参照、设计遮挡场景来应对。图片格式与显存属于工程环境问题,不是评测设计层面的空间语义挑战。
Q9. 一个完整的空间推理评测基准通常包含哪些部分?
- A.带标注的空间场景数据集← 正确答案
- B.标准化的空间问题模板← 正确答案
- C.模型预训练好的权重文件
- D.自动评分与量化指标脚本← 正确答案
答案:ABD。评测基准由“考场、考题、评分”三件套构成:场景数据集提供标注布局,问题模板批量生成题目,评分脚本计算准确率等指标。模型权重是被测对象,不属于基准本身。
Q10. 关于空间推理评测方法,下列说法正确的是?
- A.位置、方向、距离是三个基本维度← 正确答案
- B.评分结果可预测具身智能表现← 正确答案
- C.准确率是唯一可用的量化指标
- D.基准需声明参考系与标注方式← 正确答案
答案:ABD。空间推理评测以位置、方向、距离为核心维度,其分数可为具身智能选型提供“能力预览”;设计基准时必须声明参考系、统一标注方式,保证答案可复现。准确率只是最常用指标而非唯一指标,距离误差、方向误差等指标同样存在。