關世豪,楊 桄,李 豪,付嚴宇
(空軍航空大學,長春130022)
高光譜遙感圖像是機載或星載的成像光譜儀在電磁波譜的紫外、可見光、近紅外和中紅外區域,以數十至數百個連續且細分的光譜波段對地面目標區域同時成像,得到的以像素為單位的高光譜圖像[1],可同時獲取地物空間信息與高分辨率的光譜信息。憑借其豐富的光譜信息,高光譜遙感圖像為人們研究地表物體的性質,尤其是對地物的精細分類和識別提供了依據,在農業[2]、林業[3]、采礦業[4]、城市規劃[5]、國防建設[6]以及空間探索[7]等方面應用廣泛。
卷積神經網絡(convolutional neural network,CNN)是計算機視覺領域占主流地位的一種深度學習網絡,也是目前在高光譜圖像分類領域應用最廣泛的深度學習網絡。HU等人[8]首次采用1維卷積神經網絡(onedimensional convolutional neural network,1-D-CNN)實現了基于光譜特征的高光譜圖像分類。YANG等人[9]分別利用1-D-CNN與2維卷積神經網絡(two-dimensional convolutional neural network,2-D-CNN)從高光譜數據中提取光譜特征與空間特征,將兩種特征串接后通過分類器完成分類,但這種將光譜與空間特征分開提取的方法需要復雜的預處理,破壞了高光譜數據的3維結構。近幾年來,研究者將3維卷積神經網絡(three-dimensional convolutional neural network,3-DCNN)應用到高光譜圖像分類中[10-11],此類方法無需復雜的預處理和后處理,可以在不破壞高光譜圖像數據結構的前提下,直接提取空譜聯合特征進行分類,在實際分類中表現出較好的分類效果。
高光譜圖像光譜分辨率高,相鄰波段之間具有高度相關性,在非相鄰波段上也表現出一定的相關性[12],其光譜數據本質上是一類序列數據。當前基于CNN的高光譜圖像分類方法都是將單個像元上的光譜數據看作是無序的高維向量[13],這不符合光譜數據的特性。對于序列數據而言,循環神經網絡(recurrent neural network,RNN)是最自然的神經網絡架構,因此,研究者考慮利用RNN對高光譜圖像分類。MOU等人[14]首次將RNN應用于高光譜圖像分類中,與支持向量機(support vector machine,SVM)和1-D-CNN等方法相比,該方法達到了更高的分類精度,這也間接證明了RNN在提取光譜特征的性能要優于CNN。但是這種方法僅依賴圖像中的光譜特征進行分類,沒有考慮到空間特征,實際的分類效果中椒鹽現象嚴重。
針對上述問題,本文中在空譜聯合特征提取階段充分考慮高光譜圖像中空間數據與光譜數據的特性,設計了一種基于3維卷積遞歸神經網絡(3-D convolutional recursive neural network,3-D-CRNN)的高光譜圖像分類方法。采用3-D-CNN與雙向遞歸神經網絡(bidirectional RNN,BiRNN)分步提取高光譜數據的空間特征與光譜特征,形成空譜聯合特征,最后通過Softmax函數訓練分類器實現最終的分類。該方法可以實現端到端的訓練,在不破壞數據結構的前提下,充分利用空間與光譜數據所提供的語義信息,提取到的特征也更具辨別性。在Pavia University與Indian Pines高光譜數據上驗證了本文中方法的有效性。
高光譜圖像中含有豐富的光譜信息與空間信息,不同信息具有各自不同的特性。高光譜圖像中光譜信息的光譜分辨率較高,每個像元都具有連續的光譜曲線[15],也就是說,單個波段與相鄰幾個波段之間的像元亮度值(digital number,DN)具有一定的相關性。隨著波段間距離的增加,這種相關性會逐漸減弱。在高光譜圖像分類中,空間信息主要指空間上下文信息,其特性具體表現為空間位置上距離較近的像元屬于同一類地物的概率比距離較遠的可能性大[16]。分類過程中合理利用空間信息能夠有效提升分類精度,削弱椒鹽現象[17]。進行分類時需要同時考慮到兩類信息的特性,采用合適的特征提取策略,以此提升高光譜圖像的分類效果。
CNN最初是應用在2維結構的圖像數據上,在提取圖像的空間特征上表現出極佳的效果。絕大多數CNN使用的都是2維卷積核,但是高光譜圖像具有上百個波段(即上百張2維圖像),將2維卷積核應用到高光譜圖像的處理上時將會產生大量參量,對于標注數據較少的高光譜圖像來說,極易造成過擬合現象[18]。
3維卷積核可以同時在3個方向上進行卷積,輸出為一個3階張量。在3-D-CNN卷積層第i層,第j個特征圖中,(x,y,z)位置的輸出可通過如下公式計算:

式中,f(·)是激活函數;bij為偏置;Bi,Wi和 Hi是 3維卷積核的大小,即Bi是3維卷積核在光譜維的尺寸,Wi和 Hi分別是3維卷積核的寬和高;uijk,hwb是與(i-1)層第k個特征圖相連接的卷積核。相對于2維卷積,3維卷積涉及的參量較少,更適合于樣本有限的訓練任務。除此之外,對比2維卷積核與3維卷積核對高光譜圖像的卷積結果(如圖1所示),利用2維卷積核提取特征,可能會損失高光譜圖像的3維結構信息。3維卷積核能夠充分地提取高光譜數據的空間特征,并且保留光譜維上的數據維度大小。因此本文中采用3-D-CNN進行空間特征的提取。

Fig.1 The comparison of two kind of convolution kernel processing results
卷積核的大小對模型訓練效果和速度有重要影響。有研究表明[19],大小為3×3的卷積核可以在參量較少的情況下,表現出更好空間特征提取效果,所以3維卷積核的大小定為3×3×1。3-D-CNN提取空間特征的策略為:從原始高光譜圖像中提取大小為n×n×B(B指高光譜圖像波段數)的數據塊,使用3-D-CNN對數據塊進行卷積處理,卷積核大小為3×3×1。經過幾個卷積層的非線性變換之后將中心像元周圍一定大小鄰域的空間信息融入到中心像元中,生成一個大小為1×1×B大小的向量,完成空間特征的提取。
高光譜圖像的光譜數據是一種序列數據,波段之間具有序列相關性。隨著波段間距離的增加,這種相關性會逐漸減弱,說明光譜數據中各個波段之間短期依賴性較強,而且對前后信息都具有依賴性。為了降低訓練成本,在訓練時不考慮其長期信息記憶的損失,采用參量較少的標準RNN。但是標準的RNN處理序列數據時只會將之前的信息記憶應用于當前的輸出,卻忽略了之后的信息。
BiRNN是RNN的一種變體,其基本思想是對同一組序列數據分別用向前和向后兩個RNN進行訓練,兩個RNN同時與輸出層相連,這種結構為每一個輸出提供前后的上下文信息。因此,本文中采用BiRNN對光譜維上的特征進行提取,網絡結構如圖2所示。其中包含6個權重:輸入層到前向和后向隱層(U1,U2),隱層到隱層(Q1,Q2),前向和后向隱層到輸出層(V1,V2)。

Fig.2 Schematic diagram of BiRNN
本文中設計的3D-CRNN模型包括空間維特征提取與光譜維特征提取兩部分??臻g維特征提取部分主要由3-D-CNN組成,卷積核大小皆為3×3×1,步長為1。卷積層之間不設池化層,以保留小目標的特征信息。在卷積核的數目設置上,按照CNN的普遍設計比率,后一層的卷積核數目是前一層的兩倍,初始層卷積核的數目設為4。每個卷積層的輸出經過批歸一化(batch normalization,BN)層與ReLU激活函數。對最后一個卷積層輸出進行丟棄處理,避免因密集采樣而導致模型過擬合。數據集準備過程中,需要對原圖像邊緣進行一定的零填充,然后以原圖像上的每一個像元為中心點依次選取n×n×B大小的像素塊作為訓練樣本與驗證樣本,其中n×n為高光譜圖像空間維上的采樣大小,B指光譜波段數。為了滿足光譜維特征提取部分的輸入格式,處理后的數據大小必須為1×1×B。因此,對于輸入到訓練網絡中不同大小的像素塊,可以通過改變卷積層的層數實現改變輸出大小的目的,例如:對于大小為5×5×B的像素塊,卷積層層數設為2;對于大小為7×7×B的像素塊,卷積層層數設為3,以此類推。光譜維特征提取部分由Bi-RNN構成,遞歸層的層數設為1,隱藏層特征數設為32。將輸出經過BN層,使用Tanh函數作為Bi-RNN的激活函數,最后將BiRNN的輸出結果輸入到全連接(fully connected,FC)層中,使用Softmax作為訓練分類器的損失函數。整個網絡結構如圖3所示。

Fig.3 3-D-CRNN network structure diagram
為了評價模型的分類效果,選擇Pavia University與Indian Pines兩個具有代表性的高光譜圖像數據集對模型分類效果進行驗證,如表1所示。這兩個數據集在傳感器、空間分辨率、樣本數量以及地物種類等方面具有較大差異,更能綜合地反映出模型的分類性能。分類評價指標采用平均分類精度、總體分類精度與衡量分類精度的kappa系數。

Table 1 Hyperspectral image data set
實驗的硬件平臺是一臺個人計算機,配置為Intel(R)Core(TM)i7-8750H CPU@ 2.20GHz 2.21GHz,8G運行內存,NVIDIA GeForce GTX 1060顯卡。軟件平臺均采用Windows 10系統下的Python 3.6.0和Py-Torch 0.4.0。
使用隨機梯度下降優化器進行網絡訓練,初始學習率為0.001,動量為0.9,學習率更新采用自適應調整策略。由于訓練集較小,所以模型的單位樣本數量取為16,丟棄率設為0.5,網絡訓練正反流程數設為150。在數據準備階段,對數據樣本進行隨機水平或垂直翻轉并添加噪聲,降低過擬合概率,并對每類樣本隨機打亂,確保數據隨機分布。實驗數據的訓練集和驗證集分配比例為4∶6。
在3-D-CRNN模型中,訓練樣本大小為n×n×B,B為高光譜圖像波段數,空間維大小為n。若n過小,空譜特征中包含的空間信息量不足,會影響分類效果;若n過大,局部空間區域中不屬于同一類別的像元數目可能會增多,對分類產生消極影響[20]。為了確定訓練樣本中最合適的空間維大小,分別選擇大小為5×5×B,7×7×B,9×9×B,11×11×B,13×13×B,15×15×B,17×17×B的像素塊作為訓練樣本對3-D-CRNN網絡進行訓練,不同大小的訓練樣本對應的總體分類精度和訓練時間如圖4所示??梢钥闯觯赑avia University數據上,隨著像素塊大小的增加,總體分類精度先上升后下降,n=11時精度最高;訓練時間也不斷增長,并且增長幅度逐漸增大。在Indian Pines數據上也表現出相同的變化情況,當n=15時,總體分類精度最高。因此無論是從分類精度方面,還是從訓練時間上考慮,都應該針對不同特點的數據選擇合適的輸入像素塊大小。同時,對比圖4a和圖4b可以發現,由于Pavia University數據的空間分辨率比Indian Pines數據要高,混合像元較少,所以前者的分類精度普遍高于后者。

Fig.4 Overall classification accuracy and training time corresponding to different training samples in two data setsa—Pavia University data se—Indian Pines data set
將本文中提出的3-D-CRNN模型分別與近幾年來高光譜圖像分類文獻中的 CNN方法[8,10-11]進行比較以評價模型性能。單目3維深度卷積神經網絡[10](monocular 3-D deep CNN,M3D-DCNN)與 3-DCNN[11]同時利用了高光譜圖像中的空間信息與光譜信息;1-D-CNN[8]僅利用高光譜圖像中的光譜信息進行分類。同時,為了進一步證明使用BiRNN提取光譜特征的優越性,本文中參考MOU等人[14]設計的RNNGRU模型(門控循環單元(gate recurrent unit,GRU))中的網絡設計與參量設置,使用 BiRNN模塊構建RNN-BiRNN模型對高光譜圖像進行分類。并與原文獻中的RNN-GRU模型進行比較。
為了更好地對比分類效果,所有模型中訓練集與驗證集分配比例和正反流程數均與本文中模型相同,權重初始化、學習率以及優化器的選擇等條件則與原文獻相同。以上模型在兩個數據集上的分類精度如表2、表3所示。

Table 2 Classification accuracy of different methods on Pavia University data/%

Table 3 Classification accuracy of different methods on Indian Pines data/%
對比表2、表3可知:(1)將僅利用光譜信息的方法(1-D-CNN,RNN-GRU,RNN-BiRNN)與同時考慮空間光譜信息的方法(M3D-DCNN,3-D-CNN,3-DCRNN)進行對比,可以發現同時考慮空間與光譜信息的方法能夠有效提高分類精度;(2)使用同樣的方法進行分類時,在Pavia University數據集上的分類精度要優于Indian Pines數據集,這也與上面得出的結論相同,即空間分辨率越高,混合像元的情況也越少,分類精度也就越高;(3)對比RNN-GRU與RNN-BiRNN兩種方法,可以發現RNN-BiRNN方法在兩種數據集上的分類精度與kappa系數均高于RNN-GRU,這說明RNN-BiRNN在提取光譜特征方面要優于RNN-GRU,間接上也證明了3-D-CRNN模型設計的合理性;(4)對比M3D-DCNN,3-D-CNN和3-D-CRNN 3種方法,在Pavia University和 Indian Pines數據集上,3-D-CRNN在分類精度與kappa系數高均于其它兩種方法,總體分類精度分別達到了98.81%和99.95%,實際的分類效果圖與真實地物分布也十分接近;但是在Indian Pines數據集上,本文中的方法對第15、第16類地物的分類精度與其它兩種方法相比相差較大,說明對于3-D-CRNN難以對復雜地物組成的類別進行精確分類。
圖5、圖6是不同模型在兩個數據集上的分類結果圖。從圖中可以發現,對比3-D-CNN和3-D-CRNN兩種方法的分類結果圖可以發現,盡管兩者分類精度相差不大,但是相比于3-D-CRNN,3-D-CNN方法的實際分類效果與真實地物分布相差較大,對小目標的識別能力較弱。可見,分類精度并不一定能夠代表實際的分類效果。

Fig.5 Classification result graph of different methods on Pavia University dataa—true color imag—feature label imag—1-D-CN—RNN-GR—RNN-BiRN—M3D-DCN—3-D-CNN h—3-D-CRNN

Fig.6 Classification results graphs for different methods on Indian Pines dataa—true color imag—feature label imag—1-D-CN—RNN-GR—RNN-BiRN—M3D-DCN—3-D-CNN h—3-D-CRNN
設計了一種基于3維卷積遞歸神經網絡的高光譜圖像分類方法。該方法針對高光譜圖像中光譜信息與空間信息的特性,使用3-D-CNN與BiRNN作為基礎結構,分步提取高光譜圖像的空譜聯合特征,能夠充分提取數據中的語義信息,提取到的特征也更具辨別性。除此之外,對比分析了不同大小的訓練樣本對分類精度的影響,針對不同特點的高光譜圖像數據選擇各自最合適大小的訓練樣本。在Pavia University和Indian Pines兩個數據上的分類實驗結果表明,本文中提出的方法能夠有效提升分類精度,在真實圖像上也能達到較好的分類效果。
高光譜圖像中包含豐富的光譜信息與空間信息,從特征提取的角度來看,如何發揮兩類信息各自的優勢,提高深度學習模型在提取特征方面的質量和效率是下一步研究的重點,尤其是探索RNN在這一方面的應用。另外,現有的評價高光譜圖像分類效果的標準過于單一,在分類實驗中,較高的分類精度并一定代表實際的分類效果一樣好,如何探索出更加全面、更能代表實際分類效果的評價標準也是人們需要關注的方向。