CVPR 2017论文:基于网格的运动统计,用于快速、超鲁棒的特征匹配(附大神解读)

CVPR 2017论文

Grid-based Motion Statistics for Fast, Ultra-robust Feature Correspondence

说明

将平滑度约束引入特征匹配是已知的可以实现超强鲁棒匹配。 然而,这样的匹配方案既复杂又缓慢,使得它们不适合于视频应用。 本文提出了GMS(基于网格的运动统计),一种简单的方法,将运动平滑度作为一个统计量,进行局部区域的匹配。GMS可以将高匹配数字转换成高匹配质量。 这提供了一个实时、超强的匹配系统。 评估低质量、模糊的视频和广泛基线显示,GMS始终如一地优于其他实时匹配器。

办公椅演示demo

项目主页:http://jwbian.net/gms

本人主页:http://jwbian.net

C++代码:https://github.com/JiawangBian/GMS-Feature-Matcher

以上转自视觉机器人微博

以下是来自大神对论文的解读

论文GMS的方法实际上是消除错误匹配的一种方案,比如可以替换ransac。算法执行的大致流程是:先执行任意一种特征点的检测和特征点的描述子计算,论文中采用的是ORB特征。然后执行暴力匹配BF,最后执行GMS以消除错误匹配。

opencv的ransac非常耗时,他这个GMS则非常快,比opencv的ransac快好几倍。我是说在同样特征点执行错误消除的时候要比openCV的ransac快。实际上ransac可以优化到非常快,至少可以比openCV的ransac要快10倍以上。

如果说是超越sift,是从最终的效果上看的。其实两个完全不是一个可以直接进行比较的对象。

如论文中所说,ORB特征采用1w个特征点,则orb部分耗时占90%,而GMS的时间可能之占10%。论文中的GMS需要大量的特征点,占时间的将会集中在最前面部分了。这样对比才是对的:

传统的匹配: ORB + BF + RANSAC的时间比例是:30% + 30% + 40%

GMS匹配   : ORB + BF + GMS的时间比例是   :50% + 40% + 10%

当然最终的效果的确不错,这是论文中值得称道的地方。具体还要看应用场景,gms只是解决匹配的问题,ransac除了消除错误匹配,最重要的是得到了图像之间的投影变换矩阵。而且有一点,如果把特征点的数量弄到只有几百个,那最终的效果势必会大打折扣。具体需要进一步去跑跑代码才能知道。

我的结论是:在同样特征点个数的情况下,用ORB+BF+GMS  的时间 小于 SIFT + RANSAC的时间。

为了保证效果,特征点的个数就会很多。这时候ORB+BF+GMS的匹配效果要远好于SIFT+RANSAC,但整个时间可能和SIFT+SANSAC的时间相当甚至还要长。

附大神的博客:http://blog.csdn.net/celerychen2009

附大神的分享:面向移动端的目标检测算法

(0)

相关推荐