SIFT,SURF,ORB,FAST,BRISK 特征提取算法比较

SIFT,SURF,ORB,FAST 特征提取算法比较


图像处理的基础就是要进行特征点的提取,feature(interest points) detect 的方法也在不断的进步,边检测,角点检测,直线检测,圆检测,SIFT特征点检测,同时描述符也在发展,为了匹配的高效,逐渐从高维特征向量到二进制向量…下面做一个简单的罗列,并调用opencv API看看效果!
承接上一篇文章

Feature Detection Methods List:

特征点提取算法比较(image dataset(27 pictures)):

ImageNOSIFTSURFORBFASTSTARBRISK
024144126500119787151538
1429581295001676311661861
234044784500161918161445
3163928025007166203699
4151014844972956223833421
5105728309500720065
6191187295161258251782
7335247065005671543
81654033742670115582762
948997523500127804731299
1019794212500106768641498
1135993294500663070
121631682877923661953
1318842413500116815482683
14250950555001809716712898
15917747735007224842888
16333232175002050213812612
1754466611500165536831959
184592603350070654216
192665094599613356583
20208727865007459223607
2125823651500121477201530
2225094237500148905071113
23123645455006473410718
24131126065004293199491
25237387500657122132
269681418488660945343
Time Cost21.5217.40.970.252.342.14

上面是通过一些图片集测的单单是feature detect 的时间,接下来通过一对图片看看feature detect和compute feature descriptor总共花费的时间开销(秒):

Image pairSIFTSURFORBFAST(SURF)
eiffel-1,13.jpg2.773.220.110.22

可以看到计算descriptor的开销还是很大的,这里仅仅两张图片,所以主要开始是计算描述符,提取是很快的。

下面通过通过两张图片来看这几个算法匹配的效果,1639-1311-697表示图片1,2分别提取了1639,1311个keypoints,其中匹配的有697个。

Image pairSIFTSURFORBFAST(SURF)BRISK
eiffel-1,13.jpg1639/1311/6972802/2606/1243500/500/2511196/1105/586607/491/287

Canny Edge Detection效果:
这里写图片描述

Find line segments by probabilistic Hough transform:
这里写图片描述

Harris Corner Detection:
这里写图片描述
SIFT match效果图:
这里写图片描述
SURF match效果图:
这里写图片描述
ORB match效果图:
这里写图片描述
BRISK match效果图:
这里写图片描述


代码在这里


参考:
Canny Edge Detector Example
Feature Detection-Canny, HoughLinesP
Harris corner detector Example
BRIEF (Binary Robust Independent Elementary Features)
ORB (Oriented FAST and Rotated BRIEF)


版权声明:本文为vonzhoufz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。