?

MS-2HCNN:基于深度學習的高光譜圖像信號分類方法*

2024-03-06 02:54呂龍龍秦麗娜
傳感技術學報 2024年1期
關鍵詞:光譜卷積分類

呂龍龍,盧 偉,秦麗娜

(運城職業技術大學信創學院,山西 運城 044000)

高光譜圖像是通過高光譜成像儀采集可見光區域到短紅外光區域的光譜而獲取的圖像,由于成像光譜儀在許多相互鄰接和部分重疊的狹窄光譜波段上同時收集地面的輻射數據,每個波段都包含了規定范圍內電磁光譜的反射光值,因而波段數常常多達數十到數百。與普通圖像相比,高光譜圖像的分辨率極高,且輻射、空間和光譜信息十分豐富且精細。目前,高光譜遙感對地觀測技術的應用十分普遍,例如精準農業、食品安全和國土安全等領域[1]。而高光譜圖像應用的主要問題就是如何對高光譜圖像信號進行分類。

不同于對自然圖像的分類,高光譜圖像分類的對象是圖像中的每一個影像單元即像元,其目的是對所有像元預測進而分配指定標簽[2]。然而,高光譜圖像具有數據量大、維數眾多、標記樣本困難、高度非線性、波段多、波段間相關性強以及存在混合像元等特點,給其在分類與識別應用中帶來了諸多挑戰[3]。

之前的高光譜圖像分類常常采用邏輯回歸[4]、最近鄰方法[5]、人工神經網絡[6]和支持向量機[7]。然而由于:其一,高光譜圖像維度往往比可用的訓練樣本的數量大得多,而傳統的方法大都是從多光譜數據的應用中移植而來的,無力負擔高光譜圖像這樣的高維數據處理帶來的高計算量;其二,傳統的方法常常需要人工設計特征,對先驗知識的要求較高;其三,傳統的方法通常只利用了地物的光譜特征,無法進行相當完備的特征提取,導致對高光譜圖像中豐富的空間信息考慮不夠完全,在分類時容易出現Hughes 現象[8]。

近年來也有許多基于深度學習的高光譜圖像分類方法。文獻[9]提出一種用于高光譜圖像分類的堆疊式自動編碼器(Stacked AutoEncode,SAE),該方法結合了主成分分析(Principal Component Analysis,PCA)降維、分層特征提取和邏輯回歸分類。文獻[10]通過逐層學習受限玻爾茲曼機(Restricted Boltzmann Machine,RBM),從而構建深度置信網絡(Deep Belief Network,DBN)來對高光譜圖像的光譜特征進行提取和分類。然而,SAE 和DBN 的不足之處在于其中含有許多全連接層,因此參數量巨大訓練耗時。

與上述深度學習方法相比,卷積神經網絡(Convolutional Neural Network,CNN)不但在高光譜圖像的特征提取方面表現更好,而且其中的局部連接和權重共享機制能夠更有效地提取空間信息,并進一步減少了參數數量。文獻[11]提出了一種五層空間&光譜CNN,利用每個光譜波段的均值和標準差來獲取相關特征。文獻[12]結合PCA 構建了含有一維(One-Dimensional1D)、二維(Two-Dimensional,2D)和三維(Three-Dimensional3D)輸入特征的CNN 模型,以分別從高光譜圖像數據中提取空間特征,光譜特征和空間&光譜特征。文獻[13]融合語義光譜空間信息和3D-CNN 來進行高光譜圖像分類。3D-CNN 的優勢在于其結構與三維高光譜立方體圖像數據契合,同時容易獲得目標像元的信息[14]。深度密集關聯卷積神經網絡(Deep Densely Associated CNN)和深度殘差網絡(Residual Network)同樣是用于光譜空間分類的兩種CNN 類型[15]。此外,CNN 與其他方法,如形態學剖面[16]、判別嵌入[17]和稀疏光譜表示[18]結合使用也可以提高分類性能。文獻[19]中提出了一種可以利用高光譜圖像數據中互補空間& 光譜信息的三階段CNN 架構,其中的互補信息來源于綜合層級的低級特征信息和語義層級的高級特征信息的結合。文獻[13]提出了一種融合語義光譜&空間信息進行高光譜圖像分類的CNN 方法。

在高光譜圖像分類中,可以采用多種正則化策略來克服極易出現的過擬合問題,如L2 正則化、Dropout 和批量歸一化(Batch Normalization/Batch Norm,BN)[20]。這些優化技術通過解決時間消耗問題和模型收斂問題,可以很好地提高CNN 模型的最終性能。此外,設計一個合適的CNN 架構優化器是構建和訓練網絡模型的關鍵。隨機梯度下降方法(Stochastic Gradient Descent,SGD)是深度學習中最常使用的優化技術,它使用單個樣本對網絡梯度進行迭代更新,這種頻繁更新的機制避免了模型陷入局部最小值的影響,但同時如此頻繁地更新模型顯然會耗費更多計算成本,導致訓練時模型的方差較高?;诖?,許多自適應優化器被提出來解決其不足,包括AdaGrad、AdaDelta、RmsProp、Adam 等[21]。在這些優化器中,Adam 是計算機視覺領域最常使用的優化器,但由于權重衰減等問題,它有時無法收斂到最優解[22]。與它們相比,AdaBound 的收斂速度快且泛化能力較強[23]。為了利用網絡的不同層對空間&光譜信息的支持,希望有一種模型能夠將光譜信息和空間信息結合起來學習,以充分利用兩者之間的關系,這便是本文方法的啟發與靈感。本文提出一個MS-2HCNN(Multi Stage-Heightened &Hyperspectral Convolutional Neural Network)以學習合并光譜&空間特征,并加深模型以進行高光譜圖像數據的分類。在卷積塊中進行多次卷積運算,從主要的兩層中提取的特征被合并以作為輸入提供給相鄰層,從而從特征中提取出最有用的信息。在MS-2HCNN 中,設計了一個四階段流程來合并和提取光譜&空間特征。最后,將所預測的特征輸入到1×1 的全卷積層中,以獲得較好的效果?;鶞蕯祿捎陬l帶數量龐大,更容易出現過擬合問題。為了克服過擬合的問題,MS-2HCNN 采用了一種組合了SGD 和Adam 的優化器AdaBound。它使用動態的學習速率邊界來實現從自適應學習速率到靜態學習速率的漸進平穩過渡。AdaBound 優化器通過收斂步長提高了線性化過程的速度,同時也消除了過擬合的問題。此外,本文在MS-2HCNN 模型上比較了AdaGrad、AdaDelta、Adam 和AdaBound 等幾種不同的自適應優化方法與SGD 的性能。

1 本文方法

1.1 基礎構建介紹

CNN 是一類主要應用于計算機視覺的前饋人工神經網絡[10]。如圖1 所示,典型的CNN 是由許多堆疊的卷積層和池化層以及一個或多個全連接層(Fully Connected Layer)連接而成的[24]。CNN 通過加強連續層神經元之間的聯系來表現局部連接,如當前層的輸入神經元是前一層的輸出神經元的子集。通過此前饋功能,輸入的高光譜圖像(Hyperspectral Input),經過CNN 從底層提取到的特征可以不斷傳遞到上層。

圖1 用于高光譜圖像分類的卷積神經網絡典型結構

以下對CNN 進行介紹:

①卷積(Convolution):類似于數字信號處理中的1 維卷積操作,卷積神經網絡中的卷積操作是通過利用濾波器來在輸入圖像/特征圖的區間窗口中不斷滾動而執行的復雜計算,而每個卷積操作生成的輸出像素由區間窗口上輸入像素的加權和組成。如式(1)所示:

②激活函數:激活函數是深度學習的重要組成部分,因為它可以將非線性特性引入到深度網絡中,以進行輸入到輸出的復雜映射。ReLU(Rectified Linear Unit)是最常使用的激活函數之一,如式(2)所示,它將輸入的負數值截斷為零,同時保持正數值[25]。這樣的形式使其相比于Sigmoid 和Tanh 可以很好地避免和糾正梯度消失問題。在本文的網絡中使用ReLU 作為激活函數。

③池化層:池化層是模仿人的視覺系統對數據進行降維,用更高層次的特征表示圖像。池化存在的意義有三:降低信息冗余;提升模型的尺度不變性、旋轉不變性;防止過擬合。其中最常使用的池化為最大池化(Max Pooling)。

④BN 層:當數據中的特征具有不同的范圍時,批量歸一化操作可以使特征的數值處于相同的數量級,以加快梯度下降的速度,更快找到最優點,加快模型的訓練。同時BN 使得網絡可以省去或者減弱Dropout 比例與L2 正則化參數的懲罰因子:對Dropout 而言,經過BN 處理后,由于參數進行了歸一化,因此神經元分布變得明顯,經過一個激活函數以后,神經元會自動削弱或者去除一些神經元,就不用再對其進行Dropout;對L2 正則化而言,由于每次訓練都進行了歸一化,就會很少發生由于數據分布不同導致的參數變動過大問題。

⑤損失函數:損失函數可以用來估量CNN 模型的預測值與真實圖像的不一致程度,它是一個非負實值函數,而一般來說損失函數越小,模型的魯棒性就越好,越接近收斂。典型softmax 損失函數的輸出由預測的輸出圖像與真值圖像的交叉熵計算得到:

式中:Ls為損失函數;每個類標簽的概率用g表示,如式(4)所示,輸出概率之和為1;n為數據集中的類別個數;v為當前輸入的實際標簽的獨熱向量預測。

式中:x是根據輸出層權值變化的線性參數,將輸出g(x)歸一化為1。

⑥優化器:對損失函數進行最小化的關鍵在于使用一個好的優化器,如AdaGrad、AdaDelta、RmsProp、Adam 等。同時優化器在構建基于深度卷積神經網絡的模型中扮演著重要角色,其中的超參數分布于各層。為了進行后向傳播以更新模型參數,目標函數需要最小化,從而使得迭代過程中的每個實際輸出和預測輸出都進行后向傳播。優化器的目的是不斷最小化交叉熵使其無限接近于零,從而使得預測輸出逐漸收斂于實際輸出。

這里對典型的優化器也是MS-2HCNN 在訓練時使用的優化器AdaBound 進行介紹。為了實現從自適應優化器過渡到SGD 優化器的目標,AdaBound優化器在所需的學習速率上使用動態邊界。這就約束了自適應優化器和SGD 優化器之間的泛化差異。它的主要優勢之一是在訓練的初始階段可以保持更快的學習速度。α作為算法的起始步長,α/Vt為學習速率。AdaBound 優化器的過程如算法1 如示:

算法1 AdaBound 優化器

其中動量值β1=0.9,β2=0.99。學習率α/(vt)1/2的每個元素都如式(5)被截斷,使ηu和ηl成為帶約束輸出,以避免梯度爆炸。

此外,參數更新的規律為:

由式(6),學習率可以一直進行修正,且上限與下限之間的差距有減小的趨勢,導致AdaBound 優化器在初始階段的功能像Adam[26],并最終在邊界范圍內轉換為SGD。

1.2 MS-2HCNN

本文提出的MS-2HCNN 在進行高光譜圖像分類時的流程如圖2 所示。

圖2 本文的流程圖

首先使用主成分分析提取出數據集中最主要的信息,然后將其分為測試集和訓練集。在設計MS-2HCNN 模型時采用四階段方法(如下所示),其中在卷積塊(Conv_BLK)中通過大量的卷積運算融合空間& 光譜信息,以提取高光譜圖像中豐富的特征,其中的conv(n×n)表示n×n大小的卷積核。此外,還采用了一種高效的優化器在兩個不同的數據集上對模型進行訓練。具體介紹如下:

Step1:將訓練集中的n個標簽樣本數據記為(Xn∈Y1×d)nn=1,其中d為光譜數據的大小。將光譜數據和空間數據結合提取特征以提高分類精度。每個光譜像素與中心像素Xn的相鄰像素視為塊Hn∈YS×S(S為窗口的權重和高度)。

Step 2:四階段設計:

①將淺層與深層融合(Merging Block),得以從特征圖中提取更多的信息。②在密集卷積塊(Dense Convolution Block)中,任意兩個提取到的特征圖都可以被連續級聯在一起。③將提取的輸入數據的相關空間特征和光譜特征進行拼接(Concatening Sptial-Spectral Feature)。④最后,利用1×1 卷積層對線性信道中的信息進行匯總(Adding up Feature)。

Step3:使用AdaBound 優化器,根據式(6)對模型的學習率進行相應的修改,以提高整體收斂性,并使用BN 方法對每層的輸入值進行歸一化處理。

Step4:通過式(9)中c類的softmax 函數計算每個類別所需提取的相應空間光譜信息。

Step5:測試集數據通過式(10)預測類來驗證本文提出的MS-2HCNN 模型的性能。

1.2.1 空間特征和光譜特征的提取

首先空間特征信息和光譜特征信息是互相獨立的,通過串聯光譜級通道,將淺層的邊界特征合并為深層的高層語義特征。此時的空間維度保持不變,提取到的特征圖中包含大量信息。然后使用密集卷積塊獲取空間光譜特征。將之前層的特征組合作為輸入,并附加權值給后續層,從而得到兩個具有相同維數的特征圖。這樣一來,便可實現了特征在通道維度上的復用,進行特征增強,并減少了不常出現的特征信息,使用少量的卷積核就可以生成大量的特征,最終模型的尺寸也比較小,從而提高了卷積塊提取特征的效率。因為一般情況下在反向傳播時每一層都會接受其后所有層的梯度信號,所以隨著網絡深度的增加,靠近輸入層的梯度不會變得越來越小,因此這種結構的設計還一定程度上減輕在訓練過程中梯度消失的問題。最后,這種結構可以說是一種隱式的強監督模式,因為每一層都建立起了與前面層的連接,誤差信號可以很容易地傳播到較早的層,所以較早的層可以從最終分類層獲得直接監督。

1.2.2 空間&光譜特征合并和分類

為了給MS-2HCNN 模型提供必要的細節,必須識別多個空間光譜特征。此外,提取到的空間數據特征和光譜數據特征必須進行合并。因此,MS-2HCNN 的目標函數如式(7)所示:

式中:輸入為Xn,輸出為Yn,歸并函數為?,權重為w,偏置為b。另外,如圖2 所示,在MS-2HCNN 的Step3 階段,將多個池化輸出進行池化并合并,實現空間&光譜特征提取。池化輸出計算操作的合并如下所示:

式中:POOLsi{i=1,2,3,4,5}表示當前階段的輸入變量。?表示合并操作。這四個輸入變量的合并獲得了更多更豐富的特征信息,生成了一個集成特征圖。由于空間結構映射的維數可能不同,因此采用1×1 卷積運算代替全連接層。1×1 卷積在集成新特征圖的同時,有助于減少參數并進行通道間的有效通信。

最后階段的輸出特征由(Xn∈Y1×c)nn=1 組成,其中c表示類別數量。

在訓練階段,損失函數是Softmax 層中的一部分:

在測試階段,預測的標簽是MS-2HCNN 模型的輸出。類標簽生成如下:

式中:Xts為測試樣本,Class 是預測標簽,Yl是MS-2HCNN模型的輸出。

2 實驗結果與分析

2.1 實驗設置

與四階段設計方法相符,為了利用相鄰像素之間的空間相關性,通過將光譜波段與主成分向量串聯來產生輸入的像素參數。此外,進行了降維從而避免過擬合,使用9×9 大小的PCA 算法處理了數據集。輸入維數設置為9×9 和11×11 且光譜波段為10。

表1 所示為MS-2HCNN 網絡模型的參數。本文方法基于Python 3.6 運行,使用Keras 2.2.4 作為后端庫,Tensorflow 1.12.0 作為前端庫。為了獲得訓練樣本和測試樣本的準確率和損失值的變化,將100 個epochs 固定并重復100 次。用于性能評價的指標如下:①總體準確率,即分類正確的樣本占所有測試樣本總數的比例;②平均準確率,即每個類的分類率;③Kappa 系數,將最終得到的特征圖與真值特征圖進行數值對比。

表1 MS-2HCNN 模型參數設置

2.2 數據集

本文基于兩個不同的高光譜遙感數據集:Indian Pines 和Salinas 探究MS-2HCNN 模型的性能。在訓練MS-2HCNN 模型時,從數據集的每一類中隨機選擇10%的標簽數據,其余的數據作為測試樣本。以下結合表2 對兩個數據集的具體情況進行介紹:

表2 數據集介紹

Indian Pines 是最早的用于高光譜圖像分類的測試數據,由機載可視紅外成像光譜儀(Airborne Visible Infrared Imaging Spectrometer,AVIRIS) 于1992 年對美國西北的印第安納州農業區的印度松樹進行成像,然后截取145×145 尺度進行標注,以此作為高光譜圖像分類測試用途。此外,其空間分辨率約為20 m。而由于AVIRIS 成像波長范圍為0.4 μm~2.45 μm,是在連續的220 個波段對地物連續成像的,但是由于第104~108,第150~163 和第220 個波段不能被水反射,因此,一般在使用時對這20 個波段進行剔除,只使用剩余的200 個波段進行研究。最后共計16 個類別。

Salinas 是美國加利福尼亞州薩利納斯山谷的圖像,也由AVIRIS 拍攝完成的。其大小為512×217像素,譜帶為0.36 μm~2.0 μ m,空間分辨率3.7 m。該圖像由16 類224 個光譜波段組成。

2.3 實驗結果與分析

為了進一步減少MS-2HCNN 模型的損失,并提高高光譜圖像分類的性能,本文首先對相關的深度網絡優化器進行實驗探究,包括SGD,AdaGrad,AdaDelta,Adam 和AdaBound,旨在選取最優性能的優化器。

圖3 給出了MS-2HCNN 結合不同優化器在兩個數據集的輸出分類特征圖。首先可以看到相比于自適應優化器,SGD 優化器的表現最差。此外,AdaBound 優化器得到的分類圖明顯優于其他自適應優化器,最接近于真值圖。

圖3 不同方法的分類特征圖,其中上方為Indian Pines 數據集,下方為Salinas 數據集

表3 展示了在Indian Pines 和Salinas 數據集上使用不同優化器的訓練時間(Tt)和測試時間(Ts)??梢钥吹酵粩祿喜煌瑑灮髦g的時間消耗差異很小,而AdaBound 優化器的綜合消耗時間最少。

表3 不同優化器的時間復雜度

表4 和表5 分別給出了在Indian Pines 和Salinas 數據集的分類結果,可以看到與其他方法相比,MS-2HCNN 模型結合AdaBound 優化器的方法在每個類別上的和平均準確率上都實現了最優解。而它在Indian Pines 數據集上的總體準確率達到了99.36%,這也是所有對比優化器中表現最好的;而在Salinas 數據集上的總體準確率則達到了99.01%,稍弱于Adam 優化器的99.53%,原因可能是grapes_untrained 和vinyard_untrained 兩類之間的類間距太小,只有0.35%的微弱差異。因此總體上來說,帶有AdaBound 優化器的MS-2HCNN 模型比其他模型顯示了更好的性能。

表5 Salinas 上不同優化器的實驗結果

結合表3、表4 和表5 來看,AdaBound 優化器明顯提高了傳統卷積神經網絡的穩定性和收斂速度。因此采用AdaBound 的MS-2HCNN 性能明顯優于其他優化器,在整個測試過程中,測試精度的變化率確實很低,這是因為AdaBound 優化器在優化過程中使用了動態學習速率。AdaBound 優化器在訓練初期類似于GD,隨著訓練周期的增加,優化器在速度和準確性方面都變得更加有效。自適應優化器Adam 和AdaBound 可以在最短的時間內對模型進行擬合,而SGD 需要很長時間。采用AdaBound 優化器的MS-2HCNN 比SGD、AdaGrad、AdaDelta 和Adam 優化器可以實現更快的收斂時間。從這點可以看出,利用AdaBound 優化器的確改進了MS-2HCNN 的分類性能。

此外,還將MS-2HCNN 方法與其他高光譜圖像分類方法進行了比較,包括傳統用于高光譜圖像分類的代表性機器學習方法支持向量機(Support Vector Machine,SVM),而深度學習方法選取了代表性的可以提取空間光譜高階特征的2D-CNN、3DCNN 和Hybrid-SN 方法。

表6 展示了幾種性能測量方法的結果,包括總體準確率,平均準確率和Kappa 系數。結合表4,可以看到相較于其他有監督模型,提出的MS-2HCNN模型在保持最小標準差的情況下優于現有監督模型。在Salinas 數據集上的結果表明3D-CNN 的結構設計遜色于2D-CNN 方法。而其他所有基于空間&光譜特征的模型在精度上皆優于SVM 方法。另一方面,2D-CNN 和3D-CNN 本身無法刻畫出具有高度判別性的空間&光譜特征。而本文提出的MS-2HCNN 和Hybrid-SN 的性能優于其他模型。

表6 Indian Pines 數據集和Salinas 數據集中不同方法的總體準確率,平均準確率和Kappa 系數比較

圖4 和圖5 分別展示了在Indian Pines 數據集和Salinas 數據集中不同訓練時期各種分類器的結果對比,可以看到本文提出的MS-2HCNN 模型實現了更好的空間-光譜分類。

圖4 Indian Pines 數據集中不同方法在不同時期的總體準確率

圖5 Salinas 數據集中不同方法在不同時期的總體準確率

3 結束語

由于較高的樣本特征比,因此在基于CNN 的高光譜圖像信號分類方法中一直增加層的深度可能會導致過擬合問題。此外,由于高光譜圖像的空間&光譜信息在不同層上不相關,因此可能會面臨信息缺失的問題。針對這些問題,本文提出了MS-2HCNN 以進行應對。具體來說,首先通過卷積塊合并連續兩層的輸出,并將合并的特征提取結果作為輸入送到下一層,從而進行相關的特征提??;然后從低層到深層高層,通過將光譜特征連接到四階段空間特征來獲取光譜空間特征。此外,采用的AdaBound 優化器減少了MS-2HCNN 的模型參數并提高其擬合能力。在不同數據集上的總體準確率、平均準確率和Kappa 系數指標結果證明了提出方法的有效性。

猜你喜歡
光譜卷積分類
基于三維Saab變換的高光譜圖像壓縮方法
基于3D-Winograd的快速卷積算法設計及FPGA實現
分類算一算
從濾波器理解卷積
分類討論求坐標
數據分析中的分類討論
基于傅里葉域卷積表示的目標跟蹤算法
教你一招:數的分類
星載近紅外高光譜CO2遙感進展
苦味酸與牛血清蛋白相互作用的光譜研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合