10.13论文阅读

通过联合学习检测和描述关键点增强可变形局部特征

摘要

局部特征提取是计算机视觉中处理图像匹配和检索等关键任务的常用方法。大多数方法的核心理念是图像经历仿射变换,忽略了诸如非刚性形变等更复杂的效果。此外,针对非刚性对应的新兴工作仍然依赖于为刚性变换设计的特征点检测器,这由于检测器的局限性而限制了性能。我们提出了DALF(Deformation-Aware Local Features,可变形感知局部特征),一种新颖的可变形感知网络,用于联合检测和描述关键点,以处理匹配可变形表面的挑战性问题。所有网络组件通过特征融合方法协同工作,确保描述子的独特性和不变性。使用真实变形物体的实验展示了我们方法的优势,它在匹配分数上提供了 8 % 8\% 8% 的改进,与之前最佳结果相比。我们的方法还增强了两个现实世界应用的性能:可变形物体检索和非刚性3D表面注册。训练、推理和应用的代码在 ver1ab.dcc.ufmg.br/descriptors/dalf_cvpr23 公开可用。

1. 引言

在计算机视觉领域,寻找描绘同一表面的图像之间的像素级对应是一个长期存在的问题。除了光照变化、视点变化和与感兴趣物体的距离之外,现实世界场景还带来了额外的挑战。文献中绝大多数对应算法假设我们的世界是刚性的,但这一假设远非事实。值得注意的是,社区在新型架构和训练策略上投入了大量努力,以改善刚体场景的图像匹配 [ 6 , 19 , 26 , 34 , 37 , 42 ] \left\lbrack {6,{19},{26},{34},{37},{42}}\right\rbrack [6,19,26,34,37,42],但忽略了这样一个事实:现实世界中的许多物体可以以比仿射变换更复杂的方式进行形变。

图1. 形变下的图像匹配。我们提出了DALF,一种形变感知的关键点检测器和描述符,用于匹配可形变表面。DALF(顶部)使得在可形变场景中进行局部特征匹配,并比现有技术水平提高了匹配得分(MS),如图中用DISK [37]所示。绿色线条表示正确的匹配,红色标记表示错误的匹配。

许多工业、医学和农业应用需要跟踪、检索和监控任意变形的对象和表面,需要一个通用匹配算法以获得准确结果。由于标准仿射局部特征在强光照变化和变形等场景下的性能显著下降,已经提出了考虑更广泛变换类别的几项工作 [ 24 , 25 , 30 ] \left\lbrack {{24},{25},{30}}\right\rbrack [24,25,30]。然而,所有考虑变形的方法都忽略了关键点检测阶段,限制了它们在挑战性变形中的应用。尽管关键点检测和描述的问题可以分开处理,但最近同时进行特征检测和描述的工作 [ 4 , 26 ] \left\lbrack {4,{26}}\right\rbrack [4,26] 表明这两项任务之间存在相互影响,因为关键点检测可能会影响描述符的性能。反过来,描述符可以用来确定针对特定目标优化的可靠点。在这项工作中,我们提出了一种新的方法,用于联合学习对变形、视点和光照变化具有鲁棒性的关键点和描述符。我们证明了检测阶段对于在变形下获得鲁棒匹配是至关重要的。图1展示了一对具有挑战性变形的图像,我们的方法可以从中提取可靠的关键点并正确匹配它们,与最近的最先进方法DISK [37]相比,显著提高了匹配得分。

贡献。(1)我们的第一个贡献是一种名为DALF(形变感知局部特征)的新端到端方法,该方法通过相互协助策略共同学习检测关键点和提取描述符,以处理显著的非刚性形变。我们的方法通过仅使用合成扭曲作为监督,提高了这类特征匹配的最新技术水平 8 % 8\% 8%,显示出强大的泛化能力。我们利用强化学习算法进行统一训练,并结合空间变换器来学习影响图像的上下文先验,捕捉形变;(2)其次,我们引入了一种特征融合方法,这是与之前方法的主要区别,它允许模型通过来自主干网络和空间变换模块的互补特征(具有区分性和不变性属性)来应对具有挑战性的形变。这种方法在性能上相比非融合特征有显著提升;(3)最后,我们在非刚性局部特征应用方面展示了最先进的结果,包括可变形对象检索和非刚性3D表面配准。我们还将在社区公开代码和这两个应用。

2. 相关工作

关键点检测。传统的图像关键点检测方法旨在提取图像中的重复区域,即在不同观察条件下稳定的局部点。经典的Harris检测器[10]使用图像导数来计算角点分数,而最常用的手工制作检测器之一SIFT[14],例如,使用高斯差分检测斑点。Key.Net[13]表明,通过结合手工滤波器和学习滤波器,可以提高关键点检测的性能。最近学习关键点检测的趋势是将描述和检测结合在同一流程中 [ 7 , 26 , 34 , 42 ] \left\lbrack {7,{26},{34},{42}}\right\rbrack [7,26,34,42],因为在计算和匹配精度方面同时解决这两个任务是有利的。同样地,我们提出的方法有一个主干网络,它同时计算关键点和描述符,同时使用一个形变感知模块。

局部斑块描述。直到最近,检测和描述还是被分开处理的。尽管有些工作同时关注这两个问题,比如SIFT[14]和ORB[28]的开创性工作,但检测和描述是解耦的。SIFT和ORB描述符采用手工梯度分析来提取具有尺度和旋转不变性的描述符。基于CNN的最近描述方法 [ 8 , 15 , 19 , 34 , 39 ] \left\lbrack {8,{15},{19},{34},{39}}\right\rbrack [8,15,19,34,39]假设一个预定义的关键点检测器,使用局部斑块。这些方法在图像匹配基准测试中使用了SIFT关键点,达到了最先进的性能[12]。网络通过度量学习 [ 9 , 39 ] \left\lbrack {9,{39}}\right\rbrack [9,39]进行训练。由于基于斑块的方法依赖于可能在不稳定或模糊区域产生关键点的预定义关键点检测器,因此由于检测和描述步骤的解耦,噪声很容易被引入。与基于斑块的方法不同,我们的网络被训练以产生优化的可靠描述和非刚性对应的关键点。我们的描述还通过一种融合策略进行了增强,该策略将互补特征结合到一个单一的学特征表示中。

联合检测与描述。DELF [22] 和 DELG [4] 的研究展示了通过使用基于高层图像语义的关注机制来选择关键点,将检测与描述阶段结合在一起,可以显著提高检索性能。局部特征提取已经转向联合学习局部特征的检测与描述 [ 7 , 16 , 26 , 37 , 42 ] \left\lbrack {7,{16},{26},{37},{42}}\right\rbrack [7,16,26,37,42]。大多数方法遵循相似的架构,采用全卷积网络(FCN)布局来生成密集特征图,方法之间的主要区别在于训练方案和损失设计。最新的描述与检测方法目前在标准基准测试中处于最先进水平 [ 2 , 12 ] \left\lbrack {2,{12}}\right\rbrack [2,12]。与现有方法不同,我们的架构和训练设计明确地处理检测与描述阶段中的形变,精心设计了一个专用的变形处理网络。

形变感知方法。最早提出的用于可变形表面的图像描述符之一是 DaLI [30]。DaLI 将图像块解释为局部三维表面,并计算该三维表面的尺度不变热核签名 [3],以编码对非刚性形变和光照变化具有鲁棒性的特征。尽管与当代作品相比,DaLI 实现了匹配性能的提升,但它仍然受到高计算和存储需求的影响。与 DaLI 类似,GeoBit [21] 和 GeoPatch [24] 描述符将计算几何的思想引入计算机视觉,利用 RGB-D 图像提取测地线感知的视觉特征。然而,这些测地线感知方法需要 RGB-D 图像,并且对噪声敏感,这大大限制了它们的适用性。为了去除估计测地线块时对深度图像的需求,DEAL 描述符 [25] 通过一个非刚性变形模块隐式地处理单目图像的形变。DEAL 的主要缺点是它依赖于现有的关键点检测器,这限制了其性能。

图 2. DALF 架构。我们的架构共同优化非刚性关键点检测和描述,并在训练过程中显式建模局部形变以进行描述符提取。一个沙漏型 CNN 计算一个密集的热图,提供用于 Warper Net 提取形变感知匹配的专用关键点。一个特征融合层平衡了最终描述符的不变性和独特性之间的权衡。

由于大多数现有检测器在形变变化的情况下关键点位置缺乏等变性,导致描述符性能下降。相比之下,我们的方法在同一个框架中学习检测和描述,实现了显著的性能提升。

3. 方法论

DALF 联合学习检测和描述对非刚性形变、透视和光照变化具有鲁棒性的点。检测器和描述符都是通过一个合作方案进行训练,旨在特征表示的不变性。具体来说,关键点检测器使用策略梯度进行训练,旨在增加既可重复又可靠检测的概率;同时,描述符提取器学习从局部区域去形变并提取区分性强且不变的特征。该模型只训练在合成形变上,即不需要昂贵的人工标注,也不需要可能包含错误和偏见的伪地面真实值,例如在几项工作中使用的 SfM 管道的输出 [ 7 , 16 , 26 , 29 , 37 ] \left\lbrack {7,{16},{26},{29},{37}}\right\rbrack [7,16,26,29,37]。图 2 概述了提出的方法。

3.1. 关键点检测器

关键点检测架构使用了一个类似于U-net[27]的骨干沙漏型CNN网络 f ( ⋅ ) \mathbf{f}\left( \cdot \right) f()。该网络能够在原始图像分辨率下有效地计算关键点热图,同时产生有助于描述关键点的高级特征表示。我们在编码器部分使用了三个降采样块,在解码器部分使用了三个升采样块,并带有跳接,每个块由两个卷积层组成,包含一个2D卷积后跟ReLU和批量归一化。设 I ∈ R h × w × c I \in {\mathbb{R}}^{h \times w \times c} IRh×w×c 为大小为 h × w h \times w h×w 的输入图像,具有 c c c 个通道, f ( I ) \mathbf{f}\left( I\right) f(I) 输出两个特征图:中级表示 X ∈ R h / 8 × w / 8 × d \mathbf{X} \in {\mathbb{R}}^{h/8 \times w/8 \times d} XRh/8×w/8×d 和检测热图 H ∈ R h × w \mathbf{H} \in {\mathbb{R}}^{h \times w} HRh×w,其中 d d d 是特征的数量。

变形图像中的关键点检测。一个有效的检测器必须在非刚性场景中输出响应高的热图 H ∈ R h × w \mathbf{H} \in {\mathbb{R}}^{h \times w} HRh×w,这些场景包含视图和光照变化,使得区域可以很好地匹配。因此,在检测分支的训练过程中,我们使用类似于DISK[37]的策略来优化 H \mathbf{H} H,但仅将概率框架应用于学习检测热图。与DISK相比,一个关键的区别是,我们通过惩罚即使关键点可重复但匹配错误的点来强化检测到的关键点的可靠性。概率方法有几个优点,比如处理稀疏关键点检测的内在离散性,并且可以使用更简单直观的损失函数来更好地收敛和规正检测热图,这与需要精心设计的手工损失函数的工作 [ 7 , 16 , 26 ] \left\lbrack {7,{16},{26}}\right\rbrack [7,16,26] 形成对比。

我们希望在置信度高的区域获得高响应,不仅用于检测,也用于匹配。为了用策略梯度解决这个问题,我们将热图划分为二维网格单元(如图3中的检测热图),并考虑网络代理可以选择的一组动作来选取关键点。每个单元 c i {\mathbf{c}}_{i} ci m × n m \times n m×n 像素,网络可以在每个单元内学习检测关键点的概率。给定一对在相同场景下经过不同辐射和几何变换的图像 ( A , B ) \left( {A,B}\right) (A,B) 以及关联这两幅图像的地面真实流场,对于每个单元 c i ∈ H {\mathbf{c}}_{i} \in \mathbf{H} ciH,我们考虑单元格上的概率分布 c ∈ R m × n \mathbf{c} \in {\mathbb{R}}^{m \times n} cRm×n。单元格内的每个逻辑值都有成为关键点的概率。通过应用Softmax函数,计算单元格 c i {\mathbf{c}}_{i} ci 上的概率质量函数 p c i {\mathbf{p}}_{{\mathbf{c}}_{i}} pci

因此,为了训练检测分支,我们使用了Reinforce算法 [32]。在网络的前向传播过程中,我们根据概率质量函数 c i {\mathbf{c}}_{i} ci 在每个单元内随机采样一个单独的关键点,以及关键点的空间坐标、其概率 p c i {\mathbf{p}}_{{\mathbf{c}}_{i}} pci 和其逻辑值 p s i {p}_{s}^{i} psi。请注意,每个单元只能有一个关键点;然而,在实际操作中,低纹理和模糊区域常常导致低质量的关键点,这些关键点在其他图像中无法可靠地匹配或检测。因此,我们接受单元格中关键点提议的概率 l s i {l}_{s}^{i} lsi,其中 σ ( l s i ) \sigma \left( {l}_{s}^{i}\right) σ(lsi) 是Sigmoid激活函数。这样,网络可以在训练过程中学会过滤掉不可靠的关键点提议。图像 σ \sigma σ 的最终检测概率由集合 I I I P I = { σ ( l s i ) ⋅ p s i } , ∀ c i ∈ {P}_{I} = \left\{ {\sigma \left( {l}_{s}^{i}\right) \cdot {p}_{s}^{i}}\right\} ,\forall {\mathbf{c}}_{i} \in PI={σ(lsi)psi},ci 给出,使得 H \mathbf{H} H(我们只采样了热图中值为正的关键点)。由于我们希望

图3. 训练策略,用于学习检测和描述在形变中关键点的意识。DALF网络用于生成每个图像的检测热图和一组局部特征。在检测路径中,通过REINFORCE算法优化热图,考虑关键点在形变下的重复性。在描述符路径中,通过硬三元组损失学习特征空间。采用图像对的孪生设置来优化网络。注意,在第二个训练阶段,我们惩罚无法准确描述的关键点;因此,关键点和组合描述符被联合优化,以对形变具有鲁棒性。

为了使关键点具有重复性,我们奖励在图像 A A A B B B 中都能检测到的点。因此,给定检测点 j j j 在图像 A A A 上的像素坐标 p A j ∈ R 2 {\mathbf{p}}_{A}^{j} \in {\mathbb{R}}^{2} pAjR2,我们定义奖励函数 R ( . ) a s f o l l o w s : R\left( \text{.}\right) {asfollows} : R(.)asfollows:

R ( p A j ) = { 1 if  ∃ p B ( . ) s.t.  ∥ T ( p A j ) − p B ( . ) ∥ < τ , 0 otherwise, (1) R\left( {\mathbf{p}}_{A}^{j}\right) = \left\{ \begin{array}{ll} 1 & \text{ if }\exists {\mathbf{p}}_{B}^{\left( .\right) }\text{ s.t. }\begin{Vmatrix}{T\left( {\mathbf{p}}_{A}^{j}\right) - {\mathbf{p}}_{B}^{\left( .\right) }}\end{Vmatrix} < \tau , \\ 0 & \text{ otherwise,} \end{array}\right. \tag{1} R(pAj)={10 if pB(.) s.t.  T(pAj)pB(.) <τ, otherwise,(1)

其中 T ( . ) t r a n s f o r m s p i x e l s c o o r d i n a t e s o f t m a g e A t o T\left( \text{.}\right) {transformspixelscoordinatesoftmageAto} T(.)transformspixelscoordinatesoftmageAto 是根据真实流场映射到图像 B B B 的位置, τ \tau τ 是一个像素阈值,用于确定在 A A A 中检测到的关键点在图像 B B B 中是否有对应点。

一旦我们得到概率集 P A {P}_{A} PA P B {P}_{B} PB,我们就得到了参数向量 θ \theta θ 关于所有成对关键点预期奖励的梯度,其中 × \times × 表示笛卡尔积(见图3)。使用梯度上升法来最大化预期奖励的总和:

∇ θ E K [ R ( . ) ] = ∑ ( x , y ) ∈ K ∇ θ ( log ⁡ p ( x ; θ ) + log ⁡ p ( y ; θ ) ) R ( . ) , (2) {\nabla }_{\theta }{\mathbb{E}}_{\mathcal{K}}\left\lbrack {R\left( .\right) }\right\rbrack = \mathop{\sum }\limits_{{\left( {x,y}\right) \in \mathcal{K}}}{\nabla }_{\theta }\left( {\log p\left( {x;\theta }\right) + \log p\left( {y;\theta }\right) }\right) R\left( .\right) , \tag{2} θEK[R(.)]=(x,y)Kθ(logp(x;θ)+logp(y;θ))R(.),(2)

其中 p ( . ; θ ) p\left( {.;\theta }\right) p(.;θ) 表示根据由 θ \theta θ 参数化的网络采取该动作的概率。变量 x x x y y y 是成对关键点组合的检测概率。

在不变特征学习阶段,训练进程的 70 % {70}\% 70% 之后,如果关键点的描述符不可靠,我们将关键点的奖励归零。关于关键点惩罚项的详细信息在第3.5节中描述。

3.2. 关键点描述符

我们观察到从沙漏编码器中提取的中层特征并没有明确地建模对任何类型变形的不变性,但它们在小到中等的光度学和几何变化上(例如光照变化和平面扭曲)表现出高度的独特性。因此,监督中层特征是有益的,因为在推理过程中我们无需额外成本即可获得信息丰富的描述符。为此,在第一个训练阶段,我们在检测到的关键点位置对特征图 X \mathbf{X} X 进行双线性插值,以获得每个关键点坐标的特征向量 f d ∈ R D {\mathbf{f}}_{d} \in {\mathbb{R}}^{D} fdRD。设 F A ∈ R N × D {\mathbf{F}}_{A} \in {\mathbb{R}}^{N \times D} FARN×D F B ∈ R N × D {\mathbf{F}}_{B} \in {\mathbb{R}}^{N \times D} FBRN×D 是由沙漏解码器在关键点位置提取的对应描述符 f d {\mathbf{f}}_{d} fd N N N L2-归一化特征向量矩阵,分别来自图像 A A A B B B,以及 D N × N = 2 − 2 F A F B T {\mathbf{D}}_{N \times N} = \sqrt{2 - 2{\mathbf{F}}_{A}{\mathbf{F}}_{B}^{T}} DN×N=22FAFBT 距离矩阵。为了优化描述符的嵌入空间,我们在矩阵 D 中采用硬挖掘策略 [19] 并最小化边缘排序损失:

L d ( δ + ( . ) , δ h ( . ) ) = 1 N ∑ i = 1 N max ⁡ ( 0 , μ + δ + ( i ) − δ h ( i ) ) , (3) {\mathcal{L}}_{d}\left( {{\delta }_{ + }^{\left( .\right) },{\delta }_{h}^{\left( .\right) }}\right) = \frac{1}{N}\mathop{\sum }\limits_{{i = 1}}^{N}\max \left( {0,\mu + {\delta }_{ + }^{\left( i\right) } - {\delta }_{h}^{\left( i\right) }}\right) , \tag{3} Ld(δ+(.),δh(.))=N1i=1Nmax(0,μ+δ+(i)δh(i)),(3)

其中 μ \mu μ 是边缘, δ + = ∥ F ( p ) − F ( p ′ ) ∥ 2 {\delta }_{ + } = {\begin{Vmatrix}\mathbf{F}\left( p\right) - \mathbf{F}\left( {p}^{\prime }\right) \end{Vmatrix}}_{2} δ+= F(p)F(p) 2 是相应特征之间的距离, δ h = {\delta }_{h} = δh= ∥ F ( p ) − F ( h ) ∥ 2 \parallel \mathbf{F}\left( p\right) - \mathbf{F}\left( h\right) {\parallel }_{2} F(p)F(h)2 是批次中最难负样本的距离。

3.3. 非刚性变形模块

CNNs的平移等价性属性使得局部描述符对图像平移不变,多尺度策略增加了描述符提取对平面内尺度变化的鲁棒性 [ 7 , 26 , 37 ] \left\lbrack {7,{26},{37}}\right\rbrack [7,26,37] 。然而,当非刚性形变出现时,局部纹理的外观可能会显著变化,引入了匹配歧义。DEAL [25] 证明了薄板样条(TPS),与空间变换器结合使用,可以用于对局部特征描述任务中的形变进行建模。受到DEAL的启发,我们采用TPS形变来学习对影响补丁的非刚性变换的局部不变性。


1 {}^{1} 1 对于每一行的最难负样本 h i j {h}_{i}^{j} hij 是通过 min ⁡ D j , i = j = { 1 , … , N } \min {D}_{j},i = j = \{ 1,\ldots ,N\} minDj,i=j={1,,N} 使得 i ≠ j i \neq j i=j 计算得到的 j j j


空间变换网络。我们使用主干网络的中层特征来学习TPS的参数,而额外的开销很小。TPS参数张量 M θ ∈ R h / 16 × w / 16 × 2 d {\mathbf{M}}_{\theta } \in {\mathbb{R}}^{h/{16} \times w/{16} \times {2d}} MθRh/16×w/16×2d 包含一个中间表示,有助于估计关键点处的局部非刚性变换。为了获得TPS方程中使用的参数向量,首先,我们通过双线性插值从 M θ {\mathbf{M}}_{\theta } Mθ 中关键点的空间位置得到一个特征向量,得到一个中间参数向量 ∈ R 2 d \in {\mathbb{R}}^{2d} R2d 。然后,使用一个MLP来估计TPS变换中使用的参数向量 μ θ {\mu }_{\theta } μθ 。参数向量 μ θ {\mu }_{\theta } μθ 分别编码仿射矩阵 A ∈ R 2 × 3 \mathbf{A} \in {\mathbb{R}}^{2 \times 3} AR2×3 和非刚性组件 w k ∈ R 2 {\mathbf{w}}_{k} \in {\mathbb{R}}^{2} wkR2 ,表示从仿射组件的偏移。给定一个齐次2D点 q ∈ R 3 \mathbf{q} \in {\mathbb{R}}^{3} qR3 ,权重系数和控制点 c k , ∈ R 2 {\mathbf{c}}_{k}, \in {\mathbb{R}}^{2} ck,R2 ,我们使用 μ θ {\mu }_{\theta } μθ 中包含的参数将TPS变换应用于关键点中心的固定极坐标网格:

p = A q + ∑ k = 1 n c ρ ( ∥ q − c k ∥ 2 ) w k (4) \mathbf{p} = \mathbf{{Aq}} + \mathop{\sum }\limits_{{k = 1}}^{{n}_{c}}\rho \left( {\begin{Vmatrix}\mathbf{q} - {\mathbf{c}}_{k}\end{Vmatrix}}^{2}\right) {\mathbf{w}}_{k} \tag{4} p=Aq+k=1ncρ( qck 2)wk(4)

其中 n c {n}_{c} nc 是控制点的数量, q \mathbf{q} q 是从关键点周围的固定极坐标网格归一化的空间图像坐标, p \mathbf{p} p 是其变换后的坐标。图 2(Warper Net)展示了修补变形和采样步骤。由于我们使用的是 TPS 径向基函数,因此使用了 ρ = r 2 log ⁡ r \rho = {r}^{2}\log r ρ=r2logr。极坐标网格变换后,使用可微的双线性采样器 [11] 来获取变换后的图像修补,该修补被一个类似于 L2-Net 架构 [34] 的 CNN 用于计算不变特征向量,该向量受限于边缘排序损失(等式 (3))。在我们的实现中,与原始 L2-Net 的主要区别在于,在最后一个卷积块中,我们在极修补的角轴方向上添加了一个平均池化,实现了完全的旋转不变性。

3.4. 特征融合层

独特性和不变性是局部特征描述符的两个期望属性。尽管不变性对于处理如旋转和缩放等外观变化较大的任务至关重要,但它通常意味着独特性损失 [38]。通过考虑两种互补特征,即来自具有较大感受野的主干网络且对强烈几何变换更敏感的独特特征,以及来自变形和旋转具有鲁棒性的设计原则的修补模块的不变特征,我们提议通过特征融合步骤结合这两种信息。

融合是通过一个基于注意力的多层感知器(MLP)执行的,该感知器预测权重系数。首先将两个描述符向量连接起来,如图2所示,然后输入到融合层。之后,连接的描述符通过预测的注意力权重进行加权,并进行L2归一化,以产生最终的描述符。在训练过程中,我们分别优化每个描述符的损失,并同时优化融合描述符的损失,以强制网络学习如何融合特征向量以实现更好的特征表示。在实验中,我们证明了结合特征使得最终描述符能够处理强烈的图像变换,同时保持其独特性。

3.5. 训练策略和模型优化

分阶段训练。在实验中,我们观察到在单一阶段端到端训练网络导致模型专注于不变特征,并忽略了来自主干网络的特征的独特性,即使重新加权损失项也是如此。为了解决这个问题,我们进行了两阶段的训练。在第一个训练阶段,我们只训练主干网络。与Warper Net特征相比,主干特征具有更大的感受野和更高级的语义,但对旋转和低级形变的不变性较小。在第二个训练阶段,优化了解码器、Warper Net和融合层,其中最终的特征表示通过融合步骤同时考虑两种表示进行优化。此外,网络的解码器进一步细化,并鼓励检测对融合描述符最优的关键点。

最终损失。对于检测分支,我们定义关键点损失为 L k = − E K [ R ( . ) ] a n d a d d a r e g u l a r i z a t i o n {\mathcal{L}}_{k} = - {\mathbb{E}}_{\mathcal{K}}\left\lbrack {R\left( \text{.}\right) }\right\rbrack {andaddaregularization} Lk=EK[R(.)]andaddaregularization 项,用于训练期间检测到的所有关键点 L p = {\mathcal{L}}_{p} = Lp= − ∑ x log ⁡ p ( x ) ⋅ c - \mathop{\sum }\limits_{x}\log p\left( x\right) \cdot c xlogp(x)c,其中 c c c 是一个小的负常数,用以阻止网络检测低质量点。我们使用在第3.2节中描述的边缘排序损失来处理网络计算的所有描述符向量。最终损失计算为 L = L k + L p + λ L d \mathcal{L} = {\mathcal{L}}_{k} + {\mathcal{L}}_{p} + \lambda {\mathcal{L}}_{d} L=Lk+Lp+λLd ,其中 λ \lambda λ 是一个权重项,用于平衡三元组损失和政策梯度损失的大小。

4. 实验

训练和实施细节。我们开发了一条精心设计的合成数据生成管道,以创建表面合理的非刚性形变来监督训练。我们对从大规模结构从运动数据集 [41] 获得的真实图像进行光度测量和几何变化。我们只使用原始图像,不使用任何关于对应关系或注释标签的信息。在训练过程中,我们添加随机光度变化、随机单应投影和随机TPS扭曲,以获得图像对之间地面真实密集流的基线。训练从较简单的样本开始,逐渐变得更加困难,在 60 % {60}\% 60% 的训练迭代中达到最难的难度。在实验中,我们使用以下超参数值:三元组损失中的 μ = 0.5 \mu = {0.5} μ=0.5;像素阈值 τ = 1.5 \tau = {1.5} τ=1.5;用于平衡损失项的 λ = 0.005 \lambda = {0.005} λ=0.005;关键点惩罚 c = − 7 e − 5 c = - 7{e}^{-5} c=7e5;单元大小 m = n = 8 m = n = 8 m=n=8 像素;控制点的数量 n c = 64 {n}_{c} = {64} nc=64。如第3.5节详细所述,我们进行了两阶段的训练。在更新权重之前,我们使用了四次前向传播的梯度累积。我们在第一阶段训练网络80,000次迭代,在第二阶段训练100,000次迭代。在推理过程中,我们使用大小为 3 × 3 3 \times 3 3×3 像素的非最大值抑制,以从 H \mathbf{H} H 中提取关键点坐标。我们的网络在PyTorch上实现,具有大约 1 M {1M} 1M 可训练参数,并在GeForce GTX Titan X GPU上训练需要48小时。

基线和评估指标。我们将我们的方法与几种基于补丁的描述符 [ 1 , 8 , 20 , 28 , 35 , 36 , 39 ] \left\lbrack {1,8,{20},{28},{35},{36},{39}}\right\rbrack [1,8,20,28,35,36,39] 进行比较,使用相同的 SIFT [14] 关键点集,遵循图像匹配基准 [12] 的协议。我们还使用适合非刚性对应 [17] 的检测器与变形感知描述符 DEAL [25] 配合进行了测试。最后,我们还将当前最先进的检测与描述方法 [ 6 , 7 , 16 , 23 , 26 , 37 , 42 ] \left\lbrack {6,7,{16},{23},{26},{37},{42}}\right\rbrack [6,7,16,23,26,37,42] 纳入比较。对于每种评估的方法,我们检测出前 2,048 个关键点,并使用最近邻搜索匹配描述符。除了标准的比较之外,我们将图像匹配的金标准定为 SuperPoint [6] 配合 SuperGlue [29] 匹配器,它在假定场景刚性的情况下,为立体和多视角相机注册 [12] 保持当前最先进水平。如表 1 所示,方法分为三类:(i) 仅需要 RGB 输入 ( R G B ) \left( {RGB}\right) (RGB) 的方法,与需要额外信息如深度的方法相对;(ii) 检测与描述 (D&D) 方法,在单个流程中同时提供检测和描述;以及 (iii) 变形感知 ( D − A ) \left( {D - A}\right) (DA) 方法,这些方法在计算描述符时考虑了变形。注意,一种方法可能同时满足多个类别。

我们使用了匹配分数(MS [18] 来评估检测到的关键点和描述符的匹配性能。给定一个真实变换和一个像素级的阈值,我们计算正确匹配集合 S g t {\mathbf{S}}_{gt} Sgt 并为图像对 ( i , j ) \left( {i,j}\right) (i,j) 获得分数 M S = ∣ S g t ∣ / min ⁡ ( ∣ keypoints i ∣ , ∣ keypoints j ∣ ) {MS} = \left| {\mathbf{S}}_{gt}\right| /\min \left( {\left| {\text{keypoints}}_{i}\right| ,\left| {\text{keypoints}}_{j}\right| }\right) MS=Sgt/min(keypointsi, keypointsj )。此外,还报告了平均匹配准确度(MMA),它关注的是描述符在阈值 K g t {\mathbf{K}}_{gt} Kgt 下成功检测到两图像上的关键点匹配的准确性,计算方式为 M M A = ∣ S g t ∣ / ∣ K g t ∣ {MMA} = \left| {\mathbf{S}}_{gt}\right| /\left| {\mathbf{K}}_{gt}\right| MMA=Sgt/Kgt。关于关键点重复性的额外结果可以在补充材料中找到。为了进行评估,我们采用了两个现有的可变形物体数据集 [ 24 , 40 ] \left\lbrack {{24},{40}}\right\rbrack [24,40]

4.1. 现实世界基准测试

与现有最佳方法的比较。表1显示了所有比较方法实现的MS和MMA分数。DALF在MS和MMA指标上平均优于所有描述符,包括那些使用额外的深度信息来提取变形不变特征的方法,将匹配分数的现有最佳水平提高了 8 % 8\% 8% p.p.。此外,我们的方法在真实变形上显示出有希望的一般化特性。DISK在MS上取得了第二好的结果,但MMA表明其描述符对非刚性变形更为敏感。DEAL凭借其变形感知模块在MMA上取得了第二好的结果,但在MS分数上表现不佳。值得注意的是,DEAL依赖于SIFT关键点,而SIFT关键点并非为非刚性变换而设计。

SuperGlue,由SuperPoint描述符与图神经网络匹配而成,表现出良好的性能,但与顶级方法相比分数下降明显,因为SuperPoint和SuperGlue没有显式地建模场景形变。我们强调,我们的方法可以轻松地与学习到的匹配器(如SuperGlue)结合并进行训练。我们使用户外的预训练权重报告SuperGlue的结果,因为我们观察到户外权重在所有数据集上的表现都更好。所有其他方法由于无法应对更强的形变以及光照和仿射变换,得分显著更低。

旋转和缩放稳健性。除了形变之外,平面内旋转和缩放变化是两种重要的几何变换。因此,我们使用[24]中的Simulation序列进行了一项研究,该序列包含具有挑战性的旋转和缩放变化。图4清楚地表明,与五个更强的竞争者相比,我们的方法在图像平面内旋转以及形变变化方面具有最佳的不变性。我们的技术在缩放变化方面也显示出相当大的稳健性,优于SuperPoint,并提供与SuperGlue相似的稳健水平。

时间效率。DALF是联合检测和描述架构中最具时间效率的方法之一。虽然我们的方法在NVIDIA GeForce RTX 3060 GPU上以9 FPS的速度运行,提取 1024 × 768 {1024} \times {768} 1024×768图像中的2,048个关键点,但DISK的运行速度为5 FPS,R2D2为2 FPS。

图4. 对旋转和缩放的不变性。我们评估了在Simulation数据集的图像对之间进行旋转和缩放变化时各方法的匹配性能。图像空间中的物体同时进行形变、旋转和缩放。

4.2. 抽象研究

我们的抽象研究包括我们方法的五种不同配置:(i) 仅使用U-net骨干网络,不包含非刚性变形模块,这与DISK类似,除了描述符损失项;(ii) 仅使用非刚性变形模块计算描述符;(iii) 分别融合非刚性变形模块和骨干网络的不变特征和独特特征;(iv) 执行阶段训练,首先优化骨干网络,然后优化非刚性变形模块;最后(v) 我们执行带有额外注意力层的阶段训练,以融合不变和独特的描述符,而不是简单的串联。

从表2中,我们可以观察到非刚性变形器在实现更准确匹配方面贡献显著,与仅使用卷积骨干网络相比,通过特征融合,可以得到一个既不变异又具有互补特性的改进描述符。两阶段训练提供了与端到端训练相似的匹配分数和略微降低的平均精度。然而,根据补充材料中更详细的分析,我们发现分阶段训练是有益的。在训练过程中,不变部分往往支配了独特部分,使得独特部分在实际应用中变得不那么有用,这对于需要更多独特特征的应用,如图像检索,以及没有显著变形的数据集来说,是不希望看到的。最后,我们测试了基于注意力的融合层是否能在融合步骤中提供比描述符连接更好的结果。根据结果,可以通过几乎可以忽略的计算成本略微提高准确性。因此,我们选择具有分阶段训练的模型作为最终架构。

局限性。尽管我们的网络可以通过学习关键点和变形感知特征来提高整体分数,但从单张图像中估计变形参数是一个模糊的问题。因此,物理变形可能使得不同物体的纹理看起来相似,从而损害我们方法的性能。尽管如此,学到的变形展示了由于关键点提取器、变形模块和特征融合步骤的强大组合,对真实变形具有良好的泛化特性。

图5. 可变形对象检索。我们的方法在检索变形对象的图像方面取得了最佳结果。第一列显示了图像查询,行显示了不同查询的结果。绿色图像与查询属于同一物体,红色图像则不是。黑色方块意味着对于该查询没有更多对象可用。

变形展示了由于关键点提取器、变形模块和特征融合步骤的强大组合,对真实变形具有良好的泛化特性。

4.3. 应用

为了进一步展示我们的检测与描述方法潜在的应用价值,我们在两个互补的任务——对象检索和3D注册上进行了评估。

可变形对象检索。我们考虑一个包含各种变形对象图像的数据库。每个对象以不同的变形多次出现。检索数据库中与查询图像对应的顶部 K \mathrm{K} K 图像。为了评估方法,我们使用不同 K \mathrm{K} K 值的检索精度。K-最近邻与视觉世界包(Bag-of-Visual-Worlds)方法结合,用于描述符作为检索引擎。我们将我们的方法与表1中展示了顶级性能的最新描述方法进行比较,此外还有专门为图像检索设计和训练的最新描述符DELF [33]。我们计算了每种方法在 K = { 1 , … , 20 } K = \{ 1,\ldots ,{20}\} K={1,,20} 下的归一化曲线下面积。DALF在 99.49 % {99.49}\% 99.49% 下实现了最准确的检索能力,而DELF、DEAL、SuperPoint和DISK分别达到了98.57%、98.34%、97.92%和96.12%。图5展示了某些定性结果 2 {}^{2} 2

非刚性3D表面注册。除了检索应用之外,我们还在具有挑战性的现实世界任务——表面注册上验证了方法的性能。为此,我们使用尽可能刚体(As-Rigid-As-Possible,ARAP)[31] 注册方法,对每种方法获得的对应点进行表面对齐。在这些实验中,由于ARAP无法处理注册过程中的异常值,因此首先使用异常值移除方法 [5] 对对应点进行过滤。非刚性注册的一个挑战是,无法使用RANSAC通过最小样本拟合全局几何变换。

经过过滤阶段后,使用ARAP方法对相应图像对的网格进行对齐。然后使用数据集提供的像素单位的真实TPS变换计算2D误差。我们还估计了残差3D误差,假设两个对应的表面必须在3D空间中完美调整,因为它们的网格是预先知道的。表3显示了在不同阈值下2D和3D误差的最优方法的性能,考虑了表1中使用的所有数据集,其中我们的方法脱颖而出,在 3 3 3 3 D 3\mathrm{D} 3D配准精度上比当前最佳方法(SuperGlue)在最严格的阈值 0.5 c m {0.5}\mathrm{\;{cm}} 0.5cm下提高了p.p.。 3 D 3\mathrm{D} 3D配准的视觉结果可以在补充材料中找到。

5. 结论

本文介绍了DALF方法,该方法考虑了在非刚性几何变换的挑战性情况下关键点的检测和描述。通过广泛的实验和两个使用真实可变形物体的应用,我们得出以下结论:(i)与基于变形感知特征的标准图像匹配方法相比,标准方法的结果较差;(ii)优化关键点检测阶段和变形感知描述符一起,比现有的依赖仿射关键点检测器的变形感知方法带来了显著的性能提升;(iii)特征融合组件是一种简单但有效的方法,可以提高网络对变形的表达性,同时保持特征的区别性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/446575.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个性化图像生成新王炸!无需微调,Meta重磅发布Imagine yourself:三大核心全面SOTA!

论文链接&#xff1a;https://arxiv.org/pdf/2409.13346 亮点直击 本文提出了“Imagine Yourself”&#xff0c;这是一种用于个性化图像生成的创新型最先进模型。该模型可以将任意参考图像作为输入进行定制化图像生成&#xff0c;并且不需要针对每个对象进行调整。“Imagine Yo…

springboot汽车售票系统演-毕业设计源码07891

基于springboot的汽车售票系统 摘 要 汽车售票系统主要功能模块包括系统用户管理、车次车票信息、车票预定、退票信息、改签信息等&#xff0c;采取面对对象的开发模式进行软件的开发和硬体的架设&#xff0c;能很好的满足实际使用的需求&#xff0c;完善了对应的软体架设以及…

【C】C语言常见概念~

C语言常见概念 转义字符 转义字符&#xff0c;顾名思义&#xff0c;转变原来意思的字符 比如 #include <stdio.h> int main() {printf("abcndef");return 0; }输出的结果为&#xff1a; 将代码修改一下&#xff1a; #include <stdio.h> int main(…

萱仔求职复习系列——2 Linux的常用方法(包含基础进阶高级操作)

由于最近接了一个笔试&#xff0c;发现笔试可能涉及到Linux&#xff0c;我准备临时抱佛脚一下赶紧复习一下Linux的用法哈哈。Linux 的基础用法包含文件系统操作、权限管理、网络配置、进程管理等基本命令&#xff1b;进阶操作包括网络调试、包管理、服务管理和用户管理等&#…

UE5学习笔记24-添加武器弹药

一、给角色的武器添加弹药 1.创建界面&#xff0c;根据笔记23的界面中添加 2.绑定界面控件 UPROPERTY(meta (Bindwidget))UTextBlock* WeaponAmmoAmount;UPROPERTY(meta (Bindwidget))UTextBlock* CarriedAmmoAmount; 3.添加武器类型枚举 3.1创建武器类型枚举头文件 3.2创建文…

【论文解读系列】EdgeNAT: 高效边缘检测的 Transformer

代码&#xff1a; https://github.com/jhjie/edgenat 论文&#xff1a; https://arxiv.org/abs/2408.10527v1 论文 EdgeNAT: Transformer for Efficient Edge Detection 介绍了一种名为EdgeNAT的基于Transformer的边缘检测方法。 1. 背景与动机 EdgeNAT预测结果示例。(a, b)…

软考《信息系统运行管理员》- 4.1信息系统软件运维概述

4.1信息系统软件运维概述 文章目录 4.1信息系统软件运维概述信息系统软件运维的概念信息系统软件的可维护性及维护类型对软件可维护性的度量可以从以下几个方面进行&#xff1a;软件维护分类&#xff1a; 信息系统软件运维的体系1.**需求驱动**2.**运维流程**3.**运维过程**4.*…

LabVIEW提高开发效率技巧----事件触发模式

事件触发模式在LabVIEW开发中是一种常见且有效的编程方法&#xff0c;适用于需要动态响应外部或内部信号的场景。通过事件结构&#xff08;Event Structure&#xff09;和用户自定义事件&#xff08;User Events&#xff09;&#xff0c;开发者可以设计出高效的事件驱动程序&am…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

opencascade鼠标拖拽框选功能

1.首先在OccView中添加用于显示矩形框的类 //! rubber rectangle for the mouse selection.Handle(AIS_RubberBand) mRectBand; 2.设置框选的属性 mRectBand new AIS_RubberBand(); //设置属性 mRectBand->SetLineType(Aspect_TOL_SOLID); //设置变宽线型为实线 mRe…

day11-SpringMVC

一、SpringMVC 1.SpringMVC流程分析 2.各种注解 3.接收请求参数 3.1 简单类型 3.2 对象类型 3.3 数组类型 3.4 集合类型 3.5 日期类型 3.6 json参数类型 3.7 路径参数 二、统一异常处理 三、Restful

tensorflow入门案例手写数字识别人工智能界的helloworld项目落地1

参考 https://tensorflow.google.cn/?hlzh-cn https://tensorflow.google.cn/tutorials/keras/classification?hlzh-cn 项目资源 https://download.csdn.net/download/AnalogElectronic/89872174 文章目录 一、案例学习1、导入测试和训练数据集&#xff0c;定义模型&#xff…

Unreal5从入门到精通之 如何使用事件分发器EventDispather

文章目录 前言1.创建事件分发器设置属性2.创建Bind、Unbind及Unbind All节点在蓝图类中创建在关卡蓝图中创建3.创建事件分发器事件节点4.调用事件分发器在蓝图类中进行调用在关卡蓝图中进行调用前言 事件分发器是 Unreal Engine(UE)中一个重要的概念,它负责在游戏运行时管理…

超GPT3.5性能,无限长文本,超强RAG三件套,MiniCPM3-4B模型分享

MiniCPM3-4B是由面壁智能与清华大学自然语言处理实验室合作开发的一款高性能端侧AI模型&#xff0c;它是MiniCPM系列的第三代产品&#xff0c;具有4亿参数量。 MiniCPM3-4B模型在性能上超过了Phi-3.5-mini-Instruct和GPT-3.5-Turbo-0125&#xff0c;并且与多款70亿至90亿参数的…

基于socket实现客户端与服务器之间TCP通信

我们在算法部署时&#xff0c;通常需要进行算法端与其他服务端的通信&#xff0c;要么接受指令、要么是需要上传算法结果&#xff1b;除了我们常用的gRPC、HTTP、MQ等方式&#xff0c;还可以利用TCP来实现可靠通信&#xff1b;本次我们利用socket来展示如何进行两端的TCP通信。…

SAP SD学习笔记10 - SD出荷传票1 在库转送Order - 补充出荷 详解

上一章学习了受注传票中的不完全Log和Business Partner&#xff08;取引先机能&#xff09;的知识。 SAP SD学习笔记09 - 受注传票中的不完全Log 和 Business Partner(取引先机能&#xff09;-CSDN博客 本章继续学习SD的内容。 - 在库转送Order - 补充出荷 目录 1&#xff0…

HCIP-HarmonyOS Application Developer 习题(九)

(多选) 1、HarmonyOS多窗口交互能力提供了以下哪几种交互方式&#xff1f; A. 全局消息通知 B.平行视界 C.悬浮窗 D.分屏 答案&#xff1a;BCD 分析&#xff1a;系统提供了悬浮窗、分屏、平行视界三种多窗口交互&#xff0c;为用户在大屏幕设备上的多任务并行、便捷的临时任务…

集合框架07:LinkedList使用

1.视频链接&#xff1a;13.14 LinkedList使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?spm_id_from333.788.videopod.episodes&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5&p142.LinkedList集合的增删改查操作 package com.yundait.Demo01;im…

CSS @规则(At-rules)系列详解___@charset规则使用方法

CSS 规则(At-rules)系列详解 ___charset规则使用方法 本篇目录&#xff1a; 零、时光宝盒 一、charset规则定义和用法 二、CSS charset语法 三、charset 使用方法例子 1、正确使用方法 2、无效的&#xff0c;错误的使用方法 零、时光宝盒 &#xff08;https://blog.csd…

Android ViewModel

一问&#xff1a;ViewModel如何保证应用配置变化后能够自动继续存在&#xff0c;其原理是什么&#xff0c;ViewModel的生命周期和谁绑定的? ViewModel 的确能够在应用配置发生变化&#xff08;例如屏幕旋转&#xff09;后继续存在&#xff0c;这得益于 Android 系统的 ViewMod…