微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 让机器人看懂一个房间,为什么会烧掉一大半算力

让机器人看懂一个房间,为什么会烧掉一大半算力

2026-10-13 13:44
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-13 13:44 • 科技行者

想象你要向一个朋友描述你家客厅的样子。你不会只拍一张照片,你会绕着屋子走一圈,从沙发角度拍一张,从窗户旁边拍一张,从门口再拍一张。这样朋友才能建立起立体的空间感,知道电视在沙发对面,茶几离你多近。

现在问题来了。如果这个"朋友"是一个AI模型,你给它看的每一张照片都会被切成几百个小方块,每个方块变成一个"视觉词",AI靠这些词来理解画面。一张照片能生成700多个视觉词,那12张照片呢?接近9000个。这些词全部要塞进AI的大脑里处理,而AI处理的时间和内存消耗,跟词的数量是平方级增长的关系。词越多,算得越慢,越费显存。

这就是当下所有想让二维视觉语言模型理解三维空间的方法,共同撞上的一堵墙。

**核心问题:为什么"看得越多"反而是个包袱**

先说清楚背景。让AI理解三维世界,理论上最直接的办法是专门训练一个三维模型,喂给它点云数据、三维标注。但问题是,三维标注数据实在太少了,可能只有二维图文数据的几百分之一。相比之下,像LLaVA-OneVision这样的二维视觉语言模型

VLM*:Vision-Language Model,视觉语言模型,能同时理解图片和文字,并用语言回答关于图片内容的问题的AI系统

已经在海量互联网图文数据上训练得非常成熟,认字、认物体、理解空间关系的能力都很强。于是一个取巧的思路自然浮现:与其重新训练一个三维模型,不如把三维场景拍成一组多视角照片,直接喂给现成的二维模型,让它"假装"自己在看三维空间。

这个思路听起来很聪明,但代价立刻显现。12个视角的照片喂进LLaVA-OneVision-7B,会产生8748个视觉token

Token*:这里指的是视觉词元,AI把一张图片切分成若干个小方块,每个方块被编码成一串数字,这串数字就是一个token,是AI理解图片的最小单位

这么大量的token,直接导致推理成本飙升。而且这些token里藏着一个巨大的浪费:不同摄像机角度往往会拍到同一堵墙、同一张桌子的不同侧面,这些重复观测在AI眼里会变成好几个不同的token,但它们描述的其实是同一块空间。论文里给出的数据是,大约31%的token在空间上是重叠的。换句话说,近三分之一的计算量,花在了重复观察同一个地方上。

这就好比你请了三个速记员,分别站在客厅的三个角落记录家具位置,结果三份记录里有三分之一的内容都是在重复描述同一张沙发。你雇了三倍的人力,但真正新增的信息量远没有三倍那么多。

**现有的两条路,为什么都走不通**

论文把已有的token精简方法分成两大类,并且指出这两类方法在多视角三维场景里都有硬伤。

第一类叫学习式重要性方法

学习式重要性方法*:根据AI模型内部的注意力分数或者视觉特征,给每个token打一个"重要程度"分数,然后只保留分数最高的那些token,这是目前最常见的token精简思路

这类方法的逻辑是,AI在处理信息时会对某些区域"格外关注",那就把这些被关注的区域的token留下来,其他的删掉。听起来合理,但在多视角三维场景里会出问题。因为不同摄像机会重复拍到同一个显眼的物体,比如一把造型独特的椅子,如果三个视角都拍到了这把椅子,注意力机制很可能对三个视角里的这把椅子都打高分,于是这三份几乎一样的记录全部被保留下来,而房间角落里那盏没人特别关注的台灯,可能一个token都没留住。

这就像你让一个记者去报道一场婚礼,他被新娘的婚纱吸引,于是从入场、致辞、切蛋糕三个环节都拍了婚纱的特写,结果整场婚礼的报道里,来宾席上发生的趣事、伴郎伴娘的互动全都没有记录。如果不做任何约束,记者的注意力会自然地反复聚焦在最抢眼的那一个点上,而不是均匀地覆盖整个事件。这不是记者不专业,而是"哪里显眼就往哪里看"这套逻辑,天生就会导致重复和遗漏并存。

第二类叫体素化方法

体素化方法*:把三维空间切成一个个小立方体格子(叫做体素),把落在同一个格子里的token合并或者只保留一个代表,以此消除来自不同视角但描述同一空间位置的重复token

这个思路本身是对的,它抓住了问题的本质:三维场景里的冗余是空间性的,应该按空间位置去重,而不是按"重要程度"去重。但体素化有一个致命的技术缺陷,它没法精确控制最终留下多少个token。

这是为什么呢?因为格子的大小(体素尺寸)一旦固定,一个场景里到底会产生多少个"被占用的格子",完全取决于这个场景的几何形状、大小、以及摄像机拍摄的重叠程度。有的房间形状复杂,格子数量就多,有的房间很规整,格子数量就少。论文里做了个实验,固定体素尺寸为0.2米,目标是留下1342个token,结果56%的场景实际留下的token数量比目标少,44%的场景又超过了目标。

这意味着什么?意味着如果你想把这套系统部署在一个对显存和延迟有严格上限的设备上,比如机器人上的实时推理系统,你没法保证每一次处理都不超预算。哪怕平均下来token数量是达标的,单独某个场景可能就爆表了,而系统在那个瞬间可能直接崩溃或者严重卡顿。这就像你给一辆车定了每次装货不超过500公斤的规矩,但实际装货全凭工人目测,大部分时候确实在500公斤左右,可总有那么几次,因为货物形状特殊,实际装了600公斤还浑然不知,直到轮胎爆了才发现出了问题。平均达标不等于每次都安全。

而且体素化还有第二个问题,叫饱和。你可能会想,那就把格子切得更小一点,格子越小,占用的格子数量不就越多吗?理论上是这样,但实际情况是,当格子小到一定程度之后,继续切小已经没有意义了,因为很多token本来就是对同一块物理表面的重复观测,不管格子多小,它们还是会掉进同一个格子里。论文测算,在实际可行的分辨率范围内,体素化能保留的token比例最多到69%左右,在冗余度特别高的场景里甚至只有46%到57%。也就是说,哪怕你愿意花更多计算资源去切更细的格子,体素化这条路也永远到不了很低的token保留比例,它有一个天花板。

**CoVeR的解法:不问重要不重要,只问覆盖没覆盖**

论文提出的方法叫CoVeR

CoVeR*:Coverage-based token pruning for multi-view 3D reasoning的缩写,一种基于空间覆盖度的token筛选方法,完全不依赖AI的注意力分数或视觉特征,只根据token在三维空间中的坐标位置来做筛选

它的出发点非常直接:既然三维场景里的冗余本质上是空间冗余,那就应该直接用空间覆盖度作为筛选标准,而不是绕道去看AI的注意力或者语义特征。CoVeR要解决的问题可以用一句话概括,给定一个必须严格遵守的token数量预算,如何选出这些token,让它们尽可能均匀地覆盖整个场景的每一个角落,不留死角。

这个目标在数学上有一个专门的名字,叫k中心问题

k中心问题*:一个经典的几何优化问题,目标是从一堆点里选出k个点作为"代表",使得原始点集中离这k个代表点最远的那个点,与它最近的代表点之间的距离尽可能小,通俗理解就是让选出的这几个点能最大限度地"罩住"整片区域

论文用一个叫豪斯多夫距离的指标来衡量覆盖得好不好

豪斯多夫距离*:衡量两个点集之间差异的一种距离,这里特指从原始token集合里,找出离已选中的token子集最远的那个点,这个最远距离越小,说明选出的子集覆盖原始场景越充分

如果这个距离很小,说明场景里没有哪个区域被完全"遗忘"。这正是学习式重要性方法给不出的保证,它可能因为过度关注某几个显眼区域,导致场景另一半完全没有token代表。

CoVeR具体怎么实现这个目标呢?它分成两个阶段,叫覆盖初始化和覆盖扩展。

覆盖初始化这一步,其实就是先做一次体素化,但这次体素化的目的不是直接产出最终结果,而是先粗略地把整个场景的重复观测去掉,留下一个稀疏但覆盖全场景的骨架。这里有个细节值得说一下,论文没有用固定的格子大小,而是针对每一个场景单独去搜索一个合适的格子尺寸,搜索的方法是二分查找,不断调整格子大小,直到产生的格子数量落在目标范围附近。因为不同场景大小、形状差别很大,一刀切的格子尺寸根本行不通,这也是CoVeR比之前的体素化方法聪明的地方。

在每个被占用的格子里,CoVeR选哪个token作为代表呢?它选的是离这个格子里所有token的平均位置最近的那一个,而不是随便选一个边缘的token。这个细节很有讲究,如果选了一个偏在格子边缘的token,它可能离相邻格子的代表token特别近,导致两个格子的代表点挤在一起,削弱了均匀分布的效果。选中心附近的点,才能让整个覆盖网络保持均匀。

覆盖初始化解决完之后,预算可能还没用完。这时候就轮到第二阶段,覆盖扩展登场了。这一步用的方法叫最远点采样

最远点采样*:FPS,Farthest Point Sampling的缩写,一种迭代式的采样方法,每一步都从剩余的候选点里挑出离当前已选点集合最远的那一个,不断重复直到达到目标数量

它的逻辑非常朴素,每次都往"当前覆盖最薄弱"的地方补一个token,这样一步步把预算里剩下的名额,精准地投放到覆盖初始化阶段还没顾上的区域。

这两个阶段是互补的,体素化速度快,能一次性把整个场景铺开一层粗网,但它的产出数量受限于格子分辨率,没法精确到达任意预算。最远点采样可以精确控制数量,但如果从零开始一个一个点地铺,效率会比较低,而且前期铺得慢。CoVeR把两者结合,先用体素化快速打底,再用最远点采样精细收尾,补足体素化天生做不到的精确预算控制。

这里必须提一个很关键的类比,来说明为什么这个"先粗后细"的两阶段设计是必要的,而不是随便拼凑的。

假如你要给一个大公园做安保巡逻计划,预算只够安排20个巡逻点。如果你完全靠最远点采样式的思路,从头开始一个一个挑选,每次都往"离现有巡逻点最远"的地方增派一个人,这个过程本身没问题,但从零开始意味着前几步选出来的点位置会比较随意,因为公园还完全没有被覆盖,谁离谁远都无所谓,直到点数够多了才开始真正体现出优化效果。而如果你先用体素化的思路,把公园粗略划成若干片区,每片区先派一个人,这样瞬间就有了一个大致均匀的骨架,之后再用最远点采样去补那些骨架还没顾上的犄角旮旯,效率会高得多,而且最终的巡逻网络也会更均匀。如果跳过体素化直接上最远点采样,虽然最终结果理论上也能收敛到不错的覆盖效果,但论文里的实验显示,这样做的耗时会明显增加,大约慢了1.5倍,因为体素化那一步本可以并行地一次性去掉大量重复观测,而不用一个个迭代判断。

这里论文还设了一个安全阀。如果体素初始化阶段产生的token数量,不小心超过了总预算,系统会退而求其次,只保留占用人数最多的那些格子的代表点,确保总数不超标。不过论文提到,在他们测试的所有场景和预算设置下,这个安全阀从来没有真正被触发过,说明他们选定的参数搭配是稳妥的。

**为什么原始token比"平均出来的token"更好用**

除了两阶段的设计,论文还做了一个特别值得展开讲的对比实验,涉及一个容易被忽略但很关键的问题:当你要把一个格子里的多个token合并成一个的时候,应该怎么合并?

一种直觉做法是把这个格子里所有token的特征向量求平均,生成一个全新的"合成token"。之前的体素化方法VTC用的就是这个思路。但CoVeR选择了完全不同的做法,它不生成任何新特征,而是直接从这个格子里挑一个真实存在的、编码器原本就生成过的token作为代表。

论文用实验证明了这个选择的重要性。在最紧的token预算下,直接保留真实token(而不是平均合成)让ScanQA数据集的EM@1指标提升了7.7个百分点,在SQA3D数据集上更是提升了18.1个百分点。差距最大的问题类型是那些需要精确空间定位的问题,比如"能不能"和"哪一个"这类问法,分别提升了37和29个百分点。

为什么会有这么大的差距?论文给出的解释是,一个粗糙的格子里,可能同时混进了不同物体、不同表面材质、来自不同摄像机视角的token,把它们的特征直接平均,得到的是一个在语义上"四不像"的合成特征,语言模型很难解读这种人工拼凑出来的东西。而如果保留一个真实的、来自编码器原始输出的token,它的空间身份是清晰、可信的。

这就好比你要写一份关于三个目击者证词的报告。三个人分别从不同角度目睹了同一场车祸,如果你把三份证词逐字逐句地取平均,拼凑出一份"综合证词",这份文本很可能语句不通,逻辑混乱,因为三个人描述的重点和用词天差地别。但如果你选择保留其中最靠谱的一份完整证词,哪怕只是三选一,读起来至少是一段连贯、可信的叙述。语言模型面对token的处理方式其实也类似,它更擅长理解一段"原汁原味"的信息,而不是被人为搅拌过的混合物。如果不这样做,坚持用平均合成的策略,损失的不仅是准确率数字,更是模型对空间关系判断的可靠性,尤其是那些需要精确定位的问题。

**为什么"纯空间距离"比"加了语义"的距离更好**

第二个值得展开的设计决策,出现在覆盖扩展阶段的最远点采样里。这一步用来判断"哪个token离已选集合最远"的距离标准,CoVeR选择了纯粹的三维空间欧氏距离,完全不掺入任何语义特征的相似度。

这个选择乍一看有点反直觉。毕竟同时考虑空间位置和语义内容,听起来应该比只看位置更全面。之前的方法SeGPruner就是采用了空间加语义的混合距离。但论文的消融实验显示,纯空间距离在几乎所有预算下都优于混合距离,也优于纯语义距离。在最紧的预算下,纯空间距离比混合方案高出1.7到2.1个百分点,比纯语义方案高出2.9到4.3个百分点,差距最大的问题类型是需要数数或者在多个物体之间定位的问题,比如"多少"和"什么",分别高出6.8和6.2个百分点。

原因在于,如果引入语义相似度作为筛选标准,系统会倾向于把长得很像的物体判定为"冗余",从而只保留其中一个。但现实场景里经常出现好几把一模一样的椅子分布在房间不同角落,或者好几盏样式相同的灯挂在不同位置。这些物体的视觉特征几乎完全一样,如果按语义相似度去重,系统会误以为它们是同一个物体的重复观测,把大部分都删掉,只留一两个代表。可它们其实是不同位置的不同物体,对于"房间里有几把椅子"这类需要计数的问题,这种误删是致命的。

这就像你要统计一个停车场里有多少辆同款白色轿车。如果你用的判断标准是"长得像不像",那系统一看,这几辆车外观完全一致,判断它们是"同一辆车的重复记录",于是只统计了一辆。可实际上停车场里明明停着五辆一模一样的白色轿车,只是恰好都是同一款车型。真正靠谱的判断标准应该是"它们停在停车场的什么位置",位置不同,就是不同的车,不管它们长得多像。CoVeR选择只看空间位置,不看语义相似度,正是为了避免这种"以貌取物"导致的误判。

**实测数据说话**

理论讲了这么多,最终还是要看实际效果。论文在三个基准测试上做了验证,分别考察不同维度的三维推理能力。

ScanQA

ScanQA*:一个评测AI对三维室内场景空间理解能力的问答数据集,题目涉及物体识别、属性判断、计数、定位、空间关系等多个方面

考察的是空间场景理解。SQA3D

SQA3D*:一个评测情境化推理能力的数据集,要求AI先判断自己(或者被提问的那个虚拟主体)在场景里的位置和朝向,再回答相关问题

考察的是"设身处地"式的空间推理。OpenEQA

OpenEQA*:一个开放词汇的具身问答基准,考察AI在真实场景里像一个具身智能体一样理解和回答开放性问题的能力

考察的是更自由开放式的场景问答。

在只保留8%到9%视觉token的极端压缩条件下,CoVeR在三个数据集上的综合表现保持了满token情况下93.5%的水平,而两个此前最强的对比方法SeGPruner和VisPruner分别只能保持89.6%和85.9%。差距不算小,尤其是考虑到这只是保留了不到十分之一的token量。

具体到ScanQA这个数据集,CoVeR在只保留23%token的情况下,EM@1指标甚至反超了使用全部token的原始模型,达到28.5分对28.2分。这意味着删掉了超过四分之三的视觉信息,回答准确率不降反升。这个结果乍一听有点奇怪,但仔细想想是合理的,原始的8748个token里,确实有大量是纯粹的空间重复,删掉它们不仅没有丢失信息,反而减少了语言模型需要处理的"噪音",让模型能更专注地处理真正有信息量的那部分内容。

效率方面的提升同样明显。在ScanQA上以14%的token保留比例运行,CoVeR相比全token基线,把语言模型的计算量减少到八分之一以下,把显存里用来存储中间计算结果的KV缓存减少到七分之一,同时整体推理速度提升了2.5倍,而准确率的相对损失只有1.1个百分点。

论文还专门测试了CoVeR是不是只对某一个模型有效。他们把同一套筛选逻辑,不改动任何参数,直接搬到另外三个视觉语言模型上,包括Qwen2.5-VL-7B、Qwen3-VL-8B,以及专门为三维场景设计过的Video-3D LLM。结果是,在这些架构、编码器、token生成方式都不一样的模型上,CoVeR依然保持了类似的优势,在token保留比例高于20%时,基本能维持超过96%的原始性能。这说明CoVeR依赖的是几何坐标这种通用信息,而不是绑定在某一个特定模型内部结构上的技巧,这也正是它被称为"即插即用"模块的原因。

**写在后面**

读完这篇论文,最让我意外的一点其实是覆盖初始化那一步里"选格子里最靠近中心的token"这个细节。这是一个很容易被写论文的人忽略的技术选择,大部分人可能觉得"随便选一个格子里的token不都一样吗",但作者专门做了推导,说明选边缘token会导致相邻格子的代表点挤在一起。这种对细节较真的程度,反而是判断一篇工程论文靠不靠谱的一个信号。

还有一个值得单独说的地方,是论文里那张关于视角数量和准确率关系的图。学习式重要性方法在视角数量增加到一定程度后就饱和了,不管你多给它几个摄像机角度,它的准确率提升幅度会越来越小。而CoVeR随着视角增多持续在涨。这背后的原因其实很好理解,因为学习式方法本质上是把预算花在"哪里最显眼",视角越多,显眼的地方还是那几个,重复观测只会越来越多,而不会带来新信息。CoVeR则是把预算花在"哪里还没覆盖到",视角越多,能看到的新区域自然也越多,这个设计天然就能吃到"多视角"这个红利,而学习式方法反而吃不到。

这让我联想到一个和AI完全无关的领域,城市规划里的公共资源分配问题。如果一个城市决定在"人流量最大"的地方建更多的公交站,时间久了会发现,人流量大的地方本来就已经有站了,新建的站只是在原地加密,而那些交通不便、没什么人流的偏远片区,永远轮不到资源投放,直到那些片区彻底被边缘化。而如果换一种逻辑,优先在"离最近站点最远"的地方建站,城市的公共交通网络会自然而然地变得更均衡。这两种逻辑的分歧,和这篇论文里学习式重要性对比空间覆盖度的分歧,本质上是同一件事。

论文自己也坦承了局限,CoVeR依赖深度信息和相机位姿,主要针对室内场景设计,对户外大范围场景或者深度信息不准确的情况,效果可能会打折扣。这留下一个挺自然的问题,如果换成一个没有精确深度传感器、只能靠单目视觉估计的机器人,这套基于精确三维坐标的覆盖逻辑还能撑得住吗?

Q&A

Q1:CoVeR是什么?

A:CoVeR是一种针对多视角三维场景的视觉token筛选方法,它完全不依赖AI的注意力分数或视觉特征,只根据token在三维空间中的坐标位置来判断该保留哪些、删除哪些,目标是让保留下来的token尽可能均匀地覆盖整个场景。

Q2:CoVeR和之前的体素化方法有什么区别?

A:传统体素化方法没法精确控制最终保留多少个token,同一个格子尺寸在不同场景下产生的数量差异很大,而且格子切得再小也存在饱和上限。CoVeR针对每个场景单独搜索合适的格子尺寸,再用最远点采样精确补足预算,保证每次都能刚好达到指定的token数量。

Q3:只保留很少的token会不会让AI回答变差?

A:论文实测显示,在只保留8%到9%视觉token的情况下,CoVeR依然能保持满token状态下93.5%的性能,部分场景下甚至用23%的token就超过了使用全部token的原始效果,因为删掉的大多是空间上重复的信息。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-