Sarlin, P.-E., DeTone, D., Malisiewicz, T., & Rabinovich, A. (2020). SuperGlue: Learning feature matching with graph neural networks. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 4938–4947. https://doi.org/10.1109/cvpr42600.2020.00499
摘要
这篇论文介绍了SuperGlue,这是一个通过共同找到对应关系并拒绝不匹配点来匹配两组局部特征的神经网络。通过解决一个可微的最优传输问题来估计分配,其成本由图神经网络预测。我们引入了一种基于注意力的灵活上下文聚合机制,使SuperGlue能够共同推理底层的3D场景和特征分配。与传统的手动设计的启发式方法相比,我们的技术通过对图像对进行端到端的训练,学习了几何变换和三维世界规律的先验知识。SuperGlue在挑战性的真实室内和室外环境中胜过其他学到的方法,在姿态估计任务上取得了最先进的结果。该方法在现代GPU上实时执行匹配,并可以轻松集成到现代的SfM或SLAM系统中。代码和训练权重公开在GitHub上:github.com/magicleap/SuperGluePretrainedNetwork。
图1:使用SuperGlue进行特征匹配。我们的方法从现成的局部特征建立了点对应关系:它充当了手工设计或学习的前端和后端之间的中间层。SuperGlue使用图神经网络和注意力来解决一个分配优化问题,并且优雅地处理了部分点的可见性和遮挡情况,生成了部分分配。
图2:SuperGlue对应关系。对于这两个具有挑战性的室内图像对,使用SuperGlue进行匹配会产生准确的姿势,而其他学习或手工设计的方法失败了(通过对极误差着色的对应关系)。
图3:SuperGlue架构。SuperGlue由两个主要组件组成:注意力图神经网络(第3.1节)和最优匹配层(第3.2节)。第一个组件使用关键点编码器将关键点位置p和它们的视觉描述符d映射到单个向量,然后使用交替的自注意和交叉注意层(重复L次)创建更强大的表示f。最优匹配层创建一个M×N的得分矩阵,使用dustbins进行增强,然后使用Sinkhorn算法找到最优的部分分配(进行T次迭代)。
图4:可视化自注意和交叉注意。注意力聚合在关键点之间构建动态图。权重α
ij显示为射线。自注意(顶部)可以关注同一图像中的任何位置,例如显著的位置,因此不限于附近的位置。交叉注意(底部)关注另一图像中的位置,例如具有相似外观的潜在匹配项。
图6:定性图像匹配。我们将SuperGlue与最近邻(NN)匹配器及两种异常值拒绝器(手工设计和学习)在三种环境中进行比较。SuperGlue始终估计更多正确的匹配(绿线)和较少的不匹配(红线),成功应对重复纹理、大视角和光照变化。
图7:可视化注意力。我们展示了各个层和头部的自注意力和交叉注意力权重α
ij。SuperGlue呈现多样的模式:它可以关注全局或局部的上下文、自相似性、独特的特征或匹配候选项。