SIFT算法與SURF算法特徵檢測效率對比

SIFT和SURF算法都是特徵檢測中較常用的算法,SURF是對SIFT的一種改進,尤其在效率上有明顯提升。

下面的實驗給出了SIFT算法和SURF算法在特徵檢測效率上的對比,

所用的SIFT源碼來自Rob.Hess,下載地址:http://robwhess.github.io/opensift/

SURF源碼來自Chris.Evan的OpenSURF,下載地址:http://www.chrisevansdev.com/computer-vision-opensurf.html

SURF特徵檢測中的綠色箭頭表示暗背景中的亮點(laplacian符號爲0),粉色箭頭表示亮背景中的暗點(laplacian符號爲1)。


(1) 圖像尺寸:288 * 400

                                                                                                    

   檢測圖中的SIFT特徵點用時:0.308204秒,特徵點個數:354                  檢測圖中的SURF特徵點用時:0.10825秒,特徵點個數:119


(2) 圖像尺寸:244 * 265

                                                        

            檢測圖中的SIFT特徵點用時:0.61654秒,特徵點個數:879                                        檢測圖中的SURF特徵點用時:0.145502秒,特徵點個數:213


(2)圖像尺寸:520 * 387

         

      檢測圖中的SIFT特徵點用時:1.19946秒,特徵點個數:1795       檢測圖中的SURF特徵點用時:0.270752秒,特徵點個數:419


(4)圖像尺寸:640 * 480

  

    檢測圖中的SIFT特徵點用時:0.58695秒,特徵點個數:594         檢測圖1中的SURF特徵點用時:0.268403秒,特徵點個數:301


(5)圖像尺寸:400 * 300

         

      檢測圖中的SIFT特徵點用時:0.12064秒,特徵點個數:50          檢測圖中的SURF特徵點用時:0.153961秒,特徵點個數:196


可以看到,一般來說,SURF算法的效率是SIFT算法的3倍左右,而檢測出的特徵點的個數是SIFT算法的1/3左右,當然也和圖像大小、紋理複雜程度、算法參數設置有關。從第(5)組例子中可以看出,SURF算法在邊緣抑制上做的似乎沒有SIFT好,好多邊緣都被檢測成了特徵點,從而導致特徵點個數多於SIFT。

參考

SIFT算法與SURF算法特徵檢測效率對比

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章