天天看點

【論文】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算法。在下文中,将詳細介紹上述材料和提出的方法的網絡結構。

【論文】Convolutional neural network for spectral–spatial classification of hyperspectral images所提出的分類算法實驗和分析結論結論

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

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子產品

【論文】Convolutional neural network for spectral–spatial classification of hyperspectral images所提出的分類算法實驗和分析結論結論

​ 圖7顯示了不同模型對Indian pines資料的實驗結果。參數S、N和g是根據第節的結論确定的。3.3.1條。如圖10所示,模型A的OA和Kappa都高于模型B,并且我們的模型的結果優于模型C,這證明了跨層連接配接的有效性。我們的模型和模型C分别比模型A和模型B提供了更高的精度,這證明了19-1卷積層可以提高特征的可分辨力,進而提高了模型的性能。此外,我們的模型的結果優于所有的模型,并且随着門檻值的降低,優勢更加顯著。這意味着SC-FR子產品有利于在小訓練集上穩健地提取判别特征,對HSI分類具有重要意義。

【論文】Convolutional neural network for spectral–spatial classification of hyperspectral images所提出的分類算法實驗和分析結論結論

​ 設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子產品不僅提高了網絡的性能,而且降低了巨大的計算開銷,加快了分類過程

【論文】Convolutional neural network for spectral–spatial classification of hyperspectral images所提出的分類算法實驗和分析結論結論

對比其他算法

​ 為了進一步評價該方法的性能,我們将其與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中訓練樣本不足的問題,将該方法與先進的資料增強技術相結合。