段小川,王廣軍,梁四海,杜海波,吳萍
(1.中國地質(zhì)大學(北京) 土地科學技術(shù)學院,北京 100083;2.天津市勘察設計院集團有限公司,天津 300191;3.中國地質(zhì)大學(北京) 水資源與環(huán)境學院,北京 100083;4.內(nèi)蒙古煤田地質(zhì)局勘測隊,呼和浩特 010010;5.青海省環(huán)境地質(zhì)勘查局,西寧 810007)
高光譜遙感圖像具有高的光譜分辨率、圖譜合一的特點[1],在目標探測[2]、環(huán)境監(jiān)測[3]、地物識別[4]等諸多領(lǐng)域應用廣泛。高光譜遙感圖像分類是高光譜遙感在地物識別領(lǐng)域的研究熱點之一。高光譜遙感圖像具有豐富的光譜信息,光譜分辨率可達納米級,用很窄并且連續(xù)的光譜通道獲取地物的光譜信息[5],可以反映地物的細微特征,為高光譜遙感圖像分類提供了便利。但高光譜遙感圖像波段多,信息量大,相鄰波段的信息具有較高的相關(guān)性,從而導致數(shù)據(jù)冗余度高,因此會出現(xiàn)“維數(shù)災難”的現(xiàn)象[6],即分類精度會隨著維數(shù)的增加,出現(xiàn)先上升后下降的現(xiàn)象。目前,為解決這一問題,高光譜遙感圖像降維是降低“維數(shù)災難”對高光譜遙感圖像分類影響的主要手段。在機器學習領(lǐng)域中,降維方法主要分為線性降維和非線性降維。常用的線性降維方法有主成分分析(principal component analysis,PCA)和多維尺度變換(multidimensional scaling,MDS)等,非線性降維方法有局部線性嵌入(locally linear embedding,LLE)[7]和等距特征映射(isometric feature mapping,ISOMAP)[8]等。傳統(tǒng)機器學習的分類方法有支持向量機(support vector machine,SVM)和隨機森林(random forest,RF)[9]等。近年來,深度學習在高光譜遙感圖像分類中的應用比較廣泛。目前,基于深度學習的高光譜遙感圖像分類方法有堆棧式自編碼器(stacked auto-encoder,SAE)[10]、深度置信網(wǎng)絡(deep belief networks,DBN)[11]和卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)[12]等。前人研究證明了基于深度學習的高光譜遙感圖像分類具有良好的分類性能。
高光譜遙感的傳感器在成像時會受光照、大氣、氣候以及混合像元等的影響,不同地物的光譜曲線會出現(xiàn)相似的現(xiàn)象,即“異物同譜”。同時,相同地物的光譜曲線也會出現(xiàn)較大差異的現(xiàn)象,即“同物異譜”。目前,為解決這一問題,在高光譜遙感圖像分類時不僅要考慮光譜信息,也要考慮空間信息。針對高光譜的這一特性,本文提出了二維Gabor(two-dimensional gabor,2D-Gabor)濾波的空間特征提取的堆棧式稀疏自編碼器(stacked sparse auto-encoder,SSAE)和三維Gabor(three-dimensional gabor,3D-Gabor)濾波的空譜特征提取的堆棧式稀疏自編碼器對高光譜遙感圖像分類的算法。為了充分論證該算法的可行性,分別將其在Indian Pines數(shù)據(jù)集和Pavia University數(shù)據(jù)集上進行驗證。實驗結(jié)果表明,該算法在2個數(shù)據(jù)集中都表現(xiàn)出良好的分類性能。
自編碼器(auto-encoder,AE)[13]是在1986年由Rumelhart等[14]提出的,其目的是為了得到數(shù)據(jù)的壓縮表達,實現(xiàn)數(shù)據(jù)降維的作用。自編碼器通常用于以無監(jiān)督的方式學習數(shù)據(jù)集的特征,一個自編碼器是由一個輸入層、一個隱含層和一個輸出層組成,輸入層的節(jié)點與輸出層的節(jié)點相同,隱含層的節(jié)點一般少于輸入層和輸出層節(jié)點,從而起到降維的作用。從輸入層到隱含層稱為編碼階段,從隱含層到輸出層稱為解碼階段,其網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 自編碼器的網(wǎng)絡結(jié)構(gòu)圖
編碼階段如式(1)所示。
y=f(Wyx+by)
(1)
解碼階段如式(2)所示。
z=f(Wzy+bz)
(2)
式中:x表示輸入數(shù)據(jù);y表示隱含層數(shù)據(jù);z表示輸出數(shù)據(jù);Wy和by表示編碼階段的權(quán)重和偏置;Wz和bz表示解碼階段的權(quán)重和偏置;f(·)表示激活函數(shù)。目前比較常用的激活函數(shù)有Sigmoid函數(shù)、tanh函數(shù)和ReLU函數(shù),本文采用ReLU函數(shù)作為激活函數(shù)。具體表示如式(3)所示。
f(x)=max(0,x)
(3)
為了更好獲取數(shù)據(jù)的壓縮表達,要使輸入x與輸出z盡可能地接近,本文采用梯度下降法[15]不斷優(yōu)化權(quán)重W和偏置b來最小化x和z之間的誤差,即通過最小化損失函數(shù)來獲得W和b。本文選取均方誤差作為損失函數(shù),具體表示如式(4)所示。
(4)
式中:m為訓練樣本的個數(shù);xi為第i組訓練樣本;zi為第i組訓練樣本的解碼數(shù)據(jù)。
稀疏自編碼器(sparse auto-encoder,SAE)[16]是在自編碼器的隱含層中增加了稀疏約束,其目的是為了更好地獲得輸入的壓縮表達,即在隱含層節(jié)點數(shù)目比較多的情況下也可以獲得輸入數(shù)據(jù)的主要成分。稀疏自編碼器是通過最小化損失函數(shù)來找到最佳參數(shù),損失函數(shù)如式(5)所示。
(5)
(6)
1989年,Hecht-Nielsen[17]證明了三層反向傳播神經(jīng)網(wǎng)絡具有普遍的表達能力,由于缺乏合適的訓練算法,當時并沒有得到廣泛的應用。直到2006年Hinton等[18]提出了深度學習的思想,人們才得以駕馭這個強大的模型。堆棧式自編碼器就是建立在這個模型上的深度學習算法。
堆棧式自編碼器由多個自編碼器和一個邏輯回歸分類器組成。為了集成神經(jīng)網(wǎng)絡和利用學習特征進行分類,需要用邏輯回歸分類器對整個訓練后的網(wǎng)絡進行微調(diào),Softmax分類器作為邏輯回歸分類器以實現(xiàn)多分類問題的改進,因此,本文使用Softmax作為其輸出層激活。Softmax分類器可以確保每個輸出單元的激活值的和為1,因此,可以將輸出視為一組條件概率,輸入屬于類別i的概率,如式(7)所示。
(7)
堆棧式自編碼器是通過反向傳播網(wǎng)絡對高光譜遙感圖像實現(xiàn)降維,學習數(shù)據(jù)的深層次的特征,進而達到分類的目的。具體步驟如下。
步驟1:將數(shù)據(jù)輸入到第一層自編碼器中訓練網(wǎng)絡參數(shù),將第一層自編碼器訓練好的隱含層數(shù)據(jù)當作第二層的輸入。
步驟2:采用與步驟1相同的方法訓練其余的自編碼器,將最后一層自編碼器的隱含層數(shù)據(jù)輸入到Softmax分類器中,通過訓練樣本的標簽對整個的網(wǎng)絡參數(shù)進行微調(diào)。
步驟3:將測試數(shù)據(jù)輸入到訓練好的網(wǎng)絡中實現(xiàn)分類。
堆棧式自編碼器的網(wǎng)絡結(jié)構(gòu)圖如圖2所示。
圖2 堆棧式自編碼器的網(wǎng)絡結(jié)構(gòu)圖
堆棧式稀疏自編碼器[19]是用稀疏自編碼器代替自編碼器組成的網(wǎng)絡結(jié)構(gòu)。在高光譜遙感圖像分類過程中,堆棧式稀疏自編碼器可以更好地學習數(shù)據(jù)的深層次的特征,進一步提高分類性能。
Gabor濾波與人類視覺密切相關(guān),廣泛應用于人臉識別[20]、紋理特征提取[21]和信息挖掘[22]等領(lǐng)域。在高光譜遙感領(lǐng)域,2D-Gabor濾波器主要用于提取圖像的空間信息,其具體表示如式(8)所示[23]。
(8)
高光譜遙感圖像具有光譜分辨率高和圖譜合一的性質(zhì),不僅包含豐富的空間信息,而且包含豐富的光譜信息。2D-Gabor濾波可用于提取圖像的空間信息。為了充分利用高光譜遙感圖像所提供的信息,3D-Gabor濾波器是在2D-Gabor濾波器的基礎上考慮了波譜信息,它可以同時獲取高光譜遙感圖像的空間信息和光譜信息。3D-Gabor濾波器的具體表示如式(9)所示[24]。
(9)
為了獲取不同頻率和不同方向的空間特征信息,通過改變?yōu)V波器的徑向中心頻率ω和旋轉(zhuǎn)參數(shù)θ,構(gòu)造不同的2D-Gabor濾波器。其徑向中心頻率ω選擇(1/16,1/8,1/4,1/2),旋轉(zhuǎn)參數(shù)θ選擇(0,π/4,π/2,3π/4),最終構(gòu)造了16個2D-Gabor濾波器。本文采取的2D-Gabor濾波的空譜聯(lián)合分類器具體步驟如下。
步驟1:為了更好地提取高光譜遙感圖像的空間特征,通過PCA對高光譜遙感圖像進行降維處理并提取前三個主成分。
步驟2:利用2D-Gabor濾波提取降維后的高光譜遙感圖像的空間特征。
步驟3:將提取后的空間特征信息與高光譜遙感圖像的波譜信息進行融合。
步驟4:將融合后的信息輸入到SSAE中進行分類。
網(wǎng)絡結(jié)構(gòu)如圖3所示。
圖3 2D-Gabor濾波的空譜聯(lián)合分類器網(wǎng)絡結(jié)構(gòu)圖
為了獲取不同頻率和不同方向的空譜特征信息,本文通過改變?yōu)V波器的徑向中心頻率ω和旋轉(zhuǎn)參數(shù)φ和θ,構(gòu)造不同的3D-Gabor濾波器。其徑向中心頻率ω選擇(1/16,1/8,1/4,1/2),旋轉(zhuǎn)參數(shù)φ和θ分別選擇(0,π/4,π/2,3π/4),但是當φ取0時,正弦值為0,此時,θ取任何值都不會影響ωx和ωy的值,因此,共有13個方向,最終構(gòu)造了52個3D-Gabor濾波器。每個濾波器對高光譜遙感圖像進行濾波的結(jié)果作為提取的空譜特征信息。如果高光譜遙感圖像有b個波段,經(jīng)過52個3D-Gabor濾波器進行濾波后會產(chǎn)生52×b個空譜特征信息。由于提取的空譜特征信息量過大,為提高后續(xù)的分類效率,需要對提取的空譜特征采取降維處理。本文采取的3D-Gabor濾波的空譜聯(lián)合分類器具體步驟如下。
步驟1:利用3D-Gabor濾波提取降維后的高光譜遙感圖像的空譜特征。
步驟2:通過PCA對3D-Gabor濾波后的空譜特征信息進行降維處理,以便提高后續(xù)的分類效率。
步驟3:將降維后的空譜特征信息與高光譜遙感圖像的波譜信息進行融合。
步驟4:將融合后的信息輸入到SSAE中進行分類。
網(wǎng)絡結(jié)構(gòu)如圖4所示。
圖4 3D-Gabor濾波的空譜聯(lián)合分類器網(wǎng)絡結(jié)構(gòu)圖
為了評價所提出模型的分類性能,采用總體精度(overall accuracy,OA)和Kappa系數(shù)作為評價指標。
Indian Pines數(shù)據(jù)集是1992年6月在印第安納州西北部的農(nóng)業(yè)區(qū)通過AVIRIS傳感器采集的高光譜遙感圖像和真實分類圖,如圖5所示。高光譜遙感圖像是由145像素×145像素和200個波段組成,波長范圍為0.4~2.5 μm,光譜分辨率為10 nm,空間分辨率為20 m。該圖像包括三分之二的農(nóng)田,三分之一的森林或其他天然生長的多年植被。其中,有兩條主要的雙車道高速公路、一條鐵路線、一些低密度的房屋,以及其他已建成的建筑和較小的道路。
圖5 Indian Pines高光譜遙感數(shù)據(jù)集
在本實驗中,設置了五種不同高光譜遙感圖像分類方法的對比實驗,分別為:光譜信息分類的支持向量機(SVM)、隨機森林(RF)、堆棧式稀疏自編碼器(SSAE)、空譜聯(lián)合分類的2D-Gabor濾波的堆棧式稀疏自編碼器(2D-Gabor+SSAE)和3D-Gabor濾波的堆棧式稀疏自編碼器(3D-Gabor+SSAE)。由于SSAE的參數(shù)調(diào)節(jié)較為復雜,如圖6所示,當隱含層節(jié)點數(shù)量過少時,會使數(shù)據(jù)的壓縮表達能力不足,分類精度較低,隨著隱含層節(jié)點增多,分類精度會趨于穩(wěn)定,但是當隱含層節(jié)點數(shù)量過多時,會導致過擬合,分類精度降低。本文根據(jù)圖6的隱含層節(jié)點數(shù)變化影響折線圖得出的結(jié)論設置隱含層節(jié)點數(shù),其余參數(shù)參考文獻[25]的建議設置參數(shù),參數(shù)設置如下所示。
圖6 SSAE隱含層節(jié)點數(shù)變化影響
SSAE的參數(shù)設置為:輸入層節(jié)點數(shù)為200,最大迭代次數(shù)為1 000次,隱含層為2層,隱含層節(jié)點數(shù)為100和50,權(quán)重衰減項權(quán)重λ為0.01,稀疏性懲罰項權(quán)重β為4,預期激活值ρ為0.05。
2D-Gabor+SSAE的參數(shù)設置為:輸入層節(jié)點數(shù)為248,隱含層節(jié)點數(shù)為150和80,其他參數(shù)與上述SSAE的參數(shù)設置一致。
3D-Gabor+SSAE的參數(shù)設置為:3D-Gabor濾波的空譜特征經(jīng)過PCA降維后的維度為200維,輸入層節(jié)點數(shù)為400,隱含層節(jié)點數(shù)為200和100,其他參數(shù)與上述SSAE的參數(shù)設置一致。
分別隨機選取10%的數(shù)據(jù)作為訓練樣本,重復十次實驗。五種方法的最高分類精度的分類結(jié)果如圖7所示,求得評價指標的平均值和標準差如表1所示。
圖7 不同方法的分類結(jié)果比較(Indian Pines)
表1 在Indian Pines數(shù)據(jù)集上的分類精度比較 %
實驗結(jié)果表明,經(jīng)過十次重復實驗,在光譜信息分類實驗中,RF的總體分類精度最高可達75.83%。SVM的總體分類精度最高可達81.55%,相較于RF平均總體分類精度提高了4.95%,標準差增加了0.56%。SSAE的總體分類精度最高可達83.86%,相較于SVM平均總體分類精度提高了3.3%,標準差降低了1.03%。在空譜聯(lián)合的分類實驗中,2D-Gabor+SSAE的總體分類精度最高可達94.98%,相較于光譜信息分類實驗中的SSAE算法,平均總體分類精度提高了11.32%,標準差降低了0.04%。3D-Gabor+SSAE的總體分類精度最高可達98.04%,相較于2D-Gabor+SSAE的平均總體分類精度提高了3.17%,標準差降低了0.15%。
選取Pavia University數(shù)據(jù)集進一步驗證本算法的普適性。Pavia University數(shù)據(jù)集是2003年在意大利的帕維亞大學通過ROSIS傳感器采集的高光譜遙感圖像和真實分類圖,如圖8所示。高光譜遙感圖像是由610像素×340像素和103個波段組成,波長范圍為0.43~0.86 μm,空間分辨率為1.3 m。
圖8 Pavia University 高光譜遙感數(shù)據(jù)集
在本實驗中,設計思路與Indian Pines數(shù)據(jù)集實驗基本一致,在參數(shù)設置上有些許不同,不同之處如下所示。
SSAE的參數(shù)設置為:輸入層節(jié)點數(shù)為103,隱含層節(jié)點數(shù)為80和50。
2D-Gabor+SSAE的參數(shù)設置為:輸入層節(jié)點數(shù)為151,隱含層節(jié)點數(shù)為100和50。
3D-Gabor+SSAE的參數(shù)設置為:3D-Gabor濾波的空譜特征經(jīng)過PCA降維后的維度為100維,輸入層節(jié)點數(shù)為203,隱含層節(jié)點數(shù)為100和50。
同樣分別隨機選取10%的數(shù)據(jù)作為訓練樣本,重復十次實驗。五種分類方法的最高分類精度的分類結(jié)果如圖9所示,求得評價指標的平均值和標準差如表2所示。
表2 在Pavia University數(shù)據(jù)集上的分類精度比較 %
圖9 不同方法的分類結(jié)果比較(Pavia University)
實驗結(jié)果表明,經(jīng)過十次重復實驗,在光譜信息分類實驗中,SVM的總體分類精度最高可達89.68%。RF的總體分類精度最高可達90.42%,相較于SVM平均總體分類精度提高了1.07%,標準差降低了0.09%。SSAE的總體分類精度最高可達94.73%,相較于RF平均總體分類精度提高了4.58%,標準差降低了0.23%。在空譜聯(lián)合的分類實驗中,2D-Gabor+SSAE的總體分類精度最高可達98.90%,相較于光譜信息分類實驗中的SSAE算法,平均總體分類精度提高了3.99%,標準差降低了0.03%。3D-Gabor+SSAE的總體分類精度最高可達99.60%,相較于2D-Gabor+SSAE的平均總體分類精度提高了0.87%,標準差降低了0.03%。
針對如何解決高光譜遙感圖像“維數(shù)災難”的現(xiàn)象,本文選取SSAE作為分類器。該分類器是以監(jiān)督的方式學習高光譜遙感圖像的深層次特征,同時,降低了高光譜遙感圖像的維度,更有利于高光譜遙感圖像的分類。與傳統(tǒng)的機器學習算法SVM和RF相比,總體分類精度和Kappa系數(shù)均有較大幅度提升,魯棒性更強。針對如何合理利用高光譜遙感圖像豐富的光譜信息和空間信息,本文提出了基于Gabor濾波的堆棧式稀疏自編碼的分類方法,分別利用2D-Gabor濾波和3D-Gabor濾波對高光譜遙感圖像進行特征提取。2D-Gabor+SSAE相較于僅利用光譜信息的SSAE分類的總體分類精度和Kappa系數(shù)均有大幅度提升,魯棒性更強。3D-Gabor+SSAE相較于2D-Gabor+SSAE分類的總體分類精度和Kappa系數(shù)均有大幅度提升,魯棒性更強。本文提出的兩種空譜聯(lián)合分類器和光譜信息分類器相比,總體分類精度和Kappa系數(shù)都有顯著提高,并具有較強的魯棒性。3D-Gabor濾波對高光譜遙感圖像特征提取的能力優(yōu)于2D-Gabor濾波,進一步說明了空譜特征對高光譜遙感圖像的表達能力優(yōu)于空間特征。