点击下方卡片,关注 「AI视界引擎」 公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
视觉地点识别(VPR)旨在通过从大型地理 Token 数据库中检索视觉相似图像来确定 Query 图像的一般地理位置。
为了获得每个地点图像的全局表示,大多数方法通常侧重于通过使用当前先进的架构(例如CNN、MLP、池化层和Transformer编码器)聚合从主干提取的深度特征,而很少关注Transformer解码器。
然而,作者认为其在捕捉上下文依赖性并生成准确特征方面的能力对于VPR任务具有极大的潜力。
为此,作者提出了一种高效解码Transformer(EDTformer),用于特征聚合,该模型由多个堆叠的简化解码块组成,并通过两层线性层直接生成稳健且有鉴别力的全局表示用于VPR。
具体来说,作者将深度特征作为 Key和Value ,并将一组独立的学习参数作为 Query 。
EDTformer能够充分利用深度特征内的上下文信息,然后逐步解码并聚合有效的特征到学习的 Query 中以形成最终的全局表示。
此外,为了为EDTformer提供强大的深度特征并进一步增强其实用性,作者使用基础模型DINOv2作为主干,并提出了低秩并行适应(LoPA)方法,可以以内存和参数高效的方式逐级细化主干的中间特征。
因此,作者的方法不仅在多种基准数据集上优于单阶段VPR方法,还在使用大量重新排名操作时优于性能更优但成本更高的两阶段VPR方法。
unset
unset1. INTRODUCTIONunset
unset
每张地点图片由全局特征表示,然后在特征空间中进行最近邻搜索以获得 Query 的最佳匹配图片。全局特征通常通过深度特征的聚合获得,利用的技术包括NetVLAD [12]、GeM [14]聚合或其变种[13]、[16]、[44]等。不幸的是,这些全局特征在挑战性的VPR场景中表现通常不佳。为了进一步提高鲁棒性和检索精度,近期的单阶段VPR研究集中于探索新的方法来聚合深度特征。例如,MixVPR [33] 通过堆叠Feature-Mixer将全局关系融入到每个个体特征图中,Feature-Mixer仅仅包含多层感知机(MLPs)。CricaVPR [24] 提出了一种跨图像编码器来计算同一批处理中多张图像表示之间的相关性,从而获得鲁棒的全局特征。SALAD [46] 将NetVLAD中的局部特征的软分配重新定义为最优传输问题,在此过程中完全利用了CNN和MLPs。BoQ [58] 尝试通过堆叠Transformer编码器、注意力机制和多个可学习Query来聚合特征。然而,尽管Transformer解码器结构在NLP领域[35]和语义分割领域中由于其强大的上下文依赖捕获能力和生成准确特征的能力而广受赞誉,但在VPR任务中尚未得到充分探索。作者认为,这些解码器的特点在应对VPR的各种挑战方面具有显著潜力。为此,作者重新审视了Transformer解码器,并提出了一种高效解码Transformer(EDTformer),它可以充分利用从主干网络提取的深度特征中的上下文信息,逐步解码和聚集关键特征,以输出对地点图片鲁棒且具有区分性的全局表示。
此外,随着视觉基础模型[20]-[22]在特征提取方面展现了显著的能力,最近的视觉定位研究趋势是使用预训练的基础模型,例如DINOv2 [20],作为主干网络从输入的地点图像中提取深层特征。AnyLoc [23]率先在视觉定位中未进行任何微调的情况下应用了DINOv2,这使得难以充分利用DINOv2在视觉定位中的全部能力。随后,有研究[46]和[58]开始通过仅微调DINOv2的最后一两个编码器块来提升其在视觉定位中的性能。
然而,这一过程伴随着大量的可训练参数。与此同时,CricaVPR [24]和SelaVPR [25]尝试应用参数高效迁移学习(PETL)方法[26]、[49]和[50]来适应DINOv2用于视觉定位。具体来说,他们冻结了DINOv2,并在每个编码器块中插入了一些额外的可训练 Adapter 。然而,这种方法仅在参数上是高效的,在训练时间和内存使用上并不高效,因为可训练参数的梯度计算仍然需要对预训练的主干网络进行反向传播,如图3(b)所示。这促使作者开发一种能够在内存和参数上高效地加强视觉基础模型在视觉定位任务中的方法。
在本文中,作者重新审视了Transformer解码器,并提出了一种新颖的功能聚合方法EDTformer,它可以最终生成用于场景图像的强大且具有区分性的全局表示。
EDTformer 不依赖于复杂的额外操作,在充分利用深层特征中的丰富上下文信息方面,它采用了一级简化解码模块的级联结构,仅保留了注意力层(自注意力和跨注意力),并移除了 FFN ,以提高与标准Transformer解码器相比的效率。通过将深层特征作为 Key和Value ,利用一组独立的学习参数作为 Query ,EDTformer 可以捕获深层特征中编码的复杂上下文关系,并逐步解码有效的特征到学习 Query 中,以实现关键特征的聚合。随后,包含关键信息的可学习 Query 通过两个简单的线性层进行维数缩减和进一步调整,生成最终的全局表示。同时,作者在架构中使用基础模型DINOv2作为主干,并开发了一种内存和参数高效的低秩并行适配(LoPA)方法,以使DINOv2适应视觉定位任务。具体而言,作者在训练过程中冻结整个主干,并设计了一个可调节的轻量级并行网络,该网络可以逐步细化由主干每个模块产生的中间特征,输出更强大的深层特征,从而提升整体模型在视觉定位任务上的性能。
作者的工作主要贡献总结如下:
(1) 作者重新审视了Transformer解码器,并提出了一种新型特征聚合方法EDTformer,通过利用多个堆叠的简化解码块、线性投影以及一组可学习的 Query 来完全解码深层特征,最终输出一个稳健且具有区分性的全局表示,用于全局检索基于的视觉定位(VPR)。这为如何在VPR中应用解码器结构提供了新的见解。
(2) 作者设计了一种低秩并行适应方法,将基础模型DINOv2适配为输出增强特征以提升性能。该方法在参数量、训练时间和内存使用方面都具有高效性,这将进一步促进基础模型在资源受限的视觉定位与恢复(VPR)场景中的应用。
(3) 在基准数据集上的广泛实验表明,本方法在内存使用较少的情况下,能够显著优于现有的最佳视觉定位(VPR)方法。
在早期的视觉定位研究中,全局特征是由手工设计的局部特征(例如SIFT [28] 和 SURF [29], [30])通过一些经典的聚合算法(如Bag of Words [31]、Fisher Vector [63]和Vector of Locally Aggregated Descriptors (VLAD) [32])聚合得到的。随着深度学习在计算视觉任务中的巨大成功,当前主要的视觉定位方法更倾向于利用大量的深度特征而非手工设计的局部特征来提升性能。此外,传统的聚合算法逐渐被可训练的聚合/池化层所替代,例如NetVLAD [12] 和 GeM 池化 [14]。NetVLAD 利用一个可训练的一般化VLAD层来聚合深度特征,通常会生成高维描述符。相比之下,Generalized Mean (GeM) 池化是一种简单的替代方案,可以产生紧凑的全局表示。然而,这种紧凑的表示在挑战性的视觉定位场景中通常无法提供令人满意的性能。
因此,许多研究提出了各种新的训练策略和聚合算法,以进一步改善全局表示,从而提高检索精度。SFRS [15] 引入了自我监督的图像到区域相似度,充分利用具有挑战性的正样本及其相应子区域的潜力,以训练出更稳健的视觉定位模型。CosPlace [44] 和EigenPlaces [45] 将视觉定位训练任务框架化为分类问题,并利用San Francisco eXtra Large (SF-XL) 数据集有效训练其视觉定位模型。MixVPR [33] 提出了一种全MLP聚合技术,并利用多相似性损失 [37] 和全监督方法进行模型训练。CricaVPR [24] 引入了一种基于跨图像相关性的表示学习方法,以增强全局特征的鲁棒性。SALAD [46] 重新解释了NetVLAD中局部特征的软分配为最优传输问题,并通过Sinkhorn算法 [67] 解决它。BoQ [58] 利用了多个 Query 组,通过堆叠多个 Transformer 编码器和注意力机制捕捉通用的地方特定属性。这些研究仅使用了全局特征,并且实现了相对良好的识别性能。
此外,两阶段视觉定位方法也是一项有效的改进识别性能的方法。这些方法首先使用全局特征在数据库中搜索前 k 个候选图像,然后基于局部特征对候选图像进行再排序。再排序过程通常会采用几何一致性验证,或者利用可学习的网络生成密集局部特征来进行相似性计算 。例如,DHE-VPR [62] 使用基于 Transformer 的深度共线性估计网络来快速进行几何一致性验证。SelaVPR [25] 引入了一种新颖的全局-局部混合适应方法,并直接使用交叉匹配中的密集局部特征进行再排序。
然而,再排序过程通常耗时较长,需要巨大的内存占用以及大量的存储空间,特别是在处理大规模数据库时。这些局限性限制了两阶段方法在资源受限和大规模视觉定位场景中的应用。与两阶段方法通过显著提高性能所带来的高成本不同,作者提出的方法高效地利用解码器聚合深层特征,并直接生成具有良好鲁棒性和区分性的全局表示,用于全局检索基视觉定位。
自Transformer [35]在自然语言处理(NLP)领域取得成功以来,Transformer解码器的应用范围已扩展到各种计算机视觉任务 。例如,DETR [54] 是第一个将Transformer解码器应用于目标检测的任务,并使用多个可学习的目标 Query 来捕获目标目标的信息,最终并行输出一系列预测。
SenFormer [64]、MaskFormer [65] 和 Mask2Former [66] 利用堆叠的Transformer解码器通过学习 Query 集合来生成分割 Mask ,可以细化从 Backbone 网络提取的多尺度特征,并表示一些可能的分割区域。IAA-LQ [59] 使用标准Transformer解码器估计图像的美学质量。
与它们不同的是,作者首先通过移除 FFN 来简化Transformer解码器的结构,以提高效率。此外,使用可学习 Query 的目的也有所不同。作者的可学习 Query 主要是在作者的EDTformer的作用下,用于从位置图像的深层特征中聚合全局上下文信息,而不是专注于图像中的特定像素或像素块/目标。
基于大量数据训练的视觉基础模型[20]-[22],如使用自监督策略在大规模精编LVD-142M数据集中训练的DINOv2,具备从输入图像中提取强大特征的能力,并在各类下游视觉任务中取得了显著成果。为了在保持这些基础模型最强能力的同时减少训练参数数量,已经提出了PETL方法并广泛应用于多个领域,包括视觉定位与检索(VPR)领域。例如,CricaVPR [24]通过引入多尺度卷积 Adapter 提升了DINOv2在VPR中的性能。
SelaVPR [25]则将普通 Adapter 插入DINOv2中,实现了全局和局部特性的混合适应,从而为VPR任务生成全局和局部特征。通过仅调整内置的轻量级 Adapter 而无需调整冻结的预训练模型,它们在参数效率上都表现出了高效性。然而,在训练过程中,内存开销主要由激活量决定,不仅仅是参数量,这意味着参数效率并不等于内存效率[53]。
与此不同的是,作者设计了一种低秩并行适应方法,能够在不插入任何参数的情况下全面释放预训练视觉基础模型的能力,从而实现参数效率和内存效率的双重优化。
在本节中,作者首先简要介绍了用于特征提取的基础模块。接着,作者提出了EDTformer以高效地实现特征聚合。
随后,作者介绍了低精度参数适应技术(LoPA),该技术能够适配基础模型以为EDTformer提供更为强大的特征,从而在内存和参数效率方面提高整个模型的性能。最后,作者描述了作者在实验中采用的训练策略。
在本研究中,作者采用DINOv2作为 Backbone 网络,它是基于Vision Transformer (ViT) 的。为了处理输入图像 ,ViT 首先将图像分割成大小为 的非重叠小 patches,并将其线性投影到 维的 Tokens 中,其中 。同时,在 前面添加一个可学习的类 Tokens ,从而得到 。
随后,位置嵌入被添加到 上以保留位置信息,形成 ,该序列将通过一系列重复的 Transformer 编码块来提取特征。Transformer 编码块主要由多头注意力层 (MHA)、多层感知器 (MLP) 和层归一化 (LayerNorm) 组成,如图3(a) 所示。Token 序列 经过 Transformer 编码块并产生 ,其可以表示为
基于这些提取的特征,作者将在 IHI-C 小节中进一步介绍如何高效地使用 LoPA 调整 DINOv2。
EDTformer 主要依赖于多头自注意力(MHA)机制,因此作者对其进行了详细的介绍。MHA 首先通过不同的可学习线性投影将输入序列映射为 Query 、键 和值 ,共映射 次。然后,通过标度点积注意力 [35] 计算 、 和 之间的注意力,公式表示为:
在每个投影后的Query、Key和Value上,作者然后并行执行注意力函数,得到个输出值。这些值被连接起来,并再次通过投影,最终得到可以表示为的形式的输出值。
值得注意的是,Self-Attention层使用相同的特征作为 Query 、 Key和Value ,而交叉注意力层则使用一个特征作为 Query ,另一个特征作为 Key和Value 。作者将会使用这两种方式来构建EDTFormer,以获得稳健且具有区分性的全局特征。
作者设计了一个简单而强大的Pipeline来生成有前景的全局特征,如图2所示。对于由适应性 Backbone 网络(例如结合了LoPA的DINOv2)输出的深度特征,作者应用线性投影对进行特征变换和信息传递,以获得特征。这可以通过以下公式表示。
所提出的EDTformer采用纯解码器结构,利用简化解码块和一个固定的学习 Query 集。与标准Transformer解码器不同,作者的简化解码器仅包含自注意力层和交叉注意力层,而不包括 FFN (FFN),以提高效率。对于第一个自注意力层,输入向量来自一组学习 Query 。这些 Query 是模型中的可训练参数,与输入特征独立。值得注意的是,后续的自注意力层的输入来自前一个解码块的输出。通过自注意力操作,这些 Query 可以进行内部信息交互,减少冗余并突出关键部分。
不同于自注意力层,交叉注意力层的输入来自两个来源:来自自注意力层的输出,而和来自之前的特征。通过交叉注意力机制,模块可以根据它们之间的交叉注意力权重动态地传递和聚合中的有效上下文信息到可学习 Query 。为了充分利用,作者采用了个逐层递进的解码块进行解码,从而使初始的可学习 Query 逐步转化为学习 Query 。每个解码块的内部过程可以表示为:
其中, 和 分别是第 层自注意力层和跨注意力层的输出。值得注意的是, 是初始可学习的 Query 。随后,作者利用两个全连接层:第一个层用于减少学习 Query 的维度,第二个层用于调整 Query 的数量以进一步聚合特征,公式表示为
最后,作者扩展输出特征,并采用L2归一化来获得输入场所图像的稳健且具有区分性的全局表示。
值得注意的是,最新的工作BoQ [58]和作者的EDTformer都使用了可学习的Query,但其架构完全不同。BoQ使用多层堆叠的编码器来处理从Backbone提取的深层特征,并应用单独的注意机制以及多组独立的Query,以便分别学习每个编码器的输出。
相比之下,作者放弃了编码器块,并首次尝试直接使用一个纯解码器结构和一组Query来实现VPR中的特征聚合,这种方法更简单且更高效。
基础模型DINOv2最近已成为视觉定位与注册(VPR)中特征提取的一个流行 Backbone 网络,通常会通过微调/适应来提升性能。CricaVPR [24] 和 SelaVPR [25] 使用了PETL方法(即在冻结的编码器块中插入可调 Adapter ),如图3(b)所示,以适应DINOv2。然而,这种方法仅在参数数量上有效,而在训练时间和内存使用方面并不高效。
在此,作者进行了一次简单的理论推导来解释这一点。对于一个包含个块的网络,每个块的输出为,具有大量冻结参数和少量可训练参数,作者的目标是基于随机梯度下降最小化损失函数。具体来说,在反向传播过程中更新时,首先需要通过链式法则计算。
为了解决上述问题,作者提出了受先前研究[51]、[52]启发的低秩并行自适应方法。该方法与之前的直接在 Backbone 网络中插入可调参数的做法不同,作者设计了一个并行网络,在训练过程中不需要通过冻结的 Backbone 网络进行反向传播梯度,如图3(c)所示。
这是一个轻量级且独立的网络,它直接将 Backbone 网络的中间特征作为输入,并逐步对其进行 refinement,以生成更准确的表示。
具体而言,作者的 Backbone 网络DINOv2包括一个patch嵌入块和个编码块,因此共有个输出,每个输出由个维度为的Token组成,即。作者学习并行的适应函数,这些函数作用于这些中间特征以对其进行细化。作者将适应函数的输出表示为,其中表示函数索引。整个过程可以表述为:
为了更加高效,作者将适应函数 ( h ) 设计为低秩结构并使用少量参数。作者还增加了一个缩放因子 5,这意味着作者的适应函数可以表示为
所提出模型在GSV-Cities [36] 数据集上按照其标准框架进行训练。GSV-Cities 包含了56万张具有高度准确标签的图像,描绘了6.7万不同的地点。作者应用了多相似性(MS)损失函数 [37] 并结合在线困难挖掘策略。MS 损失公式表示为:
为了展示作者方法的有效性,作者在多个基准数据集上进行了实验,这些数据集涵盖了实际世界中遇到的各种挑战。表1简要总结了这些基准数据集。Pitts30k[38]来源于Google街景,展示了显著的不同视角变化。MSLS[39]在六大陆洲的三十个主要城市中收集了九年的数据,涵盖了全年四季、各种天气、不同类型的相机、光照条件以及建筑环境。
Tokyo24/7[40]展示了严重的光照变化(白天/夜晚)。SPED[60]来自监控摄像头,包含了多样化的自然场景。Nordland[41]使用前端火车相机拍摄,覆盖了四个季节。
作者采用冬季图像作为 Query 图像,并使用夏季图像作为数据库,这与之前的工作[1]、[24]、[45]一致。AmsterTime[42]展示了大量图像模态的变化,历史灰度图像用作 Query 图像,当代彩色图像用作数据库。SvOX[43]是一个跨领域的视觉定位数据集,在不同的天气和光照条件下收集。作者主要利用三个最具挑战性的 Query 子集:SVOX Night、SVOX Rain 和 SVoX Sun。
作者使用DINOv2-base作为Backbone,并在NVIDIA GeForce RTX 4090 GPU上使用PyTorch进行实验。Backbone被完全冻结,只有LoPA可训练,用于逐步细化来自Backbone的特征。LoPA中的低秩设置为4,等式(10)中的缩放因子设置为0.5。为了在准确性和效率之间取得平衡,作者应用了两个堆叠的简化解码器块,并利用64个Query来完全学习有效的特征。
最终,模型输出一个4096维的全局描述符。作者在等式(11)中设置超参数,,,并在在线挖掘中设置 margin=0.1,与以往的工作[24]、[33]、[58]一致。作者使用Adam优化器训练模型,初始学习率为0.001,并在每3个epoch后乘以0.7。每个训练批次包含72处地点,每处有4张图片,总计288张图片。训练时输入图像的分辨率为,参考时为。总共训练15个epoch。
在本节中,作者将作者提出的方法与广泛现有的领先视点检索(VPR)算法进行了比较,包括八种使用全局特征的一阶段VPR方法:NetVLAD [12],SFRS [15],CosPlace [44],MixVPR [33],EigenPlaces [45],CricaVPR [24] 和 BoQ [58],以及三种卓越的两阶段VPR方法:Patch-NetVLAD [16],Former [17] 和 SelaVPR [25]。
值得注意的是,作者的工作使用了与MixVPR、CricaVPR、SALAD和BoQ相同的训练数据集,即GSV-Cities。此外,最新的研究CricaVPR、SALAD、BoQ 2和SelaVPR都利用了基础模型DINOv2作为主干网络(SelaVPR使用DINOv2-large,而其他使用DINOv2-base),并在多个基准上取得了最佳性能。因此,作者亦采用DINOv2-base进行实验。表2展示了作者在MSLS、Tokyo24/7、SPED和Pitts30k上的定量结果。作者的方法在几乎所有数据集上都实现了最佳的性能。
为了进一步评估作者的方法在某些极端场景中的泛化能力,作者在其他具有挑战性的数据集上进行了广泛的实验:Nordland、AmsterTime、SVOX Night、SVOX Rain 和 sVOX Sun。表1 中的结果展示了作者的方法在困难场景中有效应对视觉定位任务的强大能力。在 Nordland 数据集上,该数据集表现出显著的季节和光照变化,作者的 EDTformer 获得了最佳性能,甚至超越了两阶段的 SelaVPR。
此外,在 AmsterTime 数据集上,作者的方法相比其他方法取得了显著优势,具体而言,分别在 上比第二名高出 //,这表明作者的方法对于处理包含灰度图像和彩色图像的数据集中的图像模态变化具有很高的鲁棒性。在 SVOX Night、SVOX Rain 和 sVOX Sun 数据集上,EDTformer 达到了相对完美的性能(例如,在 SVOX Rain 数据集上 达到 , 达到 , 达到 ),这表明它能够很好地应用于这些特殊场景。总之,这些具有挑战性的数据集上的结果进一步突显了作者模型的稳健泛化能力。
此外,作者的方法在效率方面也表现出优势。图4展示了作者的EDTformer与SFRS、MixVPR、SALAD、BoQ和SelaVPR(全局检索)等六种基于全局检索的方法在Pitts30k数据集上的性能及单张图片的推理时间。MixVPR使用ResNet-50作为主干网络,并提出了一种特征混合方法来获得全局描述符,这使得其推理速度最快。虽然SFRS也采用了VGG-16作为主干网络,但它通过PCA降低全局描述符的维度,这过程较为耗时。其他方法则全部基于视觉基础模型。
具体来说,SelaVPR(全局检索)采用DINOv2-large作为主干网络,导致推理速度最慢()。在SALAD、BoQ和作者的EDTformer中,所有方法均采用DINOv2-base作为主干网络,作者的方法实现了最快的推理速度()。此外,作者还提供了三种方法的训练内存消耗和每轮次的训练时间,如表4所示。作者的训练速度大约快了约15%,训练内存使用量仅为它们的一半以下。综上所述,作者的方法在训练和推理方面都表现出高效性,同时在识别性能上也具有优势。
在本节中,作者首先进行一系列消融实验,以证明作者提出的EDTformer和LoPA的有效性。随后,作者进一步探讨了EDTformer和LoPA的一些设计细节对其影响。值得注意的是,在消融实验中,作者始终使用GsV-Cities数据集和多相似性损失进行训练。除非另有说明,由作者方法生成的全局特征维度为4096。
EDTformer的效果验证。为了验证所提出的EDTformer的有效性,作者将其与当前常用的聚合方法进行比较,包括GeM [14]、NetVLAD [12]、Conv-AP [36]、MixVPR [33] 和BoQ [58](与作者的方法相关)。其中,“GeM-linear”表示使用GeM聚合器并接一个线性层来调整描述子的维度。“NetVLAD-PCA”则意味着在NetVLAD聚合器之后集成一个PCA层以实现降维。为了确保实验的公平性,作者在所有实验中一致使用DINOv2-base作为backbone,并结合LoPA(秩设置为4)用于特征提取。实验结果见表5。当全局描述子的维度相同(4096维)时,作者的EDTformer达到了非常有竞争力的表现,并大幅优于其他一些聚合器(例如,GeM、NetVLAD、Conv-AP和MixVPR)。尽管BoQ也取得了出色的成果,但值得注意的是,由BoQ生成的全局描述子的维度(12288维)是作者的全局表示维度(4096维)的三倍以上。在这种情况下,作者的方法仍比BoQ表现出更好的性能,特别是在Nordland数据集上(在上获得了4.5%的提升)。此外,作者同时展示了不同维度的全局描述子识别性能(通过调整pipeline中的最后一层线性层实现)。随着描述子维度的下降,整体性能逐渐下降。然而,512维的描述子仍然在MSLS-val上实现了令人印象深刻的90.1%的,在SPED上为89.3%,在Pitts30k上为91.7%,在Nordland上为71.1%,超过了GeM输出的768维描述子的性能,并且能够与一些领先方法,如SFRS [15]、CosPlace [44] 和EigenPlace [45]竞争。因此,作者的EDTformer也适用于一些急需低维描述子的VPR场景。
LoPA的效果。接下来,为了验证所提出的LoPA方法的有效性和效率,作者将它与其他流行的微调/适应方法进行了比较,包括PartialTuned(仅微调 Backbone 网的最后一两个模块,其他模块冻结)、FullTuned(训练整个 Backbone 网)、Adapter(如SelaVPR [25]中实现)和MultiConvAdapter(如CricaVPR [24]中实现)。作者以DINOv2-base作为 Backbone 网,并将不进行任何调整的冻结 Backbone 网作为 Baseline 。此外,作者始终使用作者的EDTformer作为聚合器。结果如表6所示。在效率方面,LoPA是一个极其轻量级的网络,仅引入了0.08M可训练参数,比其他方法的参数数量少于1%。另外,与冻结的 Baseline 相比,它仅增加了1.74GB的训练内存,比SelaVPR [25] 和 CricaVPR [24] 中使用的PETL方法少10倍。令人惊讶的是,它较FullTuned节省了超过40GB的训练内存。这表明,LoPA在参数和内存效率方面都是高效的,使其非常适合资源受限的VPR场景。在准确性方面,LoPA也显著提高了DINOv2在VPR中的性能,而其他方法的结果则基本没有改进或甚至有所下降。
具体来说,在没有对DINOv2进行任何调整的情况下,作者的EDTformer仍能在某些SOTA方法(如MixVPR [33]和EigenPlaces [45])中保持竞争力。在此基础上,LoPA进一步提升了 Baseline ,在MSLS-val数据集上的绝对值分别提高了1.2%、14.0%和2.3%,在Nordland和SPED数据集上也是如此。相比之下,PartialTuned在MSLS-val和Nordland数据集上的表现提升非常有限。FullTuned则导致整体性能下降。PETL方法,即Adapter和MultiConvAdapter,能够在MSLS-val和Nordland数据集上提高模型的识别性能。然而,这些方法都会导致SPED数据集上的绝对值下降。综合来看,通过LoPA输出的DINOv2特征更适合后续的EDTformer形成全局表示,从而以较低的成本实现了更好的性能。
Decoder块数量的影响。为了评估在EDTformer架构中使用的解码器块数量对性能的影响,作者通过改变解码器块的数量进行了消融实验。结果如图Vll所示,即使使用一个解码器块,EDTformer也能与MixVPR [33]、CricaVPR [24] 和 SelaVPR [25] 等一些当前最先进技术相比获得竞争力的表现。构建包含两个堆叠解码器块的EDTformer能够全面地解码和聚合深层特征中的关键上下文信息,从而实现最佳的整体性能。相反,进一步增加解码器块的数量(例如,增加到3个或4个)所带来的改进非常有限,并且甚至会轻微降低整体性能。此外,当解码器块的数量增加到6个时,识别准确率会明显下降。此外,由于堆叠更多解码器块而导致的参数量和内存消耗增加也是一个不容忽视的问题。为了在效率和准确性之间取得更好的权衡,使用两个解码器块来构建EDTformer是一个不错的选择。
可学习 Query 数量的影响。在这一部分,作者对可学习 Query 的数量进行了消融研究。结果呈现在表8中。由于可学习 Query 是EDTformer的一个关键输入,其数量影响全局特征的质量。作者可以观察到,随着可学习 Query 数量的增加,模型的整体性能有所提升。然而,当 Query 数量过大时,不仅会引入额外的计算负担,而且无法充分学习有效的特征,从而妨碍生成稳健且具有区分性的全局表示。换句话说,少量 Query 可能只能聚合有限的信息,而过多的 Query 可能导致信息冗余。这两种情况都不太可能获得最佳效果。为了在准确性和效率之间取得平衡,作者选择使用64个 Query 以实现最优的整体性能。
解码器块中 FFN (FFN)的影响。作者通过移除解码器块中的 FFN (FFN),简化了Transformer解码器块,构建了EDTformer以提高效率。在此,作者进行了一项简单的实验来解释为何这样做。作者持续使用两个解码器块来构造包含64个可学习query的EDTformer。表9中的结果显示,添加FFN并未提升整体识别性能,反而在多个基准数据集中引起了明显的性能下降,例如在Nordland上出现了4.1%的R@1下降。作者认为这是由于FFN引入了大量的可训练参数,阻碍了模型学习和聚合有效的特征。同时,这也增加了模型的复杂性并带来了额外的内存开销。因此,使用简化过的解码器可以提高效率,并获得更好的结果,且没有任何缺点。
在LoPA的秩方面的消融实验。在这个子节中,作者进一步研究了LoPA中秩效果的消融实验。作者一致使用EDTformer进行特征聚合。表10展示了设置不同秩的结果。“无LoPA”作为 Baseline 。将秩设置为4获得最佳的整体性能,即使秩设置为2,作者仍然可以取得良好的结果。这些结果表明,在训练过程中无需引入大量参数和消耗大量内存即可实现出色的性能。值得注意的是,DINOv2的主干网络完全冻结,这表明DINOv2每一层生成的中间特征保持一致。最终输出仅取决于这些中间激活如何处理,这启示作者可学习的 Query 可以在图像中的大部分显著区域上一致地集中注意力,这也是作者的方法能够有效解决VPR中各种挑战性问题的原因所在。
作者的未来工作将是设计一个更好的并行网络来进一步优化它们。同时,由于只引入了少量参数和内存使用,它可以在资源受限的条件下促进视觉基础模型的应用。
图5展示了在各种具有挑战性的环境中定性的实验结果,包括视角变化、条件剧烈改变、严重遮挡、图像域变化等。在绝大多数情况下,作者的方法能够从与 Query 图像相同的位置获取相似且正确的场所图像,而其他方法往往难以在预定义的阈值内(25π)获得正确的图像,这证明了作者的方法对环境变化具有很高的鲁棒性,并且不太容易产生知觉错位。例如,在第七和第八个例子中, Query 图像是在夜间拍摄的,图像的大部分区域都看不清楚。然而,作者的方法仍然得到了正确的结果。此外,值得一提的是,在最后两个例子中,出现了多种挑战(如视角变化、领域变化、严重遮挡、动态物体和知觉错位)同时发生的情况,所有方法都无法获得正确的场所。这促使作者在未来的工作中进一步改进作者的方法,以提高准确性并应对更具挑战性的场景。
表2和表3中的实验结果充分展示了作者方法的优越性能。在本节中,作者将进一步探索其背后的原因。为此,作者可视化了EDTformer中输入图像与可学习Query之间的注意力权重。作者随机突出显示了第二解码块输出的两个可学习Query,以理解它们的独特学习特征。结果如图6所示。直观地看,每个Query都有不同的关注点,但它们都具有一些共同的特点。
横向观察可以发现,每个Query基本上集中于不变且具有区分性的区域(例如,建筑物和树木),而忽略无用、动态且易于变化的目标(例如,天空、车辆和行人)。换句话说,作者的EDTformer成功地将至关重要的特征编码到了这些可学习Query中,以实现特征聚合。因此,凭借所有相关信息,作者的方法能够更准确地进行视觉定位任务。
在本文中,作者重新审视了Transformer解码器,并提出了一种名为EDTformer的新特征聚合方法。这是一种简单、高效且强大的解码器架构,可以直接生成用于地点图像的鲁棒且具有区分性的全局表示。
具体来说,EDTformer利用来自主干网络提取的深层特征作为 Key和Value ,并采用一组独立的学习 Query 作为 Query 。
然后,它利用注意力机制来解码并聚合有效的特征到学习 Query 中,从而生成最终的全局表示。
为了进一步增强鲁棒性,作者引入了视图基础模型DINOv2作为主干网络,并设计了一种低秩并行适应方法,可以以内存和参数效率的方式将DINOv2适应到VPR任务中,从而提高整个模型的性能。
广泛的实验表明,作者的方法有效解决了VPR中的各种挑战性问题,并且在多个基准数据集上大幅超过了其他SOTA方法。
unset
unset参考unset
unset
[0]. EDTformer: An Efficient Decoder Transformer for Visual Place Recognition .
点击上方卡片,关注 「AI视界引擎」 公众号
