劉 冰,余旭初,張鵬強,譚 熊
信息工程大學,河南 鄭州 450001
高光譜遙感影像能夠同時提供地物豐富的光譜和空間信息,因此被廣泛應用于精細農業、環境監測、城市規劃和軍事偵察等領域。高光譜影像地物分類則是開展各類應用的重要環節之一,其最終目的是給影像中的每個像元賦予唯一類別標識。然而,高光譜影像的高維和小樣本特性使得高光譜影像地物分類仍然面臨巨大挑戰。為此,支持向量機[1](support vector machine,SVM)、稀疏表達[2]、半監督學習[3]和主動學習[4]等一系列分類方法被用于高光譜影像分類。但在不進行特征提取的情況下,這些分類方法很難在高光譜遙感影像地物分類中取得理想結果。
深度學習方法通過多層的神經網絡來提取更加抽象的特征表達,以更好地描述高維數據的復雜結構,進而獲得更高的分類和識別精度。卷積神經網絡(convolutional neural network,CNN)是深度學習技術中極具代表性的網絡模型之一,其能夠直接處理高維的二維圖像數據,避免了人工設計特征的復雜過程,而是隱式地從訓練數據中進行學習,從而降低了分類和識別過程中數據重建的復雜度。由于采用了權值共享機制,使得CNN易于并行實現;此外,CNN對平移、尺度、形狀、光照等具有一定程度的不變性。由于具有以上優點,CNN近年來已經被成功用于目標識別、圖像理解、機器翻譯等不同領域。隨著深度學習的快速發展,高光譜研究人員逐漸將深度學習方法用于解決高光譜影像分類問題。堆棧式自編碼器[5](stacked autoencoders,SAE)是一種簡單有效的深度學習方法,率先被用于高光譜影像分類。隨后,一維卷積神經網絡[6](1D-CNN)、深度置信網絡[7]和循環神經網絡[8]也被用于高光譜影像分類。大量的研究成果表明,綜合利用光譜和空間特征能夠有效提高高光譜遙感影像地物分類的精度。因此,利用二維卷積神經網絡[9-13](2D-CNN)提取高光譜影像空間特征,并結合光譜特征,能獲得比1D-CNN更好地分類效果。此外,深度學習還與主動學習[14]、半監督分類[15]、遷移學習[16]等方法結合以進一步提高高光譜影像地物分類精度。
近年來,基于深度學習的高光譜遙感影像地物分類方法得到了廣泛的研究,并取得了一定進展。但神經網絡中通常包含了大量參數,需要大量標注數據對其進行優化。而高光譜遙感影像標注數據費時費力,用于訓練的標注數據非常有限。因此無法直接應用大規模的深層網絡對高光譜遙感影像地物進行分類。針對此問題,目前主要的研究集中于如何簡化網絡和減少參數數量,以使深度學習方法適應高光譜遙感影像地物分類小樣本的特性。此外,為利用空間特征提高分類精度,現有的深度學習方法一般需要首先使用主成分分析對高光譜影像進行降維預處理,進而采用CNN提取空間特征,最后結合光譜特征進行分類。但降維處理會丟失高光譜數據的細節信息,而這些細節信息很有可能是區別不同地物的判別信息。
針對以上問題,本文通過引入殘差學習結構來解決小樣本條件下深層網絡難以訓練的問題,并利用三維卷積來對高光譜影像進行特征提取。三維卷積可直接對高光譜影像進行處理,不需要降維等預處理操作,因此能夠更加充分地利用高光譜影像提供的光譜和空間信息。本文構建的深層三維卷積網絡能夠提取更加抽象的特征表達,且不需要降維預處理,能夠提高高光譜遙感影像地物分類精度。在Pavia大學、Indian Pines和Salinas三組高光譜數據集上驗證了本文算法的有效性。
CNN最初是受到視覺系統中神經機制的啟發,針對二維形狀的識別而設計的一種多層感知機。該方法將局部連接、權值共享、空間亞采樣三種思想結合起來獲得某種程度的平移、尺度、形狀不變性,具有對二維圖像適應性強的特點。同時,CNN結構的可拓展性很強,它通常由若干卷積層、池化層(下采樣層)和全連接層組成,可以采用很深的網絡結構。因此,CNN能夠處理更復雜的分類和識別問題,并取得較為理想的結果。

(1)
池化層完成對卷積層輸出特征圖的下采樣操作,以實現特征對平移、尺度、形狀的不變性,同時達到減少訓練參數的目的。常見的下采樣操作有均值池化和最大池化。卷積神經網絡經過若干交替的卷積層和池化層后,將特征輸入全連接層和分類器中,并計算損失函數。卷積神經網絡的訓練目標是使損失函數最小,通常采用反向傳播算法進行訓練。
CNN最初是針對二維形狀的識別而設計,可以直接處理二維圖像,建立從底層信號到高層語義的映射關系,并在視覺圖像分類和識別中取得了成功。然而,卷積神經網絡在對視頻等三維數據進行分析時,具有一定局限性。高光譜遙感影像是三維的數據立方體。因此,卷積神經網絡在對高光譜遙感影像地物進行分類前需要使用主成分分析等方法進行降維預處理。但降維處理會損失高光譜圖像中的細節信息,而這些細節信息往往有助于區分不同地物類別。

(2)


圖2 殘差學習示意Fig.2 Illustration of residual learning
殘差學習的基本思想是在傳統網絡結構的基礎上,引入一條捷徑,跳躍繞過一些層的連接與主徑相加。引入捷徑后,訓練過程中的底層誤差可以通過捷徑向上層傳播,緩解了因層數過多而導致的梯度彌散問題,使得深層網絡的訓練變得容易。
高光譜遙感影像是典型的三維數據立方體,且標注訓練樣本費時費力。因此,在應用深層網絡對高光譜影像進行分類時,需要面臨高維和小樣本導致的“維數災難”問題以及網絡退化問題的挑戰。為此,本文構建如圖3所示的深層三維卷積網絡用于對高光譜遙感影像進行分類。圖3所示的深層三維卷積網絡的深度主要體現在具有更多的隱藏層數,該網絡由輸入層、一個三維卷積層、兩個殘差學習模塊(包含3個三維卷積層)、兩個池化層、一個全連接層和輸出層組成。表1給出了常用于高光譜影像分類的深度學習模型包含的隱藏層數和本文網絡包含的隱藏層數。由表1可知,與目前常用于高光譜影像分類的深度學習模型相比,本文網絡具有更多的隱藏層數,能夠提取和利用更加抽象的深層特征。

表1 常用于高光譜影像分類的深度學習模型的隱藏層數
圖3中,Conv表示卷積核大小為3×3×3的三維卷積層,Pooling表示步長2×2×4為池化層,FC表示全連接層。ReLU[20-21](rectified linear units)激活函數相比于傳統的Sigmoid和tanh激活函數具有更快的收斂速度。因此,本文所有三維卷積層均采用ReLU激活函數進行非線性映射。ReLU激活函數形式為
f(x)=max(0,x)
(3)
圖3中,虛線框內為一個殘差學習模塊。通常的殘差學習模塊中包含池化層,這將導致捷徑和主徑特征維度不同而無法相加,一般的做法是對主徑的特征圖進行補全或上采用處理。本文對每個三維卷積層的輸入進行補全處理,以使得卷積前后的特征圖維度相同,且在殘差學習模塊中不使用池化層,從而實現主徑和捷徑特征圖的相加融合。每個殘差學習模塊后連接一個步長2×2×4為的池化層,以減少計算量,并對特征進行聚合。高光譜影像通常具有較高的光譜維度,且各波段間存在較強的相關性,即存在大量冗余信息。文獻[6]在利用1D-CNN對光譜特征進行分類時,僅使用了一個池化層。因此,使用了較大的池化步長5,以達到快速降低光譜特征維度的目的。鑒于此,本文網絡在每個殘差模塊后連接一個池化層,并將光譜維度池化步長設置為4,而空間維度池化步長均設置為2。然后,將最后一個三維卷積層輸出的特征圖展成一維向量,與全連接層相連,并在全連接層采用Dropout正則化方法,隨機丟棄隱藏層一定比例的節點,以控制過擬合風險。最后,在輸出層采用Softmax函數作為激活函數,以完成高光譜影像的多種地物分類任務。Softmax激活函數形式為
(4)
本文網絡的訓練與傳統卷積網絡訓練相同,包含前向網絡計算和反向傳播兩個步驟。首先,將訓練樣本輸入到網絡中得到輸出的類別標簽,并計算相對于已知類別標簽的交叉熵損失函數。然后,采用基于反向傳播的隨機梯度下降法來優化網絡參數。

圖3 深度三維卷積網絡結構Fig.3 Architecture of deep 3D convolution network
試驗的硬件環境為32 G內存、i7-5700Q處理器,GTX970M顯卡。試驗程序均在Ubuntu16.04系統下,基于谷歌深度學習開源庫TensorFlow實現。
為驗證算法的有效性,使用具有代表性的Pavia大學[22-23]、Indian Pines[24]和Salinas[25]高光譜遙感數據集進行分類試驗。
(1) Pavia大學數據集:該數據由ROSIS傳感器獲得,光譜覆蓋范圍為430~860 nm,影像大小為610×340像素,空間分辨率為1.3 m,去除受噪聲影響的波段后,剩余103個波段可用于分類。該數據集對9種地物進行了標注。地物類別、選取的訓練樣本數量、確認樣本數量以及測試樣本數量見表2。
(2) Indian Pines數據集:該數據集由AVIRIS傳感器獲得,光譜覆蓋范圍為400~2500,影像大小為145×145像素,空間分辨率為20 m,去除受噪聲影響的波段后,剩余200個波段可用于分類。該數據集對16種地物進行了標注。參照文獻[24],去除樣本數量較少的地物類別,選取樣本較多的9種地物進行試驗分析。地物類別、選取的訓練樣本數量、確認樣本數量以及測試樣本數量見表3。
(3) Salinas數據集:該數據集由AVIRIS傳感器獲得,光譜覆蓋范圍為430~860,影像大小512×217為像素,空間分辨率為3.7 m,去除受噪聲影響的波段后,剩余204個波段可用于分類。該數據集對16種地物進行了標注。地物類別、選取的訓練樣本數量、確認樣本數量以及測試樣本數量見表4。

表2 Pavia大學數據集樣本信息

表3 IndianFines數據集樣本信息
深度三維卷積網絡(Res-3D-CNN)結構的設計參考了計算機視覺領域CNN設計的一般經驗,即在更高的卷積層,使用更多的卷積核,例如第1個卷積層中使用8個卷積核,在第2個卷積層在使用16個卷積核。在一個殘差結構中所有卷積層使用的卷積核數量相同,以確保捷徑和主徑特征維度相同。表5給出了不同數據集第一個卷積層使用不同數量的卷積核對應的總體分類精度。表6給出了不同數據集第一個卷積層使用不同數量的卷積核對應的訓練時間。由表5—6可知,參數數量隨著卷積核數量增加而增加,因此使用更多的卷積核需要更多的訓練時間;但分類精度在某個數量的卷積核處達到飽和,繼續增加卷積核數量,反而會加劇網絡退化現象,從而導致分類精度下降。由于不同傳感器獲取高光譜數據的光譜維度不同,因此,不同傳感器高光譜數據的最優卷積核數量也有所不同。根據表5,對于ROSIS傳感器獲得的Pavia大學數據最優的卷積核數為32,而對于AVIRIS傳感器獲得的Indian Pines和Salinas數據最優的卷積核數量為16。
網絡結構確定后,利用均值為0、方差為0.1的截斷正態分布對卷積層和全連接層的權重進行隨機初始化,偏置均初始化為0.1。Dropout參數設置為0.5(即隨機關閉隱藏層50%的節點)。采用Adam[26]優化器對網絡進行訓練,初始學習率設置為0.001。網絡訓練最大迭代次數為200次,圖4給出了訓練過程中損失函數和總體分類精度在確認樣本上的變化情況,最后選擇在確認樣本上分類精度最高的模型對測試數據進行分類。每個樣本空間鄰域大小參照文獻[15]設置為9×9,即輸入到網絡中的每個樣本為9×9×B數據立方體,其中為B波段數。

表5 不同卷積核數量對應的總體分類精度
為驗證Res-3D-CNN的有效性,分別與SVM、EMPs[25](Extended morphological profiles)、1D-CNN、去除殘差模塊的淺層三維卷積網絡(S-3D-CNN)、與本文網絡結構相同但未加入殘差結構的三維卷積網絡(3D-CNN)進行對比分析。其中不同分類算法的訓練數據、確認數據、測
試數據數量均相同,即每個類別地物隨機選取200個樣本作為訓練數據,再從訓練數據中隨機選取10%作為確認數據集。SVM的核函數為高斯徑向基核函數,核函數參數和懲罰系數采用交叉驗證的方法在確認數據集上選取最優參數。1D-CNN網絡結構與文獻[6]中設置相同。EMPs參數設置與文獻[25]中設置相同。2D-CNN網絡結構與文獻[9]中設置相同。1D-CNN、2D-CNN、S-3D-CNN、3D-CNN和Res-3D-CNN均選取在確認數據集上分類精度最高的模型對測試數據進行分類,并與真實地物標記對比評價精度。

表6 不同卷積核數量對應的訓練時間

圖4 訓練過程中損失函數和總體分類精度在確認樣本上的變換情況Fig.4 The loss function and the overall accuracy on the validating sample during the training procedure
表7—9分別給出了3組數據集對應的分類結果。SVM和1D-CNN僅使用光譜特征進行分類,但由于訓練樣本數量有限的原因,1D-CNN的分類精度低于SVM。EMPs和2D-CNN均能夠綜合利用空-譜特征進行分類,因此總體分類精度(overall accuracy,OA)、平均分類精度(average accuracy,AA)和Kappa系數較SVM和1D-CNN有較為明顯的提升。這是由于單純利用光譜特征分類存在“同物異譜,異物同譜”問題,而綜合利用空-譜特征進行分類,加入了空間約束,因此能夠改善分類效果。使用2個三維卷積層、2個池化層和一個全連接層的S-3D-CNN在3組數據集上,較EMPs和2D-CNN算法在總體分類精度、平均分類精度和Kappa系數均略有提升,這說明使用三維卷積網絡能夠更好地利用高光譜影像的三維空-譜特征,但由于訓練樣本數量較少,精度提升效果不明顯。進一步增加三維卷積層數,使用7個三維卷積層、2個池化層和一個全連接層的深層網絡(與本文網絡層數相同,但未引入殘差結構),3D-CNN的網絡結構相比于S-3D-CNN更復雜,但分類精度反而下降。這說明在訓練樣本有限的情況下,用于高光譜影像分類的三維卷積網絡也存在退化現象。為克服網絡退化現象對分類精度的影響,同時利用深層網絡提取更加抽象的特征來改善高光譜影像的整體分類效果,本文在深層網絡中引入殘差學習,構建了Res-3D-CNN,并在3組數據集上,OA、AA和Kappa系數相比于其他方法均有明顯提高,例如Pavia大學數據集,Res-3D-CNN的OA相比SVM、EMPs、1D-CNN和2D-CNN分別提高了7.14%、5.30%、10.13%和4.19%;Indian Pines數據集,Res-3D-CNN的OA相比SVM、EMPs、1D-CNN和2D-CNN分別提高了6.76%、5.87%、10.45%和3.10%;Salinas數據集,Res-3D-CNN的OA相比SVM、EMPs、1D-CNN和2D-CNN分別提高了3.86%、1.92%、7.83%和1.99%。

表7 不同算法在Pavia大學數據集的分類結果

表8 不同算法在Indian Pines數據集的分類結果

表9 不同算法在Salinas數據集的分類結果
圖5—7給出了不同數據集上不同算法的分類圖,Res-3D-CNN分類噪聲相比于其他方法更少,獲得了最好的分類效果。事實上,圖5—7的結果與表7—9的結果是一致的。雖然Res-3D-CNN在OA、AA和Kappa系數上相比于其他方法均有明顯提高。但對于不同數據集中易于區分的地物類別,Res-3D-CNN分類效果與其他方法相當。如Pavia大學數據集中的第4、5、9類地物,Indian Pines數據集中的4、5、9類地物,Salinas數據集中的除了第8和15類的其他地物類別,這些地物類別的特征與其他地物類別之間區分較為明顯,即使使用SVM對光譜特征進行分類也能取得很好的分類效果。Res-3D-CNN對于特征相近容易誤分的地物類別的分類精度提升較為明顯,因此能改善總體分類效果。
深度網絡已經被證明對于大規模數據的分類識別非常有效。但相對于高維的數據結構,高光譜影像通常能夠提供的標注樣本較少。為分析訓練樣本數量對本文算法的影響,從每類地物中分別隨機選取50、100、150、200個樣本作為訓練數據(仍然從訓練樣本中隨機選取10%的樣本作為確認數據)進行試驗。不同分類算法在不同數據集上的總體分類精度如圖8—10所示。由圖8—10可知在進一步減少訓練樣本數量的情況下,Res-3D-CNN的總體分類精度仍高于SVM、EMPs、1D-CNN和2D-CNN算法。

圖5 各算法在Pavia大學數據集上的分類結果圖及其對應的總體分類精度Fig.5 Classification maps and overall accuracy with different methods on the University of Pavia dataset

圖6 各算法在Indian Pines數據集上的分類結果圖及其對應的總體分類精度Fig.6 Classification maps and overall accuracy with different methods on the Indian Pines dataset

圖7 各算法在Salinas數據集上的分類結果圖及其對應的總體分類精度Fig.7 Classification maps and overall accuracy with different methods on the Salinas dataset

圖8 Pavia大學數據集:不同訓練樣本數目對應的總體分類精度Fig.8 Overall accuracy with different number of training samples on the University of Pavia dataset

圖9 IndianPines數據集:不同訓練樣本數目對應的總體分類精度Fig.9 Overall accuracy with different number of training samples on the Indian Pines dataset
為進一步證明Res-3D-CNN在小樣本情況下的有效性,從每類地物中隨機選取20個樣本作為訓練數據(仍然從訓練樣本中隨機選取10%的樣本作為確認數據)進行試驗。表10給出了不同算法的總體分類精度,Res-3D-CNN仍然能夠獲得最高的分類精度。這也說明了與SVM和現有的基于深度學習的高光譜影像分類方法相比,本文算法即使在小樣本的情況下仍然能夠有效提高分類精度。但此時EMP和2D-CNN在Pavia大學數據集和Salinas數據集上的分類精度已經接近Res-3D-CNN的分類精度,進一步減少標記樣本數量,則無法保證所設計網絡模型的優勢。因此,為保證Res-3D-CNN的分類效果,分類時每類地物隨機選取的標記樣本數量不應少于20個。

圖10 Salinas數據集:不同訓練樣本數目對應的總體分類精度Fig.10 Overall accuracy with different number of training samples on the Salinas dataset
眾所周知,深度學習需要大量的訓練樣本,Res-3D-CNN主要從3個方面來解決訓練樣本數量較少時的深度網絡訓練問題。首先,大量研究表明在高光譜影像分類過程中充分考慮空間信息對最終分類結果的影響,有助于降低分類的不確定性,從而提高分類精度。為此,Res-3D-CNN利用三維卷積網絡來充分利用高光譜影像的空-譜信息。然后,深度學習模型通常需要較多的訓練樣本,且經常面臨梯度彌散問題,即采用反向傳播算法傳播梯度的時候,隨著傳播深度的增加,梯度的幅度會急劇減小,會導致淺層神經元的權重更新非常緩慢,不能有效學習。為此,Res-3D-CNN在三維卷積網絡中引入殘差學習結構,來有效緩解梯度彌散問題,使網絡的訓練變得更加容易。最后,針對訓練樣本數量較少時,深層網絡容易出現的過擬合現象,Res-3D-CNN采用Dropout[27]正則化方法降低過擬合風險。

表10 3組數據集中每類隨機選取20個訓練樣本對應的總體分類精度
本文針對高光譜影像分類高維和小樣本的特點,利用三維卷積提取高光譜影像的三維空-譜特征,并利用殘差學習模塊構建深層網絡對高光譜影像進行分類。采用Pavia大學、Indian Pines和Salinas 3組高光譜影像數據集進行試驗驗證。試驗結果表明:①三維卷積網絡能夠直接以高光譜數據立方體作為輸入,不需要事先降維預處理,是一種有效的利用高光譜影像空-譜特征的方法;②在選取較少的訓練樣本的情況下,殘差學習模塊能夠較好地解決深層網絡在高光譜影像地物分類時的退化問題,因此,本文構建的深層三維卷積網絡能夠有效改善整體分類效果。
雖然本文構建的深層三維卷積網絡能夠在訓練樣本有限的情況下改善高光譜遙感影像地物分類精度,但改善效果隨著訓練樣本數量的減少而下降。進一步的研究工作將結合樣本增強和半監督學習方法,以期使用更少的訓練樣本數量,獲得更高的分類精度。