李 丹,徐倩南
(安徽工業(yè)大學(xué) 電氣與信息工程學(xué)院,安徽 馬鞍山 243032)
遙感圖像的配準(zhǔn)常用來(lái)獲取更加全面的地理信息,正確辨識(shí)相關(guān)的地理位置等。基于特征的圖像匹配由于其穩(wěn)健高效的特點(diǎn)成為研究的熱點(diǎn)[1]。經(jīng)典的SIFT(scale-invariant feature transform)[2]和SURF(speed up robust feature)[3]算法由于使用高斯金字塔構(gòu)建尺度空間,高斯模糊導(dǎo)致對(duì)象邊界信息的丟失,影響了定位的準(zhǔn)確性。KAZE[4]算法通過(guò)AOS(additive operator splitting)數(shù)值逼近方法建立非線性尺度空間,計(jì)算量較大,實(shí)時(shí)性難以滿足[5]。AKAZE[6]中,作者引入快速顯示擴(kuò)散數(shù)學(xué)框架FED(fast explicit diffusion)來(lái)求解偏微分方程,比當(dāng)下其它的非線性模式建立尺度空間都要快,同時(shí)比KAZE中的AOS[7]更加準(zhǔn)確。ORB(oriented FAST and rotated BRIEF)[8]算法結(jié)合FAST與BRIEF(binary robust independent elementary features)[9]提高了計(jì)算速度,但缺少尺度不變性。BRISK(binary robust invariant scalable keypoints)[10]利用像素灰度值的比較來(lái)構(gòu)建二進(jìn)制描述子,速度較快且具備旋轉(zhuǎn)與尺度不變性,但是匹配魯棒性較差[11]。GMS(grid-based motion statistics)[12]基于網(wǎng)格的運(yùn)動(dòng)估計(jì)方法,通過(guò)在粗匹配點(diǎn)相鄰的區(qū)域中統(tǒng)計(jì)具有匹配關(guān)系的特征點(diǎn)數(shù)量來(lái)進(jìn)行匹配,快速且魯棒性強(qiáng)[13]。為了保證特征點(diǎn)定位的精度,本文采用AKAZE(accelerated-KAZE)算法來(lái)檢測(cè)特征點(diǎn),同時(shí)為了算法的實(shí)時(shí)性,使用速度較快且具有尺度與旋轉(zhuǎn)不變性的二進(jìn)制描述子BRISK進(jìn)行特征描述,為了提升匹配的魯棒性,我們采用基于網(wǎng)格的運(yùn)動(dòng)估計(jì)方法對(duì)描述子進(jìn)行匹配,最后利用隨機(jī)采樣一致性算法剔除錯(cuò)誤的匹配點(diǎn)。
基于網(wǎng)格運(yùn)動(dòng)約束的遙感圖像配準(zhǔn)方法流程如圖1所示。
圖1 算法流程
AKAZE特征點(diǎn)檢測(cè)首先是構(gòu)造非線性尺度空間,通過(guò)非線性擴(kuò)散濾波方程,即流動(dòng)函數(shù)的散度來(lái)表示圖像亮度在不同尺度空間變化的方法。利用如式(1)所示的非線性微分方程來(lái)描述
(1)
其中,L代表的是圖像亮度,c(x,y,t) 是傳導(dǎo)函數(shù),t表示尺度參數(shù)。非線性尺度空間由O組圖像組成,每一組包括S層,其中每組每層的尺度參數(shù)是σi(o,s),σi的單位是像素而ti的單位是時(shí)間,因此需要將兩者進(jìn)行轉(zhuǎn)換。對(duì)原始輸入圖像進(jìn)行高斯濾波,濾波后的圖像梯度直方圖70%位置上的值作為控制因子。獲取輸入圖像與控制因子之后,采用FED算法對(duì)擴(kuò)散方程進(jìn)行求解來(lái)構(gòu)建非線性尺度空間[7]。
尺度空間構(gòu)建完成后,然后采用Hessian矩陣進(jìn)行特征點(diǎn)提取,如式(2)所示
(2)
其中,Lxx,Lyy,Lxy為L(zhǎng)的二階微分,σi為尺度歸一化因子,每一個(gè)像素點(diǎn)分別在當(dāng)前及其上下兩層以3*3窗口進(jìn)行極值點(diǎn)搜索,得到的極值點(diǎn)為初步關(guān)鍵點(diǎn),還要利用泰勒公式進(jìn)行亞像素點(diǎn)的精確定位,最終定位的點(diǎn)即為特征點(diǎn)。
圖2 BRISK描述子采樣模式
以關(guān)鍵點(diǎn)為中心將采樣點(diǎn)旋轉(zhuǎn)α角度,考慮其中短距離點(diǎn)對(duì)子集中的512個(gè)點(diǎn)對(duì),進(jìn)行二進(jìn)制編碼,編碼方式如式(3)所示
(3)
為了解決當(dāng)前特征匹配存在的匹配速度和匹配效果難以同時(shí)滿足的問(wèn)題,本文采用基于網(wǎng)格運(yùn)動(dòng)估計(jì)的方法來(lái)進(jìn)行特征點(diǎn)的匹配。該方法的核心思想是運(yùn)動(dòng)的平滑性導(dǎo)致了正確匹配的特征點(diǎn)鄰域有較多匹配的點(diǎn),相反錯(cuò)誤的匹配點(diǎn)對(duì)由于對(duì)應(yīng)著三維空間中不同的位置,匹配對(duì)鄰域內(nèi)支持的點(diǎn)數(shù)較少,因此只要通過(guò)計(jì)數(shù)鄰域的匹配點(diǎn)個(gè)數(shù)就可以判斷一個(gè)匹配點(diǎn)對(duì)正確與否[12]。
首先利用暴力匹配獲取兩張圖像的特征匹配點(diǎn)對(duì)集合,GMS算法通過(guò)分析匹配點(diǎn)對(duì)鄰域內(nèi)支持匹配點(diǎn)對(duì)的數(shù)量,來(lái)分離匹配點(diǎn)對(duì)集合中的正確和錯(cuò)誤的匹配。假設(shè)匹配對(duì)xi在兩幅圖中分別對(duì)應(yīng)的鄰域?yàn)閧a,b},χi表示在鄰域 {a,b} 內(nèi)的特征匹配對(duì)的數(shù)量,那么xi的支持匹配點(diǎn)對(duì)數(shù)量Si為
Si=|χi|-1
(4)
在特征點(diǎn)匹配中,每一個(gè)特征點(diǎn)的匹配是獨(dú)立的,因此匹配對(duì)xi所對(duì)應(yīng)的鄰域內(nèi)的其它n個(gè)匹配對(duì)服從二項(xiàng)分布,如式(5)所示
(5)
Si表示當(dāng)前特征點(diǎn)鄰域a內(nèi)的n個(gè)點(diǎn)匹配到兩幅圖像對(duì)應(yīng)的相同物體區(qū)域b的次數(shù),pt表示鄰域 {a,b} 對(duì)應(yīng)同一個(gè)三維位置時(shí),區(qū)域a內(nèi)的特征點(diǎn)的匹配點(diǎn)在區(qū)域b內(nèi)的概率,pf表示鄰域 {a,b} 對(duì)應(yīng)的是不同的三維位置時(shí),區(qū)域a內(nèi)特征點(diǎn)的匹配點(diǎn)在區(qū)域b內(nèi)的概率。
為了提高S分?jǐn)?shù)區(qū)分正確-錯(cuò)誤匹配的能力,采用多鄰域模型來(lái)代替原先的單鄰域模型,那么支持匹配點(diǎn)對(duì)數(shù)量Si的計(jì)算如式(6)所示
(6)
那么Si的分布擴(kuò)展為式(7)形式
(7)
其中,n表示每一個(gè)小鄰域內(nèi)的平均的特征點(diǎn)數(shù),K表示小鄰域的個(gè)數(shù)。Si分布的均值和標(biāo)準(zhǔn)差分別為
(8)
如圖3所示,正確的匹配和錯(cuò)誤的匹配都有自己的分布,且均滿足二項(xiàng)分布,為了使它們的區(qū)分度更大,首先這兩個(gè)分布要相隔足夠遠(yuǎn),即mt-mf足夠大,其次這兩個(gè)分布的標(biāo)準(zhǔn)差或方差要足夠小,區(qū)分能力得分如式(9) 所示
(9)
圖3 Si分布
GMS算法將一幅圖分成N×N的不重疊的網(wǎng)格,并且選取3*3網(wǎng)格作為一組來(lái)計(jì)算Si的值。為了獲得足夠大的區(qū)分能力得分P, 經(jīng)過(guò)實(shí)驗(yàn)選取的較為合理的參數(shù)為K=9,n=25,N=20。 當(dāng)支持匹配點(diǎn)對(duì)數(shù)量Si大于一定閾值的時(shí)候,便認(rèn)為是正確匹配。閾值τ的計(jì)算如式(10)所示
τ=mf+αsf
(10)
其中,α是調(diào)節(jié)參數(shù),mf的值通常很小,α的值很大,所以式(10)又可以近似表示為
τ≈αsf
(11)
對(duì)于本文提出的基于網(wǎng)格約束的遙感圖像匹配方法,我們進(jìn)行了大量的實(shí)驗(yàn),本實(shí)驗(yàn)運(yùn)行環(huán)境是Intel core5的CPU,64位Windows 10操作系統(tǒng),所有算法集成在Visual studio和OpenCV3.1環(huán)境下實(shí)現(xiàn)。為了驗(yàn)證算法效果,選出如圖4所示的圖(a)~圖(c)這3組IKONOS衛(wèi)星遙感圖片進(jìn)行對(duì)比,圖(a)組表示的是圖片的尺度變換,圖(b)組對(duì)應(yīng)的是圖片的亮度變換,圖(c)組是圖片的旋轉(zhuǎn)變換。通過(guò)3組圖片,分別對(duì)本文算法的抗尺度變化,抗亮度變化以及抗旋轉(zhuǎn)變化性能來(lái)進(jìn)行驗(yàn)證。將本文算法與AKAZE算法,KAZE算法以及速度較快的ORB算法進(jìn)行對(duì)比,從匹配結(jié)果圖,特征匹配速度,特征匹配正確率3個(gè)方面來(lái)對(duì)每個(gè)算法進(jìn)行定量的評(píng)價(jià)。
圖4 實(shí)驗(yàn)數(shù)據(jù)遙感
圖5顯示的是4種算法對(duì)3組遙感圖像的匹配結(jié)果圖,本文算法通過(guò)RANSAC算法剔除誤匹配點(diǎn),其余3種算法特征點(diǎn)匹配均采用暴力匹配算法,且均通過(guò)RANSAC算法對(duì)匹配點(diǎn)進(jìn)行提純。其中圖(a)組是尺度壓縮變換下匹配結(jié)果圖,圖(b)組是亮度變換下匹配結(jié)果圖,圖(c)組是旋轉(zhuǎn)變換下匹配結(jié)果圖。從最直觀的角度我們可以看出,在圖(a)組匹配圖中,由于尺度壓縮分辨率較低,4種算法匹配圖都有明顯的誤匹配,其中KAZE算法錯(cuò)誤率最高,AKAZE和ORB算法錯(cuò)誤率較少,本文算法匹配效果相對(duì)最穩(wěn)定。圖(b)和圖(c)在4種算法下都取得較好的匹配效果,但是可以明顯看出文中算法匹配效果突出,這也進(jìn)一步證實(shí)本文算法在尺度變化,光照變化,旋轉(zhuǎn)變化下都有較好的魯棒性。
圖5 配準(zhǔn)結(jié)果比較
采用對(duì)比匹配時(shí)間長(zhǎng)短的方法來(lái)評(píng)價(jià)4種算法特征匹配的速度,匹配時(shí)間越短,特征匹配速度越快。表1給出了分別使用AKAZE算法,ORB算法,KAZE算法和本文算法對(duì)圖4所示的圖像數(shù)據(jù)進(jìn)行特征匹配所用的時(shí)間,其中AKAZE,KAZE和ORB算法均采用暴力匹配進(jìn)行粗匹配,然后利用隨機(jī)采樣一致性算法進(jìn)行提純,為了更鮮明地比較出各個(gè)算法匹配的快慢,圖6給出了各種算法匹配時(shí)間的折線圖。
表1 特征匹配用時(shí)比較/s
圖6 配準(zhǔn)時(shí)間比較
由折線圖可以很明顯看出,在匹配用時(shí)上,KAZE算法匹配用時(shí)最多,速度最慢,本文算法匹配用時(shí)最短,速度最快,ORB算法和AKAZE算法用時(shí)相近,由此可得,本文算法在匹配時(shí)間上效果較好。
匹配正確率CMR的定義是匹配正確點(diǎn)對(duì)數(shù)與總的匹配點(diǎn)對(duì)數(shù)之比,CMR是一種客觀的評(píng)價(jià)指標(biāo),匹配正確率越高,匹配性能越好。圖7所示的是4種算法對(duì)3組遙感圖片進(jìn)行匹配的正確率效果圖,柱狀圖從左到右的順序分別是AKAZE算法,ORB算法,本文算法,KAZE算法。從圖7中可以看出,本文算法在3組圖片下的匹配正確率相較其它3種算法皆為最高,這表明本文算法在尺度變化,亮度變化以及旋轉(zhuǎn)變化下皆有不錯(cuò)的匹配性能,其中在抗尺度變化下匹配性能最為突出,AKAZE和KAZE算法匹配效果次之,ORB算法匹配效果較差,這也進(jìn)一步驗(yàn)證了本文算法具有較穩(wěn)定的匹配性能。
圖7 匹配正確率比較
本文提出了一種基于網(wǎng)格運(yùn)動(dòng)約束的遙感圖像的局部特征匹配方法,該方法首先利用AKAZE算法進(jìn)行特征點(diǎn)提取,采用二進(jìn)制描述子BRISK對(duì)檢測(cè)的特征點(diǎn)進(jìn)行描述,然后使用GMS基于網(wǎng)格的運(yùn)動(dòng)估計(jì)方法對(duì)特征點(diǎn)進(jìn)行精確匹配,最后使用RANSAC算法對(duì)匹配的點(diǎn)對(duì)進(jìn)一步提純,剔除誤匹配點(diǎn)。實(shí)驗(yàn)中將本文算法與魯棒性較強(qiáng)的AKAZE算法,KAZE算法和速度較快的ORB算法從匹配效果圖,匹配時(shí)間,匹配正確率3個(gè)方面進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明,本文算法在提高特征匹配速度的基礎(chǔ)上保證了特征匹配正確率,在處理旋轉(zhuǎn)變化較大的圖片時(shí)依然能保持相對(duì)較好的匹配效果。由此可得,本文算法適合用于遙感圖片匹配處理。