0. 简介

视觉位置识别是一个非常重要也非常有趣的工作,本质上都可以归类为构建图像数据库+查询图像检索的过程。现在的主要问题是,很多识别算法都是针对特定环境进行的,换一个环境很可能直接就挂掉了。一个真正通用的位置识别算法需要做到的是:任何地点(无缝地运行在任何环境中,包括空中、地下和水下),任何时间(对场景中的时间变化,如昼夜或季节变化,或对临时物体具有鲁棒性),以及跨任何视角(对视角变化具有鲁棒性,包括完全相反的视角)。《AnyLoc: Towards Universal Visual Place Recognition》一文就实现了期望的视觉位置识别的功能。相关的开源代码已经在github上开源了。

1. 主要贡献

本文的主要贡献如下:

  1. AnyLoc作为一种新的基准VPR方法,在展示了地点、时间和视角多样性的12个数据集中普遍适用;
  2. 自监督特征(如DINOv2)和无监督聚合方法(如VLAD和GeM)对于强大的VPR性能都至关重要。将这些聚合技术应用于每个像素特征上,相较于直接使用现成模型的每个图像特征,可以获得显著的性能提升。
  3. 对聚合的局部特征进行语义属性的表征,揭示了潜在空间中的不同领域,这可以进一步用于增强VLAD词汇构建,从而提升性能。

2. VPR: 概述、趋势和限制

VPR - 问题定义:VPR通常被视为一个图像检索问题[6],包括两个阶段。在索引阶段,通过机器人的摄像头在环境中行进时,从参考地图(图像数据库)中收集数据。在检索阶段,给定一个查询图像 - 在未来行进中捕获的图像 - VPR需要在参考地图中检索与该查询图像最接近的匹配项。存在各种VPR方法和替代问题表述[3],[7] - [10];在本文中,我们专注于全局描述符,它们在准确匹配和搜索效率之间提供了最佳的权衡[6],[11],[12]。这与局部描述符方法形成对比,后者在匹配过程中计算密集,特别是在较大的数据库上。

最佳性能的现代VPR方法是由于对VPR特定数据的大规模训练。基于深度学习和Pitts-250k数据集[13]的弱监督对比学习在NetVLAD[2]中取得了显著的改进,超过了经典的手工制作特征。紧随其后,Google-Landmark V1(100万张图像)和V2数据集[14](500万张图像)使得可以对大规模图像检索进行DeLF[15]和DeLG[16]的训练。同样,Mapillary街景序列(MSLS)数据集包含160万张街景图像,通过利用城市和郊区环境中数量级更大的数据[17] - [19],大大提高了VPR的性能。最近,CosPlace [20]将基于分类的学习与包含4000万张带有GPS和航向的旧金山XL数据集相结合。目前的最先进技术MixVPR [21]提出了一种基于多层感知器的特征混合器,该混合器在GSV-Cities数据集[22]上进行训练,该数据集是一个精心策划的大规模数据集,包含全球62,000个地点的530,000张图像。

VPR训练规模扩大的趋势主要是由于室外环境中易获得的定位数据,这导致在城市环境中具有最先进的性能,但不能推广到室内和非结构化环境。如图1所示,由SOTA方法提取的描述符的PCA投影集中在特征空间的一个狭窄区域,降低了它们在训练分布之外环境中的区分能力。除了环境特异性外,先前的方法还单独解决了特定挑战,例如场景外观的极端时间变化[23],[24]和摄像机视角[25],[26]。当前VPR方法的数据和任务特异性限制了它们的开箱即用性,这可以通过任务不可知学习来缓解。因此,在这项工作中,我们使用网络规模的自监督视觉表示来分析VPR的设计空间,并开发了一种不假设任何VPR特定训练的通用解决方案。

图1. AnyLoc实现了在各种环境(任何地方)、时间变化(任何时候)和视角变化范围广泛(任何视角)下的通用视觉地点识别(VPR)。AnyLoc通过聚合从大规模预训练模型(基础模型)提取的每像素特征来实现这一目标,而无需进行任何训练或微调。在PCA面板(中间),请注意MixVPR的特征(一种专门用于VPR的最先进方法)如何集中在特征空间的一个小区域,失去了区分能力。另一方面,AnyLoc揭示了包含具有相似属性的数据集的不同领域,用相同的颜色标记。利用这些领域构建无监督VLAD聚合的词汇表,使AnyLoc在结构化(城市户外、室内)和非结构化(水下、空中、地下、视觉退化)环境中实现了高达4倍的Recall@1,如雷达图(右侧)中的多边形区域所示。

3. ANYLOC: 向着通用的AVP

据我们所知,我们的方法AnyLoc是第一个具有任何地点、任何时间和任何视角能力的VPR解决方案(见图1)。AnyLoc在探索VPR解决方案的设计空间时,通过基础模型特征的视角得出了两个关键的见解:(a)现有的VPR解决方案是针对特定任务的,在训练分布之外的环境中表现不佳;(b)虽然现成的基础模型[27]–[29]的像素级特征展现出了显著的视觉和语义一致性[5],[30]–[32],但是直接用于VPR的图像级特征并不是最优的。因此,需要仔细研究如何将这些像素级不变性转移到图像级别,以识别地点,而最近在这方面的方法仅限于小规模的室内环境或视觉语言用例[33],[34]。在这个背景下,为了设计AnyLoc,我们研究了以下问题:
A. 哪些基础模型最适合VPR?
B. 如何从这些通用模型中提取适用于VPR的局部特征?
C. 如何聚合局部特征来描述地点?
D. 如何构建能够跨数据集泛化的词汇表?

3.1 基础模型的选择

存在三类广泛的自监督基础模型,用于提取与任务无关的视觉特征:(a)联合嵌入方法(DINO [27], DINOv2 [28]),(b)对比学习方法(CLIP [29]),以及(c)掩码自编码方法(MAE [35])。联合嵌入方法需要稳定的训练配方;DINO通过全局图像级自监督在ImageNet [36]上进行训练,而DINOv2则在一个更大、经过精心策划的数据集上通过联合图像/标记级损失进行训练。这些方法提供了最高水平的性能;其次是对比学习方法,如CLIP [29],它在数百万对齐的图像-文本对上进行训练。在我们的初步实验中,我们发现所有这些模型的表现都优于只具有标记级自监督的MAE [35]。这些发现在[5]、[28]、[30]中得到了证实,强调了联合嵌入方法捕捉到的长程全局模式学习的好处。因此,AnyLoc采用DINO和DINOv2视觉转换器来提取视觉特征。

3.2 选择的特征

另一个重要的设计选择是我们如何从这些预训练的视觉转换器(ViT)[37]中提取视觉特征。与提取每个图像的特征(即整个图像的一个特征向量)不同,我们观察到每个像素的特征能够实现细粒度匹配并获得更优越的性能。ViT的每个层都有多个方面(查询、键、值和令牌),可以从中提取特征。根据[32]的方法,我们从ViT的中间层提取特征,并丢弃CLS令牌。在图2中,我们通过评估局部特征对应的鲁棒性来说明这种密集ViT特征在VPR中的适用性。我们选择数据库图像上的一个点,将其与查询图像中的所有(每个像素)特征进行匹配,并绘制热图来指示这些点对应的可能性。请注意,即使存在语义文本和尺度变化(第一行),感知混淆和视角变化(第二行),以及低照明和相反视角(第三行),这些对应关系仍然是鲁棒的。

图2. 点对应(作为标记)和相似性地图展示了基础模型特征对各种视觉定位与导航(VPR)挑战的稳健性:(顶部)文本和尺度变化,(中部)感知上混淆的特征和视角变化,以及(底部)低照明与相反视角的组合。数值方面在背景和匹配点之间具有最高的对比度,这对于在图像中排除干扰物至关重要

比较图2中的相似性图,注意到数值特征在匹配点和背景之间展现出最大的对比度,这对于抵御图像中的干扰因素至关重要。通过对各层进行进一步分析(图3),我们观察到一个有趣的趋势。ViT的早期层(顶部行),特别是关键和查询特征,展现出较高的位置编码偏差,而第31层(更深的层)的数值特征在相似性图中具有最明显的对比度。我们选择第31层和数值特征作为我们的局部特征表示。

图3. 定性消融比较不同DINOv2层和方面的特征的绝对尺度相似性图。在相似性图中,第31层的数值方面具有最明显的对比度,这对于抵御图像中的干扰因素至关重要

3.3 聚合技术的选择

下一个设计选择是朝着我们的VPR流水线前进,选择一个聚合技术,确定如何将局部特征组合在一起,描述图像和环境的部分。在ViT中,每个图像的特征被编码为一个特殊的标记,CLS,并被解释为图像内容的摘要。图3显示了不同DINOv2层和方面的特征的绝对尺度相似性图的定性消融比较。第31层值方面在相似性图中具有最强烈的对比度,这对于抵抗图像中的干扰因素至关重要。以前的工作直接使用CLS标记进行图像检索,但我们观察到在通用检索设置下(即禁止重新训练或微调)存在矛盾的趋势。我们全面探索了多种无监督的聚合技术:全局平均池化(GAP)[39]、全局最大池化(GMP)[40]、广义均值池化(GeM)[41]以及VLAD的软硬分配变体[11]。对于一个大小为H×W的输入图像和每个像素的特征f_i ∈ \mathbb{R}^D,我们定义一个全局描述符:

p = 1p = 3p → ∞分别表示GAP,GeM和GMP时。
对于VLAD变体,我们将数据库图像中的所有特征进行聚类,以获得N个聚类中心。这形成了我们的词汇表。然后,全局VLAD描述符被计算为每个聚类中心k的残差之和,如下所示:

在VLAD的软分配变体中,如果将f_i分配给簇k,则α_k(f_i)为1,否则为0。根据[42]的方法,我们进行内部归一化、连接和外部归一化,以获得最终的VLAD描述符FV。

3.4 词汇选择

对于基于词汇的聚合技术,我们构建词汇的目标是描述不同环境中全局汇集的局部特征的独特语义属性。以VLAD为基础的先前工作要么使用基于代表性地点和特征的全局词汇[11],要么使用基于参考地图的特定词汇[42],或者使用基于训练数据集的学习词汇[2]。虽然这些方法在城市场景中效果良好,但不适用于基于基础模型特征编码的开放式语义属性。为了解决这个问题,我们通过描述全局汇集的局部特征(GeM描述符)来指导VLAD的词汇选择。

从图1中,我们可以观察到使用PCA投影全局描述符可以揭示潜在空间中的不同领域,这些领域表征具有相似属性的数据集,即:城市、室内、航空、地下、退化和水下。进一步展示了判别鲁棒性,尽管地下和退化领域具有相似的图像类型,它们分散在不同的区域,而视觉上退化的室内领域相对靠近室内集合。最后,我们可以观察到查询图像的投影特征接近于它们各自数据库图像的投影特征。因此,通过基于PCA的分离,我们以领域特定的方式构建VLAD的视觉词汇。

4. 参考文献

https://mp.weixin.qq.com/s/mzCjN1LaQELcl8cEsZdM5w