论文阅读笔记《Robust image matching via local graph structure consensus》

核心思想

  本文提出一种基于局部图结构一致性的图像特征点匹配方法(LGSC)。为实现两幅图像特征点之间的准确匹配,本文将全局的匹配问题转化为每个特征点邻域范围内的局部拓扑结构一致性的比较问题。换言之,就是通过比较以每个特征点为中心的局部区域之间的相似性,来判断该特征点是否正确匹配。将相似程度高的特征点保留下来,将相似程度低的点筛除掉,得到最终的匹配结果。
论文阅读笔记《Robust image matching via local graph structure consensus》_第1张图片

实现过程

    首先,利用SIFT等特征提取算法得到两幅图像的特征点(关键点)和特征描述向量,并通过暴力匹配的方式得到初始的匹配结果 T = { ( y i , z i ) } i = 1 N T=\{(y_i,z_i)\}^N_{i=1} T={(yi,zi)}i=1N y i y_i yi z i z_i zi分别表示成对匹配点的坐标。初始匹配结果 T T T中肯定包含许多错误的匹配点,则图像匹配的目标就是寻找到最优的内点集合 I ∗ I^* I
在这里插入图片描述
其中目标函数为
在这里插入图片描述
x ∈ { 0 , 1 } N x\in\{0,1\}^N x{0,1}N表示该对匹配点之间是否正确匹配, x i = 1 x_i=1 xi=1表示第 i i i组匹配点是正确匹配,即为内点。放射矩阵 W W W则描述了点和点以及边和边之间的相似程度。对角线上的元素 W i i W_{ii} Wii表示结点 v i v_i vi和对应的匹配点 v i ′ v_i' vi之间的相似程度,而非对角线元素 W i j W_{ij} Wij则表示边 e i j e_{ij} eij和对应的匹配边 e i j ′ e_{ij}' eij之间的相似程度, e i j e_{ij} eij表示节点 v i v_i vi v j v_j vj之间的边, e i j ′ e_{ij}' eij表示节点 v i ′ v_i' vi v j ′ v_j' vj之间的边。第二项是为了避免出现类似 x x x全部为1的平凡解。由于 ∣ I ∣ = x T x |I|=x^Tx I=xTx,则上式可转化为
在这里插入图片描述
由于 λ N \lambda N λN为常数,因此可以忽略。如前文所述,作者将全局最优的匹配问题,分解为每个特征点之间的匹配问题,则上述目标可进一步转化为
论文阅读笔记《Robust image matching via local graph structure consensus》_第2张图片
    为了判断当前的匹配点是否是正确匹配,作者提出利用局部图结构的一致性来进行比较。作者发现对于正确匹配的点,其局部范围的图(拓扑)结构的一致性通常比较高,而错误匹配点则不然。基于这一观察,作者先为每个匹配点都构建了其对应的局部图结构。本文采用K-NN方法选择与当前特征点欧氏距离最近的K的特征点作为其邻域,则目标函数进一步约简为
论文阅读笔记《Robust image matching via local graph structure consensus》_第3张图片
局部指示向量 x i K ∈ { 0 , 1 } K + 1 x^K_i\in \{0,1\}^{K+1} xiK{0,1}K+1,第一项为1,表示节点 v i v_i vi本身肯定位于局部的图结构中,其他的 K K K项分别表示, v i v_i vi的第 j j j个相邻点 v i j v_{i_j} vij对应的匹配点 v i j ′ v_{i_j}' vij是否位于 v i v_i vi的匹配点 v i ′ v_i' vi的邻域之中。数学描述如下
论文阅读笔记《Robust image matching via local graph structure consensus》_第4张图片
    构建了每个匹配点对应的局部图结构之后 x K x^K xK,接下来就是如何计算两个结构之间的相似性 w K w^K wK,其包含节点之间的相似性和边与边之间的相似性,即
论文阅读笔记《Robust image matching via local graph structure consensus》_第5张图片
   作者提出使用排序转移(ranking shift)来计算节点相似性得分 s ( v i , v i ′ ) s(v_i,v_i') s(vi,vi) ϕ v i k \phi_{v_ik} ϕvik表示节点 v i v_i vi的第 k k k个相邻点 v j v_j vj的排序转移值,该相邻点对应的匹配点 v j ′ v_j' vj在节点 v i v_i vi的匹配点 v i ′ v_i' vi的邻域中的距离顺序为 r v i ′ k r_{v_i'k} rvik,则排序转移值 ϕ v i k \phi_{v_ik} ϕvik
论文阅读笔记《Robust image matching via local graph structure consensus》_第6张图片
   如下图所示,左图中第 k k k个( k = 4 k=4 k=4)相邻点,对应的匹配点在 v i ′ v_i' vi的邻域中距离排序 r v i ′ k = 3 r_{v_i'k}=3 rvik=3,则该点对应的排序转移值 ϕ v i k = 0 \phi_{v_ik}=0 ϕvik=0
论文阅读笔记《Robust image matching via local graph structure consensus》_第7张图片
   最终的节点相似性得分 s ( v i , v i ′ ) s(v_i,v_i') s(vi,vi)计算方法为
在这里插入图片描述
   至于边相似性得分 s ( e i i j , e i i j ′ ) s(e_{ii_j},e_{ii_j}') s(eiij,eiij),作者利用边的长度之间差异来描述。
论文阅读笔记《Robust image matching via local graph structure consensus》_第8张图片
d ( e i i j ) d(e_{ii_j}) d(eiij)表示节点 v i v_i vi和相邻点 v i j v_{i_j} vij之间的欧氏距离。为了适应多尺度条件下的特征点匹配,作者通过设置多个 K K K值,构建了一组多尺度邻域, K = { K m } m = 1 M K=\{K_m\}^M_{m=1} K={Km}m=1M,目标函数改为
论文阅读笔记《Robust image matching via local graph structure consensus》_第9张图片

   至此,我们已经得到了目标函数中的 x i K m x^{K_m}_i xiKm w i K m w^{K_m}_i wiKm,接下来就是要寻找目标函数的最优解了。由上式可得
论文阅读笔记《Robust image matching via local graph structure consensus》_第10张图片
为了让匹配得分 S ~ \tilde{S} S~取最大值,当 s i − λ > = 0 s_i-\lambda>=0 siλ>=0时, x i x_i xi应取1;当 s i − λ < 0 s_i-\lambda<0 siλ<0时, x i x_i xi应取0,则目标函数的最优解可以通过比较 s i s_i si和预先设定的阈值 λ \lambda λ来求得
在这里插入图片描述
则最优的内点集合 I ∗ I^* I即为 x i = 1 x_i=1 xi=1的点构成的集合
在这里插入图片描述
   为了提高匹配的效果, 作者还采取了迭代匹配策略,即把第一次筛选得到的最优内点集合作为初始匹配点集,再次进行一轮筛选。通常两轮筛选即可得到不错的结果,迭代次数过多会导致匹配点数量过少。匹配效果如下论文阅读笔记《Robust image matching via local graph structure consensus》_第11张图片

创新点

  • 将全局的图像匹配问题转化为局部图结构的匹配问题,简化了计算复杂的同时,保证了匹配的准确性
  • 采用排序转移来描述节点之间的相似度,相比于其他的局部描述子更加的鲁棒

算法评价

  本文是最新的基于传统方法的图像匹配算法,融合了图匹配的思想,在许多数据集上都超过了基于深度学习的方法。本文的实现方法非常简单,但效果却非常显著。算法没有开源,我根据自己的理解复现了本文的算法,并公开在我的github上,感兴趣的朋友可以下载测试一下。

你可能感兴趣的:(论文阅读笔记,#,图像匹配,论文阅读,图像匹配,图匹配)