?

基于AKAZE的BOLD掩碼描述符的匹配算法的研究

2020-06-16 11:12邢長征李思慧
計算機應用與軟件 2020年6期
關鍵詞:魯棒性正確率函數

邢長征 李思慧

(遼寧工程技術大學電子與信息工程學院 遼寧 葫蘆島 125105)

0 引 言

局部特征匹配算法是圖像拼接[1-3]、SLAM[4-5]等重要的組成部分。局部特征匹配算法首先需要構建尺度空間,以滿足匹配算法具有尺度不變性。尺度空間的構建方式主要有兩種:(1) 高斯核函數與灰度圖像卷積得到;(2) 利用非線性濾波函數構建。

利用高斯核函數構建尺度空間的匹配算法有:SIFT算法[6]、SURF算法[7]、ORB算法[8]等。這類算法具有較好的魯棒性,匹配速度也比較快,但是高斯核函數卷積操作會致使圖像的邊緣信息丟失,嚴重影響特征點和描述符的穩定性。利用非線性濾波函數構建的尺度空間算法主要有:KAZE算法[9],AKZAE算法[10]等。非線性濾波函數構建的尺度空間可以更好地保護圖像邊緣處的信息,增加了匹配算法的魯棒性。KAZE算法的特征點檢測和描述符均借鑒SURF算法,但KAZE算法的魯棒性較SURF算法更強,足以證明非線性尺度空間的優越性。鑒于非線性尺度空間的優越性,許多研究者在KAZE算法和AKZAE算法的基礎上提出創新。文獻[11]提出KAZE算法與FREAK描述符相結合的算法,雖增加KAZE算法的匹配算法,但是降低了算法的魯棒性。針對KAZE算法匹配速度較慢等問題,文獻[12]提出32維圓形M-SURF描述符,通過余弦相似性判斷不同描述符的相似性,雖增加了匹配速度,但造成匹配魯棒性嚴重下降。文獻[13]提出把灰度圖像替換為顏色不變空間,以增加AKAZE算法的魯棒性,雖算法的魯棒性得到增加,但匹配算法速度下降。文獻[14]提出對AKAZE算法描述符進行更改,使用三元組LATCH描述符替代MLDB描述符,以增加AKAZE算法的匹配算法,但LATCH描述符[15]需要借助機器學習算法尋找最佳三元組像素塊,故本身不具有良好的移植性。

綜上所述,現有的改進AKAZE算法增加魯棒性同時速度下降嚴重,增加匹配速度的同時魯棒性下降嚴重。針對這一問題,本文提出一種BOLD掩碼[19]的AKAZE算法,對采樣區域旋轉20度得到掩碼采樣區域并建立MLDB描述符,通過掩碼區域MLBD描述符與采樣區域MLDB做異或得到BOLD掩碼,最后利用漢明距離衡量不同描述符的相似性。

1 AKAZE算法

1.1 非線性金字塔搭建

非線性擴散濾波算法主要是將灰度圖像L在不同尺度上變化表示為流動函數的擴散過程,可用非線性偏微分方程表示為:

(1)

式中:L表示圖像灰度信息;div表示流動函數的擴散;▽表示圖像的梯度;c(x,y,t)表示傳導函數。

c(x,y,t)=g(|▽Lσ(x,y,t)|)

(2)

式中:t為尺度參數;▽Lσ表示灰度圖像L經過高斯濾波后的梯度圖像。g(·)函數表示為:

(3)

式中:k為控制擴散度的對比因子。

在AKAZE算法基礎上提出FED算法[16],解非線性擴散濾波函數中的偏微分方程式。FED算法可表示為:

Li+1,j+1=(I+τjA(Li))Li+1j=0,1,…,n-1

(4)

式中:I表示單位矩陣;A(Li)為圖像Li的傳導矩陣;n表示顯性擴散步數;τj表示對應步長。

(5)

式中:τmax為最大迭代步長。單個FED算法周期的停止時間θn為:

(6)

在非線性尺度空間的組和層,用o和s來表示,則對應的尺度參數可以表示為:

σi(o,s)=σ02o+s/So∈{0,1,…,O-1}

s∈{0,2,…,S-1}i∈{0,2,…,O×S-1}

(7)

式中:σ0為初始尺度參數;O×S表示金字塔共有的層數。非線性尺度空間的尺度參數σ轉換到時間單位中,映射關系可表示為:

(8)

式中:ti表示非線性金字塔的進化時間。

1.2 特征點檢測

金字塔上尋找極大值從而確定特征點:

(9)

式中:σi為尺度因子初始值;Lxx為x方向的2階導數,Lxy和Lyy類似。對于每一個經過Hessian矩陣歸一化的像素點,將其與金字塔相鄰尺度中σi×σi區域以及本身所在尺度σi×σi區域的像素點的大小比較,像素值最大值時為特征點。

定位到特征點位置后,以特征點為中心,畫出半徑為σi的圓分為6個扇形,計算每個扇形內所有像素點在橫縱方向一階導數的高斯加權值,高斯加權值最大方向為特征點主方向θ。

2 BOLD-MLDB描述符建立

在非線性尺度空間中提取了特征點并建立了特征點的主方向后,建立MLDB描述符進行匹配。本節提出BOLD-MLDB描述符,旨在增強AKAZE算法的魯棒性。具體構建方式如下:

第一步以特征點為中心選取合適的采樣區域P構建MLDB描述符[17],將采樣區域P劃分為n×n個網格。計算n×n單個網格內像所有像素值的平均值,表示為:

(10)

式中:I(k)為灰度圖像的像素值;m是每個劃分網格內的像素點的個數;i表示為采樣區域一共被劃分網格的數量。

第二步計算每個網格內像素點在x和y方向上的梯度,根據每個網格平均像素值和網格像素的梯度值進行編碼,可表示為:

Func(·)={Funcintensity(i),Funcdx(i),Funcdy(i)}

(11)

式中:Funcintensity(i)=Iavg(i),Funcdx(i)=Gradientx(i)=dx,Funcdy(i)=Gradienty(i)=dy。

第三步由式(10)可得,構建出LDB描述符每一對網格比較得到的二進制位3位,可用公式表示為:

(12)

則MLDB描述符可表示為:

(13)

本文中MLDB描述符大小為256 bit。

第四步采樣區域P以主方向θ為基準,旋轉20度得到掩碼采樣區域P′,并建立掩碼采樣區域P′的MLDB描述符,如圖1所示。

圖1 M-LDB描述符構建

(14)

本文采樣區域P的MLDB描述符為256 bit,則它的BOLD碼同為256 bit,從而得到BOLD-MLDB描述符大小為512 bit。

3 描述符匹配

判斷兩個特征點描述符是否為同一對,SIFT算法計算不同描述符的歐式距離,AKAZE算法計算MLDB描述符的漢明距離。BOLD-MLDB描述符是由MLDB描述符和BOLD碼組成,BOLD碼表示為MLDB描述符的穩定性,因此不能單純地計算描述符的漢明距離。若有兩幅待匹配圖像IR和IL,則fL表示IL特征點的MLDB描述符,mL表示BOLD碼;fR表示IR特征點的MLDB描述符,mR表示BOLD碼。計算BOLD-MLDB描述符距離可表示為:

(15)

式中:D表示為二進制描述符的維數。

4 實 驗

4.1 實驗過程

本文提出BOLD-AKAZE算法旨在增加AKAZE算法的魯棒性,故選擇AKAZE算法、SIFT算法和ORB算法與本文算法在Oxford數據集中具有模糊變換、放射性變換、JPG壓縮變換和尺度變換的圖像組進行對比實驗,測試不同匹配算法匹配正確率和匹配算法的速度。AKAZE算法描述符為486 bit,ORB算法的描述符維度為256 bit,SIFT算法描述符的維度為126維;本文算法的M-LDB描述符為256 bit,BOLD掩碼的描述符為256 bit,故BOLD-MLDB描述符為512 bit。測試圖像如圖3所示,每組測試數據共有6幅圖像,第1幅圖像為基準圖像,其他圖像為目標圖像。

本文實驗平臺為個人筆記本,CPU主頻為2.4 GHz、內存為8 GB,開發環境為VS2013+Opencv3.10。

(a) Bike圖像(1/6) (b) Bike圖像(6/6)

(c) UBC圖像(1/6) (d) UBC圖像(6/6)

(e) Wall圖像(1/6) (f) Wall圖像(6/6)

(g) Boat圖像(1/6) (h) Boat圖像(6/6)

4.2 實驗結果

ORB算法利用FAST算法檢測特征點,速度較快,而且BRIEF描述符僅通過比較兩兩像素的大小建立256 bit的二進制描述符,故匹配速度最快。AKAZE算法需要利用FED算法迭代解非線性函數,所需的時間較長;MLDB描述符需要計算梯度信息,且描述符的維度為486 bit,故匹配速度不及ORB算法。SIFT算法描述符為128維浮點型,需計算歐式距判斷不同描述符的相似性,故匹配速度最慢。本文所提的BOLD-MLDB描述符的維度是512 bit,比傳統的AKAZE算法描述符維度高,故匹配速度不及AKAZE。如表1所示,ORB算法、SIFT算法、AKAZE算法和本文算法的匹配速度排序為:ORB算法、AKAZE算法、本文算法、SIFT算法。

表1 匹配時間 s

ORB算法的尺度空間使用高斯核函數卷積得到,使得尺度空間中不同層的圖像邊緣信息丟失,影響了特征點和描述符的魯棒性,而且ROB算法使用的FREAK描述符[18]構造簡單,代表的局部信息較少,故ORB算法的匹配正確率最低。SIFT算法雖也使用高斯核函數構造尺度空間,但是SIFT描述符利用采樣區域梯度信息建立128維描述符,描述信息量較大,魯棒性較強,故匹配正確率超過ORB算法。AKAZE算法利用非線性濾波函數構造非線性尺度空間,可更好地保護圖像邊緣信息,保證了描述符和特征點的穩定性。而且MLDB描述符不僅由像素塊強度編碼得到,還引入像素塊梯度信息,增加了描述符的可分辨性,故AKAZE算法的匹配正確率高于SIFT算法。本文所提算法在AKAZE算法基礎上提出了BOLD-MLDB掩碼,BOLD-MLDB掩碼與MLDB描述符相結合,有效增加了描述符的魯棒性,故BOLD-AKAZE算法的正確匹配率高于KAZE算法。

各算法對圖2圖像進行測試得到的匹配正確率柱狀圖如圖3所示。對于Bike組具有模糊變換的圖像,本文算法具有較好的魯棒性,匹配正確率遠優于ORB算法和SIFT算法,相較于AKAZE算法匹配正確率也有一定的提高。對于UBC組具有JPG壓縮變換的圖像,各算法的穩定性均很好,但本文算法的匹配正確率最佳。對于Wall組具有放射變換的圖像,SIFT算法、ORB算法、AKAZE算法隨著圖像變換程度的加大,匹配正確率迅速下降,但是本文算法的匹配正確率下降速度緩慢。對于Boat組具有尺度變換的圖像,各算法的匹配正確率均在下降,但當待匹配圖像變換最大時,本文算法的匹配正確率仍高于30%。

(a) Bike圖像匹配正確率

(b) UBC圖像匹配正確率

(c) Wall圖像匹配正確率

(d) Boat圖像匹配正確率

5 結 語

針對現有AKAZE改進算法魯棒性和匹配速度不佳的問題,本文提出一種BOLD掩碼AKAZE算法。首先以特征點采樣區域建立MLDB描述符;然后把采樣區域旋轉20度作為掩碼采樣區域建立MLDB描述符,并把掩碼采樣區域MLDB描述符與采樣區域MLDB描述符做異或,得到BOLD掩碼描述符;最后使用漢明距離衡量不同描述符的相似性。實驗表明:本文算法的魯棒性相較AKAZE算法有巨大的提升,匹配速度雖有減慢,但也僅是SIFT算法匹配時間的50%左右。綜上所述,本文算法可應用于對魯棒性要求較高且匹配速度較快的領域。

猜你喜歡
魯棒性正確率函數
個性化護理干預對提高住院患者留取痰標本正確率的影響
課程設置對大學生近視認知的影響
武漢軌道交通重點車站識別及網絡魯棒性研究
生意
一種基于三維小波變換的魯棒視頻水印方案
電子節氣門非線性控制策略
生意
關于函數的一些補充知識
基于魯棒性改進理論的大面積航班延誤治理分析
高中數學中二次函數應用舉隅オ
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合