陸瑤, 王立國,2, 石瑤
(1.哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001; 2.大連民族大學 信息與通信工程學院,遼寧 大連 116600)
高光譜圖像是一個包含豐富空間和光譜信息的三維圖像,其極高的光譜分辨率提高了地物區(qū)分的能力,因此高光譜圖像被應用在很多領(lǐng)域。高光譜數(shù)據(jù)分析處理的一個重要的基本內(nèi)容就是分類,即為每一個像素確定其唯一的類別。分類是研究人員從高光譜影像中獲取信息的主要方式。因此,分類的精度直接影響后續(xù)信息處理的準確度。然而,高光譜圖像信息冗余、光譜維度高、訓練樣本有限,這意味著高光譜圖像分類還面臨著一系列巨大的挑戰(zhàn)。
在早期的高光譜分類研究中,很多傳統(tǒng)的機器學習方法已經(jīng)應用于高光譜圖像分類,主要有支持向量機、稀疏表示、多項式邏輯回歸等。雖然這些傳統(tǒng)的方法都取得了很好的性能,但是他們都是基于淺層特征進行學習分類的,而且依賴手動設(shè)計分類特征,難以學習到高光譜圖像中更復雜的信息。
近年來,由于深度學習具有較強的特征提取能力和高效信息處理能力。研究者們開始將深度學習方法用于高光譜圖像分類中。Chen等[1]首次將深度學習理論應用到高光譜圖像分類中,利用堆疊式自動編碼器對高光譜圖像進行空譜特征提取,取得了很好的效果。Yu等[2]將卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)應用在高光譜圖像分類中,為卷積神經(jīng)網(wǎng)絡在高光譜圖像分類中的應用提供了一種思路,但該方法僅利用光譜信息,沒有考慮到相鄰像元間的關(guān)系。Chen等[3]提出了三維卷積神經(jīng)網(wǎng)絡(three-dimensional convolutional neural networks,3D-CNN)特征提取模型,直接用高光譜圖像端到端地提取光譜空間特征,相比于二維卷積神經(jīng)網(wǎng)絡(two-dimensional convolutional neural networks,2D-CNN)提取的特征有著更高的類間可區(qū)分性,從而達到更好的分類效果。Amina等[4]采用3D-CNN對高光譜圖像進行分類,在訓練樣本數(shù)目較多的情況下,能取得很好的效果。
雖然卷積神經(jīng)網(wǎng)絡相比傳統(tǒng)機器學習在高光譜圖像分類中取得了比較好的效果。但是當構(gòu)建更深層次網(wǎng)絡對空譜信息進行深度提取時,網(wǎng)絡的性能并沒有隨層數(shù)的加深而提高,反而發(fā)生了退化。所以很多學者利用殘差網(wǎng)絡對高光譜圖像進行分類處理。劉冰等[5]用三維殘差網(wǎng)絡(residual three-dimensional convolutional neural networks,Res-3D-CNN)對高光譜圖像進行分類,緩解了由于網(wǎng)絡加深引起的梯度消失的問題,增強了網(wǎng)絡的特征表達能力。郭文慧等[6]利用殘差網(wǎng)絡構(gòu)造多尺度卷積網(wǎng)絡,通過不同尺度卷積核對特征提取融合,取得了良好的分類性能。Zhong等[7]設(shè)計了光譜空間殘差網(wǎng)絡(spectral-spatial residual network,SSRN),連續(xù)利用光譜殘差網(wǎng)絡模塊和空間殘差網(wǎng)絡模塊對光譜和空間進行特征提取進而分類。
基于殘差網(wǎng)絡的高光譜圖像分類方法解決了網(wǎng)絡層數(shù)加深引起的梯度消失問題。但是當訓練樣本減少時,上述方法的分類準確度均出現(xiàn)了不同程度的下降。在實際生活中,已知類別的樣本是有限的。所以針對上述問題,本文將光譜和空間特征增強模塊與淺層三維卷積神經(jīng)網(wǎng)絡結(jié)合用相對少量的參數(shù)充分提取高光譜的空譜特征,為了避免小樣本情況下訓練過擬合的問題,網(wǎng)絡中還使用了批量歸一化等正則化策略。實驗表明,該模型充分利用了高光譜圖像的空譜特征,在有限的標記樣本下表現(xiàn)出好的分類效果。
卷積神經(jīng)網(wǎng)絡具有強大的特征表達能力,卷積神經(jīng)網(wǎng)絡利用卷積核對輸入數(shù)據(jù)進行卷積、池化操作,進而提取其更深層次的信息。傳統(tǒng)的卷積神經(jīng)網(wǎng)絡通常是二維的,不能同時提取高光譜圖像的光譜和空間特征,這會破壞像素之間的相關(guān)性,進而破環(huán)了圖像的光譜特征信息。所以,本文采用三維卷積神經(jīng)網(wǎng)絡,而卷積層是卷積神經(jīng)網(wǎng)絡最重要的一部分,圖1給出三維卷積的運算圖。
如圖1所示,輸入三維圖像,卷積核同時在空間和光譜維上進行卷積運算,進而得到特征圖像:
相比淺層網(wǎng)絡,深層網(wǎng)絡擁有更多的非線性映射,可以提取更深層次信息。但是當網(wǎng)絡層數(shù)加深到一定數(shù)量時,訓練的精度不會隨著網(wǎng)絡層數(shù)的加深繼續(xù)提高,反而會下降。為了解決這個問題,何凱文等[8]提出殘差學習,如圖2所示。
圖2 殘差學習模塊Fig.2 Residual learning module
圖2中,x是殘差模塊的輸入;H(x)是殘差學習模塊有短連接的輸出;F(x)是殘差塊沒有短連接的輸出。CONVBN表示卷積和批量歸一化操作,RELU表示激活函數(shù)。殘差學習模塊的輸入輸出關(guān)系表示為:
H(x)=F(x)+x
式中H(x)可以理解為輸入x和殘差映射F(x)的和。通過在輸入和輸出之間加入一個跳躍連接的網(wǎng)絡結(jié)構(gòu),使得輸出可以獲得輸入的原始數(shù)據(jù),進而解決了梯度消失的問題,也提高了網(wǎng)絡的學習性能。
高光譜圖像含有豐富的空間和光譜信息,應該充分提取其特征,從而提高分類精度。而小樣本下對于三維卷積神經(jīng)網(wǎng)絡,網(wǎng)絡的層數(shù)增加到一定數(shù)量時再繼續(xù)增加,精度會下降。所以本文利用殘差設(shè)計空間和光譜特征增強模塊,利用不同的卷積核分別對光譜和空間特征進行深度提取,用少量參數(shù)構(gòu)建更深層網(wǎng)絡避免樣本數(shù)量與網(wǎng)絡深度不平衡的問題,并通過跳躍連接實現(xiàn)深層特征和淺層特征的融合。光譜特征增強模塊如圖3所示。
圖3 光譜特征增強模塊Fig.3 Spectral feature enhancement block
由圖3可知,輸入S×S×L的高光譜數(shù)據(jù),使用n個1×1×r的卷積核進行光譜特征提取,進行2次卷積:
(1)
(2)
圖4所示為空間特征增強模塊,輸入S×S×L的高光譜數(shù)據(jù),使用n個W×W×1的卷核核提取空間特征,進行卷積:
(3)
(4)
圖4 空間特征增強模塊Fig.4 Spatial feature enhancement block
考慮到高光譜的高維特性,本文設(shè)計了針對小樣本的深層網(wǎng)絡。整體網(wǎng)絡結(jié)構(gòu)如圖5所示,網(wǎng)絡由光譜特征增強模塊、空間特征增強模塊、淺層三維卷積神經(jīng)網(wǎng)絡組成。
圖5 空譜特征增強殘差網(wǎng)絡Fig.5 Spatial-spectral feature enhanced residual net
以印第安納森林數(shù)據(jù)集為例,輸入的樣本塊大小為11×11×200,首先用大小為1×1×7、步長為(1,1,2)的16個三維卷積核對輸入的圖像塊的光譜維進行降維,得到降維后的16個特征圖。然后將其連續(xù)輸入到光譜特征增強模塊、空間特征增強模塊依次進行光譜和空間特征增強。光譜特征增強模塊中的卷積核大小都為1×1×3,每次卷積都進行邊緣擴充操作,保證輸入與輸出的尺寸一致??臻g特征增強模塊中的卷積核的大小為3×3×1。
然后將經(jīng)過光譜特征增強模塊、空間特征增強模塊得到的特征增強的圖片輸入到普通的淺層3D-CNN網(wǎng)絡中,進行空譜特征聯(lián)合提取。其經(jīng)過卷積層、池化層、全連接層、softmax層,最后得到特征向量,進而得到該圖像塊對應的類別。
網(wǎng)絡中,光譜特征增強模塊和空間特征增強模塊的卷積核的數(shù)量保持一致,都設(shè)為16,3D-CNN的卷積核的個數(shù)是它的2倍,為32。網(wǎng)絡中的每一個卷積后都增加了批量歸一化、激活函數(shù)。批量歸一化將輸入的數(shù)據(jù)映射為均值為0,方差為1的分布,加快訓練速度,避免梯度消失。激活函數(shù)對輸入數(shù)據(jù)進行非線性映射,增加網(wǎng)絡的復雜度。網(wǎng)絡中除了第1個卷積層將步長設(shè)置為2進行光譜降維,其余卷積的步長都設(shè)置為1。本網(wǎng)絡結(jié)構(gòu)將空間和光譜特征增強模塊放在淺層3D-CNN結(jié)構(gòu)前面,解決網(wǎng)絡層數(shù)與樣本數(shù)量的不平衡問題,增強網(wǎng)絡中的信息流。網(wǎng)絡中還加入批量歸一化來解決梯度消失問題。
為了評估本文提出的網(wǎng)絡的分類性能,將在印第安納森林和帕維亞大學這2個數(shù)據(jù)集上進行實驗,配置網(wǎng)絡中的參數(shù),并且使用總體分類精度(over-all accuracy,OA)、平均分類精度(average accuracy,AA)、Kappa系數(shù)來評估本文的方法。本文實驗均在Linux系統(tǒng)下tensorflow深度學習框架下完成,硬件配置為Intel i5-8250U CPU、GeForce RTX 2080 Ti顯卡、32 G內(nèi)存。實驗中,網(wǎng)絡的損失函數(shù)使用交叉熵損失函數(shù),使用自適應矩估計優(yōu)化器,學習率使用默認學習率。每次實驗訓練100個輪次,批量為64。每次實驗將在100個輪次中選擇分類精度最高的模型,將其參數(shù)保存。每組實驗做10次,最后取其平均值作為最后結(jié)果。
印第安納森林數(shù)據(jù)集由光譜儀從印第安納州西北部采集的,包括16種植被類型,圖像空間的分辨率為20 m,大小為145×145像素,去除水吸收的頻帶后剩余200個光譜段,波長范圍為0.4~2.5 μm。圖像中16種類別地物的總數(shù)為10 249。本文實驗主要針對小樣本問題,所以選擇總樣本的90%作為訓練樣本,10%作為測試樣本。本實驗加入一些由訓練樣本進行隨機上下翻轉(zhuǎn)、旋轉(zhuǎn)得到的擴增樣本,在一定程度上緩解訓練樣本不足的問題。印第安納森林數(shù)據(jù)集中所有類別的訓練樣本、擴增樣本、測試樣本數(shù)目如表1所示。
表1 印第安納森林數(shù)據(jù)集統(tǒng)計數(shù)據(jù)Table 1 Statistics of the Indian Pines dataset
帕維亞大學數(shù)據(jù)集是由成像光譜儀傳感器在意大利上空獲得的,包含9種土地覆蓋類別。帕尼亞大學的光譜的頻帶數(shù)量為103,波長范圍為0.42~0.86 μm。圖片大小為610×340像素,空間分辨率為1.3 m。9種土地覆蓋類別的總數(shù)為42 776。由于帕尼亞大學樣本總數(shù)較多,所以選擇總樣本的5%作為訓練樣本,95%作為測試樣本,不加入擴充樣本。帕維亞大學數(shù)據(jù)集中所有類別的訓練樣本、測試樣本數(shù)目如表2所示。
表2 帕維亞大學數(shù)據(jù)集統(tǒng)計數(shù)據(jù)Table 2 Statistics of the University of Pavia dataset
為了得到更好的網(wǎng)絡結(jié)構(gòu),本文對輸入數(shù)據(jù)空間的大小、卷積核的數(shù)目、空間和光譜特征增強模塊的數(shù)量進行定量分析。而本文淺層三維卷積神經(jīng)網(wǎng)絡中的卷積核大小根據(jù)經(jīng)驗值選擇,對于印第安納森林、帕維亞大學數(shù)據(jù)集卷積核的大小分別為3×3×46、3×3×20。
2.2.1 輸入數(shù)據(jù)空間尺寸
本實驗將大小為H×W×L的原始圖像切割成H×W個S×S×L的小圖像塊。S的大小影響網(wǎng)絡的性能,S小則感受野小,經(jīng)過深層網(wǎng)絡后獲得的細節(jié)信息豐富,但是缺少上下文信息。反之S過大,經(jīng)過深層網(wǎng)絡后獲得的上下文信息多,有助于減少類內(nèi)差異,但是缺失細節(jié)信息。本文將S設(shè)置為3、5、7、9、11、13,分別在2個數(shù)據(jù)集上進行實驗,實驗結(jié)果如圖6所示。
圖6 不同空間尺寸下精度的對比Fig.6 Classification accuracy diagram under different space sizes
從結(jié)果圖中可以看出,對于印第安納森林數(shù)據(jù)集,輸入空間的尺寸為11×11的時候分類精度最高,OA達到99.29%。對于帕維亞大學數(shù)據(jù)集,輸入的空間尺寸為7×7的時候分類精度最高,OA達到99.74%。所以,本實驗對于印第安納森林數(shù)據(jù)集、帕維亞大學數(shù)據(jù)集分別選擇空間尺寸為11×11、7×7的圖像塊輸入到網(wǎng)絡。
2.2.2 卷積核數(shù)目
卷積核的數(shù)目對應得到的特征圖的個數(shù)。卷積核的數(shù)目過小,得到的特征圖過少,導致不能充分提取空譜特征。卷積核的數(shù)目過大會導致網(wǎng)絡的參數(shù)過多。本文提出的網(wǎng)絡結(jié)構(gòu)中,光譜和空間特征增強模塊中所有卷積核的數(shù)目都相同,三維卷積神經(jīng)網(wǎng)絡中所有卷積核的數(shù)目都相同,三維卷積神經(jīng)網(wǎng)絡的卷積核的數(shù)目是前面特征增強模塊的卷積核數(shù)目的2倍。本文將空間和光譜特征增強模塊中卷積核的數(shù)目設(shè)置為10、12、14、16、18在2個數(shù)據(jù)集上進行實驗,網(wǎng)絡中其他的參數(shù)都保持一致。相應地后面三維卷積神經(jīng)網(wǎng)絡中卷積核的個數(shù)為20、24、28、32、36。實驗結(jié)果如圖7所示,可以看出對于本文提出的網(wǎng)絡結(jié)構(gòu)在印第安納森林數(shù)據(jù)集下卷積核數(shù)為16的時候分類效果比較好,此時OA、AA、Kappa都比較高。帕維亞大學數(shù)據(jù)集在卷積核數(shù)為14的時候分類效果比較好。所以對于印第安納森林數(shù)據(jù)集本文網(wǎng)絡中卷積核的數(shù)量采用16和32,對于帕維亞大學數(shù)據(jù)集卷積核的數(shù)量采用14和28。
圖7 不同數(shù)目卷積核下精度的對比Fig.7 Classification accuracy diagram under different number of convolution kernels
2.2.3 空間和光譜特征增強模塊的數(shù)量
本文用空間和光譜特征增強模塊來增強網(wǎng)絡中的信息流。空間和光譜特征增強模塊的數(shù)量越多獲得的信息越抽象,同時參數(shù)的個數(shù)也會相應增加。所以本文通過設(shè)置不同數(shù)量空間和光譜特征增強模塊分析其對網(wǎng)絡分類精度的影響。圖中用x+y表示光譜和空間特征增強模塊的數(shù)量,其中x表示光譜特征增強模塊的數(shù)量,y表示空間特征增強模塊的數(shù)量。為了驗證本文提出的殘差模塊的性能,本實驗還將空間和光譜特征增強模塊的數(shù)量都設(shè)置為0進行對比。對于印第安納森林數(shù)據(jù)集,在光譜、空間特征增強模塊數(shù)量為2和2時,總體分類精度較高。對于帕維亞大學數(shù)據(jù)集,在光譜、空間特征增強模塊為1和1時總體分類精度較高。
圖8 不同數(shù)目的空間、光譜特征增強模塊下精度的對比Fig.8 Classification accuracy diagram under different number of both spatial and spectral feature enhancement
為了評估本文網(wǎng)絡的性能,將本網(wǎng)絡分別與目前主要的深度學習方法2D-CNN[10]、3D-CNN[11]、Res-3D-CNN[5]、SSRN[7]進行對比。為了保證實驗的公平性,每種方法都用文獻[5,7,10-11]中精度最高的網(wǎng)絡結(jié)構(gòu)和相應參數(shù),每種方法所用的訓練樣本、擴增樣本、測試樣本都相同。表3和表4分別為上述方法在印第安納森林數(shù)據(jù)集、帕維亞大學數(shù)據(jù)集上分類精度。表中加粗的字體為同一類別中分類精度最高的。
表3 不同方法在印第安納森林數(shù)據(jù)集上的分類精度對比
表4 不同方法在帕維亞大學數(shù)據(jù)集上的分類精度對比
從表3和表4可以看出,在2個數(shù)據(jù)集上3D-CNN網(wǎng)絡的分類性能都要優(yōu)于2D-CNN。這主要由于三維卷積核更符合高光譜的空譜特性。
在印第安納森林數(shù)據(jù)集、帕維亞大學數(shù)據(jù)集上,本文算法比SSRN算法的總體分類精度高1.01%、0.27%,比普通3D-CNN方法總體分類精度高5.65%、2.89%。可以看出本文提出的算法具有較高的分類性能。圖9、10展示了上述方法在2個數(shù)據(jù)集上的分類結(jié)果。表5還對不同方法的參數(shù)量進行對比。從圖9、10中可以看出,SSRN網(wǎng)絡相對2D-CNN、3D-CNN、Res-3D-CNN網(wǎng)絡分類結(jié)果有很大的提高。本文的算法相比于這些算法在印第安納森林和帕維亞大學數(shù)據(jù)集上都得到了相對較好的效果。從表5中可以看出本文算法與傳統(tǒng)的3D-CNN、SSRN相比確實在構(gòu)建深層網(wǎng)絡的同時減少了參數(shù)的數(shù)量,同時也得到比較好的分類效果。而相對于Res-3D-CNN、2D-CNN雖然在印第安納森林數(shù)據(jù)集上參數(shù)相對多一些,但是精度相比于這2種方法卻提高了很多。
圖9 不同方法在印第安納森林數(shù)據(jù)集上的分類結(jié)果Fig.9 Classification results diagram of different methods on the Indian Pines dataset
圖10 不同方法在帕維亞大學數(shù)據(jù)集上的分類結(jié)果Fig.10 Classification results diagram of different methods on the University of Pavia dataset
表5 不同方法的可訓練參數(shù)量對比Table 5 Comparison of the number of trainable parameters of different methods
1) 本文設(shè)計的基于空譜特征增強殘差網(wǎng)絡,用較少的參數(shù)構(gòu)造更深層網(wǎng)絡,增強了網(wǎng)絡中的光譜信息流,解決了小樣本與網(wǎng)絡深度不平衡的問題,提高了分類精度。
2) 本文通過分析不同參數(shù)對網(wǎng)絡的影響,找到最優(yōu)的參數(shù)對網(wǎng)絡進行配置,并且將本文算法與目前主流的深度學習方法進行對比。實驗結(jié)果表明,相比于目前主流的深度學習方法,本文方法在小樣本條件下取得了更高的分類精度。
未來研究工作可以圍繞繼續(xù)減少訓練樣本的數(shù)量,利用殘差模塊構(gòu)建更優(yōu)的網(wǎng)絡等方面展開。