程 禹,王曉華,王文杰,張 蕾
(西安工程大學(xué)電子信息學(xué)院,陜西西安 710048)
基于特征的圖像匹配具有信息量大、抗干擾能力強(qiáng)的特點(diǎn),在視覺SLAM[1]、目標(biāo)識別[2-3]、目標(biāo)跟蹤[4]、三維重建[5-6]以及視頻監(jiān)控[7-8]等領(lǐng)域得到了廣泛的應(yīng)用。ORB(oriented FAST and rotated BRIEF)[9]算法、BRISK(binary robust invariant scalable keypoints)算法[10]等基于二進(jìn)制描述符來描述圖像特征點(diǎn),相比于傳統(tǒng)描述符,二進(jìn)制描述符提高了特征點(diǎn)的穩(wěn)定性,加速了特征向量匹配過程。Pablo F在KAZE算法[11]的基礎(chǔ)上提出了AKAZE算法[12],使用二進(jìn)制描述符M-LDB代替64維浮點(diǎn)型描述符M-SURF對特征點(diǎn)進(jìn)行描述,速度快、計(jì)算簡單,但在圖像發(fā)生尺度、模糊變化時(shí),特征點(diǎn)提取少、準(zhǔn)確度低。
針對上述問題,學(xué)者們對AKAZE算法的描述符進(jìn)行改進(jìn),分為二進(jìn)制描述符與非二進(jìn)制描述符2種方法。使用BRIEF、BRISK、ILDB[13]等二進(jìn)制描述符在圖像發(fā)生尺度、模糊等變化時(shí),可以提高算法的特征點(diǎn)數(shù)量,但會(huì)產(chǎn)生旋轉(zhuǎn)不變性丟失、運(yùn)算時(shí)間長等問題。應(yīng)用CNN[14]、LATCH等非二進(jìn)制描述符可以提高特征點(diǎn)描述準(zhǔn)確度,但圖像尺度變化時(shí)會(huì)產(chǎn)生特征點(diǎn)數(shù)量少、計(jì)算量大、丟失邊緣信息等問題。FREAK[15]是一種高穩(wěn)定性的二進(jìn)制描述符,其圓形對稱采樣結(jié)構(gòu)具有旋轉(zhuǎn)不變性、尺度不變性對光照與噪聲有較強(qiáng)的抵抗能力[16-18]。
上述的AKAZE改進(jìn)算法使用隨機(jī)抽樣一致算法(random sample consensus,RANSAC)[19]以及漸進(jìn)一致采樣算法(progressive sample consensus,PROSAC)[20]剔除誤匹配點(diǎn)對時(shí),會(huì)產(chǎn)生迭代次數(shù)不穩(wěn)定、運(yùn)算時(shí)間長、人為誤差等問題。MAGSAC[21]使用的模型質(zhì)量評估函數(shù)無需求解類內(nèi)點(diǎn)集,迭代次數(shù)不依賴類內(nèi)點(diǎn)閾值,在保證速度的基礎(chǔ)上,顯著提升了匹配精度。
為解決AKAZE算法在圖像尺度變化、模糊變化時(shí),特征點(diǎn)提取不均勻的問題,同時(shí)提高算法匹配準(zhǔn)確率,本文提出了一種改進(jìn)AKAZE的圖像特征匹配算法。通過構(gòu)建非線性尺度空間檢測特征點(diǎn),利用FREAK描述符對特征點(diǎn)進(jìn)行描述,使用采樣點(diǎn)確定特征點(diǎn)主方向,解決了M-LDB描述符穩(wěn)定性差的問題,使用邊緣化采樣一致方法對粗匹配結(jié)果進(jìn)行誤匹配點(diǎn)對剔除,解決了匹配算法迭代次數(shù)不穩(wěn)定、人為誤差的問題。
本文改進(jìn)算法的尺度空間是一種使用圖像亮度變化表示的非線性尺度空間。尺度空間為金字塔模型,每組圖像包含多個(gè)子層,各層采用的分辨率與原始輸入圖像相同。為了較好地保留圖像邊緣信息,該非線性尺度空間采用非線性擴(kuò)散濾波方法構(gòu)建,應(yīng)用流動(dòng)函數(shù)的散度描述圖像亮度在不同尺度空間的變化。本文改進(jìn)算法使用快速顯示擴(kuò)散(FED)算法求解流動(dòng)函數(shù),快速得到輸入圖像的非線性尺度空間。
計(jì)算非線性尺度空間中每個(gè)濾波圖像的像素點(diǎn)值,表示為
(1)
為克服傳統(tǒng)AKAZE算法局部二進(jìn)制描述符在尺度變化、模糊變化的環(huán)境下魯棒性差的缺點(diǎn),提高特征點(diǎn)匹配準(zhǔn)確率,使用FREAK描述符對檢測出的特征點(diǎn)進(jìn)行描述。具體步驟如下:
1) 采樣點(diǎn)選取。采樣點(diǎn)在以特征點(diǎn)為圓心的7層同心圓上。同心圓半徑與特征點(diǎn)尺度成正比,每層圓環(huán)上均勻選取6個(gè)采樣點(diǎn),共得到42個(gè)采樣點(diǎn),產(chǎn)生903個(gè)采樣點(diǎn)對。在得到采樣點(diǎn)后,對所有采樣點(diǎn)進(jìn)行高斯平滑,高斯平均使用的高斯核與當(dāng)前采樣點(diǎn)所在同心圓半徑成正比。每個(gè)采樣點(diǎn)都有一個(gè)感受域,感受域?yàn)橐栽擖c(diǎn)為圓心,高斯核為半徑的圓。
2) 描述符構(gòu)造。使用高斯平滑后的采樣點(diǎn)信息構(gòu)造FREAK描述符。將采樣點(diǎn)對的強(qiáng)度進(jìn)行比較,其比較結(jié)果組合構(gòu)成FREAK描述符,用F表示為
式中:Pα為感受域?qū)?N為特征向量的維度。T(Pα)定義如下:
特征點(diǎn)的主方向可以保證其旋轉(zhuǎn)不變性及抗噪能力。參與計(jì)算的采樣點(diǎn)越多耗時(shí)越長,因此,主方向O選取903個(gè)采樣點(diǎn)中的距離長、中心對稱的45個(gè)采樣點(diǎn)計(jì)算梯度,在保證準(zhǔn)確度的情況下提升了運(yùn)算速度。主方向O的計(jì)算公式為
(2)
相比于傳統(tǒng)AKAZE描述符的網(wǎng)格結(jié)構(gòu),FREAK描述符使用的同心圓結(jié)構(gòu)使得圓與圓之間重疊,能夠獲取到足夠多的圖像信息;遠(yuǎn)稀近密的采樣點(diǎn)分布能在保持描述準(zhǔn)確性的前提下提高速度;采用數(shù)量可變的對稱采樣點(diǎn)對計(jì)算主方向具有更好的魯棒性。
篩選出正確的特征點(diǎn)是特征匹配中的關(guān)鍵。本文選取FREAK描述符作為特征描述符,因此使用二進(jìn)制描述符的漢明距離對特征點(diǎn)進(jìn)行粗匹配,選取邊緣化采樣一致方法對粗匹配得到的特征點(diǎn)進(jìn)行精匹配,剔除錯(cuò)誤匹配點(diǎn)。
邊緣化采樣一致方法避免了手動(dòng)設(shè)定內(nèi)點(diǎn)閾值、迭代次數(shù)的影響。首先,在輸入數(shù)據(jù)點(diǎn)集Ρ中選擇4對特征點(diǎn)計(jì)算,得到模型M,得到單應(yīng)性矩陣參數(shù)θ。模型質(zhì)量函數(shù)Q(θ,σ,Ρ)中,σ為閾值,質(zhì)量函數(shù)的期望用來評估模型質(zhì)量。模型質(zhì)量函數(shù)為
(3)
式中:K為特征點(diǎn)數(shù)目;σi為特征點(diǎn)的投影誤差;D為殘差。根據(jù)評估函數(shù)判斷當(dāng)前模型是否為最優(yōu)模型。
根據(jù)σ求取每個(gè)點(diǎn)為內(nèi)點(diǎn)的概率,將閾值σ作為服從均勻分布的隨機(jī)變量,邊緣化σ得到:
(4)
將各點(diǎn)概率視為每個(gè)點(diǎn)的權(quán)重,根據(jù)權(quán)重使用加權(quán)最小二乘法擬合來優(yōu)化模型。
傳統(tǒng)RANSAC的迭代次數(shù)計(jì)算需要內(nèi)點(diǎn)率,內(nèi)點(diǎn)率依賴于類內(nèi)點(diǎn)閾值σ。由于未設(shè)置閾值σ,因此迭代次數(shù)計(jì)算需要將閾值σ邊緣化,即
(5)
根據(jù)模型的質(zhì)量函數(shù)判斷當(dāng)前模型是否為最優(yōu)模型,若是,則更新迭代次數(shù)k,進(jìn)行新的迭代;若不是,則停止迭代,輸出之前最優(yōu)模型為這一數(shù)據(jù)集最優(yōu)模型,并根據(jù)該模型計(jì)算正確匹配點(diǎn)對,剔除錯(cuò)誤點(diǎn)。
為了驗(yàn)證本文改進(jìn)算法的準(zhǔn)確性與實(shí)用性,選取1組包含尺度變化、亮度變化、旋轉(zhuǎn)變化、模糊變化的彩色圖像,分別采用AKAZE+MAGSAC、本文改進(jìn)算法+MAGSAC進(jìn)行圖像匹配實(shí)驗(yàn)。同時(shí),為進(jìn)一步說明本文改進(jìn)算法的有效性,對實(shí)驗(yàn)過程中特征點(diǎn)提取的平均用時(shí)以及算法錯(cuò)誤率-查全率進(jìn)行對比分析。
實(shí)驗(yàn)圖像在尺度變化、亮度變化、旋轉(zhuǎn)變化、模糊變化情況下的匹配結(jié)果見圖1。在圖像發(fā)生亮度變化、旋轉(zhuǎn)變化和模糊變化3種情況下,本文改進(jìn)算法較AKAZE算法提取的特征點(diǎn)更均勻、數(shù)量更多、匹配準(zhǔn)確率高,表明本文改進(jìn)算法適應(yīng)性更強(qiáng);在圖像發(fā)生尺度變化情況下,提取特征點(diǎn)數(shù)量與AKAZE算法提取的一致,但匹配精度得到提高。
圖 1 各算法在彩色圖像下的匹配結(jié)果
特征點(diǎn)提取平均用時(shí)是衡量算法的重要指標(biāo)。AKAZE算法與本文改進(jìn)算法在圖像不同變化條件下的特征點(diǎn)匹配平均用時(shí)見表1。
表 1 彩色圖像特征點(diǎn)提取平均用時(shí)
本文改進(jìn)算法所采用的FREAK描述符使用特征點(diǎn)與采樣點(diǎn)結(jié)合計(jì)算主方向,降低了使用采樣點(diǎn)對組合數(shù)量,相較于AKAZE算法通過M-LDB描述符的隨機(jī)選取扇形區(qū)域和網(wǎng)格像素采樣來計(jì)算主方向的方法具有更高的效率??梢?本文改進(jìn)算法相比于傳統(tǒng)AKAZE算法,當(dāng)圖像尺度發(fā)生變化時(shí),特征點(diǎn)提取平均耗時(shí)減少0.084 ms,當(dāng)圖像亮度發(fā)生變化時(shí),特征點(diǎn)提取平均耗時(shí)減少0.064 ms,當(dāng)圖像發(fā)生旋轉(zhuǎn)變化下特征點(diǎn)提取平均耗時(shí)減少0.055 ms,當(dāng)圖像發(fā)生模糊變化時(shí),特征點(diǎn)提取平均耗時(shí)減少0.05 ms。
查全率為圖像中檢測出的正確配準(zhǔn)點(diǎn)與所有配準(zhǔn)點(diǎn)對的比值;錯(cuò)誤率為錯(cuò)誤配準(zhǔn)點(diǎn)與總配準(zhǔn)點(diǎn)的比值。圖2~4為圖像4種條件變化下的錯(cuò)誤率-查全率曲線。圖2為傳統(tǒng)AKAZE算法和本文改進(jìn)算法在圖像發(fā)生尺度與旋轉(zhuǎn)變化時(shí)的錯(cuò)誤率-查全率曲線。
本文改進(jìn)算法是在非線性尺度空間的基礎(chǔ)上使用采樣點(diǎn)來確定特征點(diǎn)主方向,采樣點(diǎn)為對稱結(jié)構(gòu),在保證特征點(diǎn)尺度不變的基礎(chǔ)上增加了旋轉(zhuǎn)不變性,提高了特征描述的效率與準(zhǔn)確度,進(jìn)而提升了特征匹配準(zhǔn)確率。如圖2所示,AKAZE算法的查全率達(dá)到0.839 2,本文改進(jìn)算法查全率達(dá)到0.909,相比傳統(tǒng)AKAZE算法提高了6.98%。
圖 2 尺度與旋轉(zhuǎn)變化
圖3為傳統(tǒng)AKAZE算法和本文改進(jìn)算法在圖像發(fā)生亮度變化時(shí)的錯(cuò)誤率-查全率曲線。
圖 3 亮度變化
AKAZE算法的查全率達(dá)到0.858,本文改進(jìn)算法的查全率為0.917,與傳統(tǒng)AKAZE算法相比提高了5.9%。這是因?yàn)楸疚母倪M(jìn)算法使用的FREAK描述符采用同心圓結(jié)構(gòu),圓與圓之間有重疊,相比于傳統(tǒng)AKAZE算法描述符的鄰域劃分網(wǎng)格方式能夠獲得更多的圖像信息,描述更準(zhǔn)確,抗噪能力更好,查全率更高。圖4為傳統(tǒng)AKAZE算法和本文改進(jìn)算法在圖像發(fā)生模糊變化時(shí)的錯(cuò)誤率-查全率曲線。
圖 4 模糊變化
本文改進(jìn)算法的FREAK描述符中的采樣點(diǎn)使用了高斯核進(jìn)行高斯平滑,之后再生成強(qiáng)度值對特征點(diǎn)進(jìn)行描述,具有較好的抗噪聲能力,保證了圖像模糊條件下的查全率達(dá)到0.920 3,相比AKAZE算法查全率0.834 6提高了8.57%。
針對傳統(tǒng)AKAZE算法在圖像發(fā)生尺度變化、模糊變化下匹配錯(cuò)誤率高的問題,本文提出了一種基于邊緣化采樣一致的改進(jìn)AKAZE圖像特征匹配算法。構(gòu)造非線性尺度空間檢測圖像特征點(diǎn),利用FREAK描述符描述特征點(diǎn),對采樣點(diǎn)對進(jìn)行梯度計(jì)算確定特征點(diǎn)主方向,使用漢明距離對圖像特征點(diǎn)進(jìn)行粗匹配,應(yīng)用邊緣化采樣一致方法剔除粗匹配中的錯(cuò)誤匹配點(diǎn)。實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)算法可有效提高圖像在尺度變化、模糊變化下的特征點(diǎn)提取數(shù)量及提取用時(shí),準(zhǔn)確率更高。