微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

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

首页 多伦多大学与谷歌联手破解"AI看3D"的速度瓶颈:像侦探挑线索一样,让视觉几何模型跑得更快

多伦多大学与谷歌联手破解"AI看3D"的速度瓶颈:像侦探挑线索一样,让视觉几何模型跑得更快

2026-05-25 16:16
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-05-25 16:16 科技行者

这项由多伦多大学与Vector研究所、谷歌及慕尼黑工业大学联合开展的研究,以预印本形式于2026年5月22日发布在arXiv平台,编号为arXiv:2605.23892。研究的核心成果被命名为GoToHunt(好的Token搜寻),有兴趣深入了解的读者可以通过该编号查询完整论文。

---

**一、一台摄像机拍了500张照片,AI怎么"看懂"整个房间?**

先来建立一个直觉。假设你是一位私家侦探,接到了一个案子:委托人给了你一叠500张照片,全都拍自同一个房间的不同角度,你需要从中推断出房间的三维结构,包括每张照片是从哪个方向、哪个距离拍摄的,以及房间里每个角落的空间位置。这听起来就已经够费劲了。但更麻烦的是,你的规则是:在做出任何判断之前,你必须把这500张照片里的每一张都和其他每一张对照比较一遍。500乘以500,那就是25万次比较。这工作量,即便是最勤劳的侦探也会崩溃。

这正是当前一类叫做"视觉几何变换器"的AI模型所面临的困境。这类模型,代表性的有VGGT、π?等,能够从多张照片中一次性推断出场景的三维结构,比如相机姿态、深度图、点云等等,完全不需要传统的繁琐优化流程。这听起来已经很了不起了,但它的计算代价让人头疼:它的核心操作叫做"全局注意力",本质上就是让模型里的每一个信息单元(称为"token",可以理解为照片里的一个小方块区域)都和其他所有信息单元打一遍招呼,交换信息。输入的照片数量翻倍,计算量就会增加四倍,而不是两倍。用技术语言说,这是平方级别的复杂度,O(N?L?),其中N是照片数量,L是每张照片切分出来的小方块数。当场景包含500张照片时,VGGT需要将近五分钟才能处理完,完全不实用。

研究团队的思路用侦探比喻来理解再贴切不过:既然不可能让侦探把每张照片和所有其他照片都比一遍,那能不能帮侦探先做一个预筛选,只留下最有价值的线索?这就是GoToHunt的核心思想——在全局注意力计算之前,用一套两级筛选机制,大幅削减每个信息单元需要"打招呼"的对象数量,从而让整个流程跑得更快,同时尽量不损失推断质量。

---

**二、侦探的第一步:先挑最有代表性的"卷宗"**

回到侦探的比喻。这500张照片摆在桌上,第一个问题是:从哪些照片里取证最划算?

研究团队把这个问题叫做"帧间选择",意思是先在照片的层面做一次筛选,决定哪些照片的信息值得保留下来参与后续的全局注意力计算。他们一开始也尝试了几种看似合理的方案,结果都出了问题。

第一种思路是按时间顺序选:比如只保留在时间上离当前照片最近的那些帧。这种方法的缺陷很明显,就像只把刑侦卷宗里最近几天的记录拿出来看,却对几个月前发生的事情一无所知。测试结果显示,这种方法在标准评估指标"绝对轨迹误差"上的得分高达0.7588,误差极大。

第二种思路是按"相似度"选:选那些拍摄角度和当前照片最像的帧,或者反过来,选最不像的。前者类似于只调取和目标区域几乎一模一样的照片,重复信息太多;后者则类似于从完全不同地点拍的照片里找线索,两者都效果不佳,误差分别为0.3813和0.1840。

第三种思路是按"注意力激活值"选:让模型先扫一遍,看看它的注意力更集中在哪些地方,然后优先保留那些被注意到的帧。这听起来很聪明,但测试下来误差依然很大,高达0.38到0.36。

真正奏效的方案来自一个来自SLAM(即时定位与地图构建)领域的古老智慧:选关键帧。在SLAM研究中,有一条经验:当你在移动中建图时,挑选的关键帧应该尽量"分散",覆盖尽可能多的不同视角,而不是集中在某个局部。研究团队受此启发,把帧间选择变成了一道"覆盖最广"的优化问题:在预算限制下(比如只能选25张),挑选出来的一组照片,应该让剩余每一张照片到这组中距离最近那张的"距离"尽可能小。换句话说,被选出来的25张照片,应该是整个场景里分布最均匀、覆盖最广的代表性视角。

用侦探的语言说:不是挑最受关注的线索,而是挑能覆盖案件所有角落的线索。哪个区域还没被任何线索覆盖,就去那个区域补充。

具体实现上,团队用了一种叫"最远点采样"(Farthest Point Sampling,FPS)的贪心算法,这种方法在三维点云处理中广泛应用。先随机选一张照片作为起点,然后每次都选出和当前已选集合距离最远的那张,如此迭代直到凑满预算。照片之间的"距离"由一个地点识别模型提取的特征向量之间的余弦距离来衡量,大致反映了两张照片拍摄位置和角度的差异程度。

结果令人振奋:在同样只保留25帧的情况下,这种多样性驱动的帧间选择方法,绝对轨迹误差仅为0.0676,而基础的VGGT模型(使用全部帧)的误差为0.0698。也就是说,只用了大约5%的帧,误差反而比用全部帧还略小!这说明,合理的多样性选择不仅节省了计算,甚至在某种程度上帮模型过滤掉了冗余和干扰信息。

---

**三、侦探的第二步:每张卷宗里,也不是每个细节都值得细看**

确定了要保留哪些照片之后,故事还没结束。即便只剩25张照片,每张照片里仍然包含大量的小方块信息单元。如果全部保留,计算量依然可观。于是研究团队引入了第二级筛选,叫做"帧内选择",即在每张选定的照片内部,进一步剔除那些不那么重要的信息单元。

一个直接的想法是:把每张照片里的小方块按比例缩减,比如在高度和宽度方向上各缩减一半(缩减因子σ=2),这样每张照片的信息量就变成原来的四分之一。更激进地,在两个方向上各缩减到三分之一(σ=3),每张照片信息量变成原来的九分之一。

然而,研究团队一旦在所有层次上统一执行这种缩减,就发现性能明显下降。即便是最温和的σ=2,误差也从0.0676上升到了0.0831(帧预算K=25时)。这是为什么?

为了搞清楚原因,团队做了一件非常细致的侦查工作:他们逐层检查模型内部"注意力模式"的统计特征,具体看两个指标,一是"归一化熵",衡量注意力分布是否均匀;二是"最高权重token的权重值",衡量是否存在极端集中的注意力焦点。

检查结果揭示了一个清晰的规律:在VGGT这类模型的前几层(层0到8附近),注意力几乎是均匀撒开的,归一化熵接近1,最高权重也接近于总token数的倒数,说明没有哪个小方块特别"出挑"。而到了中间层(层9到16附近),情况急剧变化:注意力开始高度集中,出现了少数极端重要的"热点"token,最高权重可以高达原来的二十倍。到了最后几层,注意力模式又稍微趋于平缓。

这个发现有着非常直觉性的解释:模型的前几层相当于侦探在广撒网,还不知道哪里重要,所以均匀地关注所有地方;到了中间层,侦探已经找到了几条关键线索,开始集中火力深挖;后期则是整合和总结阶段。

这意味着,在中间层进行剔除操作时,如果把那些"热点"token也一并剔除,就相当于把侦探最重要的关键线索给扔掉了,结果自然很糟糕。团队用了一个验证实验来确认这一点:他们设计了一种叫做"激活优先"的策略,在中间层里优先保留注意力权重最高的那些token,而不是均匀删减,结果性能明显优于均匀删减(ATE从0.0792降到0.0687,σ=2,层9-16),验证了假设。但这种方法有个实际问题:要找到"热点"token,需要先算出注意力权重,这本身就很耗时,所以不适合作为加速方案。

真正的解决之道是"层自适应策略":根据不同层的注意力特征,制定不同的处理力度。对于最早的几层(比如层0到1),连全局注意力都可以省掉,直接替换成只在每张照片内部做局部注意力,完全不跨帧交互,因为这些层的全局注意力几乎没在发挥跨视角信息融合的作用;对于接下来的早期层(比如层2到8),可以大胆地做帧内缩减,因为注意力还是分散的,没有特别重要的热点;而对于中间层和后期层(层9及以后),则不再做帧内缩减,保持完整的信息单元参与计算。

这套策略引入了两个控制参数:llocal(低于此层号用局部注意力替换全局注意力)和lsample(低于此层号可以做帧内缩减,高于则保持完整)。研究团队在大量实验中发现,默认设置llocal=2、lsample=9时效果很好,而且对这两个参数的取值相当不敏感,在1到4之间调整llocal,8到10之间调整lsample,结果几乎没有变化。这说明策略的有效性来自于对注意力模式规律的正确理解,而不是依赖于精确调参。

---

**四、两级侦查组合出击的全貌**

两级筛选合在一起,就形成了GoToHunt的完整流程。在每一个全局注意力层计算之前,先根据帧间选择的结果确定要参考哪些照片的信息,再根据层自适应的帧内策略确定保留多少比例的信息单元,然后只用这些被筛选出来的key/value token参与注意力计算,而不是和全部token交互。整个过程不需要任何额外的模型训练,完全是"插件式"的加速方案。

从计算效率上来说,这套方案的推理时间近似于线性增长,而不是原来的平方增长。当输入500张照片时,使用GoToHunt的推理时间约为41秒(π?模型),而原始模型需要110秒;使用VGGT模型时,加速后约为41秒,而原始VGGT需要288秒,节省超过85%。对比之下,另一个训练免费的方案FastVGGT需要84秒,同样训练免费的SparseVGGT(75%稀疏率)需要55秒,而需要大规模重新训练的LiteVGGT虽然最快只需36秒,但GoToHunt在准确性上明显更好。

---

**五、侦探交卷了,结果如何?——三项任务的全面测试**

研究团队在三项任务和多个数据集上进行了系统评测,与五种现有方案进行了比较。

第一项任务是相机姿态估计,也就是从照片推断每张照片是从哪个方向、哪个位置拍摄的。评测在7-Scenes数据集(每个场景500帧)、Neural RGB-D数据集和TUM-Dynamics数据集上进行。GoToHunt在VGGT基础上的表现,绝对轨迹误差(ATE)为0.0673(σ=2),不仅低于FastVGGT的0.0727、SparseVGGT的0.0723以及LiteVGGT的0.0798,甚至低于不做任何加速的原始VGGT的0.0698。在π?基础上同样如此,GoToHunt达到0.0570的ATE,优于Sparse-π?的0.0580和Speed3R的0.0591,与原始π?的0.0573持平或略好。在Neural RGB-D上,差距更加明显,GoToHunt的ATE为0.0267,而FastVGGT为0.0377,LiteVGGT为0.0531。

第二项任务是三维点云重建,评估模型生成的三维点云在精度(Accuracy)、完整性(Completeness)和法向一致性(Normal Consistency)三个维度上的表现。在7-Scenes和Neural RGB-D上,GoToHunt的综合表现同样最好或接近最好,在Neural RGB-D上的精度均值为0.0127,明显优于LiteVGGT的0.0264和SparseVGGT(75%稀疏率)的0.0363。

第三项任务是视频深度估计,使用完整长度的Bonn数据集,每个场景包含332到895帧。这个测试特别有意义,因为序列特别长。SparseVGGT在这里遭遇了内存溢出,即使75%的稀疏率也无法在48GB显存内完成计算。而GoToHunt则稳健地处理了超过800帧的场景,并且在绝对相对误差(Abs Rel)上达到0.0288,优于需要完整重训的Speed3R的0.0314,更优于原始π?模型的0.0333。也就是说,GoToHunt不仅跑得更快,在这个任务上连原始模型也超过了。

---

**六、多选还是少选?深挖那个有点反直觉的发现**

团队还做了一个有趣的消融实验:帧间选择的预算K(即保留多少张照片)对结果有什么影响?

从直觉上说,保留的照片越多,模型能看到的信息越丰富,效果应该越好。然而实验结果打破了这个直觉。以VGGT在7-Scenes上的实验为例,K=10时ATE为0.0722,K=25时降至0.0677,K=40时进一步降至0.0674,K=60时为0.0677,K=80时回升到0.0684,K=100时为0.0685。K在40到60之间(大约是总帧数的10%左右)时达到最优,超过这个范围之后,性能不升反降,最终趋向于原始模型的水平。

这个结果说明了两件事。一方面,这与预期相符:当K接近总帧数时,结果应当收敛回原始模型,而原始模型的表现本来就可以被GoToHunt超越,所以反而变差了。另一方面,这也暗示了一件有意思的事情:视觉几何变换器的当前训练方式可能并不是最优的,某种程度上注意力机制有时候反而会被冗余信息干扰,选择性地过滤掉一些信息反而帮助了模型。研究团队把这个现象留作了未来研究的开放问题。

---

**七、那些走过的弯路——探索过但最终未用的方案**

为了让后来者少走弯路,研究团队还在论文附录中详细报告了几个探索过但最终没有采纳的方案。

第一个是"token级别的多样性选择"(TLD):不仅在照片层面做多样性采样,也在每张照片内部的信息单元层面做多样性采样,剔除和其他帧平均特征最相似的冗余token。这个方法在视频深度估计任务上表现出色,几乎所有配置下都优于均匀采样。但在姿态估计和点云重建上,它和均匀采样的差距不大。更关键的是,这种方法需要在每个选定帧内部执行最远点采样,计算开销不小,在500帧场景下额外需要约5秒,不够实用。

第二个是用"均值池化"替换全局注意力:既然早期层的注意力几乎均匀分布,理论上可以直接用所有value token的平均值代替注意力输出,这样连注意力矩阵都不用算了。但实验结果显示,这种近似太粗糙,在多种配置下都导致了明显的性能下降,不够鲁棒。

第三个是用"熵阈值"自适应地确定每一层应该用什么策略,而不是手动设定llocal和lsample。具体做法是计算每一层的注意力熵,当熵超过某个阈值τ1时用局部注意力,降到τ2以下时换回正常全局注意力,中间阶段做帧内缩减。这种方法在理论上更优雅,也能达到接近的效果,但需要在每个层计算之前先采样部分token的注意力,在500帧场景下额外增加约7秒开销,同样不实用,但作为理解注意力模式的研究工具很有价值。

第四个是在最后几层也做帧内缩减。研究团队观察到最后几层的注意力模式也趋于平缓,于是尝试引入第三个阈值llate,对层号大于llate的层也进行缩减。结果显示,在某些条件下性能可以提升,但整体上对llate的取值比较敏感,不如对llocal和lsample那么鲁棒,因此没有纳入最终方案。

---

**八、这项研究究竟意味着什么?**

说到底,GoToHunt做的事情,用最简单的话来说,就是帮AI侦探建立了一套高效的卷宗管理系统:先挑最有代表性的照片,再在每张照片里按层次决定细看还是粗看,最终在不牺牲太多精度的前提下,把计算量压缩到原来的一小部分。

这项工作更深层的意义,研究团队在论文里也坦率地指出了:GoToHunt之所以有时候能超越原始模型的性能,恰恰说明当前的视觉几何变换器的训练和架构设计还有优化空间。原始模型并没有被训练成"最高效地利用所有信息",而GoToHunt通过删减冗余,反而帮模型做了一次聚焦。这对未来的模型设计提供了很有价值的启示:也许在训练阶段就引入类似的路由机制,让模型学会选择性地关注关键帧;也许对早期全局注意力层的设计本身就有可以改进的地方。

当然,这套方法也有其局限。帧间选择依赖地点识别模型提取的特征,在以物体为中心的场景(比如从多个角度拍同一件家具),或者背景高度重复、对称的环境中,特征的区分度可能下降,选出来的帧不一定真正代表场景的多样性。此外,GoToHunt改善的是单次推理的效率,对于千米级别的超大规模场景,还需要配合分块处理或循环推理等其他技术,但研究团队指出GoToHunt与这些方法并不冲突,可以叠加使用。

还有一类新兴的竞争思路:用"测试时训练"(Test-Time Training,TTT)的递归层替换原来的注意力机制,从而实现线性时间复杂度。这类方法效率上很有优势,但通常需要额外训练,且性能略有折损。GoToHunt作为完全免训练的方案,与这类方法是互补的关系,未来也许可以将两者结合。

归根结底,GoToHunt解决了一个非常实际的工程问题:让现有的视觉几何变换器在面对几百张照片时不再"卡壳",而且实现方式足够通用,不依赖特定模型结构,像一个随时可以插拔的加速器。对于那些需要处理大量场景照片的应用场景,比如室内三维重建、自动驾驶地图更新、文化遗产数字化保存等,这种加速效果有着切实的落地价值。

有兴趣深入了解技术细节的读者,可以在arXiv平台通过编号2605.23892查阅这篇完整论文。

---

Q&A

Q1:GoToHunt方法为什么不需要重新训练模型就能加速视觉几何变换器?

A:GoToHunt的核心操作是在全局注意力计算之前对key/value token进行筛选,只是改变了哪些信息单元参与注意力运算,并没有改变模型的参数或结构。就像给侦探提前整理好卷宗,减少他需要翻阅的材料,而侦探本人的推理能力没有任何改变。因此不需要任何额外训练,可以直接应用于已有模型。

Q2:帧间选择为什么选"最分散"的照片而不是"最重要"或"最相似"的?

A:实验表明,选最相似的照片会造成严重的信息冗余,选最重要的照片(按注意力激活值)效果也很差,误差都在0.36至0.39之间。而选最分散的照片(多样性最大化)能以25帧覆盖整个场景的代表性视角,误差仅0.0676,甚至比使用全部500帧的原始模型(0.0698)还要好。本质原因是多样化的视角提供了场景的全局信息,而冗余视角反而引入了干扰。

Q3:GoToHunt在视频深度估计上为什么能超过原始模型的性能?

A:这是GoToHunt一个有点反直觉的发现。研究团队认为,当前视觉几何变换器在训练时并没有被优化成最高效利用所有输入信息的状态,注意力机制有时会被大量冗余帧干扰。GoToHunt通过筛选出最具代表性的帧和最关键的token,相当于帮模型做了一次聚焦,去除了噪声,反而让推断更准确。在Bonn数据集的视频深度估计中,GoToHunt的绝对相对误差为0.0288,而原始π?模型为0.0333。

分享至
0赞

好文章,需要你的鼓励

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