OmniGlue论文详解(特征匹配)

2024-09-09 04:36

本文主要是介绍OmniGlue论文详解(特征匹配),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OmniGlue论文详解(特征匹配)

  • 摘要
  • 1. 引言
  • 2. 相关工作
    • 2.1. 广义局部特征匹配
    • 2.2. 稀疏可学习匹配
    • 2.3. 半稠密可学习匹配
    • 2.4. 与其他图像表示匹配
  • 3. OmniGlue
    • 3.1. 模型概述
    • 3.2. OmniGlue 细节
      • 3.2.1. 特征提取
      • 3.2.2. 利用DINOv2构建图形。
      • 3.2.3. 信息传播与新的指导
      • 3.2.4. 匹配层和损失函数
      • 3.2.5. 与SuperGlue和LightGlue的比较
  • 4. 实验
    • 4.1. 实验步骤
    • 4.2. 实验结果
    • 4.3. 消融研究
  • 5. 结论
  • 6. 个人理解

摘要

图像匹配领域不断涌现出新颖的可学习特征匹配技术,其性能在传统基准测试中不断提高。然而,我们的研究表明,尽管有这些优点,它们在现实世界中的应用潜力受到限制,因为它们有限的泛化能力,以新的图像领域。本文首先介绍了OmniGlue,它是第一个以泛化为核心原理设计的可学习图像匹配器。OmniGlue利用来自视觉基础模型的广泛知识来指导特征匹配过程,从而将泛化提升到训练时未发现的领域。此外,我们提出了一种新颖的关键点位置引导注意机制,该机制能够解开空间和外观信息的纠缠,从而增强匹配描述符。我们在一组7个不同图像域的数据集上进行了全面的实验,包括场景级、以目标为中心的图像和航空图像。OmniGlue的新型组件在不可见域上的相对增益为20.9%(与直接可比的参考模型相比),同时也比最新的LightGlue方法高出9.5%。

1. 引言

局部图像特征匹配技术提供了两个图像之间的细粒度视觉对应关系,这对于实现准确的相机姿态估计和3D重建至关重要。过去的十年见证了从手工制作到基于学习的图像特征的演变。最近,已经提出了新的可学习图像匹配器,在传统基准测试中表现出不断改进的性能。

尽管取得了实质性的进展,但这些进展忽略了一个重要方面:图像匹配模型的泛化能力。今天,大多数局部特征匹配研究集中在具有丰富训练数据的特定视觉域(例如,室外和室内场景),从而产生对于训练领域高度专业化的模型。不幸的是,我们观察到这些方法的性能通常在域外数据上急剧下降(例如,以目标为中心的或空中捕获),在某些情况下,这甚至可能不会明显优于传统方法。出于这个原因,传统的领域不可知技术,如SIFT,仍然被广泛用于获得下游应用的姿态。由于收集高质量对应注释的成本,我们认为假设每个图像域都有丰富的训练数据是不现实的,就像其他一些视觉任务一样。因此,社区应该专注于开发架构改进,以推广可学习的匹配方法。

受上述观察的启发,我们提出了OmniGlue,这是第一个以泛化为核心原则设计的可学习图像匹配器。在与领域无关的局部特征的基础上,我们引入了新的技术来提高匹配层的泛化能力:基础模型指导和关键点位置注意力指导。如图1所示,通过引入的技术,我们使OmniGlue能够更好地泛化分布外的域,同时保持源域的质量性能。

首先,我们将广泛的视觉知识的基础模型。通过对大规模数据进行训练,基础模型DINOv2在各种任务的不同图像域中表现良好,包括鲁棒的区域级匹配。即使从基础模型产生的匹配结果的粒度是有限的,这些模型提供了可推广的指导潜在的匹配区域时,一个专门的匹配器不能处理的域转移。因此,我们使用DINO来指导图像间特征传播过程,降级不相关的关键点,并鼓励模型融合来自潜在匹配区域的信息。

**其次,我们还指导信息传播过程中的关键点的位置信息。我们发现,当模型应用于不同的领域时,以前的位置编码策略会损害性能-这促使我们将其与用于估计对应性的匹配描述符分开。**我们提出了一种新的关键点位置引导的注意力机制,旨在避免过于专注于关键点的训练分布和相对姿态变换。

在实验中,我们评估了OmniGlue在不同视觉领域的泛化能力,包括合成图像和真实的图像,从场景级到以对象为中心的数据集和航空数据集,以及小基线和宽基线相机。与以前的工作相比,我们表现出显着的改进。具体而言,我们的贡献如下:

  1. 我们在可学习特征匹配过程中引入了基础模型指导,它利用广泛的视觉知识来增强在训练时未观察到的域中的对应性,从而将姿态估计精度提高了5.8%(相对14.4%)。
  2. 一种利用关键点位置编码的新策略,避免了过度依赖训练域中的几何先验知识,将跨域传输提高了6.1%(相对提高了14.9%)。
  3. 我们对来自不同领域的7个数据集进行了全面的实验,证明了现有匹配方法的有限推广性和OmniGlue的强大改进,在所有新领域中平均相对增益为20.9%。
  4. 通过使用来自目标域的有限数量的数据微调OmniGlue,我们表明OmniGlue可以很容易地适应,提高高达8.1%(相对94.2%)。

2. 相关工作

2.1. 广义局部特征匹配

在深度学习时代之前,研究人员专注于开发可推广的局部特征模型。例如,SIFT,SURF和ORB 已广泛用于跨不同图像域的图像匹配任务。直到今天,许多计算机视觉系统仍然忽略了可学习局部特征的最新进展,并依赖于手工制作的方法,例如,为下游应用程序获取姿势。这种旧的手工制作的方法继续被采用的主要原因之一是,大多数最近的基于学习的方法都是专门针对具有丰富训练数据的领域,例如户外建筑场景,并且不能很好地推广到其他领域。 最近,社区将主要焦点转移到开发可学习的图像匹配器上,这些匹配器将通过现成的方法产生的局部特征相关联或联合学习特征描述和关联。虽然与手工制作的匹配系统相比,它们表现出更好的性能,但它们使整个图像匹配管道更加特定于领域。我们的实验表明,可学习的匹配器在训练领域有很强的专业化,具有有限的泛化能力。我们提出的OmniGlue通过引入基础模型的指导和改进的位置编码来提高现有可学习匹配器的泛化能力。

2.2. 稀疏可学习匹配

稀疏可学习图像匹配方法关联由关键点检测器产生的稀疏关键点。例如,SuperGlue使用SuperPoint进行关键点检测,并利用注意力机制来执行图像内和图像间关键点特征传播。然而,SuperGlues表现出有限的泛化能力。一个原因是它使局部描述符和关键点的位置信息纠缠在一起,使得匹配过程过度依赖于学习到的位置模式。它阻碍了对具有不同位置相关匹配模式的数据的概括性。为了解决这个问题,OmniGlue提出在特征传播过程中将它们分开,释放对位置模式的依赖,并提高对不同领域图像的泛化能力。

2.3. 半稠密可学习匹配

密集图像匹配方法联合学习图像描述符和匹配模块,对整个输入图像执行逐像素匹配。它们受益于端到端的学习管道,并在训练领域表现出更好的性能。例如,半密集方法LoFTR引入了一种从粗到细的对应预测范式。另一条工作线直接将匹配结果预测为4D相关体积。然而,我们注意到其中一些方法在新的域上的推广比稀疏方法差。因此,OmniGlue选择专注于稀疏方法,由于使用了与域无关的局部描述符,这些方法具有更好的泛化潜力。

2.4. 与其他图像表示匹配

利用鲁棒的图像表示是一种有前途的途径,向推广的图像匹配。一种工作线使用几何图像表示,例如,深度图和NOCS图,以增强图像匹配过程。然而,它们依赖于这些几何表示的高度精确的单眼估计。因此,SFD2使用语义分割结果来拒绝背景区域中不可区分的关键点。然而,语义分割模型必须在每个特定的目标域上进行训练。最近,大型视觉模型,例如,自监督视觉骨干和扩散模型展示了强大的语义理解特性。通过在大数据上进行训练,这些模型在不同领域表现出强大的泛化能力,这使它们能够获得粗略的补丁级匹配结果。然而,使用这些模型提取的图像特征进行匹配在没有强语义信息的区域/关键点上表现出有限的性能,并且准确性有限。OmniGlue没有直接将这些粗糙信号合并到关键点特征中并使用它们来执行匹配,而是使用DINOv2特征来识别潜在的相关区域并指导基于注意力的特征细化过程。由于该模型中编码的广泛领域知识,OmniGlue可以提高我们的方法对不同领域的泛化能力。

3. OmniGlue

我们首先介绍我们的方法OmniGlue的概述和技术细节。然后我们将OmniGlue与SuperGlue和LightGlue进行比较,以阐明它们的差异。

3.1. 模型概述

下图展示了我们的OmniGlue方法的高级概述,包括四个主要阶段。首先,使用两种互补类型的编码器提取图像特征:SuperPoint ,专注于通用细粒度匹配; DINOv2 ,一种编码粗糙但广泛的视觉知识的图像基础模型。其次,我们使用这些特征构建关键点关联图,包括图像内和图像间。与以前的工作相比,我们的图像图利用DINOv2指导,它提供了一个粗略的信号,捕获SuperPoint关键点之间的一般相似性。第三,我们根据构建的图在两幅图像中的关键点之间传播信息,分别使用自我和交叉注意层进行图像内和图像间通信。至关重要的是,我们在这个阶段解开了位置和外观信号,不同于其他忽视这方面的模型。这种设计使得特征细化能够由关键点空间布置和它们的特征相似性来指导,但不会用位置信息污染最终描述符,这会阻碍概括性。最后,一旦获得了细化的描述符,就应用最佳匹配层来产生两个图像中的关键点之间的映射。这些阶段将在下一节中详细介绍。

在这里插入图片描述
我们使用冻结的DINO和SuperPoint来检测关键点和提取特征。然后,我们建立稠密连接的图像内关键点图,并利用DINO特征建立图像间图。在此基础上,对关键点特征进行细化,并进行信息传播。在此过程中,我们仅使用关键点位置作为指导,将它们与关键点局部描述符分离。最后,基于更新后的关键点局部描述符产生匹配结果。

3.2. OmniGlue 细节

3.2.1. 特征提取

输入是具有共享内容的两个图像,被表示为 I A I_A IA I B I_B IB。我们将两个图像的SuperPoint关键点集表示为A:= { A 1 A_1 A1,…, A N A_N AN}和B:= { B 1 B_1 B1,…, B M B_M BM}的一部分。“请注意,N 和 M 分别是 I A I_A IA I B I_B IB 的已识别关键点的数目。每个关键点都与其SuperPoint局部描述符 d ∈ R C d ∈ R^C dRC相关联。此外,规范化的关键点位置使用位置嵌入进行编码,并且我们使用MLP层进一步细化它们。我们将关键点的位置特征表示为 p ∈ R C p ∈ R^C pRC。进一步提取了两幅图像的稠密DINOv2特征图。我们使用SuperPoint的位置对要素地图进行插值,以获得每个关键点的DINOv2描述符,表示为 g ∈ R C ′ g ∈ R^{C′} gRC。为了清楚起见,我们将集合A中的第i个关键点的三个特征表示为 d i A d^{A}_{i} diA p i A p^{A}_{i} piA g i A g^{A}_{i} giA。相应地表示集合B中的关键点的特征。我们的OmniGlue模型的目标是估计两个关键点集之间的对应性。

3.2.2. 利用DINOv2构建图形。

我们构建了四个关键点关联图:两个图像间图和两个图像内图。两个图像间图表示两个图像的关键点之间的连接性,从 I A I_A IA I B I_B IB,反之亦然。我们将它们分别记为 G A → B G_{A→B} GAB G B → A G_{B→A} GBA。两个图像间图是有向的,其中信息从源节点传播到目标节点。

我们利用DINOv2功能来指导图像间图的构建。如图3(左)所示,我们以 G B → A i G_{B→A_i} GBAi为例。对于关键点集合 A A A 中的每个关键点 A i A_i Ai,我们计算其与集合B中的所有关键点的DINOv2特征相似度。请注意,我们在计算相似性之前对DINOv2特征 g i A g^A_ i giA g B g^B gB执行逐通道归一化。我们选择集合 B B B中具有最大DINOv2相似性的关键点的上半部分与 A i A_i Ai连接, A i A_i Ai修剪两个图像的关键点之间的密集连接的成对图。我们对A中的所有关键点执行相同的操作以获得 G B → A G_{B→A} GBA,并且以类似的方式构建图 G A → B G_{A→B} GAB

类似地,图像内图形表示属于同一图像的关键点之间的连接性。我们将它们表示为 G A G_A GA G B G_B GB,它们是无向的信息在连接的关键点之间双向传播。每个关键点都与同一图像中的所有其他关键点紧密相连。

3.2.3. 信息传播与新的指导

我们基于关键点图执行信息传播。该模块包含多个块,其中每个块具有两个注意层。第一个基于图像内图更新关键点,执行自注意;第二个基于图像间图更新关键点,执行交叉注意。特别是,这一阶段引入了两个新的元素相比,以前的工作,我们表明是至关重要的概括匹配:从DINOv2和关键点位置适当的指导。

首先,DINOv2指南:在交叉注意期间,对于关键点 A i A_i Ai,它仅聚集来自从B选择的DINOv2修剪的潜在匹配集的信息,而不是其所有关键点。这对于广义图像匹配特别有帮助,DINO的广泛知识可以指导模型在训练时没有看到的域中的特征匹配过程。以这种方式,来自不相关关键点的信息将不会被融合到查询关键点特征中。该过程还鼓励交叉注意模块专注于区分较小的潜在匹配集中的匹配点。然而,请注意,我们并没有强制地将匹配空间限制在潜在的匹配集上,因为DINO在某些情况下也可能是不正确的。

其次,我们引入了精细化的关键点指导。我们观察到先前的方法在特征传播期间纠缠关键点位置特征和局部描述符,这使得模型过度依赖于学习的位置相关先验-我们在第4节中的消融实验突出了这个问题。学习的先验知识在具有在训练时未看到的匹配模式的图像对下是脆弱的,从而限制了泛化能力。为了解决这个问题,我们提出了一种新的位置引导注意力,它将关键点位置特征 p 和局部描述符 d 分开。位置信息在该模块中用作空间上下文,并且不并入用于匹配的最终局部描述符表示中。有了这些新的元素,我们的注意力层,如图3(右)所示,定义如下,其中我们以关键点 A i A_i Ai为例:
在这里插入图片描述
在这里插入图片描述

如等式1,注意力有一个残差连接,它整合了注意力更新值 Δ d i A Δ d^A_i ΔdiA。符号←是更新操作,[·|·]是信道级级联。为了计算注意力更新值,如等式2中所述,计算关键点 A i A_i Ai与图中其源连通关键点之间的特征相似度,表示为包含K个关键点的S。注意力的查询、键和值分别是 q i A q^A_i qiA k S k^S kS v S v^S vS。具体而言,如等式在图3-5中,通过融合局部描述符和位置特征两者来计算查询和关键字。然而,该值仅从本地描述符转换而来。我们注意到,权重(W)和偏置(B),其将特征映射到关注中的查询、键和值标记,在不同的关注层之间不共享。在自我注意力( G A G_A GA G B G_B GB)中,S由所有关键点组成;在交叉注意力( G A − → B G_{A-→B} GAB G B − → A G_{B-→A} GBA)中,S包含DINO识别的关键点。

直觉上,查询和键计算注意力权重,其中考虑了特征亲和力和空间相关性。然而,注意力更新值️ Δ d i A Δ d^A_i ΔdiA仅由局部描述符分量组成。这种设计允许模型使用关键点的位置特征来推断关键点之间的空间相关性,同时避免过度依赖它。

3.2.4. 匹配层和损失函数

我们使用改进的关键点表示来产生成对相似性矩阵 S ∈ R N × M S ∈ R^{N×M} SRN×M,其中 S i , j = d i A ⋅ ( d j B ) T S_{i,j} = d^A_i ·(d^B_ j)^T Sij=diAdjB)T。然后我们使用Sinkhorn算法来细化相似性,这产生匹配矩阵 M ∈ [ 0 , 1 ] N × M M ∈ [0,1]^{N×M} M[01]N×M,其中 M i , j M_{i,j} Mij表示关键点 A i A_i Ai B j B_j Bj之间的匹配概率。为了训练OmniGlue,我们使用地面真值最小化匹配矩阵的负对数似然。

3.2.5. 与SuperGlue和LightGlue的比较

重要的是要强调我们的模型和参考稀疏可学习特征匹配方法SuperGlue和LightGlue之间的差异。虽然这两种方法都不是设计来针对多个领域的通用性的,但是在模型结构中有一些共同的元素,所以我们想强调一下我们的新奇。

这两个架构都使用注意层进行信息传播。因此,OmniGlue利用基础模型来指导这一过程,这对转移到训练期间未观察到的图像域有很大帮助。在局部描述符细化方面,OmniGlue与SuperGlue不同,可以将位置和外观特征分开。作为参考,SuperGlue将两个特征纠缠在一起表示为 d + p,其中位置特征也用于产生匹配结果。与我们的设计类似,LightGlue删除了更新的描述符对位置特征的依赖性。然而,它提出了一个非常具体的位置编码公式,基于旋转编码,只在自我注意层。

总体而言,SuperGlue是与OmniGlue最接近的模型,可作为直接可比的参考,我们的贡献可以清楚地消除。出于这个原因,在下面的部分中,我们使用SuperGlue作为实验验证的主要参考比较。

4. 实验

我们首先介绍了实验配置,然后提出我们的结果以及消融研究。

4.1. 实验步骤

我们在表1中列出了用于评估OmniGlue的数据集和任务。我们包括数据集的详细信息如下:

  • Synthetic Homography (SH):包含牛津和巴黎数据集的图像。我们生成随机裁剪和单应性变换以采样图像块对。生成两个子集SH100和SH200,其中用于单应性生成的图像角的扰动分别在100和200个像素内。对于每个子集,我们生成大约900万个训练对和10K个测试对。
  • MegaDepth (MD):是一个大规模的户外图像数据集。使用SfM计算地面真实匹配。我们遵循之前工作的训练/测试划分,大约有625 K训练对和1500测试对。
  • Google Scanned Objects (GSO):包括17个类别的1400个日常对象模型扫描。我们使用大(60°- 90°)旋转(硬子集)和小(15°- 45°)旋转(容易子集)相机基线渲染合成图像,有意与训练分布不同。我们为每个对象模型生成50个图像对,从而产生大约140 K个测试用例。
  • NAVI:专注于对象,包括各种室内和室外图像。它分为两个子集:多视图子集(25 K图像对),具有在相同环境中捕获的输入图像;和野生子集(36 K图像对),其中两个输入图像在具有不同背景,照明条件和相机模型的不同环境中拍摄。
  • ScanNet:收集室内图像。我们遵循先前工作[45]的划分,使用1500个评估对。
  • DeepAerialMatching:提供不同条件下(即不同季节、天气、时间)的成对卫星图像。我们引入随机2D旋转并裁剪520 × 520个图像块,以产生具有已知仿射变换的图像对(总共500个)。

任务和指标

我们通过三个任务评估模型:(1)对应估计,用对应水平的精确度和召回率(仅适用于稀疏方法)进行评估。根据SuperGlue,我们使用5 px的阈值< 3px and >来分别将对应标记为正确和错误。(2)摄像机位姿估计,使用位姿准确度(误差{5,10,20}内正确位姿的百分比)和AUC进行评价,除非另有规定,否则默认使用准确度。使用RANSAC从估计的对应性中导出姿态,并且我们使用Rodrigues公式计算预测/地面真实旋转矩阵之间的相对旋转误差;(3)航空图像配准,使用正确关键点百分比(PCK)进行评估。我们使用基于RANSAC的仿射估计从估计的对应关系,并应用预测/地面真实仿射变换到20个测试关键点固定位置,以计算在τ · max(h,w)个像素的误差内的PCK,其中τ ∈ {0.01,0.03,0.05}。

基线

  • SIFT和SuperPoint为关键点提供了与域无关的局部视觉描述符。我们使用最近邻+比率测试(NN/ratio)和相互最近邻(MNN)生成匹配结果,并报告最佳结果。
  • 稀疏匹配器:SuperGlue使用从SuperPoint导出的描述符,将注意力层用于图像内和图像间关键点信息聚集。它是OmniGlue的最接近的参考。LightGlue改进了SuperGlue,使其具有更好的性能和速度。此外,我们还使用DINOv2+SuperGlue进行了测试,将SuperPoint描述符替换为DINO特征。
  • (半)密集匹配器:LoFTR和PDCNet被用作参考密集匹配技术,以将我们的稀疏匹配性能与其他类型的方法相结合。

实施细节

根据SuperGlue,我们实现了9个上下文推理块,每个块包括图像内聚合层(自注意)和图像聚合层(交叉注意)。这种配置导致总共18个注意力层。在所有稀疏方法中,我们使用1024个关键点和256维描述符。

4.2. 实验结果

在SuperGlue和LightGlue之后,我们首先通过在SH100上训练OmniGlue来初始化它。然后我们在SH200上进一步预训练OmniGlue,最后在MegaDepth(MD)上训练OmniGlue。我们在每个训练域的测试分割上评估OmniGlue和所有基线方法,并测试它们对后续训练数据集或域外测试数据集的泛化。最后,我们尝试使用OmniGlue来适应具有有限目标域训练数据的域外图像。

从Synthetic Homography到MegaDepth

如下表所示,与基本方法SuperGlue相比,OmniGlue不仅在域内数据上表现出上级性能,而且还表现出强大的泛化能力。即使从SH100到SH200的数据分布变化很小,SuperGlue的性能也会大幅下降,精确度和召回率降低20%。这一结果意味着SuperGlue过度依赖于学习到的位置相关模式,无法处理进一步的图像扭曲失真。相比之下,OmniGlue展示了强大的泛化能力,超过了SuperGlue,精度提高了12%,召回率提高了14%。同样,在从SH200转移到Megadepth的过程中,OmniGlue的召回率大幅提高了15%,优于SuperGlue。

在这里插入图片描述
从MegaDepth到其他领域。

如下表所示,与所有其他方法相比,OmniGlue不仅在MegaDepth-1500上实现了与最先进的稀疏匹配器LightGlue相当的性能,而且在6个新域中的5个域上表现出了更好的泛化能力。具体而言,在MegaDepth-1500上,OmniGlue显示出比基础方法SuperGlue 12.3%的相对增益(5 °时的姿势AUC)。在6个新领域中,OmniGlue分别比SuperGlue和LightGlue显示出20.9%和9.5%的平均相对增益(在最严格阈值下的姿势和配准准确度)。此外,OmniGlue在较难处理的新领域上的性能提升要大于LightGlue,即:GSO-Hard、NAVI-Wild和DeepAerial上的数据。“我们在图5和图4中显示了新域上的零触发泛化及其在源域上的性能的可视化。
在这里插入图片描述
值得注意的是,在域内MegaDepth数据集上实现更好性能的参考密集匹配器,一般情况更糟。它们的性能接近甚至更差于SuperGlue,SuperGlue在5 °时的域内AUC低10%。我们推测这可能是由于视觉描述符和匹配模块的联合学习,使它们更容易强烈地专门化到训练域。

目标域的低拍微调

在某些现实场景中,有限的目标域数据集可用于微调。为了测试这个场景,我们在目标域(以对象为中心的GSO数据集)上微调OmniGlue,将其性能与基本模型SuperGlue进行比较。我们只利用几十个对象扫描来创建小的训练子集。值得注意的是,这些小的训练集仅由来自运动鞋对象类别的实例组成,覆盖了测试对象类别分布的显著较小的子集。

如下表所示,OmniGlue更容易适应靶结构域。详细地说,当从0到30个实例进行训练时,OmniGlue始终表现出对两个测试子集的增强性能。仅用10个实例进行训练,OmniGlue就将两个子集的姿态估计准确率提高了5.3%和4.0%。通过增加10个对象来扩展训练集,可以进一步提高2%的性能。此外,OmniGlue始终优于SuperGlue,在所有实验中实现了约10%的相对增益。这些结果共同证明了OmniGlue作为一种通用和可推广的方法在现实世界中的适用性。

在这里插入图片描述

4.3. 消融研究

下表(1)中的结果突出了我们的基础模型指导的有效性,它增强了域外数据的泛化能力。此外,下表(2)的第三行说明了位置引导注意力的影响,展示了域内和域外数据的改进。此外,我们用不同的方法进行消融,以解开关键点的位置特征。下表(2)的前两行表明,当不使用任何位置特征或仅对自我注意应用位置引导(没有对交叉注意的位置引导)时,性能降低。这强调了我们的位置引导注意力在促进图像内和图像间信息传播方面的有效性。此外,在去除位置嵌入后,即使域内性能下降,模型也表现出更好的泛化能力。这一结果意味着SuperGlue使用位置信息的不当方式限制了其推广。

在这里插入图片描述
如上表(3)所示,我们探索了不同的DINOv2掺入方法。第一个是合并DINO特性和SuperPoint本地描述符。该集成在信息传播模块之前使用MLP执行。实验显示性能下降,表明这两个特性不兼容,可能是由于DINO的粒度太粗。如何有效地合并这些特征仍然是一个悬而未决的问题。第二种方法需要应用DINOv2指导来构建图像内和图像间图形,与(5)相比,性能有所降低。我们假设原因在于图像内信息传播(自我注意)需要全局上下文,特别是用于区分特征空间中的所有关键点。减少图像内图的连接性会对全局上下文产生不利影响,这与SuperGlue中注意力广度研究的结果一致。

我们消除了用于确定图中源关键点数量的超参数,如上表(4)所示。结果表明,选择另一幅图像中关键点的上半部分来构建图像间图是最佳选择。

5. 结论

我们提出了OmniGlue,这是第一个以泛化为核心原则设计的可学习图像匹配器。我们介绍了基础模型的广泛视觉知识,它指导图形构建过程。我们发现了以前的位置纠缠表示的局限性,并提出了一种新的注意力模块来处理它。我们证明了OmniGlue优于以前的工作,具有更好的跨域泛化能力。此外,OmniGlue也可以很容易地适应目标领域,只需要收集有限的数据进行微调。对于未来的工作,还值得探索如何利用目标领域中的未注释数据来改进泛化。更好的架构设计和更好的数据策略可以为基础匹配模型铺平道路。

6. 个人理解

OmniGlue 是一种新型的可学习图像匹配器,它在设计时以泛化为核心原则,与 LoFTR 相比,OmniGlue 引入了多项创新技术来提高其泛化能力。 OmniGlue 相对于 LoFTR 的主要改进和创新点:

  1. OmniGlue 利用在大规模数据上训练的基础模型 DINOv2,它在多种图像领域的任务中表现良好,包括稳健的区域级匹配。这种基础模型引导有助于在训练时未观察到的领域中增强对应关系,从而提高姿态估计精度。
  2. OmniGlue 提出了一种新的关键点位置引导注意力机制,这种机制避免了在关键点和相对姿态变换的训练分布中过于专门化,有助于提高匹配描述符的性能。
  3. OmniGlue 在多个数据集上的实验表明,它在分布外域上的泛化能力有显著提升,与直接可比较的参考模型相比,未见领域的相对增益达到了 20.9%,同时也优于最近的 LightGlue 方法,相对增益达到了 9.5%。

相比之下,LoFTR 是一种无检测器的局部特征匹配方法,它使用 Transformer 来处理从卷积主干提取的密集局部特征,并采用从粗到细的流水线来提高匹配的准确性。LoFTR 的创新之处在于它利用 Transformer 的全局感受野和位置编码来学习全局一致的匹配先验,但它在泛化能力方面不如 OmniGlue。OmniGlue 特别强调泛化能力,它是第一个以泛化为核心原则设计的可学习图像匹配器。它通过基础模型引导和关键点位置注意力引导技术,提高了在训练时未见过的领域的泛化能力,而LoFTR 更专注于在具有挑战性的场景(如大视角变化和弱纹理)中的匹配能力,但在泛化方面可能不如 OmniGlue 强。

这篇关于OmniGlue论文详解(特征匹配)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1150172

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

hdu 3065 AC自动机 匹配串编号以及出现次数

题意: 仍旧是天朝语题。 Input 第一行,一个整数N(1<=N<=1000),表示病毒特征码的个数。 接下来N行,每行表示一个病毒特征码,特征码字符串长度在1—50之间,并且只包含“英文大写字符”。任意两个病毒特征码,不会完全相同。 在这之后一行,表示“万恶之源”网站源码,源码字符串长度在2000000之内。字符串中字符都是ASCII码可见字符(不包括回车)。

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

POJ 3057 最大二分匹配+bfs + 二分

SampleInput35 5XXDXXX...XD...XX...DXXXXX5 12XXXXXXXXXXXXX..........DX.XXXXXXXXXXX..........XXXXXXXXXXXXX5 5XDXXXX.X.DXX.XXD.X.XXXXDXSampleOutput321impossible