代友林,王曉紅,李萬華
(1.貴州大學(xué) 礦業(yè)學(xué)院,貴州 貴陽 550025;2.貴州大學(xué) 林學(xué)院,貴州 貴陽 550025)
無人機影像匹配是基于無人機影像數(shù)據(jù)的處理與應(yīng)用的關(guān)鍵之一[1],對于后續(xù)的影像拼接以及三維重建有著很重要的影響??λ固厣絽^(qū)因其獨特的地質(zhì)原因,造就了許多奇美的自然景觀,中國南方喀斯特更是被列入“世界遺產(chǎn)名錄”[2],但同時喀斯特山區(qū)也因此容易發(fā)生滑坡、泥石流等自然災(zāi)害。如何高效地應(yīng)用無人機影像是保護該地區(qū)這些奇美景觀和應(yīng)急救災(zāi)的關(guān)鍵。近年來,圍繞特征匹配方法,大量學(xué)者相繼提出了SIFT[3-4]、SURF[5]、AKAZE[6]、BRISK[7]、ORB[8]等算法以及它們的改進算法,其中對于AKAZE算法的改進主要有,一是采用其他描述子代替原描述子以提高部分性能,如文獻[9]采用SIFT描述子提升匹配數(shù)量但其時效性有所降低;二是改進描述符提升算法適應(yīng)性,如文獻[10]對MLDB加入BOLD掩碼提升算法的魯棒性而匹配速度有所下降;三是通過對影像處理提升算法性能,如文獻[11]結(jié)合顏色不變量在保證特征可靠性的同時提升效率但其灰度范圍只能根據(jù)經(jīng)驗值預(yù)定,不能實現(xiàn)自動化;文獻[12]參考ASIFT[13]對影像進行模擬,提升了算法的效率和匹配數(shù)量,更適應(yīng)于喀斯特地區(qū),但對算法本身存在的缺點并未改變,其正確率并未得到提升。
通過對諸多文獻的學(xué)習和分析,文中提出適應(yīng)于喀斯特地區(qū)無人機影像的組合特征匹配算法。首先利用AKAZE算法檢測特征點,然后采用DAISY[14-15]描述子進行特征描述,最后采用給予單應(yīng)性矩陣的隨機抽樣一致性算法進行誤匹配剔除。針對影像匹配中匹配總數(shù)、匹配總耗時、單個正確匹配耗時、正確率等指標,對文中算法、AKAZE和SURF進行影像匹配試驗對比分析,驗證文中算法的可行性。
文中算法流程為:(1)利用AKAZE算法對喀斯特山區(qū)無人機影像檢測特征點;(2)利用DAISY描述子對步驟1中提取的特征點進行描述;(3)進行特征粗匹配獲得總匹配數(shù),并采用隨機抽樣一致性算法進行誤匹配剔除,從而獲取精細化匹配結(jié)果。
AKAZE算法是KAZE[16]算法的加強版,保持了KAZE算法對高斯核函數(shù)構(gòu)建尺度空間的缺陷的改進,采用在非線性擴散濾波構(gòu)建的尺度空間檢測特征,且AKAZE采用快速顯示擴散數(shù)學(xué)框架(FED)來快速求解非線性偏微分方程,從而提升了算法的速度。AKAZE算法檢測特征點的過程主要如下:
(1)構(gòu)建非線性尺度空間。與KAZE算法相同,首先都是建立層組,不同的是在后續(xù)求解非線性偏微分方程時,AKAZE算法采用的是FED,完成非線性尺度空間的構(gòu)造。FED求解非線性偏微分方程的數(shù)學(xué)表達式為:
Li+1=(I+τA(Li))Li
(1)
其中,I表示單位矩陣,τ表示時間步長,A(Li)表示傳導(dǎo)矩陣,Li表示第i次迭代時的向量。
(2)特征檢測。主要為兩個環(huán)節(jié),首先是使用尺度因子對不同尺度算子進行歸一化處理,其次在同層3×3鄰域內(nèi)Hessian矩陣檢測潛在的極大值之后,再檢測上下相鄰3×3鄰域共18個像素判斷其是否為極大值,區(qū)別于SIFT和SURF直接在上下及同層26個像素內(nèi)檢測,這樣可以更快地尋找到極大值點。
SIFT算法采用計算局部梯度直方圖匯聚局部特征的方式來描述特征,所描述的特征具有高魯棒性的特點,但其計算復(fù)雜度高不能很好地滿足實時性的需求[17-18]。DAISY描述子是局部特征的二進制描述符[19],該算法是在SIFT描述符的基礎(chǔ)上改進而來,采用的是高斯卷積核來對梯度直方圖加權(quán),其采樣模板如圖1所示,符合人眼視覺。中心是提取的待描述的特征點P(x0,y0),其周圍是三個半徑不同的圓環(huán),每層圓環(huán)的高斯尺度相同,由內(nèi)向外的高斯尺度逐層增大,在360°范圍內(nèi)每隔45°獲取一個采樣點如圖1中“+”所示位置,圓形區(qū)域即是梯度直方圖的取值范圍。這樣的軸對稱結(jié)構(gòu),使得發(fā)生旋轉(zhuǎn)時,特征點的梯度直方圖只是直方圖柱子的順序發(fā)生改變,這就避免了SIFT算法那樣重復(fù)計算梯度直方圖,從而保證旋轉(zhuǎn)不變性時算法速度也不慢。對于8方向的采樣點,還要計算它們的梯度并進行高斯核卷積得到最終的梯度直方圖,點(x,y)的梯度直方圖表示如式(2)所示。最終計算包括P點在內(nèi)的3*8+1共25個采樣點的梯度直方圖,并用這25個采樣點的向量共同表示P點的描述符,如式(3)所示。
圖1 DAISY采樣模板
(2)
D(x0,y0)=
(3)
式中,li(x0,y0,rj)表示P點第j個同心圓上第i個采樣點的位置。
DAISY描述子除了通過避免重復(fù)計算梯度直方圖來使得算法速度更快外,還利用了高斯卷積核的可分離特性,使得二維卷積變?yōu)閮蓚€方向上的一維卷積計算,實現(xiàn)了降維計算,使得運算速度得到更大提升。高斯卷積核的分離特性可以這樣表示,對一幅具有m行n列的影像I(x,y)進行高斯卷積,可以表述為:
I(x,y)*g(x,y)=
其中,g(x,y)是高斯核函數(shù),這是一個二維高斯卷積操作,根據(jù)高斯核具有各向異性,那么這個二維高斯卷積可分解為行列兩個方向的一維卷積操作,如式(5)和式(6)。
I(x,y)*g(x,y)=
(5)
I(x,y)*g(x,y)=I(x,y)*gc(x)gr(y)
(6)
其中,gc(x)和gr(y)分別表示行列方向的高斯卷積核。
隨機抽樣一致性算法[20]是一種運用概率統(tǒng)計學(xué)中假設(shè)和檢驗的模型估算方法,即是對含有噪聲的數(shù)據(jù)集在一定的置信度下估計數(shù)據(jù)間模型的一種方法。在影像匹配中,相對于正確匹配點對,將誤匹配點對看作噪聲,運用該方法對誤匹配點對進行剔除以達到精細化匹配的目的。算法主要步驟為:
(1)從匹配點對集中隨機抽出4對(參考匹配和待匹配各4個相對應(yīng)的不共線特征點)樣本特征點,計算出變換矩陣H,模型記為M;
(2)計算數(shù)據(jù)集中所有數(shù)據(jù)與M的投影誤差,若某一特征點的誤差小于閾值,就認為該點為內(nèi)點,加入內(nèi)點集I;
(3)若當前I中的元素個數(shù)大于最優(yōu)的內(nèi)點集的元素個數(shù),則更新最優(yōu)內(nèi)點集為I,同時更新迭代次數(shù)K;
(4)若迭代次數(shù)大于K則退出,否則迭代次數(shù)加1,并重復(fù)上述步驟。
為了驗證文中算法的效率和性能,對3組喀斯特山區(qū)的無人機影像(如圖2所示),在win10家庭中文版、雙通道8G內(nèi)存的opencv3.4環(huán)境下進行試驗,影像依次從上到下編為影像組1、影像組2和影像組3。
圖2 試驗影像組
對試驗匹配結(jié)果進行分析,下面列出各個算法的粗匹配和精匹配試驗結(jié)果圖,如圖3所示。改進后的AKAZE算法(即文中算法)與其他幾種算法在三組影像上的粗匹配(左圖)和精匹配(右圖)情況如圖3所示。從三組影像匹配效果上來看,各個算法經(jīng)過精匹配后都符合無人機飛行特征,實現(xiàn)了影像的正確匹配。對于不同算法粗匹配與精匹配后的對比來看,可以看到粗匹配時匹配點對中都明顯存在錯誤匹配,如粗匹配圖中的那些違背無人機飛行過程中成像特征的反方向斜匹配線;而精匹配圖可以清楚地看到匹配線呈現(xiàn)規(guī)則的排列,沒有錯誤匹配情況,這說明結(jié)合單應(yīng)性矩陣的隨機抽樣一致性算法能夠有效地剔除錯誤匹配,從而獲得兩幅影像最優(yōu)的變換模型,為后續(xù)的影像融合、拼接等提供了保障。
(a)影像組1各算法匹配結(jié)果
(b)影像組2各算法匹配結(jié)果
(c)影像組3各算法匹配結(jié)果
具體來看,文中改進的AKAZE算法與AKAZE算法的精匹配結(jié)果從匹配線圖來看沒有太大差別,但從各自粗匹配結(jié)果圖來看,文中改進AKAZE算法的匹配效果要優(yōu)于AKAZE算法,其有更少的錯誤匹配;與SURF算法相比較,不論是粗匹配還是精匹配,改進AKAZE算法都具有更好的匹配效果,更多的匹配點對。
此外,對每一組影像采用文中算法、AKAZE算法和SURF算法進行匹配試驗,統(tǒng)計總匹配數(shù)、正確匹配數(shù)、正確率、總耗時和單個正確匹配耗時記錄并進行分析,統(tǒng)計數(shù)據(jù)見表1。
表1 算法對比試驗數(shù)據(jù)統(tǒng)計
結(jié)合表1從總匹配數(shù)量來看,文中算法與AKAZE算法保持一致而比SURF算法平均多11%左右。這是因為AKAZE算法在特征檢測時采用非線性濾波的方式來構(gòu)造尺度空間,相比于SURF算法采用近似高斯函數(shù)的盒式濾波,AKAZE檢測子能夠獲取到更多的特征信息從而獲取更多匹配數(shù)。而文中改進算法很好地繼承了AKAZE算法的特征檢測能力,并沒有因為改變描述子而影響到算法的特征檢測能力;從正確匹配數(shù)上來看,文中算法均高于其他兩種算法,分別高出AKAZE算法21%以上,SURF算法30%以上,這為獲得更高的正確率提供了數(shù)量保障;從正確率來看,文中算法均高于另外兩種算法,高于AKAZE算法和SURF算法14%左右,這表明文中算法有更高的準確性。如前所述,特征檢測時獲取更多的特征進而獲得更多的匹配數(shù),再結(jié)合DAISY描述子借鑒SIFT算法采用梯度直方圖進行特征描述,使得其描述的特征穩(wěn)健性更高,也更不容易在匹配時出現(xiàn)誤匹配,其穩(wěn)健性上要優(yōu)于其他兩種算法的特征,使得在誤匹配剔除中得以保留下更多的正確匹配。
從總耗時來看,文中算法要明顯優(yōu)于AKAZE算法,較低于SURF算法。低于SURF算法的原因主要是SURF算法總匹配數(shù)和正確匹配數(shù)均要低于文中算法,造成匹配耗時上要少的結(jié)果;但從單個正確匹配耗時來看,文中算法最優(yōu),與AKAZE算法相比耗時減少30%以上,相比SURF算法耗時減少10%左右,這說明文中算法效率更高,時效性更好。這得益于兩點,一是AKAZE算法檢測特征時采用FED快速求解非線性方程的特點,以及先檢測Hessian極大值再確定最終極大值的簡化方式;二是DAISY在保持高穩(wěn)健性和正確性的同時,采用軸對稱的類人眼視覺模板來簡化梯度直方圖的計算,同時又利用高斯核卷積的分離特性來提高運算速度,從而使得文中算法能夠取得更高的時效性和更高的效率。
綜上所述,文中算法通過將AKAZE特征檢測子與DAISY特征描述子組合的方式,使得算法不但繼承了AKAZE快速、準確檢測特征的能力,還結(jié)合了DAISY描述子的高穩(wěn)健性。通過試驗進行驗證,在喀斯特山區(qū)無人機影像的匹配中,相較于AKAZE算法以及SURF算法展現(xiàn)出了更好的適應(yīng)性。
隨著無人機技術(shù)的飛速發(fā)展,無人機測繪越來越受關(guān)注,其應(yīng)用也越來越廣泛,在應(yīng)急救災(zāi)、三維重建中都展現(xiàn)了重要的作用??λ固氐貐^(qū)獨特的地質(zhì)條件,在給人們帶來奇美自然景觀的同時,也使得該地區(qū)像泥石流、塌方等這樣的地質(zhì)災(zāi)害時有發(fā)生,因而如何保護這些令人驚嘆的自然景觀和為應(yīng)急救災(zāi)提供快速高效保障也備受關(guān)注。鑒于此,對于如何提高喀斯特山區(qū)無人機影像匹配中的效率和正確性,文中提出一種更適應(yīng)該地區(qū)影像匹配的組合特征算法。該算法結(jié)合了AKAZE算法和DAISY描述子兩者的優(yōu)點,提高了算法的速度和正確率,較AKAZE算法和SURF算法能夠更好地適應(yīng)該地區(qū)的需要,為喀斯特山區(qū)的無人機影像匹配提供了參考。但也要注意到匹配的正確率還有提高的空間,未來還有待進一步研究。