引用格式:Wang X, Liu Z, Hu Y, et al. FeatureBooster: Boosting Feature Descriptors with a Lightweight Neural Network[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 7630-7639.
论文下载:下载链接
开源代码:代码链接
一、瓶颈问题
手工设计的描述符和基于学习的描述符都在实践中表现良好,但如何改进现有的描述符却鲜有研究。另外手工设计的描述符和基于学习的描述符在具有挑战性的图片上,展示的性能有待增强。
二、本文贡献
- 论文介绍了一种轻量级网络,用于改进同一图像中关键点的特征描述符。该网络以原始描述符和关键点的几何属性作为输入,使用基于多层感知器(MLP)的自我增强阶段和基于Transformer的交叉增强阶段来增强描述符。增强后的描述符可以是实值或二进制。
- 论文使用提出的网络来增强手工设计的(ORB,SIFT)和最先进的基于学习的描述符(SuperPoint,ALIKE),并在图像匹配、视觉定位和运动结构等任务上进行评估。
三、解决方案
论文提出了一种轻量级网络,通过对从图像中提取的一些现有关键点检测器提取的关键点的特征向量(或描述符)进行增强,如图2所示。它仅使用特征描述符以及几何信息(例如特征位置、方向和尺度)作为输入,并输出比原始描述符更强大得多的新描述符。新的描述符可以是实值向量或二进制向量,可能与原始描述符不同。论文中的特征增强器不需要处理从中提取这些关键点的图像,这使得论文的模型轻巧高效,并且可以更容易地集成到现有的运动结构或SLAM系统中。
1、自我增强阶段
问题1:对于手工制作的描述符,描述符空间中的相似度度量对于特征匹配来说不是最优的,使用Hellinger距离来衡量SIFT的相似性,而不使用欧氏距离,可以获得更好的匹配性能【论文Three things everyone should know to improve object retrieval提出】。而改变相似度度量等价于将原始描述符投影到另一个空间中【论文Descriptor Learning for Efficient Retrieval提出】。
方案1:使用MLP(多层感知器)将原始描述符映射到新的描述符中。
关键点 i 的变换后的描述符是提取的描述符的非线性投影
问题2:鉴于网络的训练阶段受到欧几里得距离或汉明距离约束的损失函数的引导,这种基于MLP的模型使得变换后的描述符能够很好地适应在欧氏或汉明空间中衡量相似性的目的,特别适用于手工制作的描述符。但是,这种投影并没有利用有价值的关键点几何信息。
方案2:使用另一个MLP(MLPgeo)将几何信息嵌入到高维向量中以进一步改进描述符。我们不仅编码关键点的2D位置(xi, yi),还包括其他信息,如尺度si、方向θi和检测分数ci(如果有的话)。
将高维嵌入的几何信息添加到变换后的描述符中
2、交叉增强阶段
问题1:自我增强阶段独立增强每个关键点的描述符,而不考虑不同关键点之间可能存在的相关性,局限在局部上下文,而空间上下文线索可以极大地增强匹配能力
方案1:使用Transformer来捕捉从同一图像中提取的稀疏局部特征的空间上下文线索。
输入:同一图像中的N个局部特征
输出:增强的特征描述符
与基于MLP的投影相比,基于Transformer的投影同时处理了同一图像中的所有局部特征。借助Transformer中的注意机制,所有局部特征的信息可以汇聚起来形成全局上下文。通过整合这个全局上下文信息,局部特征描述符可能具有更大的感受野,并根据它们的邻居(或在特征匹配情况下的竞争者)进行调整。因此,它们的可区分性可以得到改善,特别是对于从重复模式中提取的局部特征。
问题2:Transformer的注意机制需要高内存和计算成本
方案2:使用注意力变换(AFT-simple)代替Transformer中的多头注意力层
多头注意力层:给定一个输入,其中第i行是关键点的D维特征向量,X的第h个头部注意定义为:
,, 是头部h的线性投影
多头注意层使用注意力矩阵来实现查询和值之间的全局交互。注意矩阵的计算依赖于查询和键之间的矩阵点积,这导致时间和空间复杂度为()【上下文大小的二次方,上下文大小为图中局部特征的数量】。
注意力自由变换(AFT):不使用或近似点积注意力。具体来说,AFT重新排列了Q、K和V的计算顺序,就像线性注意力那样,但是将K和V进行逐元素乘法,而不是使用矩阵乘法。关键点 i 的注意力自由变换可以表述为:
σ(·):是一个Sigmoid函数
表示Q的第 i 行;, 表示K,V的第 j 行
AFT-Simple执行了MHA操作的修订版本,其中注意力头的数量等于模型的特征维度D,并且MHA中使用的相似性被一个核函数sim(Q, K) = σ(Q) · softmax(K)所取代。通过元素级乘法而不是矩阵乘法计算注意力,从而导致时间和空间复杂度与上下文和特征大小呈线性关系,为(O(ND))。
3、LOSS函数
论文将描述符匹配问题视为最近邻检索,并使用平均精度(AP)来训练描述符,希望最大化所有描述符的 AP ,故论文最小化以下成本:
为了确保原始描述符将被提升,使用另一个损失来强制转换后的描述符的性能比原始描述符更好:
最终损失是上述两个损失的总和:
AP计算:
论文使用可微方法(FastAP),给定第一个图像中的变换描述符 和第二个图像中的描述符集 。FastAP 可以通过使用匹配对 M = {M +, M ?} 的真实标签【有关匹配 M 的真实标签可以使用ground truth poses 和 depth maps获得,再具体需要看论文Deep Metric Learning to Rank】和具有值域 Ω 的成对距离向量 【注意:对于实值和二进制描述符,计算距离向量 Z 的方法是不同的】来计算。通过使用距离量化,Ω 可以量化为具有 b 个元素的有限集,Ω = {z1, z2, ... ,zb}。然后,精度和召回率可以重新表述为距离 z 的函数:
P( M + | Z < z):表示以Z < z为条件的正匹配M +的先验分布
P(Z < z | M +):Z 的累积分布函数 (CDF)
最后,AP 可以近似为精确召回曲线的面积,可以表示为:
4、不同类型的描述符
实值描述符:论文将 L2 归一化应用于 FeatureBooster 最后一层的输出向量,成对距离向量 Z 可以计算为:
Z 的边界范围为 [0, 4],我们将 Ω 量化为具有 10 个元素的有限集。
二值描述符:首先使用 tanh 将 FeatureBooster 最后一层的输出向量阈值到 [-1, 1]。然后将输出向量二值化为 {?1, 1}。但是,没有为二值化定义的真实梯度。我们的解决方案是根据直通估计器将梯度从二值化向量复制到未二值化向量。最后,成对距离向量 Z 可以得到:
对于汉明距离,Z 的值是 {0, 1, ... , D}中的整数。AP 可以通过在 FastAP 中设置 b = D 以封闭形式计算。然而,论文使用 b = 10 在匹配描述符和非匹配描述符之间获得更大的余量。
四、实验结果
1、Image Matching
显示了光照和视点变化下HPatches的MMA结果。论文方法可以提高转换后的实值描述符或二进制描述符的所有描述符的性能。对于 SIFT,论文方法转换后的实值描述符优于 SOSNet,而可以找到更多正确的匹配;SuperPoint转换后的二进制描述符在光照和视点变化下与原始SuperPoint具有相似的性能,同时产生更正确的匹配。
2、Visual Localization
论文方法显著提高了室外和室内环境中所有特征的性能,特别是对于SIFT。在提升后,即使是二进制 ORB 描述符也可以与 SuperPoint 竞争,并且在室内环境 (InLoc) 中优于 ALIKE。
3、Structure-from-motion
论文方法再次提高了所有特征在结构从运动任务中的性能。论文方法可以帮助原始特征产生更完整的重建,因为论文方法可以注册更多的图像并重建更多的3D点。
4、Ablation Study
研究表明,几何编码是自我提升所必需的,交叉提升在描述符提升方面具有更好的性能。