面向细节保持的特征描述子提取算法 下载: 582次
1 引言
特征点由关键点和描述子两部分组成。关键点表示特征点在图像中的位置,描述子表示该点的局部特征。检测图像的特征点并在视图间匹配是许多机器人系统的前端任务,例如同步定位与建图(SLAM)[1]、三维重建(SfM)[2]和视觉里程计[3],这些任务需要检测出对光照效果、视点变化和尺度变化等保持不变的显著点,以保证其在序列图像中能被重识别。然而,这些任务仍然主要依赖手工设计的图像特征,例如特征点提取算法(SIFT[4]、SURF[5]、ORB[6]、BRISK[7])。
深度学习方法已经大大改进了许多计算机视觉应用,包括目标检测,语义分割等。大多数基于深度学习算法需要监督即依赖标签,人工标注往往需要付出昂贵的代价。现实中很难为监督特征点检测去标注数据,因为标注者不能很容易地识别图像中的那些能被重新识别的显著区域,并且难以保证选取标准的一致性。因此,对于特征点检测来说,不依赖于真值标签的训练非常重要。
目前有许多基于深度学习的特征点提取算法,并且在性能上已经超过传统的特征点提取算法[8]。Learned invariant feature transform(LIFT)[9]使用3个模块预测特征点和描述子:1个用于创建特征点分数图的检测器、1个用于预测图像块方向的方向估计器和1个描述子模块。空间变换网络(STN)[10]通过估计的方向旋转每个图像块,然后把旋转后的图像块输入描述子网络。LIFT在单个图像块上是端到端可微的,但该模型不能对整张图像进行训练。该方法是多阶段的,并且需要SfM模块来指导训练。此外,LIFT框架中的每个模块都不共享计算。LF-Net[11]类似于LIFT,与LIFT不同的是,位置、旋转和尺度由单个模块估计。LF-Net能够从零开始对完整图像进行训练,速度很快,该模型在SfM图像匹配中具有最好的性能。但该框架在训练期间需要SfM模块的输出参与,检测器和描述子模块之间共享计算,基于图像块的方法也限制了网络能够学习描述子的区域。SuperPoint[12]也能够预测关键点位置和描述符,其关键点检测器和描述子模块共享大部分计算,因此速度很快。该方法先在基于几何形状的合成数据集上训练,然后在真实数据集上用孪生网络进行训练。该方法的缺点在于特征点是由人工定义的几何形状的角点。UnsuperPoint[13]是一种基于深度学习的端到端特征点提取算法,它只需要以自监督的方式进行单阶段训练。该方法采用简单的单应性变换及非空间图像增强来创建二维合成图像,通过原图和合成图像来训练自监督关键点估计模型。
UnsuperPoint方法[13]采用简单的VGG网络结构,下采样后的深层特征经过归一化之后即为描述子向量。对于一些特殊场景,例如特征点距离相机很远,特征点附近的局部图像尺度很小,因此该点局部细节信息在下采样的过程存在丢失现象,导致描述子无法匹配或误匹配,降低了描述子匹配分数和单应性估计准确度。
本文基于UnsuperPoint方法,针对上述问题提出了一种融合不同尺度低层特征的网络结构,提高描述子特征图的分辨率,确保描述子信息的完整性、丰富性和准确性,提升描述子预测网络对尺度缩放的不变性。还引入通道注意力机制——压缩激励[14]模块,来调整特征融合后描述子特征图的通道分布。原因在于描述子特征融合了浅层细节特征(角点、线段、纹理、颜色)和深层高级特征,这些信息分布在不同的维度上,对于不同的场景,每种特征的重要性不同,通道注意力机制可以让网络学习各个通道的重要程度,来增强该通道对应的特征,最终提高描述子的可区分度,减少误匹配。实验结果表明,所提方法在Hpatches数据集[8]评价基准下取得了有效提升。
2 原理和方法
2.1 特征点提取网络结构
整个网络结构由共享主干网络和3个具有特定任务的子模块构成,如
后续的3个子模块分别是分数预测模块、位置预测模块和描述子预测模块。与UnsuperPoint的网络结构差异主要为主干网络和描述子模块的不同。在不显著增加计算量的情况下,所提方法较基础结构有所提升。整个网络的卷积结构模型可以处理任意大小的输入图像。网络的组合输出类似于传统的特征点提取算法的输出,输出为一个点的分数、位置和描述子,因此该网络可以作为传统的基于特征点的系统(例如SLAM)前端的替代方案。
2.2 主干网络
主干网络的前五层为Resnet-18结构[15],可以得到尺寸逐渐减半、通道数为64-64-128-256-512的特征图。采用一种类似于U-Net[16]的形式,特征图先通过卷积核大小为3、步长为1的卷积层将通道数降低为256-256-128-64-32,然后经过最近邻插值法上采样,将上采样后的特征图和Resnet输出中尺寸一致的特征图拼接起来,将拼接后的特征通过卷积核大小为3、步长为1、通道数为256-256-128-64的卷积层,最终得到信息融合后的分辨率更高的特征图。每个卷积层都含有批标准化层和带泄露修正线性单元(leaky ReLU)激活函数。若输入图像大小为
2.3 分数预测模块
分数预测模块为大小为
2.4 位置预测模块
位置预测模块为特征图中每个点回归得到相对偏移位置(X轴方向和Y轴方向相对中心偏移度),并将其映射到图像像素坐标。该模块包含两个卷积层,通道数分别是256和2,最后一层之后是tanh激活函数,保证位置偏移数值位于区间[-1,1]。
由相对中心偏移
式中:
2.5 描述子预测模块
描述子预测模块为输入特征图中的每一点生成一个描述子向量。输入的特征图首先通过降维、上采样操作,然后和同尺寸的低层特征拼接在一起,再经过一次卷积,得到融合细节局部信息的特征图。经过两次上述操作,特征图的尺寸提升到
2.6 压缩激励模块
通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去增强局部特征(颜色、角点、线段、纹理)和语义特征并抑制对当前任务用处不大的噪声和冗余信息。本实验组使用全局平均池化作为压缩操作来压缩空间维度上的特征,将每个二维的特征通道变成一个实数,获得通道特征上相应的全局分布。先经过一个全连接层把通道数降低为输入的1/16,经过激活函数(ReLU)后再经过一个全连接层恢复到原来的通道数。然后通过sigmoid函数获得归一化权重,最后经过scale操作将归一化之后的权重加权到每个通道特征上。
2.7 自监督训练框架
和UnsuperPoint中自监督方法相同,本实验组也使用孪生网络来进行自监督训练。原图像
2.8 损失函数
如何构建损失函数对于神经网络的训练来说十分重要,通过梯度下降法降低损失,优化网络参数。本实验组用来训练网络的损失函数可描述为
式中:
式中:k为匹配点对的索引,k=1,2,…,K。
第1项损失的表达式为
训练孪生网络的初始阶段,预测的特征点的位置是随机的,随着迭代次数的增加,损失将逐渐减少,匹配点对的位置距离逐渐减小,位置预测的精度将逐渐增加。第2项损失的表达式为
该项通过减少匹配点对分数的差异以确保匹配点对分数预测的相似性。第3项损失的目的在于确保预测分数代表特征点的置信度,分数最高的点应该是可重复性最强的点,分数最低的点应该是可重复性最差的点。匹配点对之间构建的第3项损失为
一个好的特征点为点对对应距离
本实验组采用文献[17]度量学习中的基于难样本挖掘的三元组损失来训练描述子分支。原图像中每一个关键点
式中:
3 实验结果与分析
3.1 实验细节
本实验组使用Pytorch训练神经网络,选择MS COCO数据集[18]中的118287张训练集图像作为本实验的训练集,训练过程无需使用标签,输入图像尺寸为
在孪生网络训练结构中,单应性变换T操作包括裁剪、缩放、旋转和透视变换。首先将图像裁剪为原始图像分辨率的0.7,其他变换数值从预定范围中随机选取,尺度变换范围是[0.8,1.2],旋转角度范围是[0°,90°],透视变换范围是[0,0.2]。
3.2 评价指标
实验使用SuperPoint的评估指标[12],分别是可重复率(RR)、定位误差(LE)、匹配分数(MS)和单应性估计准确度(HA)。通过可重复率和定位误差评估关键点位置检测器,在单应性估计框架下通过测量匹配分数和单应估计准确度来评估整个检测器(分数、位置和描述子)。
可重复率衡量关键点的质量,可重复率是两个视角观察到的点数与总点数之间的比率[19]。对于平面场景,可以通过简单地使用单应性矩阵将点从一个视图映射到另一个视图来建立两个摄像机视图之间的特征点对应关系。关联点对距离低于某个像素距离
单应性估计过程如
匹配分数是正确匹配与共享视图中所有点之间的比率。此处正确的匹配是对于采用最近邻(暴力)匹配两幅图像的描述子得到的匹配点对来说的,将第1幅图像上的点通过单应性矩阵真值变换到第2幅图像上,若映射点和对应点的坐标像素距离小于某个像素距离
单应性估计准确度是正确估计的单应性矩阵与总数的比率,如
3.3 修改网络结构对性能的影响实验
本实验在Hpatches数据集的完整图像序列上评估方法的性能。该数据集包含57个光照变化组和59个视角变化组。每组包含平面场景的6张图像(1个参考图像和5个目标图像)和将参考图像映射到5个目标图像的单应性变换矩阵真值,光照变化组的6张图像是从同一视角不同光照条件下拍摄同一平面场景得到的,视角变化组的6张图像是相同光照条件下从不同视角拍摄同一场景获得的。将参考图像与每一个目标图像作为评价算法的输入,总共有
表 1. 不同网络结构的实验结果对比
Table 1. Comparison of experimental results of different network structures
|
3.4 实验结果对比
为了验证所提方法的优越性,在HPatches数据集上将所提方法和其他先进方法及传统方法进行了比较。实验分别在低分辨率和高分辨率的输入图像上测试,低分辨率图像保留
表 2. 不同方法的关键点检测性能比较
Table 2. Comparison of key point detection performance of different methods
|
单应性估计和匹配性能实验结果如
表 3. 不同方法单应性估计和匹配性能比较
Table 3. Comparison of homography estimation and matching performance of different methods
|
还在HPatches数据集的两个子集——光照变化组和视角变化组上分别测试各项指标,并与目前先进的基于学习的方法[14]进行了比较,实验结果如
表 4. 不同数据子集上实验结果对比
Table 4. Comparison of experimental results on different data subsets
|
图 6. 在Hpatches数据集上的可视化结果。(a)光照组;(b)旋转组;(c)视角组
Fig. 6. Qualitative results of proposed method on images pairs on HPatches dataset. (a)Illumination cases.; (b) rotation cases; (c) perspective cases
4 结论
提出了一种基于自监督学习的神经网络框架来训练关键点检测器和描述子检测器。与现有方法不同的是,主干网络采用残差网络结构提取不同尺度的特征,在描述子分支融合浅层局部特征和深层高级特征,得到分辨率更高的描述子特征,并引入通道注意力机制增强融合后的特征。在不显著增加计算量的前提下提升了描述子检测器性能,基于HPatches数据集的相关实验验证了所提方法的有效性。
[11] OnoY, TrullsE, FuaP, et al. LF-Net: learning local features from images[C]∥NIPS’18: Proceeding of the 32nd International Conference on Neural Information Processing System, December 3-8, 2018, Montreal, Quebec, Canada. [S.l.: s.n.], 2018: 6237-6247.
[12] DeToneD, MalisiewiczT, RabinovichA. SuperPoint: self-supervised interest point detection and description[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), June 18-22, 2018, Salt Lake City, UT, USA. New York: IEEE Press, 2018: 337-33712.
Article Outline
龙涛, 苏畅, 王建. 面向细节保持的特征描述子提取算法[J]. 激光与光电子学进展, 2022, 59(22): 2215002. Tao Long, Chang Su, Jian Wang. Learning Feature Point Descriptors for Detail Preservation[J]. Laser & Optoelectronics Progress, 2022, 59(22): 2215002.