【論文】Convolutional neural network for spectral–spatial classification of hyperspectral images

基於CNN遙感影像分類當前存在的問題:

  1. 標籤樣本有限,導致了小樣本問題;

  2. 當前大多數CNN模型較爲複雜,訓練參數較多,計算開銷高。

針對以上這個問題,本文提出了一種新的CNN模型,該模型有以下特點:

  1. 該模型能較爲魯棒性地提取了高光譜影像的空間特徵和光譜特徵;

  2. 該模型除第一層,以外的所有卷積層都是1x1的卷積層,有效的減少了訓練參數,加快了訓練和測試過程。

  3. 提出了小卷積和SC-FR模塊。SC-FR模塊由兩個複合層組成,每個複合層由兩個相連的1x1卷積層組成。通過跨層連接,將每個複合層的輸入輸出特徵串聯起來,傳遞到下一個卷積層,從而實現特徵重用機制。跨層連接增加了信息流和中層特徵的利用率,有效地提高了CNN的泛化能力。

傳統的分類算法:

​ [6] [7] [8] [9] [10]傳統的方法在應用於HSI分類時,由於相關度高、訓練樣本不足等原因,仍然面臨着一些挑戰,而且這些傳統的淺層結構方法具有有限的特徵提取能力。

基於CNN的分類算法(綜述):

​ RPCA-CNN(隨機成分分析)[18],多分支融合網絡[19], Gabor-CNN緩解過擬合問題[20], [21]採用CNN提取高光譜數據的深層特徵,並在稀疏表示分類框架下進一步挖掘深層特徵,[22]提出了一種用於HSI分類的上下文深度CNN,利用多尺度濾波器組實現空間光譜信息的聯合利用。基於CNN的HSI分類方法具有良好的分類性能,但訓練樣本不足容易導致CNN模型的過度擬合。換句話說,小樣本問題仍然是基於CNN的HSI分類的主要挑戰。

爲了解決小樣本問題,[23]提出了3D-CNN。 採用卷積網絡結合馬爾可夫隨機場[24]對高光譜數據進行分類。[25]提出了光譜-空間殘差網絡(SSRN),它可以連續地從HSI中豐富的光譜特徵和空間上下文中學習區分特徵。在文獻[26]中,通過引入殘差學習,建立了一個深度特徵融合網絡(DFFN),它可以融合不同層次的輸出。爲了同時捕獲光譜和空間特徵,提出了一個具有跳躍結構的深度反褶積網絡[27]和具有光譜注意機制的密集卷積網絡[28]。然而,由於這些模型結構較深或三維卷積層的使用,這些方法需要較高的計算成本,這可能會降低HSI分類的速度。

​ **爲了解決上述的這兩個問題,本文提出了一種小卷積核和特徵複用機制。主要涉及到以下工作

  1. 所提出的算法能夠同時提取HIS的光譜特徵和空間特徵;

  2. 該模型除第一層(3x3卷積),以外的所有卷積層都是1x1的卷積層,有效的減少了訓練參數,減少了計算開銷,加速了影像分類。第一層的3x3卷積能夠提取HSI的空間上下文信息和光譜信息。

  3. 提出小卷積和特徵複用模塊,該模塊由兩個複合層組成,將每個複合層的輸入輸出特徵映射串聯起來,通過跨層連接傳遞到下一個卷積層,從而增加信息流,實現特徵重用。爲了更好地處理HSI的信息,每個複合層由兩個級聯的1x1卷積層組成。卷積層實現了跨信道信息的交互和集成,使得該方法能夠可靠地學習鑑別特徵。因此,SC-FR模塊可以減輕過擬合,提高泛化性能。

所提出的分類算法

HxWxB通過PCA降維成HxWxN,爲了同時利用光譜和空間信息,提取以標記像素爲中心的SxSxN圖像塊作爲CNN的輸入,其中SxS是圖像塊的空間大小。爲了更好地實現HSI分類,該網絡採用MSRA權值初始化方法、ReLU激活函數、Softmax分類器和BN算法。在下文中,將詳細介紹上述材料和提出的方法的網絡結構。

在這裏插入圖片描述

介紹一些涉及到的方法概念

MSRA權值初始化方法、ReLU激活函數、Softmax分類器和BN算法

小卷積

​ 當前許多基於CNN的HIS分類模型[23, 26–28, 32–34]都使用了小卷積核(1x1,3x3),大卷積核可以產生大的感受野,但也意味着需要學習大量的參數。因此,傳統的卷積層具有大量的學習參數,這可能會導致較高的計算成本。一般來說,與大卷積核相比,小卷積核有兩個優點。

  1. 在感受野大小相同的情況下,小卷積核可以增強CNN模型的表示能力。通過多層疊加,小卷積核可以獲得與大卷積核相同大小的接收場,從而增加網絡深度。因此,在一定程度上可以使CNN模型更有效地提取判別特徵,增強模型的泛化性能。

  2. 使用小卷積核的另一個優勢是可以有效地減少網絡訓練參數,假設在第L個卷積層中,卷積核的大小爲K x K,輸入和輸出的通道數分別爲Cin和Cout,輸出的特徵圖大小爲H x W,則參數P = K x K x Cout x Cin;點乘運算次數F= K x K x Cout x Cin x H x W,即F = K x K x P。

    ​ 假設Cout = Cin= C,則5x5卷積的參數爲25C2,是3x3卷積的參數爲9C2的2.8倍,1x1卷積的參數爲C2的25倍。因此,2個堆疊的3x3卷積的參數爲18 C2 少於5x5卷積的參數。**需要指出的是兩個3x3的卷積核獲取到的感受野與一個5x5的卷積核相同。由於每個卷積層的輸出通常由激活函數處理,因此兩個3x3的卷積層能夠獲取到比5x5卷積更多的判別性特徵。**總之,在設計CNN模型時,小卷積更值得青睞。

網絡結構

所有的卷積層都使用小卷積,除了第一層使用3x3,以外所有卷積層都使用1x1卷積。

  1. 第一層的3x3卷積層用來同時提取HIS像素塊的光譜特徵和空間特徵;
  2. 然後,提取的特徵被1×1卷積層集成。
  3. 之後,將集成的特徵輸入SC-FR模塊,並傳遞到1x1卷積層,該卷積層之後是平均池化層。SC-FR模塊中,通過跨層連接(圖2中的紫色曲線),將第一複合層的輸入和輸出特徵映射連接起來,作爲下一複合層的輸入。類似地,第二複合層的輸入和輸出特徵映射被連接並輸入到以下1×1卷積層,接着是具有內核2×2、跨距2×2的平均池層。最後,全局平均池層總結所有高級特徵,預測結果由Softmax層輸出。此外,每個卷積層的輸出由BN算法和ReLU處理,即Conv-BN-ReLU。對於所有卷積層,步長設置爲1×1,且不應用padding,這意味着經過卷積層處理後特徵地圖的大小將保持不變。參考文獻[35]中的網絡,將第一卷積層的通道數設爲g,將所有其他卷積層的通道數設爲2g,隨着g值的增加,每個卷積層的通道數也逐漸增加,因此g稱爲增長率。不同的增長率(g值)意味着每一層接收到的新特徵的數量不同。因此,可以通過調整網絡的增長率來提高網絡的泛化性能。

實驗和分析

數據集簡介

​ 三種基準數據集 Indian pines,Salinas Data,Pavia University;

實驗設置

​ 使用深度學習框架TensorFlow1.4.2,Inter® Core™ i5-4460 CPU, RAM 8.00 GB和NVIDIA GeForce GTX 1070 8G GPU。Batch Size = 64,epochs=60,Adam optimizer,learning rate = 1e-2。除非另有說明,否則所有參數均根據上述設置進行設置。值得注意的是,在將數據輸入CNN之前,這些數據被標準化爲零均值和單位方差。

​ 實驗分爲三個部分:首先分析了影響分類精度的相關超參數,然後驗證了SC-FR模塊的有效性,最後將我們的方法與現有的幾種方法進行了比較。高光譜數據中存在嚴重的類失衡問題,導致分類性能較差。例如,在印度松樹數據中,C2類有1428個樣本,而C9類只有20個樣本(檢查表1中的數字),這非常不利於樣本的正確分類。因此,有必要儘可能平衡每個班級的訓練樣本數量。爲了解決這個問題,我們設置了一個閾值,表示爲T,從每個類中隨機抽取樣本,使樣本數達到T,所選樣本用於訓練,其餘樣本用於測試,即如果T=100,則每個類將使用100個樣本來訓練模型。然而,在印度松樹數據中,某些種類的樣本太少。因此,如果印度松樹數據中某一類樣本數的30%爲Q,則該類訓練樣本數爲Q和T的最小值。對於其他兩個數據集,訓練樣本數僅取決於T。

實驗結果與分析

​ 衡量指標OA,AA,Kappa係數。爲了確保實驗結果的客觀性,每次實驗重複進行十次,報告所有指標的相應平均值和標準差。另外,採用ROC曲線進一步評價了該方法的性能。在ROC曲線圖中,垂直軸和水平軸分別爲真陽性率(TPR)和假陽性率(FPR)。根據ROC曲線圖可以得到ROC曲線下面積(AUC)的值,AUC值越接近1,分類器的性能越好。讓TP、TN、FP和FN分別表示真陽性、真陰性、假陽性和假陰性樣本的數目。

參數分析

討論超不同超參數(patch size,主成分數,增長率)對分類結果的影響。在本節中進行分析,並對T=100的所有三個數據集進行分類。Patch size大小、主成分數和增長速率分別表示爲S x S、N和g。圖5顯示了在不同超參數下,通過所提出的方法對三個數據集所獲得的結果(OA)。

  1. Patch size固定N設爲20,g設爲24;對於所有的數據集,OA先是迅速增加,然後隨着patch size的增加而變得穩定。如果patch size過小,空間信息得不到充分利用,會導致分類效果不佳,但patch size尺寸越大,計算量就越大。因此,Indian pines、Salinas Data和PaviaUniversity的S(Patch size)分別設置爲9、7和7。

  2. 主成分數固定G爲24;如圖5b所示,OA隨着N的增加先增大後減小。N越大表示利用了更多的光譜信息。但是,如果網絡的N值過大,則會有大量的冗餘信息輸入到網絡中,從而降低網絡的性能。當N=25時,Indian pines、Salinas Data精度最高。對於Pavia University,當N=20時,分類結果最好,因此在下面的實驗中,Indian pines、Salinas和Pavia University的N分別設置爲25、25和20。

  3. **增長率分析;**如圖5c所示,對於三個數據集,OA首先增加,然後稍微降低。卷積層的通道數隨着g的增加而增加,因此網絡能夠更有力地提取特徵。然而,當通道數目過大時,該方法的性能並不能得到明顯的改善,而且計算量明顯增加,導致分類速度減慢。g=32的網絡在所有三個數據集上實現最高的分類精度。因此,對於所有三個數據集,g設置爲32

SC-FR模塊的影響

A:所有1x1的卷積由3x3卷積取代;

B:所有1x1的卷積由3x3卷積取代,取消跨級連接;

C: 取消跨級連接;

D:使用兩個殘差模塊取代SC-FR模塊;

E:使用Dense block取代 SC-FR模塊;

F:本文所提出的SC-FR模塊

在這裏插入圖片描述
​ 圖7顯示了不同模型對Indian pines數據的實驗結果。參數S、N和g是根據第節的結論確定的。3.3.1條。如圖10所示,模型A的OA和Kappa都高於模型B,並且我們的模型的結果優於模型C,這證實了跨層連接的有效性。我們的模型和模型C分別比模型A和模型B提供了更高的精度,這證明了19-1卷積層可以提高特徵的可分辨力,從而提高了模型的性能。此外,我們的模型的結果優於所有的模型,並且隨着閾值的降低,優勢更加顯著。這意味着SC-FR模塊有利於在小訓練集上穩健地提取判別特徵,對HSI分類具有重要意義。

在這裏插入圖片描述
​ 設P0和F0分別表示參數的數目和浮點操作。根據對小卷積部分的介紹。2.2可計算出各模型中各卷積層的P0,相應的F0可表示爲F0=S x S x P0。對於Indian pines,S、N和g分別設置爲9、25和32(Indian pines最佳超參數)。因此,可以得到P0(圖8),F0是81×P0。我們運行這些模型在一臺具有Inter(R)Core(TM)i5-5200U CPU和RAM 4.00GB的計算機上對Indian pines數據進行分類。並且不同模型的訓練時間如圖8b所示。由於使用了更多的1X1個卷積層,模型C和我們的P0顯然比其他模型參數的要少。例如,我們的模型的參數個數大約是A模型的五分之一,B模型的四分之一。同樣,C模型和我們的模型的訓練時間明顯少於其他模型。幸運的是,與其他模型相比,模型C和我們的模型取得了更好的分類結果(見圖7)。綜上所述,SC-FR模塊不僅提高了網絡的性能,而且降低了巨大的計算開銷,加快了分類過程

在這裏插入圖片描述

對比其他算法

​ 爲了進一步評價該方法的性能,我們將其與SVM [8]和四種最新的HSI分類方法:RPCA-CNN[18]、deep-CNN(DCNN) [24]、DFFN[26]和SSRN[25]進行了比較。對於所有基於CNN的方法,我們將Batch Size設置爲64(Pavia University在T=5時爲32),並採用MSRA方法和BN算法。此外,爲了公平比較,我們爲所提出的方法和所有比較的方法設置了相同的超參數S和N。S和N是根據參數分析的結論確定的

​ 表4、表5和表6列出了所有三個數據集10次運行的所有指標的平均值和標準偏差,相應的T爲200,即每類200個樣本用於訓練。從這些表中,我們可以發現我們提出的方法在OA、AA和Kappa方面超過了所有三個數據集的比較方法。例如,在Indian pines數據上,與SVM、RPCA-CNN、DCNN、DFFN和SSRN相比,該方法的平均OA分別提高了17.99%、4.01%、1.96%、3.21%和0.72%,但在這三個數據集上,該方法對SSRN精度的提高並不明顯,僅僅因爲分類精度很高(接近甚至超過99%)。儘管Indian pines中C1、C7、C9、C16的訓練樣本很少,但這些類別的測試樣本分類的平均準確率超過99%。此外,我們的方法的標準偏差很小,低於大多數比較方法。這些結果驗證了該方法在小樣本條件下的魯棒性。

​ 圖9、10和11顯示了三個數據集上接近相應平均OA的所有方法的分類結果。從這些圖中可以發現,用該方法得到的分類圖中誤分類像素最少,與表4、表5和表6的相應結果一致。這是因爲所提出的方法比其他方法能學習更多的鑑別特徵。

​ 圖12顯示了在不同閾值下通過不同方法在三個數據集上獲得的結果(OA)。由此可見,隨着閾值的增大,各種方法的OA都增大。與支持向量機分類方法相比,其他方法在所有三個數據集上都取得了較好的性能,顯示了基於CNN的HSI分類方法的強大性能和優越性。值得注意的是,在訓練樣本有限(T=5)的情況下,本文提出的方法比傳統的機器學習方法SVM要差。此外,我們提出的方法在所有不同的閾值下都比所有比較的方法具有更好的性能。**特別是在閾值較小的情況下,我們的方法比所有的比較方法都有更顯著的優勢,這說明了本文方法在小樣本情況下的優越性。**圖13顯示了T=25時不同方法對印度松樹和帕維亞大學數據的ROC曲線。顯然,我們的方法對印度松樹和帕維亞大學的AUC值都是最高的。這些結果進一步揭示了該方法在HSI分類中的穩定性和魯棒性,特別是在較小的訓練樣本集下。

​ 圖14顯示了不同方法在Indian Pines 和Salinas的訓練時間。根據圖13,SSRN和DFFN的訓練時間分別比所提出的方法長4-5和2-3倍,因爲它們具有更復雜的體系結構。儘管SSRN的結構比DFFN要淺得多,但由於SSRN採用三維卷積層作爲基本單元,且所有卷積層都是由大卷積核組成,因此計算時間比DFFN要長。由於所提出的CNN具有更深層次的體系結構,因此所提出的方法比RPCA-CNN和DCNN需要更長的訓練時間。但由於CNN的卷積層多爲1x1個卷積層,時間差較小,明顯降低了算法的計算成本。應該注意的是,由於SSRN和DFFN的計算成本很高,因此必須使用圖形處理單元(GPU)來減少執行時間。而且對計算機的RAM要求很高,否則無法進行分類實驗。相比之下,對於所提出的方法,它可以在不使用GPU的計算機上執行,並且花費相對較少的執行時間(參見圖8b)。綜上所述,根據上述實驗結果,本文提出的方法不僅在三個數據集上都優於其他方法,而且在計算時間上也具有競爭優勢。這種優勢有兩個可能的原因。一個原因是,通過跨層連接,提出的CNN中的SC-FR模塊實現了特徵重用機制,充分利用了低層特徵,使得提出的方法能夠有效地提取HSI更具鑑別性和魯棒性的特徵。另一個原因是CNN採用二維卷積層作爲基本單元,所有卷積層都由小卷積核組成,特別是1×1卷積核。這樣,大大降低了算法的計算量,加快了HSI的分類過程。

結論

了低層特徵,使得提出的方法能夠有效地提取HSI更具鑑別性和魯棒性的特徵。另一個原因是CNN採用二維卷積層作爲基本單元,所有卷積層都由小卷積核組成,特別是1×1卷積核。這樣,大大降低了算法的計算量,加快了HSI的分類過程。**

結論

​ 本文提出了一種新的基於CNN的HSI分類方法。具體來說,我們採用小卷積核,並在提出的CNN中探索了SC-FR模塊,SC-FR模塊通過跨層連接來實現特徵重用機制,即將來自不同層的低層特徵串聯起來,由高層學習。跨層連接增加了網絡的信息流,使底層特徵得到充分利用,從而減輕了訓練樣本不足造成的過度擬合。這樣,該方法可以有效地學習更多的判別特徵。此外,除第一層卷積核外,所有卷積層都由1x1個卷積核組成,第一層卷積核也由小卷積核組成。在不降低網絡性能的前提下,大大降低了網絡參數,從而降低了分類過程的計算成本。在三個基準HSI數據集上的實驗結果表明,該方法優於傳統的機器學習分類器和幾種最新的方法,特別是在小訓練樣本集下。儘管該方法具有一定的優越性,但不同層次卷積核數的配置是簡單而粗糙的。在以後的工作中,我們將嘗試結合網格搜索等技術來尋找卷積核數的最優配置。針對HSIs中訓練樣本不足的問題,將該方法與先進的數據增強技術相結合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章