陳 艷,曾慶化,2,王云舒,2,劉建業,2,劉 昇
(1. 南京航空航天大學自動化學院導航研究中心,南京 211106;2. 衛星通信與導航協同創新中心,南京 211106;3. 中航工業洛陽電光設備研究所,洛陽 471009)
圖像匹配是數字圖像分析和處理的基本問題,是圖像處理技術應用的重要前提,現已廣泛應用于圖像融合、機器人自主行駛、目標跟蹤與識別和視覺導航[1]等領域。基于特征的圖像匹配算法因其計算量小、計算速度快,是當前圖像匹配技術的主流方向。經典的點特征圖像匹配算法有SIFT[2](Scale Invariant Feature Transform)算法、SURF[3](Speeded Up Robust Features)算法和ORB[4](Oriented FAST and Rotated BRIEF)算法等。根據實驗驗證[4],ORB算法的性能優于SIFT與SURF算法,在具備旋轉不變性的同時,其計算速度是SIFT算法的100倍,是SURF算法的10倍。
ORB算法計算速度較快,能抵抗旋轉變換。但由于可見光圖像和紅外圖像的灰度差異大,ORB算法對可見光和紅外圖像匹配效果較差,容易出現較多的錯誤匹配點。國內外已公布的基于點特征進行的可見光與紅外圖像匹配研究較為有限。文獻[5]在點特征檢測與描述的基礎上,采用廣義Hough變換與隨機采樣一致性相結合的方法進行特征匹配,實現了對可見光與紅外圖像的匹配。文獻[6]利用特征點的形狀上下文描述符,對紅外圖像和可見光圖像進行匹配。
雖然可見光圖像和紅外圖像的灰度信息差異較大,但其具有相同的邊緣信息,因此基于邊緣特征的匹配算法是解決可見光和紅外圖像匹配的有效途徑。文獻[7]提出了一種基于直線幾何形狀特征的可見光和紅外圖像匹配方法。文獻[8]利用線段上下文描述符對可見光與紅外圖像進行匹配。文獻[9]提出基于互相關系數和canny邊緣區域相結合的匹配算法。
本文將邊緣特征引入ORB算法,提出了一種基于邊緣特征的改進ORB算法。該算法采用了一種基于改進最大類間方差法的自適應canny算子檢測可見光圖像和紅外圖像的邊緣,將兩幅邊緣圖像作為ORB算法的輸入,利用最近次臨近原則實現粗匹配,用RANSAC算法實現精匹配,從而加強ORB算法對可見光與紅外圖像匹配的性能。實驗證明,該算法對可見光與紅外圖像匹配具有較好的魯棒性,能獲得較多的正確匹配點對和較高的匹配正確率,有利于推廣使用于可見光與紅外圖像融合等領域。
ORB算法是基于FAST算法和BRIEF[10]算法的改進算法,ORB算法繼承了這兩種算法的優點,擁有高效的計算效率。BRIEF特征不具備抗旋轉變換的能力,為了使ORB特征具備旋轉不變性,該算法分別對FAST算法和BRIEF算法進行了改進。
ORB算法利用改進FAST算法進行特征點檢測。FAST算法具有計算量小、可靠性高等優點,但FAST算法無法獲取特征描述所需的方向信息。因此,ORB算法采用灰度矩心法提供特征點主方向信息。
灰度矩心法假設特征點的灰度與鄰域灰度質心之間存在一個偏移向量,這個向量可用于表示一個方向。對任意一個角點,定義特征點區域的灰度矩為:

(1)
其中,I(x,y) 為點(x,y) 處的灰度值。于是,鄰域灰度矩心為:
(2)
那么特征點與鄰域灰度質心的夾角定義為ORB特征點的方向:
θ=arctan(m01,m10)
(3)
為了提高該方法的旋轉不變性,取以特征點為圓心、半徑為r的圓形區域為特征點的鄰域,上述的點(x,y)均在圓形區域內。
ORB算法利用改進BRIEF算法進行特征點描述。BRIEF算法速度快,但對噪聲敏感,不具備旋轉不變性。為了加強算法的抗噪聲能力,ORB算法根據Gauss分布,在特征點周圍的31×31像素鄰域內隨機選取5×5的子窗口,對窗口進行RBF平滑處理獲得其灰度積分,用窗口灰度積分的比較代替點對像素值的比較。為了使描述子具備旋轉不變性,ORB算法將特征點的主方向應用于BRIEF。
BRIEF中點對灰度的比較值又叫做binary test值,其定義為:

(4)
其中,p(x) 是平滑后點x處的像素灰度值。在特征點領域內取n個點對,BRIEF描述子可表示為:

(5)
然后,ORB算法將所有點對進行旋轉。在算法實現時,定義所有點對為2×2n的矩陣:
(6)
其中,每一列[xy]T為點對中某一點在圖像中的位置。定義特征點的主方向為θ,其旋轉矩陣為Rθ,則旋轉后的特征點對矩陣為:
Sθ=RθS
(7)
則ORB算法的描述符為:
gn(p,θ)=fn(p)|(xi,yi)∈Sθ
(8)
不同特征點的BRIEF描述子具有較大的差異性,不容易誤配。而經過旋轉處理后的描述子各成分間的相關性大,容易出現誤匹配的現象。因此ORB算法利用貪婪搜索,找到n個像素塊對使其相關性最低,并構成描述符。
因為ORB描述符為二進制形式,匹配時需要用漢明距離(Hamming Distance)進行相似性度量,并利用最近次臨近法進行判斷。漢明距離體現了兩個二進制字符串的相關程度,當兩個關鍵點之間的最短和次最短漢明距離比例小于0.5時,認為這兩個特征點匹配成功。
ORB算法具備運算速度快、抗旋轉變換的能力,但其對可見光和紅外圖像匹配的效果不佳。據研究,可見光和紅外圖像具備相似的邊緣特性,因此本文將邊緣特征引入ORB算法中,從而實現可見光與紅外圖像的匹配。
canny算子與傳統的微分算子相比具有運算速度快和檢測精度高的優點,是實踐中廣泛使用的一種邊緣檢測算法。然而canny算子的雙閾值均依靠人工設定,在實際運用過程中需要用不同的數值進行嘗試,過程比較繁瑣。因此,需要研究一種依據圖像梯度幅值的自適應canny算子。
1)圖像平滑:采用一維Gauss濾波函數G(x) 分別按行和列對原始圖像I(x,y)進行卷積操作得到平滑圖像I′(x,y)。

(9)
其中,σ為Gauss函數的標準差,控制平滑程度。
2)梯度計算:采用2×2鄰域1階偏導的有限差分H1、H2計算平滑圖像I′(x,y)中各點兩個方向的像素梯度dx(x,y)和dy(x,y) ,獲得平滑圖像I′(x,y)的梯度幅值M(x,y) 和梯度方向θ(x,y),其中:
(10)
dx(x,y)=I(x,y)·H1,dy(x,y)=I(x,y)·H2
(11)

(12)

(13)
3)非極大值抑制:對梯度幅值圖像M中的類邊緣區域的屋脊帶進一步做細化處理,得到梯度幅值局部區域的最大值,抑制局部區域內的干擾值,從而獲得更加精確的邊緣。
其基本思想是使用一個3×3鄰域作用于梯度幅值圖像M的所有點,如果鄰域中心點的梯度幅值M(x,y) 比沿梯度方向θ(x,y)上的兩個相鄰點幅值大,則將當前的鄰域中心點判別為可能的邊緣點,否則將M(x,y)賦值為0,判別為非邊緣點。
4)確定高低閾值:在經過非極大值抑制的梯度圖像基礎上,根據人工設定的閾值參數來確定作為真實邊緣像素個數占所有像素的比例,并在此基礎上來確定高閾值Vh和低閾值Vl。
5)邊緣檢測:用雙閾值法對經過非極大值抑制的梯度圖檢測出最接近真實目標的邊緣輪廓,掃描圖像,若點(x,y)的梯度幅值M(x,y) 大于高閾值Vh,則將該像素點標識為邊緣點;若梯度幅值M(x,y)小于低閾值Vl,則標識該點為非邊緣點;幅值介于Vl和Vh之間的像素點,則將其看作可疑邊緣,再進一步依據周圍像素的連通性對該像素進行判斷。
最大類間方差法即Otsu算法,可以自適應地確定閾值。利用圖像的灰度信息把圖像分類成目標和背景,目標與背景之間的類間方差越大,分類越正確。當目標和背景存在一定程度的錯分時,相應的類間方差會變小,所以當類間方差最大時,目標與背景錯分的概率最小。傳統的Otsu算法設置一個閾值將原始圖像分成目標和背景兩個部分,由于紅外圖像的邊界較模糊,部分目標和背景之間的灰度級相隔較近,分成3類能較好地區別出這一類灰度較小的目標,有助于canny算子獲得更精確的高低閾值。因此,本文設置兩個閾值T1、T2,且0 使用T1、T2把輸入圖像處理為3類,即C0、C1和C2。其中,C0由圖像中灰度值在[0,T1]范圍內的所有像素組成,C1由灰度值在[T1+1,T2]范圍內所有像素組成,C2由灰度值在[T2+1,L]范圍內所有像素組成。由閾值T1、T2,像素被分到類C0、C1和C2中的概率分別為P0(T1,T2)、P1(T1,T2)和P2(T1,T2),如式(14)~式(16)所示。 (14) (15) (16) 其中,pi為灰度級為i的概率,ni為灰度級為i的像素數,N為圖像總的像素數。 (17) (18) (19) C0、C1和C2類間方差表示為: (20) 類間方差最大時的閾值T1、T2即為canny算子的高低閾值。 基于Otsu法的自適應canny算子能夠根據圖像灰度的梯度幅值自動地找出合適的高低閾值,從而實現自適應canny算子增強算法的自動化程度。其具體實現步驟如下: 1)采用傳統canny算子的1~3步得到經過非極大值抑制的梯度圖像; 2)根據梯度圖像中各像素的灰度,采用改進Otsu法計算得到分割目標與背景的高低閾值; 3)將高低閾值輸入canny算子的第5步,得到邊緣圖像。 由于可見光與紅外圖像的邊緣圖像具有一定的相關性,且邊緣是圖像中最基本和比較固定的特征,所以利用邊緣圖像上提取的特征點進行圖像匹配,有利于匹配精度的提高。針對ORB算法無法實現可見光與紅外圖像的匹配,本文提出了基于邊緣特征的改進ORB算法,算法的工作示意圖如圖1所示,主要步驟如下: 1)采用基于改進Otsu法的自適應canny算子獲取可見光圖像和紅外圖像的邊緣圖像。 2)分別對可見光圖像和紅外圖像的邊緣圖像進行ORB特征提取與描述,并進行粗匹配。匹配時,根據最近次臨近原則,采用最小漢明距離度量特征點間的相似性。 3)利用RANSAC算法剔除步驟2中的錯誤匹配點對,在可見光圖像和紅外圖像中展現出結果。 本文實驗測試的環境為:Intel Core i3,CPU 2.93GHz,內存4.0GB。本文基于改進Otsu法的自適應canny算子和canny算子在Matlab R2014a中實現,canny算子中人工設定的閾值參數為0.7。本文采用的測試圖像如圖2所示,每一組的分辨率分別為256×183、204×160和250×185。 canny算子和基于改進Otsu法的自適應canny算子(簡稱“改進canny算子”)的邊緣檢測結果如圖3~圖5所示。 如圖3所示,當圖像中存在較多紋理時,canny算子的邊緣檢測結果受圖像紋理的影響較大,改進canny算子的邊緣檢測能較好地抵抗圖像紋理的影響,保留較為完整的外部輪廓。 如圖4和圖5所示,當圖像背景與目標灰度差異較大時,canny算子與改進canny算子的檢測結果相近。canny算子檢測的邊緣存在毛刺,不夠平滑;改進canny算子忽略了部分細節邊緣,利于后續的匹配。 本文實驗測試的環境為:Intel Core i3,CPU 2.93GHz,內存4.0GB。基于邊緣特征的改進ORB算法和ORB算法均在基于OpenCV2.4.9的VS2010中實現,測試圖像如圖2所示,實驗結果圖如圖6、圖7和圖8所示。表1和表2為ORB算法和本文算法的匹配結果數據。 如圖6和圖7所示,當可見光圖像和紅外圖像的灰度差異不強烈時,ORB算法有一定的匹配效果,但本文算法的匹配效果更好。如圖8所示,當可見光圖像和紅外圖像的灰度差異非常強烈時,ORB算法失效,而本文算法能正常工作。因而,本文算法具備較強的魯棒性。 如表1和表2所示,本文算法獲取的精匹配對數、正確匹配對數均比ORB算法多,且本文算法的匹配正確率均在80%以上,遠遠高于ORB算法,具有較好的匹配性能。 表1 ORB算法匹配結果 表2 基于邊緣特征的改進ORB算法匹配結果 針對ORB算法對可見光圖像和紅外圖像匹配效果差的問題,本文提出了一種基于邊緣特征的改進ORB算法。首先提出了基于改進Otsu法的自適應canny算子,然后對邊緣圖像提取ORB特征,最后采用最近次臨近方法進行粗匹配,用RANSAC法進行精匹配。 通過3組實驗證明,本文算法能在可見光圖像和紅外圖像灰度差異較大時正常工作,具有較好的魯棒性。該算法能有效地提高ORB算法對可 見光和紅外圖像匹配的性能,能獲得足夠多的正確匹配特征點對,具有良好的匹配正確率。 [1]Jia K, Chan T H, Zeng Z, et al. ROML: a robust feature correspondence approach for matching objects in a set of images[J]. International Journal of Computer Vision, 2016, 117(2):173-197. [2]Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. [3]Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features(SURF)[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359. [4]Rublee E, Rabaud V, Konolige K, et al. ORB: an efficient alternative to SIFT or SURF[C]. IEEE International Conference on Computer Vision, 2011, 58(11):2564-2571. [5]Bodensteiner C, Huebner W, Juengling K, et al. Local multi-modal image matching based on self-similarity[C]. IEEE International Conference on Image Processing, 2010, 119(5):937-940. [6]張姣, 李俊山, 朱英宏,等. SIFT與形狀上下文結合的異源圖像匹配算法[J]. 激光與紅外, 2012, 42(11): 1296-1300. ZHANG Jiao, LI Jun-shan, ZHU Ying-hong, et al. Matching method of IR/visual images based on SIFT and shape context[J]. Laser & Infrared, 2012, 42(11):1296-1300. [7]方蘭蘭, 劉貴喜, 呂孟嬌, 等. 利用邊緣直線特征的異源圖像配準[J]. 光學精密工程,2015,23(10):752-760. FANG Lan-lan, LIU Gui-xi, LYU Meng-jiao, et al. Multi-source matching of multi-sensor images based on edge line features[J]. Optics and Precision Engineering, 2015,23(10):752-760. [8]張亞紅, 夏仁波. 基于直線段上下文的紅外與可見光圖像匹配[J]. 科學技術與工程, 2015, 15(12):210-214. ZHANG Ya-hong, XIA Ren-bo. A matching algorithm of infrared and visible images based on segment context[J]. Science Technology and Engineering, 2015, 15(12):210-214. [9]陳亮, 周孟哲, 陳禾. 一種結合邊緣區域和互相關的圖像配準方法[J]. 北京理工大學學報, 2016, 36(3):320-325. CHEN Liang, ZHOU Meng-zhe, CHEN He. A method for image registration combined by edge region and cross correlation[J]. Transactions of Beijing Institute of Technology, 2016, 36(3):320-325. [10]Calonder M, Lepetit V, Strecha C, et al. BRIEF: binary robust independent elementary features[C]. European Conference on Computer Vision, 2010:778-792.






2.3 基于改進Otsu法的自適應canny算子
2.4 基于邊緣特征的改進ORB算法
3 實驗結果及分析
3.1 基于改進Otsu法的自適應canny算子性能測試
3.2 基于邊緣特征的改進ORB算法性能測試


4 結論