陳敏 湯曉安
摘 要: SIFT算法和SURF算法是圖像特征提取和匹配的典型方法,廣泛應(yīng)用于目標檢測、圖像理解與識別等領(lǐng)域,然而對二者尚缺乏較深入的對比研究。針對這兩種算法,采用實驗室相機實拍圖像和低空無人機實拍圖像,以不同的圖像旋轉(zhuǎn)角度進行特征點提取和圖像匹配實驗,從匹配成功率和運行效率兩個方面對算法的性能進行對比研究。結(jié)果表明,SIFT算法具有較好的圖像旋轉(zhuǎn)不變性,匹配精度較高,而SURF算法匹配精度較低,但是效率較高,因此在實際應(yīng)用中可根據(jù)具體需求合理選擇。
關(guān)鍵詞: SIFT; SURF; 性能對比; 特征提?。?圖像匹配; 算法效率
中圖分類號: TN911.73?34; TP391.6 文獻標識碼: A 文章編號: 1004?373X(2018)07?0041?04
Comparison study on application of SIFT and SURF feature
extraction algorithms in image matching
CHEN Min1, TANG Xiaoan2
(1. School of Electronic Information, Hunan Institute of Information Technology, Changsha 410151, China;
2. College of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China)
Abstract: The SIFT and SURF algorithms as two typical algorithms for image feature extraction and matching are widely used in the fields of target detection, image understanding and recognition, but the comparison research on the two algorithms is shallow. In allusion to the two algorithms, the feature point extraction and image matching experiment for the images taken by laboratory camera and UVA are carried out according to different image rotation angles. The performances of the two algorithms are compared in the aspects of matching success rate and operating efficiency. The results show that the SIFT algorithm has perfect image rotation invariance and high matching accuracy, and the SURF algorithm has low matching accuracy and high efficiency. One of the two algorithms can be selected reasonably according to the specific requirements.
Keywords: SIFT; SURF; performance comparison; feature extraction; image matching; algorithm efficiency
0 引 言
圖像匹配是圖像處理研究領(lǐng)域的重要問題,在計算機視覺、醫(yī)療圖像分析、無人機圖像處理等領(lǐng)域有著廣泛應(yīng)用。而圖像特征提取是圖像匹配的基礎(chǔ)和前提,圖像特征提取的效率、準確度等性能的好壞直接影響著后續(xù)的圖像匹配[1?3]。例如,待匹配圖像之間普遍存在縮放、旋轉(zhuǎn)等現(xiàn)象,因此在特征提取中需要考慮特征提取的穩(wěn)定性和準確性,而提取尺度不變的圖像特征是解決這一問題的方法。
近年來,很多尺度不變特征的提取算法被提出和應(yīng)用,具有代表性的是David G. Lowe提出的SIFT算法[4]以及Herbert Bay等人提出的SURF[5]算法。相關(guān)學者對這兩種經(jīng)典算法在不同的應(yīng)用場合有了一定的對比研究[6?10],但是在無人機應(yīng)用,特別是低空無人機影像的配準上尚缺少有實際意義的成果。本文給出這兩種算法的原理,并基于兩種不同的環(huán)境——實驗室環(huán)境和無人機低空拍攝所獲取的實拍圖像進行特征點提取和圖像匹配實驗,結(jié)合實驗結(jié)果比較兩種算法的性能。
1 SIFT算法
SIFT(Scale Invariant Feature Transform)算法是由David G. Lowe在基于不變特征的檢測方法基礎(chǔ)上提出的,對于圖像的尺度變換、仿射變換等具有特征不變性。SIFT算法通過在建立的圖像尺度空間中尋找極值點來描述圖像特征,進而計算極值點附近的梯度信息得到特征描述向量,最后以特征向量的相似度來判定特征點的匹配。算法主要有以下步驟:
1) 建立尺度空間
SIFT算法通過利用不同尺度的高斯核函數(shù)構(gòu)造高斯金字塔圖像,然后對上下相鄰尺度的金字塔圖像進行相減,得到差分高斯金字塔(Difference of Gaussian,DOG)圖像。DOG算子定義如下:
式中:[Lx,y,σ=Gx,y,σ·Ix,y],[Gx,y,σ]為尺度可變高斯函數(shù),[Ix,y]為圖像位于[x,y]的像素值。
2) 檢測關(guān)鍵點
在差分金字塔中,將其中每個點與其相鄰尺度和上下相鄰位置的點進行比對,即檢測同尺度的8個相鄰點和上下相鄰尺度對應(yīng)的9×2個點共計26個特征點。若一個點在DOG尺度空間本層以及上下兩層的26個鄰域中為最大或最小值時,則認為該點為該尺度下的一個特征點。
3) 分配關(guān)鍵點方向
SIFT算法通過考慮局部特征得到關(guān)鍵點方向,以保證描述符具有方向不變性??紤]關(guān)鍵點鄰域像素的梯度特性,可得到梯度模值和方向如下所示:
以關(guān)鍵點為中心確定鄰域窗口,統(tǒng)計鄰域內(nèi)像素的方向并形成直方圖。其中,梯度直方圖的取值范圍為0~360°,每10°為一個柱,共計36個柱,即36個方向。
4) 生成特征點描述子
以關(guān)鍵點為中心取8×8的正方形小塊,在此基礎(chǔ)上再分成4×4的正方形塊,分別統(tǒng)計其梯度直方圖,可以得到8個梯度方向,將其疊加就可以構(gòu)造一個種子點,共可以構(gòu)造4個種子點。這里使用4×4共16個種子點構(gòu)成一個128維的特征描述子。最后將特征向量的模長做歸一化處理。該描述子具有尺度、旋轉(zhuǎn)不變性,并在一定程度上可以消除光照變化等環(huán)境因素的影響,在此基礎(chǔ)上可進行特征點的匹配。
2 SURF算法
SURF(Speeded Up Robust Features)算法是一種改進的SIFT算法,是一種具有魯棒性的局部特征檢測算法[7?8]。算法主要有以下步驟:
1) 生成尺度空間
采用不同尺寸的箱子濾波器與原圖像進行卷積,得到圖像金字塔,即生成圖像的尺度空間。
2) 檢測關(guān)鍵點
計算待選特征點及周圍點的Hessian值,認為其極大值點即為特征點。像素的Hessian值由原圖和Hessian矩陣得到,Hessian矩陣定義如下:
[H(x,σ)=Lxx(x,σ)Lxy(x,σ)Lyx(x,σ)Lyy(x,σ)] (4)
3) 分配關(guān)鍵點方向
以特征點為中心,在一定鄰域內(nèi)對60°扇形里的所有點在水平和垂直方向的Haar小波相應(yīng)值進行累加,最大的Haar相應(yīng)累加值為該特征點對應(yīng)的主方向。
4) 特征點描述子生成
以特征點為中心,將20×20d(d為該特征點所在尺度)的圖像區(qū)域劃分成4×4個子塊,每個子塊統(tǒng)計25個像素相對主方向的水平方向之和[dx、]水平方向絕對值之和[dx、]垂直方向之和[dy]和垂直方向絕對值之和[dy]。每個子塊得到如上4個特征值,因此每個特征點可得到16×4=64維向量。在此基礎(chǔ)上可進行特征點的匹配。
3 SIFT算法與SURF算法的性能對比分析
為比較兩種算法的性能,本文應(yīng)用兩種算法進行特征點的提取和匹配實驗,實驗數(shù)據(jù)為相機實拍圖像和低空無人機實測圖像,使用匹配成功率和運行時間兩項指標評估算法性能。其中匹配成功率定義如下:
[匹配成功率=正確匹配數(shù)正確匹配數(shù)+錯誤匹配數(shù)] (5)
實驗環(huán)境為CPU Intel[?]CoreTM i5,內(nèi)存8.00 GB的PC機,實驗結(jié)果如下所示。
3.1 實驗室相機實拍圖像算法性能對比
在實驗室中選取邊界較為圓滑的水杯進行實驗,通過改變兩幅圖像的旋轉(zhuǎn)角度,測試兩種算法的相應(yīng)性能。圖1為水杯的實拍圖像以及兩種算法的實驗結(jié)果。匹配結(jié)果如表1所示。
可以看出,在上述實驗中SIFT算法匹配成功率略高于SURF算法。算法效率上SURF算法速率略高。下面增大待匹配圖像間的旋轉(zhuǎn)角度變化,實驗結(jié)果如圖2所示。
增大旋轉(zhuǎn)角度后的匹配結(jié)果如表2所示。
由表2可以看出,在角度較大的情況下SIFT算法匹配成功率顯著高于SURF算法,但SURF算法的速率略高。
3.2 低空無人機實拍圖像算法性能對比
采用大疆精靈4四旋翼無人機為飛行平臺,以約20 m的高度對籃球場進行實地前向拍攝。其實驗結(jié)果如圖3所示。匹配結(jié)果如表3所示。
可以看出在小角度變化的情況下,兩種算法性能差異不大。下面增大待匹配圖像間的旋轉(zhuǎn)角度,結(jié)果如圖4所示。匹配結(jié)果如表4所示。
可以看出若存在較大的旋轉(zhuǎn)變化時,SIFT算法匹配成功率顯著高于SURF算法。
現(xiàn)對以上實驗結(jié)果分析如下:從原理上看,SIFT算法提取的特征點維度為128維,多于SURF算法提取的64維,即SURF算法的特征提取較少,SURF算法復雜度較低;SIFT算法采用128維的特征描述子,并將特征向量的模長做歸一化處理,具有較好的旋轉(zhuǎn)不變性。
從實驗結(jié)果上看,待匹配圖像之間旋轉(zhuǎn)變形不大的情況下,兩種算法的匹配成功率差別不大;在旋轉(zhuǎn)較大的情況下,SURF算法出現(xiàn)了較多的誤匹配點對,匹配成功率顯著低于SIFT算法。但從整體上看,SURF算法運行速率快于SIFT算法。
在實際應(yīng)用中,SIFT算法適用于處理準確性要求較高,實時性要求不高的情況;SURF算法效率較高,但針對圖像變形的魯棒性相對較低,適用于實時性要求較高的場合。
4 結(jié) 語
本文介紹了SIFT算法和SURF算法的原理,并就實驗室實拍圖像和低空無人機實拍圖像進行了實驗驗證,結(jié)合實驗結(jié)果對比分析了算法的性能。從分析結(jié)果可以看出,SIFT算法的復雜度較高,算法效率低于SURF算法,但SURF算法在較大的旋轉(zhuǎn)變形情況下會產(chǎn)生較多的誤匹配點對,相比而言,SIFT算法在圖像旋轉(zhuǎn)條件下的匹配性能好于SURF算法。因此實際應(yīng)用中要結(jié)合特定需求,合理選取相應(yīng)的算法。
參考文獻
[1] 周敏,劉寧鐘,王立春.基于無人機航拍的公路圖像拼接方法研究[J].計算機與現(xiàn)代化,2016(10):49?53.
ZHOU Min, LIU Ningzhong, WANG Lichun. Research on stitching method based on UAV aerial image of road [J]. Computer and modernization, 2016(10): 49?53.
[2] 李萍,張波,尚怡君.基于紅外圖像和特征融合的飛機目標識別方法[J].電光與控制,2016(8):92?96.
LI Ping, ZHANG Bo, SHANG Yijun. Aircraft target identification based on infrared image and feature fusion [J]. Electronics optics and control, 2016(8): 92?96.
[3] 王勇,郭博雷,李志強.機動飛行環(huán)境無人機航拍圖像拼接技術(shù)研究[J].現(xiàn)代電子技術(shù),2012,35(22):110?112.
WANG Yong, GUO Bolei, LI Zhiqiang. Study on mosaic technology for UAV aerial images under maneuvering flight condition [J]. Modern electronics technique, 2012, 35(22): 110?112.
[4] LOWE D G. Distinctive image features from scale invariant keypoints [J]. Journal of computer vision, 2004, 60(2): 91?110.
[5] BAY H, TUYTELAARS T, GOOL L V. SURF: speeded up robust features [J]. Computer vision and image understanding, 2006, 3951: 404?417.
[6] 史露,蘇剛,韓飛.基于SIFT和SURF圖像拼接算法的改進算法[J].計算機應(yīng)用與軟件, 2013,30(6):72?78.
SHI Lu, SU Gang, HAN Fei. An improved algorithm based on SIFT and SURF image stitching algorithm [J]. Computer applications and software, 2013, 30(6): 72?78.
[7] 羅亮,熊助國.兩種圖像匹配算法在植被覆蓋區(qū)的應(yīng)用對比[J].安徽農(nóng)業(yè)科學,2016,44(8):299?301.
LUO Liang, XIONG Zhuguo. Comparison of two kinds of image matching algorithm in the area covered by vegetation [J]. Journal of Anhui agricultural sciences, 2016, 44(8): 299?301.
[8] 索春寶,楊東清,劉云鵬.多種角度比較SIFT、SURF、BRISK、ORB、FREAK算法[J].北京測繪,2014,4(5):23?26.
SUO Chunbao, YANG Dongqing, LIU Yunpeng. Comparing SIFT, SURF, BRISK, ORB and FREAK in some different perspectives [J]. Beijing surveying and mapping, 2014, 4(5): 23?26.
[9] ROBINSON A C, ROTH R E, MACEACHREN A M. Challenges for map symbol standard [C]// Proceedings of the 7th International Conference on Information Systems for Crisis Response and Management. Seattle: IEEE, 2010: 5801?5812.
[10] LIANG C R, FIELDING E J. Interferometry with ALOS?2 full?aperture ScanSAR data [J]. IEEE transactions on geoscience and remote sensing, 2017, 55(5): 2739?2750.