论文阅读笔记《GMS: Grid-Based Motion Statistics for Fast, Ultra-robust Feature Correspondence》

核心思想

  本文提出一种快速的鲁棒的特征点匹配方法(GMS),其本质上是在现有的特征点匹配的基础上,筛除误匹配点,选择出更可靠的匹配点的方法,其作用类似RANSAC。其基于一个关键的假设——运动平滑性假设,即图像中相邻较近的属于同一个物体的特征点,在运动时也会一起运动,因此正确匹配点的邻域范围内应该还包含许多其他的匹配点,而误匹配点对应的位置可能是随机的,附近不会有很多的相邻匹配点。如下图所示
在这里插入图片描述
  基于上述的假设作者提出了基于网格的运动数据统计匹配方法(Grid-Based Motion Statistics,GMS)。首先,使用常见的特征点检测和匹配方法得到初始的匹配对集合 C C C,本文采用SIFT+最近邻匹配,并利用Ratio Test选出相对可靠的匹配点集合。对于匹配对集合中的一个匹配对 c i ∈ C c_i\in C ciC,其对应两幅图像中的两个匹配点 p i p_i pi q i q_i qi,其邻接特征点集合 N i N_i Ni的定义方式如下
在这里插入图片描述
这个定义很简单了,就是在原图中与点 p i p_i pi的之间的距离小于 r 1 r_1 r1的其他特征点,其对应的相似邻接特征点的集合 S i S_i Si的定义为
在这里插入图片描述
即在匹配图像中与点 p i p_i pi对应的匹配点 q i q_i qi之间的距离小于 r 2 r_2 r2的特征点,简单来讲就是在原图中与目标特征点相邻,并且在匹配图像中也与目标特征点对应的匹配点相邻,即满足之前提到的运动平滑性假设的点。作者认为对于一对匹配点来说,其相似邻接特征点越多,其越可能是正确的匹配点。作者定义相似邻接特征点的数量 ∣ S i ∣ |S_i| Si为匹配对 c i c_i ci的"运动支持量"(motion support),其满足下述分布
在这里插入图片描述
B ( ⋅ ) B(\cdot) B()表示二项分布, ∣ N i ∣ |N_i| Ni表示邻接特征点的数量, t t t表示正确匹配的概率, ϵ \epsilon ϵ表示误匹配的概率,则 ∣ S i ∣ |S_i| Si的期望和方差为
在这里插入图片描述
在这里插入图片描述
  根据上述公式,作者进一步定义真假匹配点分布之间的区分度得分为
在这里插入图片描述
P P P值越大,则表示真假匹配点之间的区分度越大,而 P P P值与 ∣ N i ∣ \sqrt{|N_i|} Ni 成正比,即对于一个匹配点其相邻特征点数量越多,其判断得到匹配点的可靠性就越高。最后如何判断一个匹配对是正确的匹配对,文章只采用了一个简单的阈值 τ i \tau_i τi,如果 ∣ S i ∣ > τ i |S_i|>\tau_i Si>τi,则匹配对是正确匹配对,否则为错误匹配对,其中 τ i = α ∣ N i ∣ \tau_i=\alpha \sqrt{|N_i|} τi=αNi α \alpha α通常取4~6。
  利用上述方法可以从候选匹配点中选择出可靠的匹配点,但是需要对候选匹配点集 C C C中的全部 N N N个匹配点都进行计算,而且计算过程中,每个匹配点还要计算与其他 N − 1 N-1 N1个特征点之间的距离,并判断匹配关系,因此算法的复杂度是 o ( N 2 ) o(N^2) o(N2)。作者通过划分网格的方法,使算法复杂度下降到 o ( N ) o(N) o(N)
  首先将图像划分成 m ∗ m m*m mm个不重叠的网格,如下图所示
在这里插入图片描述
假设匹配对 c i c_i ci对应的两个匹配点在两幅图中分别位于方格 G a G_a Ga G b G_b Gb中,如图中红色的线条表示,那么 c i c_i ci的临界特征点集重新定义为
在这里插入图片描述
C a C_a Ca表示 G a G_a Ga中的全部特征点,与之前的定义不同,只需要和待匹配点处于同一个方格内就可以。同样的相似邻接特征点集可以定义为
在这里插入图片描述
C a b C_{ab} Cab表示在原图中与待匹配点处于同一个方格,且在匹配图像中也与待匹配点对应的匹配点处于同一个方格中的特征点。简而言之,就是将之前通过计算两点之间的距离来判断相邻的过程,简化为了坐标是否处于同一个方格。此时计算一个匹配对的“运动支持量”只需要计算最优匹配方格对(如图中的 G a b G_{ab} Gab)中的相似邻接特征点的数量,而不需要计算其他匹配方格对(如图中的 G a c G_{ac} Gac G a d G_{ad} Gad)中的相似邻接特征点的数量。
  如果方格的尺寸设定的太小,会导致每个方格内的邻接特征点数量过少,而如果方格的尺寸设定的太大,则会导致需要误匹配点也被包含在内。因此为了解决这个问题,作者又进一步提出了“运动核”(Motion Kernel)的概念,首先将方格的尺寸设定的小一些,在计算邻接特征点时不仅考虑当前方格内的点,还考虑该方格相邻的8个方格内的特征点,如下图所示
在这里插入图片描述
这样一来,邻接特征点集的定义和相似邻接特征点集的定义又改为如下方式
在这里插入图片描述
  匹配中还有一个关键的问题就是解决尺度变化和旋转问题。对于旋转问题,可以通过旋转匹配点相邻方格的方式来解决,如下图所示
在这里插入图片描述
由上图可以看到,固定原图中的运动核不动,而匹配图像中对应的运动核是按照顺时针方向进行转动的,共有8个核对应8个旋转方向,可以从中选择出运动支持量最大的核作为最优匹配方格对。对于尺度变化问题,本文通过将匹配图像划分成不同尺寸的方格来解决,原图划分为 m ∗ m m*m mm个方格,而匹配图像划分成 α m ∗ α m \alpha m*\alpha m αmαm个方格,其中 α \alpha α可取 { 1 / 2 , 2 / 2 , 1 , 2 , 2 } \{1/2, \sqrt{2}/2, 1, \sqrt{2},2\} {1/2,2 /2,1,2 ,2}五个值。
  整个算法的流程如下
在这里插入图片描述

创新点

  • 利用运动平滑假设,从候选匹配点中选择出可靠的正确匹配点
  • 通过划分网格的方法,降低算法复杂度
  • 通过引入运动核的概念,解决了方格尺寸的设定,多尺度变化及旋转问题

算法评价

  该方法是一种简单且高效的特征匹配方法,整个算法思想并不复杂,但效果却十分显著。但本文的方法也存在一定的局限,在物体边缘位置的特征点不满足运动平滑性约束,但这部分点数量较小对于匹配结果影响有限。另一方面,本文适用于较为密集的特征点匹配,即候选匹配点数量越多,选择出的正确匹配点准确性也会越高,而当候选匹配点比较稀疏时,该方法效果就不好了。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深视

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值