趙柏山 張 楠
(沈陽工業大學信息科學與工程學院 沈陽 110870)
圖像匹配是指通過提取圖像中比較顯著的點形成數據信息,然后與其他圖像的信息進行比對從而找到兩幅或多幅圖像的相關性。目前,在各領域中廣泛使用基于互信息的圖像配準,且出現了較多的優化算法[1]。在圖像匹配方法中基于特征點的方法更受歡迎,因其在圖像旋轉和光照變化等方面的匹配性能更好。基于特征的影像匹配算法主要是提取圖像的局部不變特征,如點特征、線特征等。其中,基于點特征的影像匹配算法以其穩定高效的優點而受到研究者的青睞。基于點特征的影像匹配算法由特征點提取、特征點描述以及特征點匹配三個步驟組成。
傳統的特征匹配算法[2~5],因利用高斯濾波來消除噪聲,會導致圖像邊界模糊和細節丟失[6]。為了解決這個問題,KAZE算法[7]采用基于非線性尺度空間的方法,即加性算子分裂(AOS)[8]算法來構造尺度空間,在非線性尺度空間完成特征點的檢測。但該算法實現復雜,因此,提出了AKAZE算法[9~11],該算法在匹配精度和運算復雜度上都較KAZE算法有所優化。盡管如此,仍提高得不夠理想。故此提出一種改進算法,利用FAST算法的高效提取對AKAZE算法的特征提取部分進行改善,使得算法在匹配速度及一些變換圖像的魯棒性方面[12~13]有進一步的提高。通過實驗結果表明新算法的配準效果良好。
AKAZE算法雖然利用了二進制描述符,但由于特征點檢測部分是用非線性濾波來構造尺度空間,因此匹配速度較慢。為提高匹配速度,現將ORB特征點檢測與AKAZE算法的M-LDB描述符相結合,來實現圖像特征匹配。
特征點檢測部分使用改進的FAST算法[14],即拿一個點跟它周圍的點比較,如果它和周圍大部分的點都不一樣就可以認為它是一個特征點。
首先定義一個閾值t,然后計算周圍像素點與中心像素點的灰度差的絕對值,如果16個像素點中有N個點的絕對值大于等于t,則判定該檢測點為特征點。為加快判定過程,先計算序號為1,5,9,13這4個像素點,其中至少有3個滿足條件才進一步判斷其它的像素點,否則丟棄P點。判定公式如下:

其中,I表示灰度值,N一般取9或者12。使用FAST算法找到的特征點如圖1。

圖1 FAST算法找到的特征點
為了彌補FAST算法的方向敏感性問題,ORB算法采用oFAST算法,即給FAST特征添加上方向信息。特征點方向的確定是在特征點鄰域內找到特征點到質心的矢量方向以此方向來定義特征點的方向,鄰域矩的公式可表示為

其中,S表示待測特征點的鄰域,I表示灰度值。鄰域的質心坐標可為

其中,m00,m01和m10分別為式(3)中p、q取值為0或1時的值。此時,可得到特征點的方向為

改進算法的特征點描述與匹配使用的是AKAZE算法的M-LDB[15]描述法。以任意給出的某圖像為例,M-LDB描述符是根據特征點主方向,將LDB所劃分的網格單元做相應旋轉使其旋轉到主方向上,然后計算每個網格的平均強度和梯度,各公式如下:

式中,m為網格i的總數,Iavg(i)為各網格單元的平均強度,dx(i)和dy(i)分別為網格i區域的x和y方向的梯度。然后,LDB分別比較成對網格單元之間的平均強度和梯度,根據比較結果,相應地設為0或者1。其公式如下:

對M-LDB算子生成的結果進行漢明距離匹配,生成匹配結果。用RANSAC[16~17]算法對匹配結果進行篩選,得到準確率較高的匹配圖像。
對不同模糊程度圖像(blurbikes)、不同程度的JPEG壓縮圖像(JPEGubc)、不同光照強度圖像(light.Leuven)、不同旋轉角度的圖像(viewpoint.graf)分別選取四張圖片組成實驗數據,通過第一張圖片與其后的三張圖片匹配得出匹配結果,把它們定義為第1~3組,對比它們的匹配時間與正確率。其中匹配時間是通過取30次匹配時間的平均值得出的,匹配正確率是取30次匹配正確率的平均值得出的。
實驗中,所用的電腦為Windows7系統,64位的操作系統,并使用Visual Stdio 2017進行實驗。
不同模糊程度的圖像如圖2所示,將后三幅圖片分別與第一幅圖進行匹配,記錄不同算法所用的匹配時間及正確率。圖2(a)與圖2(d)在改進算法下的匹配結果如圖3。

圖2 不同模糊程度的圖像

圖3 改進算法的匹配結果
不同模糊程度的圖像的匹配時間與正確率的對比情況見表1(表中單位為百分比和微秒(ms))。

表1 不同模糊程度圖像匹配時間與正確率
從表1可以看出,對于不同模糊程度的圖像在匹配速度方面,本算法比AKAZE算法的匹配速度快了近4倍;在匹配準確率方面,比ORB算法準確率高,比AKAZE算法略低。
對原圖片進行不同程度的JPEG壓縮后如圖4所示與原圖像圖4(a)進行匹配,改進算法的匹配結果如圖5。匹配時間與正確率對比情況見表2。

圖4 不同程度的JPEG壓縮圖像

圖5 改進算法的匹配結果

表2 不同JPEG壓縮圖像的匹配時間與正確率
從表2可以看出,在不同程度的壓縮圖像在匹配速度方面,本算法比AKAZE的匹配速度平均快了兩倍多;在匹配準確率方面,本算法比ORB算法和AKAZE算法都要高。
不同光照強度圖像如圖6所示,圖6(a)與圖6(d)在改進算法下的匹配結果如圖7。相應的匹配時間與匹配正確率對比情況見表3。

圖6 不同光照強度圖像

圖7 改進算法的匹配結果

表3 不同光照強度圖像的匹配時間與正確率
從表3可以看出,在不同光照強度時,匹配速度方面,本算法比AKAZE算法快了近五倍;在匹配正確率方面,本算法在光照強度變化較小時,比ORB算法和AKAZE算法都高,但是在光照較暗時,正確率還有待提高。
不同旋轉角度的圖像如圖8,圖8(a)與圖8(d)在改進算法下的匹配結果如圖9。匹配的時間與正確率對比情況見表4。

圖8 不同選轉角度圖像

圖9 改進算法的匹配結果

表4 不同旋轉角度圖像的匹配時間與正確率
從表4可以看出,在圖像的旋轉角度變化中,在匹配速度方面,本算法比AKAZE算法快了五倍多;在匹配正確率方面,本算法在角度變化較小時,比ORB算法和AKAZE算法都高,但是在角度變化較大時,比ORB算法高比,AKAZE算法低,正確率還有待提高。
文中提出的改進算法是將ORB算法與AKAZE算法相結合,采用ORB的FAST角點檢測,提高了特征點檢測速度。采用AKAZE的特征點描述部分保留了其魯棒性強的特點,匹配時使用漢明距離,速度比歐式距離快。由此可見,兩者結合后,算法的匹配速度比AKAZE算法提高很多。在不同JPEG壓縮的圖像、不同的光照強度圖像匹配中,改進后的算法的匹配精度也比ORB算法與AKAZE算法更高。目前還存在著在不同模糊程度、不同旋轉角度時匹配精度較AKAZE算法差的問題,對此如何解決,也將成為后續研究的重點。