陸 可, 鄭伯楨, 盧春盛, 王中元
(1.中國礦業大學 江蘇省資源環境信息工程重點實驗室,江蘇 徐州 221116; 2.中國礦業大學 環境與測繪學院,江蘇 徐州 221116;3.韶關市國土資源技術中心,廣東 韶關 512026)
近年來,無人機飛行平臺憑借其機動靈活、成本低廉、操作便捷等優勢,在變化檢測、大比例尺地形圖測繪、環境監測等諸多領域得到廣泛應用[1]。影像的配準是上述各類應用的基礎與前提,配準的精度將直接影響各類應用的結果。然而無人機航拍時容易受到旋轉、光照、飛行姿態、相機畸變等因素影響,且無人機影像空間分辨率高,利用基于特征的方法進行配準時,特征點對提取數量龐大,給影像配準帶來了困難。因此,研究如何提高無人機影像配準的精度與效率具有重要意義。
圖像配準方法按處理思路可以分為基于灰度的配準方法和基于特征的配準方法2類。基于灰度的配準方法可以視作模版匹配的過程,計算簡便、容易實現,但是對不同影像上的灰度差異非常敏感,在實際應用中往往難以取得滿意的配準結果;而基于特征的配準算法對光照和幾何變化具有較強的魯棒性,且配準效率較高,是圖像配準領域的研究熱點。
基于特征的配準可以分為基于線特征、面特征及點特征的方法,無人機影像配準中最常用的配準算法大都基于點特征。基于點特征的配準方法中最具代表性的是文獻[2]提出的尺度不變特征變換 (scale invariant feature transform,SIFT) 算法,該方法對旋轉、仿射變化、尺度縮放、光照變化具有一定程度的穩定性。為了提高SIFT的性能,研究者們提出了一系列基于SIFT的改進算法,如加速穩健性特征 (speeded-up robust features,SURF) 算法[3]、主成分分析尺度不變特征變換 (principal component analysis SIFT,PCA-SIFT) 算法[4]、基于仿射變換的尺度不變特征變換 (affine-SIFT,ASIFT) 算法[5]等,這類算法都是通過高斯模糊構造尺度空間,容易使得對象的邊界信息被過度平滑,導致細節特征丟失。文獻[6]通過非線性濾波構建尺度空間,提出了KAZE算法,克服了SIFT算法的這一缺點;文獻[7]提出加速KAZE(accelerated KAZE,AKAZE)算法,用快速顯示擴散(fast explicit diffusion,FED)求解偏微分方程,提高了運算效率,同時構造了改進的局部差異二進制 (modified local difference binary,MLDB) 特征描述符,增加了對旋轉與尺度變化的魯棒性。此外,有研究者通過多特征聯合提取來滿足特定配準場景。文獻[8]利用SURF算法提取特征點,然后用二進制穩健基元獨立特征 (binary robust independent elementary features,BRIEF) 算法進行特征描述,滿足了無人機影像實時拼接的要求;文獻[9]融合AKAZE算法與穩定的RootSIFT描述符進行圖像配準,并融合了最近鄰 (k-nearest neighbors,KNN) 算法、雙向匹配及余弦相似度約束進行特征匹配,該算法更好地適應了無人機影像的匹配,但是增加了算法復雜度,難以滿足實時性要求;文獻[10]在SIFT基礎上加入歸一化互信息進行精配準,克服了影像尺度與光譜差異的問題。
雖然上述算法在提高匹配精度方面取得了一定的效果,但是在匹配效率上仍存在不足。另外,文獻[10]發現樹冠區域內特征點的誤差對配準會產生較大影響。為解決上述問題,本文提出一種基于數學形態學改進的無人機影像配準算法。首先根據可見光波段差異植被指數(visible-band difference vegetation index,VDVI)以及數學形態學原理,對樹冠區域內特征點進行剔除;然后將雙向匹配算法與KNN算法相結合,對特征點進行粗匹配;最后利用漸進一致采樣(progressive sample consensus,PROSAC)算法[11]進行精匹配,進一步提高配準精度。
基于點特征的影像配準是最常用的配準方法,通過提取影像中魯棒性強的特征點,建立參考圖與待配準圖之間的映射關系,然后計算幾何變換模型,完成影像的配準。其主要步驟可以概括為特征點提取、特征描述及特征匹配3步。
特征點是圖像灰度在x、y軸方向都有明顯變化的像素點[12]。近年來,利用尺度空間性質檢測特征點是一種主流的特征點提取方法。尺度空間是圖像領域模擬人眼在不同距離辨別物體的方法,尺度大則觀察范圍大,物體模糊;尺度小則觀察范圍小,可以看到細節特征。因為計算機在分析場景時,預先并不知道圖像中物體的尺度,所以需要將對象進行多尺度分解。高斯核函數是唯一的尺度不變核函數, SIFT算法在金字塔框架下構造高斯尺度空間[13],SURF算法采用盒子濾波近似高斯導數;但高斯模糊會導致邊界信息丟失,并且同一尺度下的幾組照片會平滑掉相同的細節和噪聲,影響特征點的定位精度。AKAZE算法采用FED來構建一個各向異性擴散的非線性尺度空間,這樣既保留了物體的邊界信息,又提高了構建速度。尺度空間構建效果如圖1所示。
在不同尺度的尺度空間效果圖中,圖像上的某個結構會在某個尺度上達到最大響應。通過Hessian矩陣[14]求取響應值是最常用的方法,其中最大響應值的點就是極值點,而極值點就是潛在的特征點。因此,通過計算濾波后圖像的局部響應值并求極值,可以獲得特征點的值,求取方式如圖2所示。

圖1 尺度空間效果圖 圖2 極值點選取
若該點在相鄰的3個尺度中3×3×3鄰域內是最大或最小值,則認為該點是極值點。通過確定極值點的亞像素精度,就可以估計特征點位置。響應值計算公式為:
(1)
其中:i為尺度等級;Li為圖像;σi,norm為步長。
極值點亞像素精度計算公式為:
(2)

在檢測到圖像上的特征點后,為了將這些特征點區分開,通常使用特征點鄰域像素信息來對該點進行描述。描述符可以分為傳統描述符與二進制描述符。傳統描述符的代表是SIFT,是一種浮點型描述符,浮點型描述符魯棒性強,但運算速度慢且占用過多內存;而二進制描述符在盡量不丟失必要信息的前提下,減少了內存占用率,并大大提高了后續特征匹配的速度。
其中,MLDB描述符是一種改進的局部差分二進制(local difference binary,LDB)描述符。LDB通過在特征點附近劃分多種不同大小的窗口,分別求取網格灰度均值信息以及水平、垂直方向上的梯度信息,將灰度信息和梯度信息值小的區域賦值為0,大的區域賦值為1,形成的子集連接成LDB的描述符。MLDB在LDB基礎上將LDB窗口旋轉到特征點的主方向,使描述符具有旋轉不變性,并對網格像素進行降采樣,用采樣后的平均值代替細分網格的均值,這樣對尺度變化也有很好的魯棒性。
為了將參考圖與待配準圖像的特征點進行對應,需要在特征描述符基礎上通過一定的距離準則尋找相似度最高的特征點對。特征匹配分為粗匹配與精匹配2個步驟。
1.3.1 特征粗匹配
KNN的原理為:在一個特征空間中,如果樣本中的k個最相鄰的樣本大多屬于同一類別,那么該樣本也屬于該類別,通常將對象間的歐氏距離作為相似性度量。選取參考影像中的特征點A,在待配準影像中根據歐氏距離確定最鄰近點B1和次鄰近點B2,設A與B1之間距離為d1,A與B2的距離為d2,閾值為T。若d1/d2>T,則認為特征點A周圍有大量相似點,不具有代表性,將其剔除;若d1/d2 傳統的特征點粗匹配都是單向匹配,但是歐氏距離在各維向量中分布不一,容易影響匹配精度。因此,本文在完成單向匹配基礎上,以待配準影像為基準,再求取B1在參考影像中對應的最鄰近特征點A1,當A1=A時,保留該點對。雙向匹配有效提高了特征點粗匹配精度。 1.3.2 特征精匹配 樹冠區域SIFT特征點提取如圖3所示。 圖3 樹冠區域SIFT特征點提取 在完成特征點粗匹配之后采用PROSAC算法對特征點進行特征點提純,PROSAC是針對隨機抽樣一致性 (RANdom SAmple Consensus,RANSAC) 算法的改進。RANSAC算法從整個數據集中隨機采樣進行計算,得到模型參數,而PROSAC先將特征點對按照相似度進行降序排序,取相似度較強的點對進行迭代計算,得到模型參數,因此該算法提高了正確樣本的抽取幾率,同時也節省了運算時間。 在利用已有配準算法進行無人機影像配準時發現,無人機影像具有豐富的結構和紋理信息,提取的特征點數量非常龐大,并且位于樹冠區域的特征點十分密集。對圖3中2幅影像提取SIFT特征點,左右兩幅影像分別提取12 452、12 571個特征點。但是經過RANSAC精匹配后只有22個點對匹配成功,且大多位于輪廓上。 樹冠區域特征點匹配結果如圖4所示,其中特征點的連線交錯相連,可以直觀地看出正確匹配點對很少。因此,如果能夠預先剔除樹冠區域內的特征點再進行特征描述與匹配,那么將大大提高匹配的速度與精度。 圖4 樹冠區域特征點匹配結果 本文改進算法流程如圖5所示。 圖5 本文改進算法流程 衛星影像由于成像高度很高,可以近似看作正射影像;而無人機影像成像高度較低,當地形起伏較大時,特征點高差會呈現顯著的變化,導致影像的配準結果不理想。樹冠區域特征點與地面點高差大,且紋理信息豐富導致特征點密集,容易受外界因素影響,大都是無效的特征點。如果能提取出樹冠范圍,然后剔除該區域內特征點,那么將大幅提高配準的精度與速率。采用植被指數方法可以將樹冠區域大致分離出來,但在無人機影像上樹冠區域是按像素分布,區域破碎且不連貫。為了能提取出完整、準確的樹冠區域,本文采用數學形態學(簡稱“形態學”)的先驗知識來改進特征點剔除算法。在形態學中,圖像被視為一個集合,結構元素是基礎研究對象,通過交集和并集運算達到圖像分割的目的。其中,腐蝕與膨脹操作是形態學運算的基礎,將腐蝕與膨脹操作結合可以實現不同形式的運算。 在形態學中,通常使用結構元素逐像素掃描目標圖像,并根據結構元素與圖像關系確定對應結構元素中心位置的像素值,結構元素通常是較小的矩陣。腐蝕操作中,當結構元素全都在目標區域中,結構元素的原點對應像素點屬于該區域;反之認為結構元素的原點對應像素點不屬于該區域。與此類似,膨脹的基本思想是:當結構元素中任一點處于目標區域,認為結構元素原點對應的像素點屬于該區域;反之認為不屬于該區域。腐蝕和膨脹算法的運算公式分別為: C1=A1ΘB1={(x,y)|(B1)(x,y)?A1} (3) C2=A2?B2={(x,y)|(B2)(x,y)∩A2≠?} (4) 其中:C1、C2分別為腐蝕、膨脹后的結果;A1、A2為目標對象;B1、B2為結構元;(x,y)為結構元的原點。腐蝕與膨脹效果如圖6所示。圖6中,紅色是腐蝕掉的像素,藍色是膨脹后的像素。腐蝕操作可以將圖像的邊界點消除,使圖像沿著邊界向內收縮,借此可以進行噪聲去除、元素分割等;膨脹操作則會將圖像邊界向外擴張,連通2個對象。 圖6 腐蝕與膨脹效果圖 腐蝕和膨脹是形態學的基礎,將兩者組合就可以實現形態學開、閉運算等不同形式的操作。開運算是先對圖像腐蝕后膨脹,在不改變物體輪廓的情況下,平滑物體邊緣,消除小噪聲點。閉運算是先對圖像進行膨脹再腐蝕,可以消除區域內的“空洞”,或者是去除物體上的小黑點。 受此啟發,在特征點提取后,以VDVI為基礎,通過形態學開、閉運算可以從無人機影像中獲取完整、簡明的樹冠范圍,然后將該區域內特征點剔除。算法具體步驟如下: (1) 將無人機影像R、G、B 3個通道信息進行拆分。 (2) 計算圖像的植被指數IVDV。因為無人機影像沒有近紅外波段,所以通過VDVI[15]進行計算,計算公式為: (5) 其中:IVDV取值范圍為[-1,1];ρred、ρgreen、ρblue分別為紅、綠、藍3個波段的反射率或像元值。 (3) 利用大津閾值法進行分割,將無人機影像分為樹冠區域(前景)與非樹冠區域(背景)。 (4) 確定合適的結構元素,將小于結構元的對象視為噪聲點并移除。 (5) 利用形態學算法去除植被區域邊緣的“毛刺”,填補區域中的“空洞”。 (6) 獲取完整的樹冠范圍,剔除樹冠內的特征點。 特征點剔除的具體流程如圖7所示。 圖7 特征點剔除流程 圖7a、圖7e所示分別為特征點剔除前、后的結果。從圖7e可以看出,樹冠區域內的特征點已全部被剔除掉。 在無效特征點剔除后,對剩余特征點進行描述與特征匹配。其中,特征粗匹配本文采用雙向匹配方法,特征精匹配用PROSAC算法。最后,通過計算兩幅影像單應矩陣將影像配準到同一區域,單應矩陣H計算公式為: (6) 其中:(x1,y1)為參考影像上特征點坐標;(x,y)為待配準影像上特征點坐標;hmn為單應矩陣的自由度參數。 為驗證提出算法的有效性,選取4組無人機影像進行實驗,實驗數據如圖8所示。 圖8 實驗影像對 本文研究的無人機影像配準主要針對城市區域,圖8所示為4組典型的城市場景影像對,其中左圖為參考圖,右圖為待配準圖,分辨率均為6 000×4 000像素。為便于后續變化檢測研究,選取的影像是重疊度較高的同一區域2期影像,間隔時間2周。本文所有算法均在Python3.7環境下編譯完成,部分開源代碼調用OpenCV庫實現并在此基礎上進行改進。實驗設備為64位Win10系統的筆記本電腦,其CPU為i5-8265U,內存為8 GiB。 圖8a的影像代表典型的城市住宅區,建筑物密集,左側為低層,右側為高層建筑,小區中道路兩側有綠化植被;圖8b的影像是城市高架公路,道路兩側以及環形匝道中有成片高大喬木,樹冠面積較大;圖8c的影像中有多種場景元素,包括建筑物、主干道路、河湖、小型公園,這可以驗證算法在復雜場景下的表現;圖8d的影像是在建區域,幾乎沒有樹冠區域,通過此區域可以驗證本文算法在沒有植被覆蓋區域的表現。 為驗證改進算法效果,首先對配準前、后影像進行定性分析。以SIFT算法為例,結合本文提出的形態學算法進行兩期影像配準,其中特征點匹配情況如圖9所示,配準結果如圖10所示。 圖9 特征點匹配情況 從圖9可以看出:住宅區由于建筑物比較密集,且2周內幾乎沒有變化,特征點分布多,在剔除樹冠區域內特征點后,特征點匹配效果很好;主干道路區域較空曠,特征點分布較少且位于樹冠區域內的已被剔除,但是道路上有同款汽車導致特征點存在誤匹配情況;混合區特征點數量與分布適中,特征點匹配效果好;在建區域特征點數量與分布適中,但變化較明顯,會存在部分特征點誤匹配情況。 圖10 影像配準結果 圖10中,為了更直觀地查看配準效果,在ArcGIS中利用卷簾工具進行對比,其中配準后的影像置于圖層頂層,參考影像置于底層并用灰度圖像展示。通過對建筑物、道路、河流等的邊界位置進行比對可以得出結論,配準后的影像與原影像基本重合,配準效果較好。 為了對本文提出的算法性能進行定量分析,評價其性能提升的幅度,分別對4個區域數據集中的影像對采用SIFT、SURF、BRISK[16]、AKAZE 4種算法進行配準。實驗分為2組,其中一組采用原算法匹配,作為對照組,另一組采用本文提出的形態學算法進行改進。具體的評價指標為特征點的正確匹配率(correct matching ratio,CMR)RCM、均方根誤差(root mean square errors,RMSE)ERMS及運算時間t。RCM、ERMS計算公式分別為: RCM=n/N (7) (8) 其中:n為正確匹配點對數量;N為所有匹配點對數量;ERMS取值范圍為(0,1),值越小精度越高;(xi,yi)為參考圖像中特征點的坐標;P(xi′,yi′)為待配準影像中特征點轉換后的坐標。 4種算法改進前、后對4個區域數據集進行配準,評價結果見表1所列。由表1可知,從CMR看,改進后算法在4個區域數據集中均有不同程度的提升,SIFT算法特征點正確匹配率提高了約6.47%,SURF算法提高了約7.09%,BRISK算法提高了約4.56%,AKAZE算法提高了約0.69%。其中,AKAZE算法在提取特征點時,采用FED來構建一個各向異性擴散的非線性尺度空間,提取的特征點魯棒性較強且數量適中,通過觀察AKAZE特征點分布情況,樹冠區域分布較少,其算法本身性能很高,因此本文提出的改進算法效果不明顯。但是對于SIFT、SURF這種特征點分布密集且魯棒性不是很高的特征匹配算法而言,采用本文提出的改進算法后,其特征點匹配正確率有較大提升。 表1 4種算法改進前、后3個評價指標結果對比 為驗證改進算法對配準精度的提升,在參考影像上選取10個均勻分布的特征點,然后記錄其在配準前、后兩幅圖像上的坐標信息,利用(8)式計算出RMSE。由表1可知:從RMSE 看,4種算法的配準精度也有一定幅度的提升,SIFT、SURF、BRISK算法配準精度分別提升了約0.17、0.20、0.14像素;其中對住宅區和混合區的影像配準結果基本控制在1.0像素內,道路區域以及在建工地區域的影像配準精度在1.5像素內,可以滿足后續變化檢測等處理的要求。 在運行速度方面,由于無人機影像分辨率較高,運算時間較長,為了方便計算,本文在算法運行前先對無人機影像進行降采樣。對改進前、后算法對比后發現,對住宅區和混合區配準的4種算法改進后速度得到一定的提升,這是因為這2片區域的樹冠面積較大,剔除這些樹冠區域內的特征點再進行特征描述和匹配,可以大幅減少運算時間。而在道路附近和在建區中,特征點分布較少,在建區甚至沒有樹冠區域,而本文算法在特征粗匹配中采用雙向匹配,使運算時間稍有增加,在后續的研究中,應該繼續改進。 總體而言,本文提出的基于形態學改進算法對影像配準的精度有了一定的提升,其中對SIFT、SURF這類提取特征點較密集的傳統配準算法提升效果明顯;當影像上樹冠區域密集時提升了算法的運算速度,對于沒有樹冠區域分布的影像,時間復雜度略有增加。 基于特征的影像配準算法中,特征描述子的提取與匹配是影像配準中的關鍵,決定了配準的精度與效率。本文從樹冠區域內特征點匹配結果中發現,該區域內的特征點對大多是錯誤匹配,因此在特征點提取時通過形態學處理提取樹冠區域,然后剔除該區域內的特征點再進行特征描述和匹配,提高了算法的特征匹配精度,也有效提高了配準結果的精度。該算法對SIFT、SURF這類特征點魯棒性較差的算法,改進效果很好;而對于AKAZE這類特征點數量適中且魯棒性強的算法,改進效果不是很明顯。在特征匹配方面,本文結合相關研究,通過雙向匹配算法提高了粗匹配精度,但是增加了運算時間,可以根據任務情況進行選用;通過PROSAC算法提高了精匹配的效率。與已有的算法相比,本文提出的改進算法在特征點匹配精度與配準精度上有了一定的提升,運算速度也基本滿足要求。

2 改進的點特征配準算法

2.1 數學形態學原理

2.2 基于數學形態學改進的特征點剔除算法


3 實驗結果與分析
3.1 實驗數據與設備配置

3.2 定性分析


3.3 定量分析

4 結 論