劉 高,左小清
(1.昆明理工大學(xué)國(guó)土資源工程學(xué)院,云南 昆明 650093;2.廣東省科學(xué)院 智能制造研究所,廣東 廣州 510070)
圖像特征點(diǎn)提取與匹配是機(jī)器視覺(jué)的重要組成部分,它在目標(biāo)識(shí)別、視覺(jué)導(dǎo)航、圖像檢索、圖像拼接和三維重建等方面發(fā)揮著重要作用。選用不同的特征提取算法將導(dǎo)致算法魯棒性降低,使應(yīng)用效果受到一定程度影響。故對(duì)特征提取算法進(jìn)行比較,分析其性能具有重要意義。
本文對(duì)SIFT、SURF、ORB、BRISK 四種常用的二進(jìn)制特征算法進(jìn)行比較,采用指標(biāo)為算法耗時(shí)和特征匹配數(shù)目,通過(guò)對(duì)比實(shí)驗(yàn)分析4 種算法在實(shí)時(shí)性及復(fù)雜環(huán)境下的魯棒性。
特征提取算法研究較多,如Lowe[1]提出的SIFT 算法,由于SIFT 算法計(jì)算量很大,后續(xù)又有很多改進(jìn)算法被提出,其中應(yīng)用最廣泛的是Bay 等[2]提出的SURF 算法,Leutenegger 等[3]提出的BRISK 算法,Rublee 等[4]提出的ORB 算法,Alahi 等[5]提出的FREAK 算法等,這些算法具有尺度不變性、旋轉(zhuǎn)不變性、對(duì)噪聲的魯棒性等;顧煜潔[6]在SURF基礎(chǔ)上引入信息熵和網(wǎng)格劃分思想,大大減少了特征提取量;丁國(guó)紳等[7]提出一種基于高光譜圖像的改進(jìn)SIFT 算法,提升了算法匹配性能;趙騰飛等[8]在SURF 基礎(chǔ)上增加了邊緣檢測(cè)算法,得到圖像邊緣信息后進(jìn)行形態(tài)學(xué)處理,獲得較多特征明顯的信息;針對(duì)ORB 算法在復(fù)雜光照環(huán)境下匹配精確率較低的問(wèn)題,袁小平等[9]提出一種基于改進(jìn)FAST 檢測(cè)的ORB 算法,提高了復(fù)雜光照環(huán)境下的魯棒性;馮宇等[10]通過(guò)對(duì)SUSAN、Harris、Moraves 等算子性能進(jìn)行比較,發(fā)現(xiàn)Moravec 算子最為簡(jiǎn)單,但特征點(diǎn)提取質(zhì)量和抗噪能力表現(xiàn)較差;在圖像匹配中,邵進(jìn)達(dá)等[11]提出一種將幾何代數(shù)法與SIFT 結(jié)合的圖像匹配算法,可準(zhǔn)確定位更多特征點(diǎn),提高圖像對(duì)準(zhǔn)速度;黃云彬等[12]通過(guò)引入對(duì)角降維與角度刪減方法,分別對(duì)SURF 算法中特征點(diǎn)描述子通過(guò)降維和誤匹配點(diǎn)剔除的方法提升匹配速度和精確度。上述是近年主流的二進(jìn)制圖像特征算法及在此基礎(chǔ)上對(duì)其進(jìn)行一定性能提升研究工作的介紹。為了對(duì)圖像特征算法獲得更深入了解,本文選取ORB、SURF、SIFT、BRISK四種主流特征算法,橫向?qū)Ρ雀魉惴ㄔ隰敯粜院蛯?shí)時(shí)性方面的差異,為圖像特征研究提供參考。
SIFT 特征提取算法是公認(rèn)的標(biāo)準(zhǔn)的具有尺度及旋轉(zhuǎn)不變性的斑點(diǎn)特征提取算法,具有良好的旋轉(zhuǎn)不變性、視角不變性、仿射不變性及光照不變性[13]。算法流程如下:①尺度空間和極值點(diǎn)檢測(cè);②關(guān)鍵點(diǎn)定位;③特征方向指定。
2.1.1 尺度空間和極值點(diǎn)檢測(cè)
尺度空間理論目的是模擬圖像數(shù)據(jù)的尺度特征。二維圖像的尺度空間定義為:L(x,y,σ) = G(x,y,σ)*I(x,y),其中G(x,y,σ)是尺度可變高斯函數(shù),σ為尺度信息,決定圖像的平滑程度,構(gòu)造高斯差分尺度空間。
為獲取尺度空間的極值點(diǎn),將采樣點(diǎn)和與之相鄰的所有點(diǎn)進(jìn)行比較,獲取其圖像域和尺度域與相鄰點(diǎn)對(duì)比的大小情況。
2.1.2 關(guān)鍵點(diǎn)定位
為獲取關(guān)鍵點(diǎn)位置信息和精度信息,并且剔除低對(duì)比度的關(guān)鍵點(diǎn)和不穩(wěn)定的邊緣點(diǎn),將三維二次函數(shù)進(jìn)行擬合,從而提高其匹配能力和抗噪聲性能。
2.1.3 特征方向指定
關(guān)鍵點(diǎn)的方向信息為:
m(x,y),θ(x,y)分別為(x,y)位置處的梯度模值和方向。至此,關(guān)鍵點(diǎn)的位置信息、尺度信息和方向等信息都已得到。
SURF 算法的基本原理分為以下幾個(gè)步驟:
2.2.1 圖像積分
SURF 算法采用方塊濾波器方式獲得像素點(diǎn)的Hessian矩陣行列式,計(jì)算積分圖像,從而得到SURF 的尺度金字塔。通過(guò)原圖像獲得積分圖像中每一個(gè)像素點(diǎn)元素的數(shù)值,其值為
2.2.2 尺度空間構(gòu)造
對(duì)DOH 近似進(jìn)行特征點(diǎn)檢測(cè),獲得二階微分Hessian矩陣——(fx,y)。通過(guò)并行運(yùn)算對(duì)皮拉米德圖像中的每一層進(jìn)行處理,從而構(gòu)建出高斯金字塔。
2.2.3 特征點(diǎn)位置
如圖1所示,對(duì)圖中的像素點(diǎn)進(jìn)行處理,通過(guò)與相鄰像素點(diǎn)進(jìn)行比較和濾波的方法刪除錯(cuò)誤特征點(diǎn),從而獲取相應(yīng)的特征點(diǎn)。
Fig.1 Location of feature points圖1 特征點(diǎn)確定
2.2.4 特征點(diǎn)主方向選擇
采用Harr 小波,在60°的水平和垂直兩個(gè)方向上通過(guò)0.2rad 的扇形進(jìn)行間隔旋轉(zhuǎn),在此區(qū)域內(nèi)再次計(jì)算特征,值最大的扇形方向即為該特征點(diǎn)的主方向。
2.2.5 特征描述子生成
選取特征點(diǎn)范圍內(nèi)一個(gè)4×4 的區(qū)域,得到一個(gè)64 維的向量描述子,這4 個(gè)方向特征值依次是垂直方向值、水平方向值、垂直方向絕對(duì)值和水平方向絕對(duì)值。
ORB 算法是FAST特征點(diǎn)檢測(cè)[14]和BRIEF 特征描述子[15]的結(jié)合與改進(jìn)。ORB 算法分為FAST 特征點(diǎn)檢測(cè)、BRIEF 特征描述兩個(gè)步驟。
2.3.1 FAST 特征點(diǎn)檢測(cè)
設(shè)定需提取的特征點(diǎn)數(shù)為N,并將FAST 的閾值降低,F(xiàn)AST 特征點(diǎn)數(shù)目大于N。在特征點(diǎn)處計(jì)算Harris 的響應(yīng)值,取N 個(gè)響應(yīng)值大的點(diǎn)作為檢測(cè)到的特征點(diǎn),再計(jì)算特征點(diǎn)主方向:
其中,C 為質(zhì)心位置,θ 值為FAST 特征點(diǎn)的主方向。
2.3.2 BRIEF 特征描述
特征點(diǎn)獲取后,采用BRIEF 特征描述。BRIEF 算法的核心思想是以特征點(diǎn)為中心,取S×S 的鄰域窗口。在窗口內(nèi)隨機(jī)選取點(diǎn)對(duì),將選取點(diǎn)對(duì)的像素進(jìn)行大小比較并執(zhí)行二進(jìn)制賦值,最后重復(fù)隨機(jī)選取N 對(duì)進(jìn)行二進(jìn)制賦值操作,即可完成BRIEF 特征描述。
BRISK 算法特點(diǎn)是能夠大幅降低計(jì)算成本,提高特征檢測(cè)速度。BRISK 算法包括尺度空間特征點(diǎn)檢測(cè)、特征描述子的構(gòu)建、特征匹配3 個(gè)步驟。
2.4.1 尺度空間特征點(diǎn)檢測(cè)
在BRISK 的特征檢測(cè)框架結(jié)構(gòu)中,BRISK 算法構(gòu)建了由4 個(gè)內(nèi)層和4 個(gè)中間層組成的尺度空間金字塔,并采用AGAST 算法[16]進(jìn)行特征點(diǎn)檢測(cè)。
2.4.2 特征描述子構(gòu)建
BRISK 算法通過(guò)像素灰度值大小的比較,得到一個(gè)二進(jìn)制向量來(lái)描述特征點(diǎn)。BRISK 采用了鄰域采樣模式,即以特征點(diǎn)為圓心構(gòu)建多個(gè)不同半徑的離散化同心圓,然后在每一個(gè)同心圓上獲得具有相同間距的N 個(gè)采樣點(diǎn),如圖2 所示。
Fig.2 Sampling mode of BRISK圖2 BRISK 的采樣模式
首先對(duì)圖像進(jìn)行高斯平滑處理從而消除圖像灰度混疊的影響,通過(guò)計(jì)算特征點(diǎn)的特征模式方向,將采樣模式圍繞特征點(diǎn)旋轉(zhuǎn)為arctan2(gy,gx)的角度,使得特征描述子具有旋轉(zhuǎn)不變性,將全部特征點(diǎn)進(jìn)行像素灰度值比較得到512bit 的二進(jìn)制字符串描述子。
2.4.3 特征匹配
BRISK 算法采用二進(jìn)制描述子,故可采用漢明距離評(píng)定特征描述子之間的匹配程度,通過(guò)漢明距離的大小來(lái)判斷是否匹配成功。
對(duì)幾種圖像特征提取算法進(jìn)行比較分析時(shí)應(yīng)考慮數(shù)據(jù)集的客觀性和合理性,評(píng)價(jià)指標(biāo)的邏輯性和評(píng)價(jià)角度的實(shí)用性。本文選取ORB、SURF、SIFT、BRISK 四種主流特征提取算法,評(píng)價(jià)指標(biāo)為運(yùn)行時(shí)間及特征匹配對(duì)數(shù)[17],衡量算法的實(shí)時(shí)性及在發(fā)生旋轉(zhuǎn)變換、模糊變換、光照變換、視角變換場(chǎng)景下的魯棒性。
評(píng)價(jià)算法性能的一個(gè)重要指標(biāo)是運(yùn)行時(shí)間。選用真實(shí)環(huán)境和Euroc 數(shù)據(jù)集中正常場(chǎng)景下相機(jī)有一定偏移量的圖像對(duì)進(jìn)行實(shí)驗(yàn),使用OpenCV 提供的特征提取算法的調(diào)用接口設(shè)置默認(rèn)參數(shù)。為保證條件一致,將圖片格式統(tǒng)一。將真實(shí)環(huán)境和數(shù)據(jù)集環(huán)境下的相片統(tǒng)一調(diào)整為512×512 像素,并在實(shí)驗(yàn)時(shí)調(diào)整為灰度圖像。為降低特征提取后誤匹配的比例,通過(guò)RANSAC 算法[18]剔除圖像誤匹配對(duì)。
圖3 和圖4 分別為ORB、SURF、SIFT、BRISK 四種算法在EuRoC 數(shù)據(jù)集和實(shí)驗(yàn)環(huán)境正常場(chǎng)景中的特征提取及匹配結(jié)果,從中可得出結(jié)論:4 種算法提取的特征在圖像中分布比較均勻,ORB、SIFT、SURF 三種算法提取及匹配的特征數(shù)量較多,BRISK 提取及匹配的特征數(shù)量較少。如表1 所示,對(duì)運(yùn)行時(shí)間與匹配對(duì)數(shù)進(jìn)行分析,在達(dá)到足夠的匹配數(shù)前提下,ORB 算法最多需要24.6ms 即可完成圖像對(duì)的匹配,速度最快,可滿(mǎn)足實(shí)時(shí)性需求,執(zhí)行速度排序?yàn)镺RB>BRISK>SURF>SIFT。
Fig.3 Feature detection and matching of ORB,SIFT,SURF and BRISK in normal environment圖3 正常環(huán)境下ORB、SIFT、SURF、BRISK 特征提取及匹配
Fig.4 Feature detection and matching of ORB,SIFT,SURF and BRISK in real environment圖4 真實(shí)環(huán)境下ORB、SIFT、SURF、BRISK 特征提取及匹配
Table 1 Matching number and running time(ms)of feature detection algorithm while matching the same images表1 各特征提取算法匹配相同圖像的匹配數(shù)目和運(yùn)行時(shí)間(ms)
當(dāng)圖像有一定旋轉(zhuǎn)量時(shí),像素點(diǎn)會(huì)以旋轉(zhuǎn)中心為圓心進(jìn)行相應(yīng)角度旋轉(zhuǎn),特征點(diǎn)的鄰域信息將相應(yīng)發(fā)生變化。為探討4 種算法在旋轉(zhuǎn)變換中的魯棒性,對(duì)相同圖像執(zhí)行旋轉(zhuǎn)操作,逐次提高旋轉(zhuǎn)角,并將圖像與原始圖像依次匹配,通過(guò)觀察特征正確匹配數(shù)的變化分析算法對(duì)旋轉(zhuǎn)變換的魯棒性。在此選用Mikolajczyk 數(shù)據(jù)集中的bark 圖集進(jìn)行測(cè)試。
結(jié)合表2 和圖5(彩圖掃OSID 碼可見(jiàn),下同)可以發(fā)現(xiàn),當(dāng)圖像具有一定的旋轉(zhuǎn)角度時(shí),特征匹配對(duì)的數(shù)量會(huì)減少較多;當(dāng)旋轉(zhuǎn)角度較小時(shí),SIFT 和BRISK 算法可以表現(xiàn)出一定的穩(wěn)定性;當(dāng)旋轉(zhuǎn)角度較大時(shí),ORB 和BRISK 算法失效。
Table 2 Matching number of each feature detection algorithm while matching rotated images表2 各特征提取算法匹配旋轉(zhuǎn)變換圖像的匹配對(duì)數(shù)
Fig.5 Line chart of matching number while images are rotated圖5 圖像旋轉(zhuǎn)時(shí)匹配對(duì)數(shù)折線
圖像模糊程度增加會(huì)導(dǎo)致圖像的分辨率和識(shí)別能力下降。為研究該算法在模糊情況下的魯棒性,對(duì)同一圖像進(jìn)行不同的高斯核處理。將處理后的圖像與原始圖像相匹配,通過(guò)觀察匹配對(duì)數(shù)的變化研究該算法對(duì)模糊變換的魯棒性。在此使用mikolajczyk 數(shù)據(jù)集的bikes圖集進(jìn)行測(cè)試。
結(jié)合表3 和圖6 可以看出,當(dāng)模糊程度逐漸增加時(shí),各算法的匹配對(duì)數(shù)相應(yīng)減少,SURF 和ORB 算法穩(wěn)定性稍好;當(dāng)模糊程度增大時(shí),能夠獲取到足夠的特征匹配數(shù),BRISK和SIFT 算法在模糊變換方面的魯棒性較差。
Table 3 Matching number of each feature detection algorithm while matching blurred images表3 各特征提取算法匹配模糊變換圖像的匹配對(duì)數(shù)
Fig.6 Line chart of matching number while images are blurred圖6 圖像模糊時(shí)匹配對(duì)數(shù)折線
不同的光照條件會(huì)使圖像中的某些特征更加突出,同時(shí)由于陰影和遮擋的影響,一些特征會(huì)被削弱,導(dǎo)致圖像的特征點(diǎn)位于不同的灰度空間中,增加了特征匹配的難度。為探究發(fā)生模糊變換時(shí)算法性能,選取相片須對(duì)同一圖像亮度進(jìn)行調(diào)整,將調(diào)整亮度后的圖像與原始圖像進(jìn)行匹配,通過(guò)觀察特征匹配對(duì)數(shù)的變化分析算法對(duì)光照變換的魯棒性。在此選用Mikolajczyk 數(shù)據(jù)集中的leuven 圖集進(jìn)行測(cè)試。
通過(guò)表4 和圖7 可以看出,當(dāng)光照下降不大時(shí),4 種算法穩(wěn)定性都比較好,圖像光照繼續(xù)降低后都能夠獲取到足夠量的匹配數(shù),但BRISK、ORB 算法表現(xiàn)出了更強(qiáng)的穩(wěn)定性。
Table 4 Matching number of each feature detection algorithm by different lighting effect表4 各特征提取算法匹配光照變化圖像的匹配對(duì)數(shù)
Fig.7 Line chart of matching number while light of images is effected圖7 圖像光照變化時(shí)匹配對(duì)數(shù)折線
當(dāng)圖像發(fā)生視角變換時(shí),會(huì)使得原始圖像中部分特征點(diǎn)落在靠近圖像物體處或超出圖像范圍,視角變換角度越大,保留的特征點(diǎn)就越少。為探究在視角變換場(chǎng)景下的算法性能,對(duì)原場(chǎng)景旋轉(zhuǎn)一定角度進(jìn)行拍攝,將不同視角的相片與原始相片進(jìn)行匹配,通過(guò)觀察特征匹配對(duì)數(shù)的變化分析算法對(duì)視角變換的魯棒性。在此選用Mikolajczyk 數(shù)據(jù)集中的graf 圖集進(jìn)行測(cè)試。
結(jié)合表5 和圖8 可以發(fā)現(xiàn),當(dāng)視角角度變換時(shí),4 種算法匹配數(shù)目都急劇下降,但變換角度比較大時(shí),SIFT 和SURF 算法依然有足夠的特征匹配數(shù),且SURF 算法的魯棒性更強(qiáng)。
Table 5 Matching number of each feature detection algorithm by the changed perspective表5 各特征提取算法匹配視角變換圖像的匹配對(duì)數(shù)
Fig.8 Line chart of matching number when perspective is effected圖8 圖像視角變換時(shí)匹配對(duì)數(shù)折線
圖像特征提取算法的實(shí)時(shí)性以及在復(fù)雜場(chǎng)景中表現(xiàn)出的魯棒性是圖像特征研究的重要內(nèi)容,本文選取ORB、SURF、SIFT 和BRISK 四種主流特征提取算法,在分析這幾種算法原理及特點(diǎn)基礎(chǔ)上,探究了算法的運(yùn)行速度和復(fù)雜環(huán)境下魯棒性對(duì)比。實(shí)驗(yàn)結(jié)果表明,在實(shí)時(shí)性方面,ORB算法有很大優(yōu)勢(shì),具備良好的實(shí)時(shí)性,且ORB 算法在光照變化的情況下表現(xiàn)出較好的穩(wěn)定性;SURF 在模糊變換、光照變換、視角變換場(chǎng)景下,能夠獲取較多的特征匹配數(shù),魯棒性最強(qiáng),有利于后續(xù)工作展開(kāi),在不考慮時(shí)間消耗情況下,SURF 可作為首選算法;BRISK 算法在光照變化情況下具有較好的穩(wěn)定性。本文結(jié)果可為后續(xù)圖像特征研究工作提供參考。設(shè)計(jì)更合理的評(píng)價(jià)參數(shù)對(duì)圖像特征相關(guān)算法進(jìn)行比較分析是下一步研究方向。