论文翻译:SuperPoint: Self-Supervised Interest Point Detection and Description

SuperPoint: Self-Supervised Interest Point Detection and Description

Abstract

这篇论文提出了一个自监督框架,用于训练适用于计算机视觉中大量多视图几何问题的兴趣点检测器和描述符。与基于补丁的神经网络(patch-based neural networks)不同,我们的全卷积模型在完整大小的图像上运行,并在一次前向传递中联合计算像素级兴趣点位置和相关描述符。我们引入了同形异义适应(Homographic Adaptation),这是一种多尺度、多单应性方法,用于提高兴趣点检测的可重复性,并执行跨域适应(例如,从合成到真实)。我们的模型在使用Homographic Adaptation在MS-COCO通用图像数据集上进行训练时,能够比初始预调整的深度模型和任何其他传统角点检测器重复检测到更丰富的兴趣点集。与LIFT、SIFT和ORB相比,最终系统在HPatches上产生了最先进的单应性估计结果。

1. 引言

几何计算机视觉任务的第一步,如同时定位与地图构建(SLAM)、运动结构(SfM)、相机标定和图像匹配,是从图像中提取兴趣点。兴趣点是图像中的二维位置,其稳定且可重复,不受不同光照条件和视角的影响。作为数学和计算机视觉子领域的多视图几何[9]包含了建立在能够可靠地提取和匹配兴趣点的假设上的定理和算法。然而,大多数实际计算机视觉系统的输入是原始图像,而不是理想化的点位置。

卷积神经网络已被证明在几乎所有需要图像作为输入的任务上优于手工设计的表示。特别是,全卷积神经网络(fully-convolutional neural networks)预测2D的“关键点”或“地标”已经在多种任务中得到了充分研究,例如人体姿势估计[31]、物体检测[14]和房间布局估计[12]。这些技术的核心是一个由人类标注者标记的大型2D地面真实位置数据集。

将兴趣点检测类似地表述为一个大规模监督机器学习问题,并训练最新的卷积神经网络架构来检测它们似乎是自然的。不幸的是,与语义任务(如人体关键点估计)相比,其中网络被训练来检测诸如嘴角或左脚踝等身体部位,兴趣点检测的概念在语义上是模糊的。因此,使用强监督来训练卷积神经网络以定义兴趣点是很不容易的(non-trivial.)。

我们提出了一个自监督的解决方案,使用自训练来定义实际图像中的兴趣点。在我们的方法中,我们创建了一个大型数据集,其中包含由兴趣点检测器本身监督的真实图像中的伪真实(pseudo-ground truth)的兴趣点位置,而不是大规模的人工标注工作。

为了生成伪地面真实兴趣点,我们首先在我们创建的合成数据集Synthetic Shapes上训练了一个全卷积神经网络,该数据集包含数百万个例子(见图2a)。合成数据集包含简单的几何形状,兴趣点位置没有歧义。我们称结果训练好的检测器为MagicPoint——尽管存在领域适应困难[7],但它在实际图像上表现出了惊人的效果。然而,与在不同图像纹理和模式上的经典兴趣点检测器相比,MagicPoint错过了许多潜在的兴趣点位置。为了弥合在实际图像上的性能差距,我们开发了一个多尺度、多变换的技术——Homographic Adaptation。Homographic Adaptation旨在实现兴趣点检测器的自监督训练。它多次对输入图像进行变换,以帮助兴趣点检测器从多个不同的视角和尺度看待场景(见第5节)。我们将Homographic Adaptation与MagicPoint检测器结合使用,以提高检测器的性能并生成伪地面真实兴趣点(见图2b)。由此产生的检测更可重复,对更多的刺激产生反应;因此我们将生成的检测器称为SuperPoint。

在检测到稳健和可重复的兴趣点之后,最常见的步骤是为每个点附加一个固定维度的描述符向量,用于更高级的语义任务,例如图像匹配。因此,最后我们将SuperPoint与描述符子网络结合(见图2c)。由于SuperPoint架构由一系列深度卷积层组成,可以提取多尺度特征,因此很容易将兴趣点网络与一个额外的子网络结合起来,该子网络计算兴趣点描述符(见第3节)。生成的系统如图1所示。

2. 相关工作

传统的兴趣点检测器已经得到了充分的评估[24, 16]。FAST角点检测器[21]是第一个将高速角点检测作为一个机器学习问题来解决的系统,而尺度不变特征变换,即SIFT [15],仍然可能是计算机视觉中最知名的传统局部特征描述符。

我们的SuperPoint架构受到了将深度学习应用于兴趣点检测和描述符学习的最新进展的启发。在匹配图像子结构的能力上,我们与UCN [3]类似,但在较小程度上与DeepDesc [6]类似;然而,两者都不执行任何兴趣点检测。另一方面,最近引入的用于SIFT的卷积替代品LIFT [32],则保持了接近传统基于补丁的检测然后描述的做法。LIFT流程包含兴趣点检测、方向估计和描述符计算,但另外需要来自经典SfM系统的监督。这些差异总结在表1中。

在监督谱的另一端,QuadNetworks [23]采用了无监督方法来解决兴趣点检测问题;然而,他们的系统是基于补丁的(输入是小图像补丁)且相对较浅的2层网络。TILDE [29]兴趣点检测系统使用了类似于Homographic Adaptation的原理;然而,他们的方法没有从大型全卷积神经网络的强大功能中受益。我们的方法也可以与其他自监督方法、合成到真实域自适应方法进行比较。与Homographic Adaptation类似的方法是Honari等人的研究[10],称为“等变地标变换”。此外,几何匹配网络[20]和深度图像单应性估计[4]使用了类似的自监督策略来创建用于估计全局变换的训练数据。然而,这些方法缺乏兴趣点和点对应,而这些通常是执行更高级计算机视觉任务(如SLAM和SfM)所需的。还存在联合姿态和深度估计模型[33, 30, 28],但不使用兴趣点。

3. SuperPoint架构

我们设计了一个名为SuperPoint的全卷积神经网络架构,该架构在完整大小的图像上运行,并在一次前向传递中生成伴随着固定长度描述符的兴趣点检测结果(见图3)。该模型具有一个共享的编码器,用于处理和减少输入图像的维度。在编码器之后,架构分为两个“头部”解码器,分别学习任务特定的权重——一个用于兴趣点检测,另一个用于兴趣点描述。大多数网络参数在两个任务之间共享,这与传统系统不同,传统系统首先检测兴趣点,然后计算描述符,并且缺乏在两个任务之间共享计算和表示的能力。

3.1. 共享编码器(Shared Encoder)

我们的SuperPoint架构使用VGG风格的编码器来减少图像的维度。编码器由卷积层、通过池化进行空间降采样和非线性激活函数组成。我们的编码器使用三个最大池化层,使我们能够定义Hc = H/8和Wc = W/8,对于大小为H × W的图像。

我们将输出中的像素称为“单元”,其中编码器中的三个2×2不重叠的最大池化操作导致8×8像素的单元。编码器将输入图像I ∈ RH×W映射到一个中间张量B ∈ RHc×Wc×F,其中Hc和Wc是较小的空间维度,F是较大的通道深度(即,Hc < H,Wc < W和F > 1)。

3.2. 兴趣点解码器(Interest Point Decoder)

对于兴趣点检测,输出的每个像素对应于输入中该像素的“兴趣度”概率。用于密集预测的标准网络设计涉及到一个编码器-解码器对,其中通过池化或步幅卷积减小空间分辨率,然后通过上采样操作将其恢复到完整分辨率,例如SegNet [1]中所做的那样。不幸的是,上采样层往往会增加大量的计算,并且可能引入不需要的棋盘格伪影[18],因此我们设计了一个显式的解码器来减少模型的计算量。

兴趣点检测头部计算X ∈ RHc×Wc×65,并输出一个大小为RH×W的张量。65个通道对应于本地、不重叠的8×8网格区域的像素,再加上额外的“无兴趣点”垃圾桶。在进行通道方向的softmax后,去除垃圾桶维度,并执行RHc×Wc×64 ⇒ RH×W的形状重塑。

3.3. 描述符解码器(Descriptor Decoder)

描述符头部计算D ∈ RHc×Wc×D,并输出一个大小为RH×W×D的张量。为了输出一个密集的L2-归一化固定长度描述符图,我们使用了类似于UCN [3]的模型,首先输出一个半密集的描述符网格(例如,每8个像素一个)。与密集学习描述符相比,半密集学习可以减少训练内存,并使运行时可管理。解码器然后对描述符进行双三次插值,然后L2-归一化激活以使其单位长度。这个固定的、非学习的描述符解码器如图3所示。

3.4. 损失函数(Loss Functions)

最终损失是两个中间损失的总和:一个用于兴趣点检测器,记为Lp,另一个用于描述符,记为Ld。我们使用一对合成变形图像,这两个图像都有(a)伪地面真实的兴趣点位置和(b)从随机生成的将这两个图像关联起来的单应性矩阵H的真实对应关系。这使我们能够同时优化这两个损失,给定一对图像,如图2c所示。我们使用λ来平衡最终损失:
L ( X , X ′ , D , D ′ ; Y , Y ′ , S ) = L p ( X , Y ) + L p ( X ′ , Y ′ ) + λ L d ( D , D ′ , S ) . \begin{equation}\mathcal{L}(\mathcal{X}, \mathcal{X}', \mathcal{D}, \mathcal{D}'; Y, Y', S)=\mathcal{L}_p(\mathcal{X},Y) + \mathcal{L}_p(\mathcal{X}',Y') + \lambda \mathcal{L}_d(\mathcal{D},\mathcal{D}',S) .\end{equation} L(X,X,D,D;Y,Y,S)=Lp(X,Y)+Lp(X,Y)+λLd(D,D,S).
兴趣点检测器的损失函数 L p \mathcal{L}_p Lp是对单元 x h w ∈ X {\bf x}_{hw} \in \mathcal{X} xhwX进行的全卷积交叉熵损失。我们将相应的地面真实兴趣点标签集称为 Y Y Y,并将单个条目表示为 y h w y_{hw} yhw。损失函数为: L p ( X , Y ) = 1 H c W c ∑ h = 1 w = 1 H c , W c l p ( x h w ; y h w ) , \begin{equation} \mathcal{L}_p(\mathcal{X},Y) = \frac{1}{H_cW_c}\sum_{\substack{h=1 \\ w=1}}^{H_c, W_c}l_p({\bf x}_{hw}; y_{hw}),\end{equation} Lp(X,Y)=HcWc1h=1w=1Hc,Wclp(xhw;yhw),
其中,
l p ( x h w ; y ) = − log ⁡ ( exp ⁡ ( x h w y ) ∑ k = 1 65 exp ⁡ ( x h w k ) ) . \begin{equation} l_p({\bf x}_{hw};y) = -\log\left({\frac{\exp({\bf x}_{hwy})}{\sum_{k=1}^{65}\exp({\bf x}_{hwk})}}\right). \end{equation} lp(xhw;y)=log(k=165exp(xhwk)exp(xhwy)).
描述符损失应用于来自第一幅图像的所有描述符单元 d h w ∈ D {\bf d}_{hw} \in \mathcal{D} dhwD和来自第二幅图像的 d ′ h ′ w ′ ∈ D ′ {\bf d'}_{h'w'} \in \mathcal{D}' dhwD的所有对。由单应性引起的 ( h , w ) (h,w) (h,w)单元和 ( h ′ , w ′ ) (h',w') (h,w)单元之间的对应关系可以写成如下形式:
s h w h ′ w ′ = { 1 , if  ∣ ∣ H p h w ^ − p h ′ w ′ ∣ ∣ ≤ 8 0 , otherwise \begin{equation} s_{hwh'w'}= \begin{cases} 1,& \text{if } ||\widehat{\mathcal{H}{\bf p}_{hw}} - {\bf p}_{h'w'}|| \leq 8\\ 0, & \text{otherwise} \end{cases} \end{equation} shwhw={1,0,if ∣∣Hphw phw∣∣8otherwise
这里, p h w {\bf p}_{hw} phw表示 ( h , w ) (h,w) (h,w)单元中心像素的位置, H p h w ^ \widehat{\mathcal{H}{\bf p}_{hw}} Hphw 表示将单元位置 p h w {\bf p}_{hw} phw乘以单应性矩阵 H \mathcal{H} H并除以最后一个坐标,通常在欧几里得坐标和齐次坐标之间进行转换时会这样做。我们用 S S S表示一对图像的所有对应关系的整个集合。我们还添加了一个权重项 λ d \lambda_d λd来平衡负相关比正相关的数量更多这一事实。我们使用具有正边界 m p m_p mp和负边界 m n m_n mn 的铰链损失。描述符损失定义为:
L d ( D , D ′ , S ) = 1 ( H c W c ) 2 ∑ h = 1 w = 1 H c , W c ∑ h ′ = 1 w ′ = 1 H c , W c l d ( d h w , d h ′ w ′ ′ ; s h w h ′ w ′ ) , \begin{split} \mathcal{L}_d(&\mathcal{D},\mathcal{D}',S) = \\& \frac{1}{(H_cW_c)^2}\sum_{\substack{h=1 \\ w=1}}^{H_c, W_c}\sum_{\substack{h'=1 \\ w'=1}}^{H_c, W_c} l_d({\bf d}_{hw},{\bf d}_{h'w'}'; s_{hwh'w'}), \end{split} Ld(D,D,S)=(HcWc)21h=1w=1Hc,Wch=1w=1Hc,Wcld(dhw,dhw;shwhw),
其中,
l d ( d , d ′ ; s ) = λ d ∗ s ∗ max ⁡ ( 0 , m p − d T d ′ ) + ( 1 − s ) ∗ max ⁡ ( 0 , d T d ′ − m n ) . \begin{equation} \begin{split} l_d({\bf d},{\bf d'}; s) = \lambda_d * s * \max(0, m_p - {\bf d}^T {\bf d}') \\ + (1-s) * \max(0, {\bf d}^T{\bf d}' - m_n). \end{split} \end{equation} ld(d,d;s)=λdsmax(0,mpdTd)+(1s)max(0,dTdmn).

4. 合成预训练(Synthetic Pre-Training)

在这一部分,我们描述了我们用于训练基础检测器(如图2a所示)MagicPoint的方法,该检测器与Homographic Adaptation结合使用,以自监督的方式为未标记图像生成伪地面真实的兴趣点标签。

4.1. 合成形状(Synthetic Shapes)

今天并不存在一个大规模的带有兴趣点标签的图像数据库。因此,为了启动我们的深度兴趣点检测器,我们首先创建了一个大规模的合成数据集,称为Synthetic Shapes,它由四边形、三角形、线条和椭圆的合成数据渲染组成的简化的2D几何形状。这些形状的示例如图4所示。在这个数据集中,我们能够通过对兴趣点建模为简单的Y字型连接、L字型连接、T字型连接以及小椭圆的中心和线段的端点,消除标签歧义。

一旦合成图像被渲染,我们对每个图像应用单应性变换来增加训练样本的数量。数据是即时生成的,网络不会看到两次相同的示例。虽然Synthetic Shapes中表示的兴趣点类型只是实际世界中所有潜在兴趣点的一个子集,但我们发现在实践中,它在用于训练兴趣点检测器时表现相当不错。

4.2. MagicPoint

我们使用SuperPoint架构的检测器路径(忽略描述符头部)并在Synthetic Shapes上对其进行训练。我们称结果模型为MagicPoint。

有趣的是,当我们在Synthetic Shapes数据集上评估MagicPoint与其他传统角点检测方法(如FAST [21]、Harris角点[8]和Shi-Tomasi的“Good Features To Track”[25])时,我们发现我们的性能有很大的优势。我们在1000个保留图像上测量了Synthetic Shapes数据集的平均精度(mAP),并在表2中报告了结果。在成像噪声存在的情况下,经典检测器很难应对——这方面的定性示例如图4所示。更详细的实验可以在附录B中找到。

MagicPoint检测器在Synthetic Shapes上表现非常好,但它是否推广到真实图像呢?总结一下我们后来在第7.2节中提出的结果,答案是肯定的,但并不如我们希望的那样好。我们惊讶地发现,MagicPoint在真实世界的图像上表现相当不错,特别是在具有强烈角点结构的场景上,例如桌子、椅子和窗户。

不幸的是,在所有自然图像的空间中,与同样的经典检测器相比,MagicPoint在视角变化下的重复性方面表现不佳。这促使我们采用了自监督方法,在真实世界图像上进行训练,我们称之为Homographic Adaptation。

5. Homographic Adaptation

我们的系统从基础兴趣点检测器和目标域(例如MS-COCO)中的大量未标记图像中自举。在自监督范式(也称为自训练)下操作,我们首先为目标域中的每个图像生成一组伪地面真实的兴趣点位置,然后使用传统的监督学习机制。我们方法的核心是将随机单应性应用于输入图像的变形副本,并将结果组合起来的过程,我们将其称为Homographic Adaptation(见图5)。

5.1. 公式化

单应性提供了准确或几乎准确的图像到图像的转换,适用于仅围绕相机中心旋转的相机运动、距离物体较远的场景和平面场景。此外,由于大多数世界都是合理的平面,单应性是描述同一3D点从不同视点看到时所发生的情况的好模型。由于单应性不需要3D信息,因此可以随机采样并轻松应用于任何2D图像,仅涉及到双线性插值。因此,单应性是我们自监督方法的核心。

f θ ( ⋅ ) f_{\theta}(\cdot) fθ()表示我们希望适应的初始兴趣点函数, I I I 表示输入图像, x {\bf x} x 表示生成的兴趣点, H \mathcal{H} H表示随机单应性,因此有:
x = f θ ( I ) . \begin{equation} {\bf x} = f_\theta(I). \end{equation} x=fθ(I).

一个理想的兴趣点操作符应该相对于单应性是协变的。一个函数 f θ ( ⋅ ) f_\theta(\cdot) fθ()关于 H \mathcal{H} H 是协变的,如果输出随着输入的变换而变换。换句话说,一个协变的检测器将满足对于所有的 H \mathcal{H} H【为了清晰起见,我们略微滥用了符号,允许 H x \mathcal{H}{\bf x} Hx表示单应性矩阵 H \mathcal{H} H 应用于生成的兴趣点, H ( I ) \mathcal{H}(I) H(I) 表示整个图像 I I I H \mathcal{H} H 扭曲】:
H x = f θ ( H ( I ) ) , \begin{equation} \mathcal{H}{\bf x}=f_\theta(\mathcal{H}(I)), \end{equation} Hx=fθ(H(I)),
将与单应性相关的项移到右侧,我们得到:
x = H − 1 f θ ( H ( I ) ) . \begin{equation} {\bf x} = \mathcal{H}^{-1}f_\theta(\mathcal{H}(I)). \end{equation} x=H1fθ(H(I)).

实际上,一个检测器(detector)不会完全是协变的——方程9中的不同单应性会导致不同的兴趣点 x {\bf x} x。Homographic Adaptation 的基本思想是对足够大的随机 H \mathcal{H} H样本进行经验求和(见图5)。因此,样本的结果聚合产生了一个新的、改进的、超级兴趣点检测器, F ^ ( ⋅ ) {\hat F}(\cdot) F^() F ^ ( I ; f θ ) = 1 N h ∑ i = 1 N h H i − 1 f θ ( H i ( I ) ) . \begin{equation} {\hat F}(I;f_\theta) = \frac{1}{N_h}\sum_{i=1}^{N_h} \mathcal{H}_i^{-1}f_\theta(\mathcal{H}_i(I)). \end{equation} F^(I;fθ)=Nh1i=1NhHi1fθ(Hi(I)).

5.2. 选择单应性变换

并非所有的3x3矩阵都适合Homographic Adaptation。为了采样出代表合理相机变换的好的单应性变换,我们将潜在的单应性分解为更简单、更不具表达性的变换类。我们使用截断正态分布在预先确定的范围内对平移、缩放、平面旋转和对称透视畸变进行采样。这些变换与初始的根中心裁剪组合在一起,以帮助避免边界伪影。这个过程如图6所示。

当对图像应用Homographic Adaptation时,我们使用输入图像的大量单应性变换的平均响应。单应性变换的数量 N h N_h Nh是我们方法的超参数。我们通常将第一个单应性设置为单位矩阵,这样在我们的实验中 N h N_h Nh=1对应于不进行自适应。我们进行了一个实验来确定 N h N_h Nh的最佳值,将 N h N_h Nh的范围从小的 N h N_h Nh= 10变化到中等的 N h N_h Nh= 100,以及大的 N h N_h Nh= 1000。我们的实验表明,在进行超过100个单应性变换时,收益递减。在来自MS-COCO的保留图像集上,我们在不进行Homographic Adaptation的情况下获得了.67的重复性分数,在执行 N h N_h Nh = 100变换时获得了21%的重复性提升,并在 N h N_h Nh= 1000时获得了22%的重复性提升,因此使用超过100个单应性变换的额外收益是微小的。有关这个实验的更详细的分析和讨论,请参阅附录C。

5.3. 迭代式Homographic Adaptation

我们在训练时应用Homographic Adaptation技术来提高基于真实图像的基础MagicPoint架构的泛化能力。该过程可以迭代地重复,不断自我监督和改进兴趣点检测器。在我们的所有实验中,我们称结果模型为SuperPoint,并在图7中展示了在HPatches图像上的定性进展。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值