1. 程式人生 > >SIFT,SURF,ORB,FAST,BRISK 特徵提取演算法比較

SIFT,SURF,ORB,FAST,BRISK 特徵提取演算法比較

SIFT,SURF,ORB,FAST 特徵提取演算法比較

影象處理的基礎就是要進行特徵點的提取,feature(interest points) detect 的方法也在不斷的進步,邊檢測,角點檢測,直線檢測,圓檢測,SIFT特徵點檢測,同時描述符也在發展,為了匹配的高效,逐漸從高維特徵向量到二進位制向量…下面做一個簡單的羅列,並呼叫opencv API看看效果!
承接上一篇文章

Feature Detection Methods List:

特徵點提取演算法比較(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效果圖:
這裡寫圖片描述

程式碼在這裡