0. 论文信息
标题:MegaLoc: One Retrieval to Place Them All
作者:Gabriele Berton, Carlo Masone
机构:Polytechnic of Turin
原文链接:https://arxiv.org/abs/2502.17237
代码链接:https://github.com/gmberton/MegaLoc
1. 导读
从与给定查询相同的位置检索图像是多个计算机视觉任务的重要组成部分,如视觉地点识别、地标检索、视觉定位、3D重建和SLAM。然而,现有的解决方案是专门为这些任务之一而构建的,并且已知当需求稍微改变或者当它们满足非分布数据时会失败。在本文中,我们结合了各种现有的方法,训练技术和数据集来训练一个检索模型,称为MegaLoc,它可以执行多项任务。我们发现,MegaLoc (1)在大量视觉地点识别数据集上实现了最先进的状态,(2)在普通地标检索数据集上取得了令人印象深刻的结果,以及(3)在LaMAR数据集上为视觉定位设置了新的最先进的状态,其中我们仅改变了现有定位管道的检索方法。
2. 效果展示
.MegaLoc的定性预测示例。每对图像代表 SFXL数据集中的一个查询及其 top-1预测,在覆盖旧金山 150 平方公里的 280 万个数据库中搜索。绿色表示正确,红色表示错误。
3. 引言
本文致力于解决从大型数据库中检索图像的任务,这些图像代表与给定查询图像相同的地方。但何为两幅图像“来自同一地点”呢?这取决于你问的是谁,你会得到不同的答案:
地标检索(Landmark Retrieval,LR)领域的研究者会告诉你,如果两张照片描绘的是同一地标,无论这两张照片的拍摄距离有多近或多远,它们就来自同一地点;
视觉位置识别(Visual Place Recognition,VPR)领域的研究者将相机姿态距离设定为25米,以此判断两幅图像是否为正样本(即来自同一地点);
视觉定位(Visual Localization,VL)/三维视觉研究者则认为,两幅图像要被视为来自同一地点,其姿态需尽可能接近。
尽管图像检索是所有这三个任务的核心组件,但它们的不同定义和要求不可避免地导致了为它们各自开发的专用图像检索解决方案。随着这三个任务继续分化,多年来,论文已经避免在不止一个任务上展示其方法的结果:VPR论文不在LR任务上展示结果,LR论文也不在VPR任务上展示结果。与此同时,COLMAP、分层定位和GLOMAP等三维视觉流水线仍在使用过时的检索方法,如结合词袋模型(Bag of Words)的RootSIFT和NetVLAD。在本文中,我们旨在通过训练一个在这些任务上均达到最优(或近乎最优)水平的单一模型,来结束这种现状,展示该模型在不同领域的鲁棒性。为了训练这个模型,我们并没有提出任何“技术上的新颖之处”,而是利用从这三个任务中学到的所有经验,将优秀的采样器、数据集和通用训练技术结合在一起。
推荐课程:
国内首个面向具身智能方向的理论与实战课程
。
“这有何重要之处?”你可能会问。想象一下,你正在对一组多样化的场景(例如,为了创建像MegaDepth、MegaScenes这样的数据集,或为了参加常青的图像匹配挑战赛)进行三维重建,其中图像检索是一个基本组件。在某些情况下,场景可能较小(例如,重建喷泉),这就需要一个能够检索附近图像(几米开外)的检索模型,这正是VPR模型所擅长的,但LR模型的表现却不佳。然而,在其他情况下,场景可能很大(例如,像教堂这样的大地标),图像可能相隔数百米:虽然LR模型是为这种情况而设计的,但VPR模型在这种情况下表现不佳。
鉴于这些考虑,我们注意到VPR和LR都没有为三维重建的各种情况提供模型,从而在文献中留下了空白,而MegaLoc则填补了这一空白。
另一个需要像MegaLoc这样的模型的例子是视觉位置识别(也是视觉定位的第一步),其中模型的评估是使用25米的阈值(并且流行数据集中的查询总是在25米范围内至少有一个正样本)。然而,在真实世界中,给定查询的最近图像可能相隔100米,虽然理想情况下我们仍然希望检索到它,但VPR模型在这种情况下不太可能起作用,因为它已经被训练成忽略距离相机较远的一切。
在本文中,我们证明了通过利用来自LR、VPR和VL的多样化数据源和最佳实践,我们获得了一个在这些任务中均表现良好的单一图像检索模型。
4. 方法
本文的核心思想是从多个数据集中融合数据,并训练一个单一模型。我们使用了五个数据集,其中包含室外和室内图像,适用于不同的图像定位任务:GSV-Cities、Mapillary Street-Level Sequences(MSLS)、MegaScenes、ScanNet和San Francisco eXtra Large(SF-XL)。在每个训练迭代中,我们为每个数据集(除了SF-XL,我们从其中采样了两个子批次)提取一个六子批次的数据,并在每个子批次上计算多相似度损失。每个子批次由128幅图像组成,包含来自32个不同地点/类别的4幅图像(称为四元组)。鉴于这些数据集格式多样,它们需要不同的采样技术。在以下段落中,我们将解释如何从每个数据集中采样数据。
San Francisco eXtra Large(SF-XL)
是一个包含来自12个不同年份、覆盖整个旧金山市的4100万幅带有GPS和方位信息的图像的数据集。为了选择理想的四元组进行训练,我们使用了EigenPlaces中提出的采样技术。该方法确保每个类别包含从不同角度表示给定地点的图像,同时确保两个不同地点之间不存在视觉重叠。EigenPlaces提供了两个子批次,一个由正面图像(即相机正对街道拍摄)组成,另一个由侧面图像组成。
Google Street View Cities(GSV-Cities)
是一个包含来自40个城市、分为62000个地点/类别的53万幅图像的数据集,其中每个类别至少包含4幅具有相同方位且与其他类别相距至少100米的图像。鉴于GSV-Cities已经被划分为不重叠的类别,因此严格来说没有必要应用特定的采样技术。因此,我们像原始GSV-Cities论文中那样,直接将GSV-Cities数据集输入多相似度损失。
Mapillary Street-Level Sequences(MSLS)
是一个包含来自9年间30个不同城市的160万幅连续序列图像的数据集。为了从MSLS数据集中理想地采样数据,我们使用了CliqueMining论文中描述的挖掘技术。该方法确保为每个批次选择的地点描绘的是视觉上相似(但地理位置不同)的地点(即难负样本),从而使损失尽可能高,并有效地训练模型以区分外观相似的地点。
MegaScenes
是一组包含来自Wikimedia Commons的200万幅图像、由10万个三维结构从运动重建而成的数据集。简单地将每个重建作为一个类别,并从该类别中随机采样图像,可能会导致图像没有任何视觉重叠,例如,两幅图像可能显示同一建筑物的相反立面,因此虽然属于同一三维重建,但没有视觉重叠。因此,我们确保当从给定重建中采样一组四幅图像时,这四幅图像中的每一幅都应彼此具有视觉重叠(我们将视觉重叠定义为在三维重建中具有至少1%的共同三维点)。
ScanNet
是一个包含来自707个室内场所的1500次扫描的250万幅视图的数据集。为了在ScanNet上进行训练,我们将每个场景视为一个类别,并选择四元组,使得四元组内的每对图像都具有视觉重叠(即相距不到10米且角度相差不超过30°);同时,我们确保来自不同四元组的两幅图像没有视觉重叠。
5. 实验结果
6. 总结 & 限制性
那么,图像检索本地化问题解决了吗?嗯,几乎解决了。虽然一些数据集仍有改进的空间,但我们注意到,这通常是由于所谓的无法解决的失败案例、错误的标签,以及极少数可以通过更好的模型解决的问题。然而,我们强调,这种情况已经存在了一段时间,因为以前的基于DINO-v2的模型,如SALAD和CliqueMining,在经典VPR数据集上表现出非常高的结果。文献中仍然缺少的是像MegaLoc这样的模型,它在各种不同的任务和领域中都能取得很好的结果。