引言
Abstract
文献阅读
1、题目
SuperGlue: Learning Feature Matching with Graph Neural Networks
2、引言
本文介绍了SuperGlue,这是一种神经网络,它通过联合寻找对应关系并拒绝不匹配的点来匹配两组局部特征。通过求解一个可微的最优运输问题来估计运输成本,其成本由图神经网络来预测。我们引入了一个灵活的上下文聚合机制的基础上的注意力,使SuperGlue的理由有关的基础3D场景和功能分配联合。与传统的手工设计的几何学相比,我们的技术通过图像对的端到端训练来学习几何变换和3D世界的先验知识。SuperGlue优于其他学习方法,并在具有挑战性的真实室内和室外环境中的姿态估计任务上取得了最先进的结果。所提出的方法在现代GPU上实时执行匹配,并且可以容易地集成到现代SfM或SLAM系统中。
3、创新点
- SuperGlue架构利用了自注意力和交叉注意力,有效处理局部特征匹配问题。
- SuperGlue通过解决最优传输问题,优雅地处理了局部分配和遮挡点。
- SuperGlue实现了在极端宽基线室内和室外图像对上高度准确的相对姿态估计。
4、匹配问题
- 本地特征匹配:通常,这是通过以下三个步骤来完成的:
- 提取图像特征;
- 使用最近邻居搜索匹配这些特征;
- 使用几何变换(例如RANSAC)对它们进行过滤。传统的方法通常基于SIFT,并使用邻域共识等技术。
- 深度学习与匹配:一些工作尝试直接从深度学习模型中获取匹配,这些模型可能使用卷积神经网络从数据中获取特征。一些方法显式地考虑更广泛的上下文,或通过学习区分内外点(inliers and outliers)来过滤匹配。其他工作着重于深度学习来进行特征匹配,这些工作可能基于3D点云或视觉信息。PostRANSAC等方法可以从头到尾地执行内容聚合、匹配和过滤。
- 图匹配问题:这些问题通常被描述为二次分配问题,这些问题是NP-hard,需要复杂且昂贵的解算器。早期的方法依赖于手工制作的代价函数,而现代的方法则更加简化,例如使用Sinkhorn算法来近似解决问题。
- 深度学习与置换:深度学习可以被用于求解排列等式或不变的问题。这可以通过全局池化、区间规范化或在特征空间中的局部邻域来实现。此外,深度学习还可以进行全局和数据依赖的数据集聚合。
5、SuperGlue架构
-
Motivation:在图像匹配问题中,需要注意一些规律性。例如,某些关键点在静态场景中更容易匹配,而在动态场景中可能更难匹配。
-
Formulation:考虑两个图像A和B,每个图像都有一组关键点位置和关联的视觉描述符。SuperGlue旨在学习从数据中直接获取的相关先验知识
SuperGlue由两个主要组件组成:注意力图神经网络(Attentional Graph Neural Network)和最佳匹配层(Optimal matching layer)。第一个组件使用关键点编码器将关键点位置p及其视觉描述符d映射到单个向量中,然后使用交替的自我和交叉注意层(重复L次)来创建更强大的表示f。最佳匹配层创建一个M × N得分矩阵,用垃圾箱对其进行扩充,然后使用Sinkhorn算法(T次迭代)找到最佳部分分配。
5.1、注意力图神经网络(Attentional Graph Neural Network)
当被要求匹配一个给定的模糊关键点时,人类会来回查看两张图像:他们筛选试探性匹配的关键点,检查每个关键点,并寻找上下文线索,以帮助从其他自相似性中消除真正的匹配。这暗示了一个迭代过程,可以将注意力集中在特定的位置。
关键点编码器:将关键点位置嵌入到具有多层感知器(MLP)的高维向量中:
这个编码器使图形网络能够在以后联合推理外观和位置,特别是当与注意力结合时,并且是语言处理中流行的"位置编码器"的一个实例。
多重图神经网络:图有两种类型的无向边-它是一个多重图。图像内边缘或自边缘将关键点i连接到同一图像内的所有其他关键点。图像间边缘或交叉边缘将关键点i连接到其他图像中的所有关键点。我们使用以下消息传递公式来沿着沿着两种类型的边传播信息:
由此产生的多路复用图神经网络从每个节点的高维状态开始,并通过同时聚合所有节点的所有给定边的消息来在每一层计算更新的表示。令(xA i)为图像A中位于层xB处的元素i的中间表示。消息→i是来自所有关键点{j :(i,j)∈ }的聚合的结果。其中[·||·]表示连接。
如上图是可视化自我注意力和交叉注意力。注意力聚合在关键点之间构建动态图。权重αij显示为射线。自我注意力(顶部)可以出现在同一图像中的任何地方,例如独特的位置,因此不限于附近的位置。交叉关注(底部)关注其他图像中的位置,例如具有相似外观的潜在匹配。