SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

Magic Leap, ETH Zurich

提出了特征点匹配网络SuperGlue,寻找两幅图像局部特征点之间的对应关系的神经网络,该网络使用图神经网络预测损失。

搭配super point在室内外重定位任务中达到SOTA的精度。

论文方法:

SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

首先输入图像对记为A,B,各包含了关键点和局部描述子,因此是集合形式{(p,d)}

p=(x,y,c)是关键点,其中c是置信度;d是描述子,本文中是superpoint。

网络结构介绍:

1.图神经网络

​ 借鉴人眼反复匹配的过程:注意力+反复迭代+上下文信息,因此使用注意力图神经网络作为第一个模块,允许图像间、图像间的长距离信息融合。

  • 关键点编码:这一步是图神经网络节点 i 的初始化步骤:
    (0)xi=di+MLPenc(pi) ^{(0)}x_i=d_i+MLP_{enc}(p_i)
    同时编码了位置信息 p和视觉信息d

  • 该网络为多路复用图神经网络,其节点由两幅图的特征点共同组成。

    连接同一图像上两个节点的边为内边,其集合记为ϵself\epsilon_{self}

    连接了来自两个不同图像的特征点的边的集合称为ϵcross\epsilon_{cross}

    迭代更新A中的节点:
    (+1)xiA=()xiA+MLP([()xiAmϵi]) ^{(ℓ+1)}x^A_i=^{(ℓ)}x^A_i+MLP([^{(ℓ)}x^A_i||m_{\epsilon →i}])
    […||…]表示将节点i自己的状态和ϵ\epsilon集合中的所有指向节点i的边信息级联,然后使用多层感知机

    B中节点相同。

    ll = 1开始,如果是奇数那么$ \epsilon=\epsilon_{self},,否则\epsilon = \epsilon_{cross}$,也就是说在图像内和图像间交叉传播

2.注意力融合

​ 即 状态更新中的mϵim_{\epsilon →i}的求解方法:
mϵi=(i,j)ϵαijVj使 αi,j=softmax(qiTKj),qk m_{\epsilon →i} = \sum_{(i,j)\in \epsilon}\alpha_{ij}V_j \\这里使用注意力 \ 即加权方法\\权值 \alpha_{i,j} = softmax(q_i^TK_j),代表q与k之间的相似性度。\\
其中的q,v,k都是根据每一层迭代结果以及网络层的参数计算出来的:

已知ll层迭代的参数为w1,w2,w3,b1,b2,b3w1,w2,w3,b1,b2,b3,
qi=W1()xiQ+b1[kj vj]T=[W2 W3]T ()xjS+[b2 b3]T q_i=W_1^{(ℓ)}x^Q_i+b_1 \\ [k_j\ v_j]^T=[W_2\ W_3]^T \ ^{(ℓ)}x^S_j+[b_2\ b_3]^T
经过L层的迭代最终的A 中的匹配描述符:
fiA=W(L)xiA+b, iA f^A_i=W·^{(L)}x^A_i+b,\ ∀i∈ A
B中类似。

3.最优匹配层

使用内积定义描述匹配符之间的相似度:
Si,j=<fiA,fjB>,(i,j)A×B S_{i,j}=<f^A_i,f^B_j>,∀(i, j)∈ A × B
由于肯定会有不匹配的点对,因此新建一个dustbin,专门存放此类特征点

  • Sinkhorn Algorithm:使用Sinkhorn 算法对两幅图的特征点进行匹配,该算法是匈牙利算法的可导版本。
4.损失函数

同时最大化精度和召回率:
Loss=(i,j)MlogP^i,jiIlogP^i,N+1jJlogP^M+1,j Loss=−\sum_{(i,j)\in M}log\hat P_{i,j}−\sum_{i\in I}log\hat P_{i,N+1}−\sum_{j\in J}log\hat P_{M+1,j}
这里的P是局部软匹配矩阵,行列和均为1

实验评估

SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记
SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

SuperGlue: Learning Feature Matching with Graph Neural Networks 2019 论文笔记

速度:GTX1080上15fps