?

基于CNN的高光譜影像空譜分類方法

2017-05-02 01:42車昇昆段渭超蔣慶仙
測繪科學與工程 2017年6期
關鍵詞:光譜卷積精度

孫 笛,車昇昆,段渭超,蔣慶仙

1.西安測繪研究所,陜西 西安,710054;

2.地理信息工程國家重點實驗室,陜西 西安,710054;

3.68029部隊,甘肅 蘭州,730020

1 引 言

隨著高光譜遙感技術的不斷發展,人們可以獲得越來越多、越來越可靠的高光譜影像數據,從而對高光譜影像數據所蘊含的豐富信息進行充分的挖掘利用也就更加緊迫。高光譜影像地物分類則是開展各類應用的重要環節之一,因此,高光譜影像地物分類識別得到了廣泛的研究,但高光譜影像分類仍面臨高維和小樣本的挑戰。

國內外專家學者為解決高光譜遙感影像分類問題,引入了最近鄰[1]、支持向量機[2](support vectormachine,SVM)、稀疏表達[3]等分類器。 但在不進行特征提取的情況下,傳統分類器很難在高光譜影像分類中取得理想結果。深度學習能夠提取更加抽象的特征,進而獲得更高的分類精度,近年來已經被成功用于目標識別、圖像理解、機器翻譯等不同領域。深度學習為高光譜影像分類識別提供了一種新的思路和途徑,堆棧式自編碼器[4]作為一種簡單有效的深度學習方法,最早被用于高光譜影像分類。近年來,卷積神經網絡也被引入到高光譜影像分類中,文獻[5]設計了一種1D-CNN模型,利用光譜特征對高光譜影像進行分類,取得了優于SVM的分類結果。高光譜影像能夠提供豐富的光譜和空間信息,近年來研究表明充分利用空間信息進行高光譜影像分類能夠有效提高分類精度,而1D-CNN模型僅僅利用光譜信息進行分類,沒有充分利用高光譜影像提供的空間信息。文獻[6]利用2D-CNN模型,提取高光譜影像空間特征,并與光譜特征進行結合取得了較好的分類效果。但該方法需要事先對高光譜影像進行降維處理,且光譜和空間特征是分別提取。目前深度學習方法已經被廣泛用于高光譜影像分類,且在標注樣本足夠的情況下能夠取得優于傳統分類器(如SVM)的分類精度,但基于深度學習的高光譜影像分類仍然面臨小樣本分類的挑戰。

高光譜的不同波段影像是高度相關的,且可以被看作不同的特征映射。本文設計了一種改進的CNN模型用于高光譜影像分類,該模型直接將高光譜數據立方體作為CNN的輸入,不需要事先降維度處理,能夠充分從數據中挖掘光譜和空間特征,因此,即使在標注樣本數量有限的情況下,也能夠取得較傳統方法更好的分類效果。

2 基于CNN的高光譜影像分類

CNN是一種由若干交替的卷積層和池化層組成的深度神經網絡模型,已經被廣泛應用于圖像分類識別領域。CNN具有很高的非線性擬合能力,可以保留輸入的鄰域關系和空間局部性。因此,CNN非常適合對高維和非線性的高光譜數據立方體進行分析。本文設計的CNN結構如圖1所示,其中包括1層卷積層、1層池化層和3層全連接層。

圖1 CNN結構圖

通常來說,神經網絡層數越多,對非線性函數的擬合能力越強。但層數越多,需要優化的參數就越多,需要標注的訓練數據也就越多。然而,高光譜影像分類標準樣本費時費力,且CNN卷積層的層數受輸入高光譜數據立方體對應空間大小的限制。本文輸入高光譜數據立方體大小為9×9×B,其中9×9為以輸入樣本為中心的鄰域區域的大小,B為高光譜影像波段數。綜合考慮以上因素,本文采用1層卷積層來提取高光譜影像的空譜特征;采用1層池化層來減少參數數量;并采用3層全連接層來保證CNN網絡的非線性擬合能力。

2.1 卷積層

CNN的權值共享和稀疏連接網絡結構使之更類似于生物神經網絡,降低了網絡模型的復雜度,減少了權值的數量。卷積層可以定義為:

其中,*表示卷積操作;h表示輸入的特征映射,也就是高光譜數據立方體;W1和b1分別表示卷積核和偏置;h1表示輸出的特征映射;g(·)表示激活函數。CNN網絡結構中通常會使用多個卷積核,以保證特征提取的多樣性,但考慮到高光譜影像標注樣本較少,且高光譜不同波段間具有高度的相關性,因此,本文設置卷積層輸出特征映射數為B1(B1<B)以減少網絡參數。

2.2 池化層

池化層的輸入為上一個卷積層輸出的特征映射,主要作用是提供了很強的魯棒性,并減少了參數的數量,防止了過擬合現象的發生。池化層可以定義為:

其中,h1為卷積層輸出的特征映射;h2為經過池化操作的特征映射;down(·)為下采樣函數,g(·)為激活函數。

2.3 全連接層

經過池化操作的特征映射需要展平,與全連接層相連,3層全連接層可以定義為:

其中,hl為全連接層輸入;hl+1為輸出;Wl和bl分別為權重和偏置;g(·)為激活函數。全連接層主要用于提取更加抽象的特征,以提高分類精度。

2.4 分類流程

基于CNN的高光譜分類流程主要包含采用訓練數據對CNN網絡進行訓練,當網絡充分訓練后,將測試樣本輸入到網絡,得到預測的類別標簽,并與已知類別標簽進行比較,得到總體分類精度。本文CNN網絡的訓練與傳統神經網絡的訓練相似,包含前向傳播和反向傳播兩個過程。前向傳播就是輸入數據經過網絡得到輸出,根據輸出和已知標簽計算損失函數。反向傳播就是根據損失函數更新相應參數,以使損失函數最小。本文采用分批隨機梯度下降法對CNN網絡進行訓練。

3 實 驗

為驗證本文算法的有效性,選取了Pavia大學和Pavia中心兩組高光譜影像數據進行實驗。實驗軟件環境為Ubuntu16.04,實驗硬件環境為:內存 32G、顯卡為 GTX970M、處理器為 i7-5700HQ。 CNN、1D-CNN、PCA(principle component analysis)+CNN采用Tensorflow開源庫實現,SVM采用Scikit-learn開源庫實現。

3.1 實驗數據

Pavia大學高光譜影像數據,是由ROSIS(reflective optics system imaging spectrometer)傳感器在2003年獲取的,該影像的成像區域為意大利Pavia大學及其周圍市區。原始的ROSIS數據包含115個波段,在試驗中,去除受噪聲影響嚴重的波段,使用剩余的103個波段的數據。數據具有610行、340列,空間分辨率為1.3m,影像范圍內具有9個類別的42776個樣本像元,對應訓練樣本個數和測試樣本個數見表1。

表1 Pavia大學數據訓練和測試樣本

Pavia中心高光譜影像數據,是由ROSIS傳感器在2003年獲取的,該影像的成像區域為意大利Pavia市中心區域。原始的ROSIS數據包含115個波段,在試驗中,去除受噪聲影響嚴重的波段,選取了102個波段的數據。該數據原始影像大小為1096×1096,去除381列空白數據,因此,影像大小為1096×715,空間分辨率為1.3m,影像范圍內具有9個類別的148152個樣本像元,對應訓練樣本個數和測試樣本個數見表2。

表2 Pavia中心數據訓練和測試樣本

3.2 網絡參數設置

本文CNN用于對Pavia大學和Pavia中心高光譜數據進行分類的網絡結構見表3。

表3 網絡結構

本文采用分批隨機梯度下降算法對CNN網絡進行優化,其中批尺寸為50,即每批輸入50個樣本進行訓練。訓練時期數為200(一個訓練時期為所有訓練樣本完成一個正向傳播和一個反向傳播)。卷積核大小均為3×3×3,因此,卷積層需要對原始輸入進行補邊處理,補邊大小為1(即9×9大小的輸入,補邊為11×11),卷積核個數為80,卷積層的步長為1。激活函數采用ReLu(rectified linear units),該激活函數能夠有效抑制梯度消失。池化層采用最大池化,學習率根據經驗設置為0.001,其中權重和偏置參數初始化從-0.001到0.001區間均勻隨機取值。

3.3 分類結果分析

將本文算法分別與SVM、1D-CNN和PCA+CNN等現有算法進行對比。其中Pavia大學數據和Pavia中心數據對應的各個地物類別分類精度和總體分類精度分別見表4和表5。Spec-SVM為直接采用光譜特征作為SVM輸入的分類結果。根據表4和表5的實驗結果可知,1D-CNN僅僅利用光譜特征進行分類,分類精度略低于SVM;PCA+CNN能夠利用空間信息,分類精度優于SVM和1D-CNN,但該方法需要使用PCA對高光譜影像進行降維處理,且空間信息和光譜信息是分別提取的,因此,不能有效利用高光譜影像提供的空譜信息;而本文CNN網絡不需要進行降維處理,直接以高光譜數據立方體作為網絡輸入,能夠更加有效地利用高光譜影像的空譜信息,因此,其分類精度優于SVM、1D-CNN和PCA+CNN。

表4 Pavia大學數據分類精度

表5 Pavia中心數據分類精度

Pavia大學數據和Pavia中心數據各方法分類圖如圖2和圖3所示。其中,圖2(a)和圖3(a)為已知分類圖。由圖可知使用本文CNN獲得的分類圖噪聲比 SVM、1D-CNN和 PCA+CNN更少。

圖2 (a)已知分類圖

表6給出了各方法的訓練和測試計算時間。其中,Spec-SVM核函數和懲罰系數參數采用交叉驗證的方法需要選取,訓練時需要大量時間尋找最優參數。CNN算法采用GPU并行計算,而SVM僅僅使用CPU進行計算,因此基于SVM的方法測試時間相比于基于CNN的方法要慢。1D-CNN需要較多的訓練時間才能收斂,因此,訓練時間最長,但由于參數最少,使得測試時間最短。而PCA+CNN由于使用PCA進行降維處理,參數要明顯少于本文CNN網絡,因此,訓練和測試時間相對于本文CNN均較快。本文方法訓練和測試耗時適中,但有效提高了分類精度。

圖3 (a)已知分類圖

表6 訓練和測試計算時間統計

4 結 語

深度學習能夠在中大規模數據上取得較好分類效果,而高光譜分類標注樣本有限,通常屬于小樣本分類,因此,深度學習方法用于高光譜影像分類仍面臨小樣本的挑戰。本文設計了一種CNN網絡用于高光譜影像分類的方法,該方法不需要降維等預處理,直接以高光譜數據立方體為輸入,能夠更好地利用高光譜影像提供的豐富的空譜信息,且使用較少的訓練樣本(每類200個訓練,剩余測試)能夠取得較 SVM、1D-CNN和 PCA+CNN更好的分類效果。

[1]黃鴻,鄭新磊.加權空-譜與最近鄰分類器相結合的高光譜圖像分類[J].光學精密工程,2016,24(4):873-881.

[2]Camps-Valls G,Bruzzone L.Kernel-Based Methods for Hyperspectral Image Classification[J].IEEE Transactions on Geoscience&Remote Sensing,2005,43(6):1351-1362.

[3]唐中奇,付光遠,陳進等.基于多尺度分割的高光譜圖像稀疏表示與分類[J].光學精密工程,2015,23(9):2708-2714.

[4]CHEN Y S,LIN Z H,ZHAO X,et al.Deep Learningbased Classification of Hyperspectral Data[J].IEEE Journal of Selected Topics in Applied Earth Observations&Remote Sensing,2014,7(6):2094-2107.

[5]Hu W,Huang Y,Wei L,et al.Deep Convolutional Neural Networks for Hyperspectral Image Classification[J].Journal of Sensors,2015,2015(2):1-12.

[6]Yue J,ZhaoW,Mao S,et al.Spectral-spatial Classification of Hyperspectral Images Using Deep Convolutional Neural Networks[J].Remote Sensing Letters,2015,6(6):468-477.

猜你喜歡
光譜卷積精度
基于三維Saab變換的高光譜圖像壓縮方法
熱連軋機組粗軋機精度控制
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
分析誤差提精度
基于DSPIC33F微處理器的采集精度的提高
基于傅里葉域卷積表示的目標跟蹤算法
GPS/GLONASS/BDS組合PPP精度分析
星載近紅外高光譜CO2遙感進展
苦味酸與牛血清蛋白相互作用的光譜研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合