曹 南,蔡揚(yáng)揚(yáng),李旭洋,李 黎
(1.自然資源部第一地形測量隊(duì),陜西 西安 710054;2.西安新華測繪有限公司,陜西 西安 710054)
近年來,隨著遙感技術(shù)的快速發(fā)展,多源、多分辨率、多時(shí)相的遙感影像已應(yīng)用于人類生活與工作的多個(gè)方面,如生態(tài)環(huán)境保護(hù)、農(nóng)作物生長狀態(tài)估計(jì)、災(zāi)害管理、城市規(guī)劃等[1-3]。在遙感領(lǐng)域,平臺(tái)、傳感器、無線通信傳輸技術(shù)的快速更新,使遙感影像逐漸向高空間、高時(shí)間、高光譜分辨率的高分方向發(fā)展[4]。在許多遙感影像的處理與應(yīng)用中,需要將多源數(shù)據(jù)結(jié)合起來進(jìn)行分析與比較,如影像融合、變化檢測、影像拼接等,需對影像進(jìn)行匹配處理。影像信息主要集中在特征區(qū)域[5],而影像特征匹配依靠點(diǎn)位匹配完成,因此可通過影像特征點(diǎn)匹配實(shí)現(xiàn)影像匹配。傳統(tǒng)的特征點(diǎn)匹配采用人工操作的方式,需要有經(jīng)驗(yàn)的操作人員在圖上逐點(diǎn)均勻選點(diǎn),操作過程極其耗時(shí)、費(fèi)工費(fèi)力,且對于含有沙漠、森林等紋理重復(fù)性高、相似度大的地區(qū),難以辨別相同特征,誤匹配的幾率增大,無法達(dá)到自動(dòng)化匹配要求。
目前的遙感影像特征點(diǎn)匹配方法包括兩類,即基于灰度的特征點(diǎn)匹配方法和基于特征的特征點(diǎn)匹配方法[6],后者克服了前者計(jì)算量大、對灰度敏感等缺點(diǎn),是目前研究的主要方向。SURF算法是一種基于特征的特征點(diǎn)匹配方法,對旋轉(zhuǎn)、尺度縮放保持不變性,同時(shí)具有較高的運(yùn)行速度,被廣泛應(yīng)用于影像匹配領(lǐng)域[7]。然而,將SURF算法應(yīng)用于高分影像匹配時(shí)存在以下問題:
1)算法來源于場景圖像的特征提取,數(shù)據(jù)量較小,對于擁有豐富紋理特征的遙感影像,特征提取階段會(huì)檢測到大量特征點(diǎn),構(gòu)造特征點(diǎn)描述子、匹配特征點(diǎn)將耗費(fèi)過多時(shí)間,算法效率底下。
2)當(dāng)遙感影像中存在重復(fù)或非常相似的場景時(shí),產(chǎn)生誤匹配的概率將變大。
3)無法同時(shí)滿足保證算法運(yùn)行效率和保持尺度縮放、旋轉(zhuǎn)不變性的需求。
針對上述問題,本文從特征提取和特征匹配兩個(gè)方面出發(fā),通過控制特征點(diǎn)數(shù)量和分布情況,采用分部匹配策略和粗差控制策略,提出了一種基于SURF的改進(jìn)特征點(diǎn)匹配算法,并應(yīng)用于高分影像特征匹配中。
SURF算法借鑒了SIFT算法簡化近似的思想,采用積分圖像和盒式濾波器等技術(shù),將圖像與模板的卷積運(yùn)算轉(zhuǎn)化為若干次加減運(yùn)算[8],檢測速度能達(dá)到SIFT算法的3倍以上。
SURF算法對特征點(diǎn)的檢測基于Hessian矩陣,假設(shè)圖像是一個(gè)灰度分布為L(x,y)的函數(shù),在點(diǎn)(x,y)處,尺度為σ的Hessian矩陣為:
式中,Lxx(x,y,σ)、Lxy(x,y,σ)、Lyy(x,y,σ)為圖像中點(diǎn)(x,y)與高斯二階偏導(dǎo)數(shù)的卷積。
Hessian矩陣的行列式為:
實(shí)際運(yùn)算中,高斯濾波器必須離散化,則Hessian矩陣行列式的近似值,即特征響應(yīng)值為:
式中,Dxx、Dxy、Dyy為差分模板與圖像進(jìn)行卷積的結(jié)果。
為在不同尺度上尋找特征點(diǎn),需建立圖像的尺度空間。SURF算法只需改變方框?yàn)V波器即可獲取不同尺度下的影像,運(yùn)算過程較簡單。該方式只需改變?yōu)V波器和模糊系數(shù),生成不同大小、清晰度的影像,達(dá)到構(gòu)建尺度空間的目的[9]。
為了獲取圖像的旋轉(zhuǎn)信息,需要確定特征點(diǎn)的方向。SURF算法首先統(tǒng)計(jì)特征點(diǎn)圓形鄰域內(nèi)的Harr小波特征,即在特征點(diǎn)的圓形鄰域內(nèi),統(tǒng)計(jì)一定弧度扇形內(nèi)所有點(diǎn)的水平、垂直Harr小波特征總和;然后將扇形以固定弧度大小的間隔進(jìn)行旋轉(zhuǎn),并再次統(tǒng)計(jì)該區(qū)域內(nèi)Harr小波特征值;最后將值最大的那個(gè)扇形方向作為該特征點(diǎn)的主方向。
獲取特征點(diǎn)主方向后,以特征點(diǎn)為中心,首先將坐標(biāo)軸旋轉(zhuǎn)到主方向,按主方向選取20σ×20σ的正方形區(qū)域,并將其等分為4×4個(gè)子區(qū)域,計(jì)算每個(gè)子區(qū)域的Harr小波響應(yīng);假設(shè)dx和dy分別為水平與垂直方向上的Harr小波響應(yīng),賦予高斯權(quán)重后統(tǒng)計(jì)每個(gè)子區(qū)域里響應(yīng)的總和以及響應(yīng)絕對值之和,得到一個(gè)四維向量所有子區(qū)域的向量構(gòu)成該點(diǎn)的特征向量,最終生成總計(jì)64維的特征描述符,是SIFT特征的描述子的1/2[10]。
獲取SURF特征向量后即可進(jìn)行特征點(diǎn)匹配,采用最近鄰搜索算法在歐式空間搜索查找每個(gè)特征點(diǎn)的兩個(gè)最近鄰特征點(diǎn),若最近距離與次近距離的比值小于某個(gè)閾值,則接受這對匹配點(diǎn)[11]。
本文從4個(gè)方面對高分辨率遙感影像進(jìn)行特征匹配,具體方法流程如圖1所示。首先對高分辨率參考影像進(jìn)行降采樣,使采樣后的影像與遙感影像保持同一分辨率;再設(shè)置影像分割閾值,對高分辨率遙感影像進(jìn)行影像分割,形成對應(yīng)的匹配圖像;然后利用基于GPU運(yùn)算改進(jìn)的SURF算法進(jìn)行特征點(diǎn)提取、描述、匹配;最后設(shè)置閾值刪除誤匹配點(diǎn)。
圖1 方法流程圖
作業(yè)過程中,一般選用較高分辨率的遙感影像來糾正較低分辨率的影像,為消除兩種影像間的尺度差,同時(shí)減小精確提取同名點(diǎn)時(shí)的運(yùn)算量,先將參考影像分辨率降采樣為與遙感影像同等分辨率[12]。降采樣過程[13]如圖2所示。
圖2 降采樣過程
在遙感影像降采樣處理時(shí),由于采樣點(diǎn)對應(yīng)的位置坐標(biāo)不是整數(shù),因此通過對周圍像元值進(jìn)行內(nèi)插求取新的像元值。常見的內(nèi)插方法包括最近鄰內(nèi)插法、雙線性內(nèi)插法和三次卷積內(nèi)插法[14]。本文采用雙線性內(nèi)插法實(shí)現(xiàn)參考影像的降采樣。雙線性內(nèi)插法考慮投影點(diǎn)周圍4個(gè)相鄰像元的灰度值,并根據(jù)各自權(quán)重計(jì)算輸出像元灰度值,計(jì)算公式為:
式中,gxy為輸出像元灰度值;gi為鄰近點(diǎn)i的灰度值;pi為鄰近點(diǎn)對投影點(diǎn)的權(quán)重。
雙線性內(nèi)插法具有平均化的濾波效果,且內(nèi)插精度和運(yùn)算量較適中,結(jié)果如圖3所示。
圖3 降采樣前后對比圖
高分辨率遙感影像一般來源于航天或航空影像,普遍具有地物紋理信息豐富、成像光譜波段多、影像數(shù)據(jù)量大的特點(diǎn)。同名點(diǎn)匹配算法一般來源于圖像處理領(lǐng)域?qū)D片特征點(diǎn)的提取需求,處理的影像大小一般較小。影像過大,處理時(shí)間則過長,同時(shí)讓高分辨率遙感影像特征點(diǎn)匹配失去了意義。為解決該問題,需對高分辨率遙感影像進(jìn)行分割,再對分割后的遙感影像進(jìn)行特征點(diǎn)匹配。影像分割應(yīng)滿足的條件為:①既能滿足快速分割要求,又能滿足單幅影像特征點(diǎn)匹配的需要;②分割后的單幅影像大小不超過1 GB;③分割后的單幅影像信息應(yīng)與原遙感影像保持一致。
傳統(tǒng)SURF算法會(huì)對整幅影像的所有區(qū)域進(jìn)行特征點(diǎn)提取和描述,處理過程耗時(shí)嚴(yán)重,難以滿足實(shí)時(shí)性應(yīng)用的要求。為了提升算法速度,本文考慮將GPU并行運(yùn)算引入SURF算法的影像特征點(diǎn)匹配中,較好地解決了遙感影像特征點(diǎn)匹配效率低的問題。
將預(yù)處理后的輸入圖像數(shù)據(jù),通過總線從內(nèi)存上傳至顯卡顯存,再利于分段前綴加法在GPU上構(gòu)建積分圖像。其實(shí)現(xiàn)原理為:
對于一幅圖像I(x,y),式(5)為對輸入圖像的每一行進(jìn)行行前綴加法,式(6)為對行前綴加法的輸出進(jìn)行列前綴加法得到的積分圖像。
在構(gòu)建尺度空間時(shí),各尺度空間圖像中各點(diǎn)的海森矩陣判別計(jì)算相互獨(dú)立,可利用GPU并行計(jì)算優(yōu)勢改進(jìn)尺度空間的構(gòu)建速度?;贕PU并行加速優(yōu)化的SURF算法的特征點(diǎn)提取與匹配過程為:①將輸入的遙感圖像從主機(jī)存儲(chǔ)器上傳至GPU顯示存儲(chǔ)器;②利用積分圖像對特征進(jìn)行檢測,獲取特征位置和尺度參數(shù);③結(jié)合遙感圖像和特征參數(shù)計(jì)算主方向;④計(jì)算特征向量,SURF描述符有16個(gè)區(qū)域,可采用16個(gè)線程計(jì)算一個(gè)特征的特征向量;⑤利用GPU加速特征點(diǎn)匹配過程;⑥將處理后的數(shù)據(jù)從GPU下載到CPU主機(jī)內(nèi)存。
2.5.1 特征點(diǎn)匹配算法
特征點(diǎn)匹配算法主要包括樸素匹配法(BF)和快速最近鄰逼近搜索函數(shù)庫(FLANN)。FLANN算法包含了一些大數(shù)據(jù)量的快速搜索鄰近和高維特征的優(yōu)化算法,比BF算法的匹配速度更快,因此本文采用FLANN算法進(jìn)行特征點(diǎn)匹配[15]。
FLANN算法步驟為:①建立k-d樹將數(shù)據(jù)劃分為兩部分,對每個(gè)部分重復(fù)該過程直至為子結(jié)點(diǎn)建立快速搜索索引;②通過保存在堆棧中的搜索路徑回溯,計(jì)算得到第一個(gè)從堆棧中取出的點(diǎn)與基準(zhǔn)匹配點(diǎn)的歐氏距離;③依次比較保存在堆棧中的節(jié)點(diǎn)大小,直至找出最小距離即為最鄰近匹配點(diǎn)。
2.5.2 誤匹配去除
由于圖像遮擋或背景混亂等原因,F(xiàn)LANN算法匹配的圖像會(huì)產(chǎn)生部分誤匹配點(diǎn),需對其進(jìn)行去除。去除誤匹配點(diǎn)采用比較最近鄰距離和次近鄰距離的方式,具體步驟為:①取參考圖像中的特征點(diǎn),并找出與另一幅圖像中歐氏距離最短的兩個(gè)匹配點(diǎn);②計(jì)算最鄰近距離與次鄰近距離的比率;③當(dāng)比率值大于0.4時(shí),去除匹配點(diǎn),當(dāng)比率值小于等于0.4時(shí),保留匹配點(diǎn)。
本文的研究內(nèi)容來源于對生產(chǎn)活動(dòng)中地理國情監(jiān)測影像的精度檢測工作,采用最新的1∶5萬更新DOM影像成果作為參考影像,以單景糾正后的地理國情監(jiān)測衛(wèi)星影像數(shù)據(jù)為原始影像進(jìn)行特征點(diǎn)匹配實(shí)驗(yàn)。影像參數(shù)如表1所示。實(shí)驗(yàn)所用的硬件環(huán)境:CPU為Intel(R)Core(TM)i7-3770 3.4 GHz 8核,內(nèi)存為16 GB,存儲(chǔ)為1 TB,GPU顯卡為Nvidia GeForce GTX 1050Ti,顯存為2 GB。
表1 影像參數(shù)
實(shí)驗(yàn)采用的1∶5萬更新DOM數(shù)據(jù)為分幅數(shù)據(jù),覆蓋地理國情單景衛(wèi)星影像全范圍,首先對1∶5萬更新DOM影像進(jìn)行降采樣,按照1∶5萬圖幅的范圍對單景影像進(jìn)行裁切,然后利用GPU并行加速優(yōu)化的SURF算法對降采樣后的影像和裁切后的影像進(jìn)行特征點(diǎn)提取與描述,最后進(jìn)行特征匹配與誤匹配點(diǎn)刪除。
本文算法采用C#語言、基于OpenCV的計(jì)算機(jī)視覺庫OpenCVSharp3以及開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫GDAL2.2進(jìn)行開發(fā)。
3.3.1 匹配效果圖
參與實(shí)驗(yàn)的1∶5萬圖幅共30幅,對應(yīng)裁切出30幅待匹配影像。對30組影像進(jìn)行特征提取與匹配,匹配效果如圖4所示。
圖4 匹配效果圖
3.3.2 結(jié)果分析
隨機(jī)選取8組影像對,分別采用本文方法和傳統(tǒng)SURF算法進(jìn)行特征點(diǎn)提取與匹配,對比結(jié)果如表2所示。
為進(jìn)行精度評定,對于采用本文方法的匹配結(jié)果,每幅影像隨機(jī)選取5個(gè)點(diǎn)進(jìn)行精度統(tǒng)計(jì)。影像自帶高斯—克呂格投影,逐點(diǎn)記錄其投影坐標(biāo),精度統(tǒng)計(jì)結(jié)果如表3所示。
表3 精度統(tǒng)計(jì)結(jié)果
由表2、3中數(shù)據(jù)可知:
表2 實(shí)驗(yàn)結(jié)果對比
1)對于高分辨率、大數(shù)據(jù)量的影像匹配,改進(jìn)算法的總匹配數(shù)與傳統(tǒng)SURF算法相差不大,匹配點(diǎn)數(shù)基本相同,改進(jìn)算法基本保證了其正確性。
2)在總匹配點(diǎn)數(shù)基本一致的基礎(chǔ)上,改進(jìn)算法大幅提高了匹配點(diǎn)的提取速度,約提高了4倍,使得算法應(yīng)用于實(shí)際工程成為了可能。
3)匹配得到的特征點(diǎn)坐標(biāo)平均差值為6.358 m,人工檢測單點(diǎn)精度要求5個(gè)像素,即10 m以內(nèi)均滿足檢測要求,說明自動(dòng)匹配結(jié)果滿足影像檢測與配準(zhǔn)工作的需要,可替代人工特征匹配工作。
4)采用人工方式進(jìn)行影像匹配需要作業(yè)人員逐景尋找同名點(diǎn),耗費(fèi)大量人力;而采用改進(jìn)算法可快速找到大量精度較高的同名點(diǎn),代替了人工工作,使計(jì)算機(jī)完成特征點(diǎn)匹配工序成為可能。
綜上所述,本文方法在滿足匹配正確性與較高匹配數(shù)的前提下,匹配耗時(shí)較短,當(dāng)需要批量影像匹配時(shí),可明顯提高匹配效率,節(jié)約大量人力。
針對高分辨率遙感影像人工匹配費(fèi)時(shí)費(fèi)力的問題,以滿足實(shí)際應(yīng)用需要為導(dǎo)向,本文提出了一種高分辨率遙感影像特征點(diǎn)自動(dòng)化匹配方法。首先采用參考影像降采樣和高分辨率遙感影像分幅裁切的方式,降低影像匹配的難度和要求;然后采用GPU并行運(yùn)算提高SURF算法的計(jì)算速度;最后采用計(jì)算最近鄰距離與次近鄰距離比率的方式,刪除誤匹配點(diǎn)。結(jié)果表明,該方法的匹配速度比傳統(tǒng)算法提高了4倍,且擁有較高的匹配精度,實(shí)現(xiàn)了高分辨率遙感影像特征點(diǎn)的自動(dòng)匹配,能滿足科學(xué)研究、工程應(yīng)用快速響應(yīng)的要求,具有較高的理論研究意義和實(shí)際應(yīng)用價(jià)值。