羅守品, 楊 濤, 梅艷瑩
(1.西南科技大學 信息工程學院,四川 綿陽 621010;2.特殊環(huán)境機器人技術四川省重點實驗室,四川 綿陽 621010)
目前主流的圖像匹配方法主要為基于圖像灰度和圖像特征點的匹配方法。其中基于圖像特征點的匹配方法憑借其良好的匹配識別率和響應速度得到廣泛推廣和研究。文獻[1]提出了SIFT(scale-invariant feature transform)圖像匹配方法,使用高斯差分算子構建圖像金字塔,為每個特征點描述子構建128維特征向量,使得其在圖像平移、旋轉、光照變化等情況下具有較強魯棒性,但該方法計算過程復雜,實時性較差。文獻[2]提出了使用ORB(oriented brief)方法實現(xiàn)圖像檢測匹配,通過計算圖像小鄰域像素點灰度極值確定特征點,使用二進制特征描述符作為描述子,從而使得算法具有較高實時性且配準效果較好,但其不具備尺度不變性且對噪音敏感。文獻[3]提出了一種改進的SIFT方法,使用 NSCT(non-subsampling contourlet transform) 將參考和待匹配圖像進行分解,獲取低頻圖像[3],采用Canny算子檢測圖像邊緣特征點,方法配準率較高且處理耗時較少。文獻[4]提出了一種多特征融合的圖像格貼近度匹配方法,對圖像的灰度、密度及紋理特征進行融合,使得查準率得到較大提高。文獻[5]提出了基于局部特征的大視角圖像匹配方法,采用非線性擴散濾波代替高斯線性濾波對圖像進行預處理,提高檢測到的特征點的魯棒性[5]。文獻[6]提出了改進的ORB匹配方法,在圖像配準時使用RANSAC算法剔除誤匹配點,提高配準率[6]。
針對以上情況,為了使ORB方法具有尺度不變性,同時剔除圖像誤匹配,提高匹配識別率。本文提出了一種基于改進ORB和網(wǎng)格運動統(tǒng)計的圖像匹配方法。使用SURF算法替換FAST算法提取圖像特征點,使用盒子濾波器改變高斯模糊尺寸大小構建圖像金字塔,建立尺度不變性特征。針對圖像邊緣及輪廓處角點集中和匹配過程中易出現(xiàn)的誤匹配,使用GMS(grid-based motion statistics)方法完成對正確匹配和錯誤匹配的識別與剔除,提高算法整體的匹配識別率。
原始ORB方法中采用FAST算法檢測圖像特征點,計算速度較快,但不具備尺度信息,當待檢測圖片發(fā)生大尺度變化時匹配效果較差。對此本文采用SURF方法替換FAST算法完成特征點提取。
Hessian矩陣是SURF算法的核心,計算每個像素點的Hessian矩陣行列式,采用像素點局部行列式極值作為待測圖片特征點[7]。圖像中像素點A(x,y)的Hessian矩陣
(1)
式中Lxx(x,σ),Lxy(x,σ),Lyy(x,σ)為高斯二階微分在點A(x,y)處與輸入圖像的卷積。
為實現(xiàn)特征點的尺度不變性特征且同時減少算法時間消耗,本文SURF方法構建4層圖像金字塔,分別為octave1~octave 4,第一層octave1存放原始圖像,第octave 2~octave 4層分別由上一層圖像2倍采樣下獲得,使得不同層圖像模糊程度不同且逐級更加模糊。并且在每層圖像中只放置一張不同模糊程度的圖像,進一步對算法進行加速。
同時,使用3×3的濾波器對各層金字塔進行掃描。將經(jīng)過Hessian矩陣處理過的每個像素點與其三維鄰域的26個像素點進行極值比較,保留極大值或者極小值,作為初步特征點。并將初步特征點與預設閾值進行比較(minHessian=600),去除不滿足設計要求的像素點,實現(xiàn)特征點精確定位。
為保證特征點具有旋轉不變性特征,需為SURF算法檢測到的特征點添加方向信息。計算特征點周圍半徑為r(r=3)的鄰域像素點質心,使用特征點到質心的方向向量作為該特征點的主方向。特征點p的鄰域矩定義為
(2)
式中I(x,y)為圖像特征點灰度值,且質心計算
(3)
故使用SURF檢測得到的特征點主方向計算
(4)
完成對特征點的尺度信息與方向信息構建后,在特征點附近隨機選取若干點對。將這些點對的灰度值的大小,組合成一個二進制串,并將這個二進制串作為該特征點的特征描述子[8]。
圖像配準是圖像檢測匹配中關鍵的一個環(huán)節(jié),目前較常用方法為RANSAC算法,其能從含有誤匹配的2幅圖片中剔除錯誤匹配特征點,但迭代次數(shù)較多且只能以一定概率得到可信模型[9]。GMS方法的主要思想為運動的平滑性導致了匹配的特征點鄰域有較多匹配的點,可以通過計數(shù)鄰域的匹配點個數(shù)來判斷一個匹配是否正確[10]。
假設圖像集{Ia,Ib}分別具有{N,M}個特征,X={x1,x2…,xi,…xN}是從Ia到Ib的所有最近鄰特征匹配的集合。那么每個特征匹配對鄰域中的特征點數(shù)量可作為成功特征匹配的標準。正確匹配對在{Ia,Ib}中分別對應的鄰域為{a,b},則有匹配點鄰域支持度
Si=|Xi|-1
(5)
式中Xi?X,Xi為鄰域{a,b}的匹配子集。由于每個特征的匹配是獨立的,可以用二項式分布函數(shù)近似表示Si在Xi鄰域的匹配分值
(6)
式中pt,pf為正確和錯誤匹配概率,K為區(qū)域中不連接鄰域的數(shù)量,n為圖像序列中對應圖像的特征個數(shù)。可以得出Si整體呈雙峰分布,其平均值和標準差分別為
(7)
由此可得概率評估標準函數(shù)
(8)
為驗證本文算法的圖像匹配效果,采用MATLAB編程實現(xiàn)算法,在SURF特征點檢測部分使用OpenCV開源視覺庫。實驗配置為:Windows 10 專業(yè)版,AMD Ryzen 52600X處理器,主頻3.6 GHz,內存8 GB;軟件版本為MATLAB2018,Visual Studio 2015,OpenCV310。
為測試算法配準性能,實驗總共分為三部分,分別為尺度和旋度不變性測試、模糊測試和亮度變化測試[11],分別與原始ORB方法、ORB+RANSAC方法進行對比分析。實驗方案設計如圖1所示。實驗使用圖像選取教學樓,圖2(a)~圖3(a),圖3(b),(c)分辨率均為400×500,圖2(b),(c)分辨率為230×250,圖4(a)~(c)分辨率為380×496。
圖1 實驗方案流程
原始ORB方法不具備尺度不變性特征,本文中使用SURF算法提取圖像特征點,并建立4層圖像金字塔。為驗證本文算法對圖像的尺度和旋度不變性性能,將待檢測圖像進行縮放和旋轉(30°),分別將其與原始ORB算法、ORB+RANSAC算法進行對比,如圖3所示。從實驗結果可以看出:在圖像發(fā)生尺度變化時,原始ORB方法出現(xiàn)誤匹配情況較多,經(jīng)RANSAC方法篩選后的ORB方法誤匹配點減少,但同時匹配對數(shù)也減少。本文算法提取特征點較多,配準率達到95.1 %,具有較好的配準效果。
圖2 尺度、旋度不變性對比實驗
為驗證本文的算法在模糊情況的配準性能,使用高斯模糊處理待匹配圖像,分別將其與原始ORB算法、ORB+RANSAC算法進行對比,如圖3所示。由實驗可知,原始ORB方法、ORB+RANSAC算法在圖像模糊情況下,配準效果較差。本文所提算法在圖像模糊后仍然具有95.8 %的配準率,具有較強魯棒性。
圖3 圖像模糊匹配對比實驗
圖像亮度變化在實際情況中較為普遍,是影響圖像配準的重要因素之一。為驗證本文算法對圖像亮度變化情況下的配準性能,分別將其與原始ORB算法、ORB+RANSAC算法進行對比,如圖4所示。從實驗可以看出,本文所提算法在圖像發(fā)生亮度變化時影響較小,匹配率為94.5 %,具有較強的魯棒性。
圖4 圖像亮度變化對比實驗
為進一步驗證本文算法在尺度、旋度、亮度變化和圖片模糊時的算法性能,分別記錄其與原始ORB、ORB+RANSAC方法實驗的處理時間和匹配點對數(shù),由于操作系統(tǒng)等客觀原因導致每次算法運行耗時有微小偏差,故匹配時間均為10次均值,如表1所示。
表1 算法匹配準確度及時間對比
實驗結果表明:本文所提算法在圖像發(fā)生旋轉、尺度變化、亮度變化和模糊情況下,使用基于改進ORB和網(wǎng)格運動統(tǒng)計的方法在對圖像配準時具有較好的效果,算法耗時較原始ORB方法較多,主要耗時集中在GMS剔除誤匹配階段,但配準率平均提高44.33 %,與使用RANSAC方法剔除誤匹配的ORB算法相比,本文所提算法耗時平均增加0.26 s,但配準率平均提高9.63 %,可以得出本文算法具有更高的配準精度和魯棒性。