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

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


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

Feature Detection Methods List:

  • Canny Edge Detect, A Computational Approach to Edge Detection, 1986. The Canny edge detector is an edge detection operator that uses a multi-stage algorithm to detect a wide range of edges in images.
  • Harris, A combined corner and edge detector, 1988. considering the differential of the corner score with respect to direction directly.
  • GFTT,Good Features to Track,1994, Determines strong corners on an image.
  • Matas-2000, Robust Detection of Lines Using the Progressive Probabilistic Hough Transform. 霍夫变换检测直线.
  • SIFT,Distinctive Image Features from Scale-Invariant Keypoints,2004, invariant to image translation, scaling, and rotation, partially invariant to illumination changes and robust to local geometric distortion. 128-dim(512B).
  • SURF, Speeded Up Robust Features,2006,受SIFT启发,比SIFT快,健壮. 64-dim(256B).
  • FAST ,Machine Learning for High-speed Corner Detection, 2006,wiki. Very fast, not robust to high level noise.
  • ORB, ORB: an efficient alternative to SIFT or SURF,2011,基于FAST和BRIEF,比SIFT快两个数量级,可作为SIFT的替代(a fusion of FAST keypoint detector and BRIEF descriptor). 32B binary descriptor.
  • BRISK,BRISK: Binary Robust Invariant Scalable Keypoints, 2011 . 64B binary descriptor.
  • STAR,Censure: Center surround extremas for realtime feature detection and matching,2008,引用次数不高.scale-invariant center-surround detector (CENSURE) that claims to outperform other detectors and is capable of real-time implementation.
  • MSER,Robust Wide Baseline Stereo from Maximally Stable Extremal Regions, 2002, 斑点检测(blob detection).

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

ImageNO SIFT SURF ORB FAST STAR BRISK
0 2414 4126 500 11978 715 1538
1 4295 8129 500 16763 1166 1861
2 3404 4784 500 16191 816 1445
3 1639 2802 500 7166 203 699
4 1510 1484 497 29562 2383 3421
5 10572 8309 500 720 0 65
6 191 187 295 16125 825 1782
7 3352 4706 500 567 15 43
8 165 403 374 26701 1558 2762
9 4899 7523 500 12780 473 1299
10 1979 4212 500 10676 864 1498
11 3599 3294 500 663 0 70
12 163 168 287 7923 661 953
13 1884 2413 500 11681 548 2683
14 2509 5055 500 18097 1671 2898
15 9177 4773 500 7224 842 888
16 3332 3217 500 20502 1381 2612
17 5446 6611 500 16553 683 1959
18 4592 6033 500 706 54 216
19 266 509 459 9613 356 583
20 2087 2786 500 7459 223 607
21 2582 3651 500 12147 720 1530
22 2509 4237 500 14890 507 1113
23 1236 4545 500 6473 410 718
24 1311 2606 500 4293 199 491
25 237 387 500 657 122 132
26 968 1418 488 6609 45 343
Time Cost 21.52 17.4 0.97 0.25 2.34 2.14

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

Image pair SIFT SURF ORB FAST(SURF)
eiffel-1,13.jpg 2.77 3.22 0.11 0.22

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

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

Image pair SIFT SURF ORB FAST(SURF) BRISK
eiffel-1,13.jpg 1639/1311/697 2802/2606/1243 500/500/251 1196/1105/586 607/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)

你可能感兴趣的:(计算机视觉)