厙向陽,景任杰,董立紅
西安科技大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,西安 710054
隨著空間分辨率、光譜分辨率的提高,遙感圖像從可見光波段延伸到了近紅外和短波紅外波段[1]。當譜段被劃分更加細致,從離散譜段變?yōu)檫B續(xù)譜段時,得到的即為高光譜圖像(hyperspectral image,HSI)[2]。高光譜圖像具有豐富的空間信息和光譜信息,被廣泛應(yīng)用在資源勘探[3]、精準農(nóng)林[4]、城市規(guī)劃[5]、災(zāi)害評估[6]等領(lǐng)域,但光譜維度較高、光譜空間特征與頻譜特征存在差異性會導(dǎo)致高光譜地物分類的特征提取不合理、分類精度不穩(wěn)定和訓(xùn)練時間較長的問題。因此研究更準確、高效的高光譜圖像地物分類算法具有重要的理論和實際應(yīng)用價值[7]。2004年Melgani等[8]在高光譜圖像分類中使用模式識別中的特征選擇方法,并第一次引入支持向量機(SVM),取得了較好的分類結(jié)果。2007年Demir等[9]進一步改進SVM,減小相關(guān)向量的變化率,使分類精度達到84%。但Melgani和Demir所提出的算法都無法克服SVM學(xué)習(xí)速率慢、分類精度依賴人工所提取特征質(zhì)量的問題。2014年Chen等[10]首次將深度學(xué)習(xí)方法引入高光譜地物分類中,通過主成分分析降低高光譜維度,利用堆疊式自動編碼機進行特征提取,分類精度提高到96%。2016年Yang等[11]在通道數(shù)目上做了新的嘗試,提出2D-CNN的網(wǎng)絡(luò)模型,但分類精度僅為92%。2017年Li等[12]再次增加通道數(shù),提出不進行降維處理的3D-CNN空-譜聯(lián)合分類,該方法在一定領(lǐng)域內(nèi)可以直接提取光譜、空間特征,分類精度達到98%,但網(wǎng)絡(luò)參數(shù)過多,增加了許多計算成本。2018年Zhong等[13]提出了端到端光譜殘差網(wǎng)絡(luò)(SSRN),以原始的三維立方體結(jié)構(gòu)作為輸入數(shù)據(jù),分類精度達到99%,但訓(xùn)練時間過長,在小樣本的數(shù)據(jù)中分類穩(wěn)定性也無法保證。同年,Wang等[14]提出端到端快速密集譜空間卷積網(wǎng)絡(luò)(FDSSC),該網(wǎng)絡(luò)采用不同大小的卷積核提取光譜、空間特征,緩解了訓(xùn)練時間過長的問題,分類精度也達到了98%,但降維過程中容易損失有用的特征信息,分類穩(wěn)定性也有不足。目前深度學(xué)習(xí)在高光譜圖像地物分類的改進思路:(1)加深網(wǎng)絡(luò)層次[15]。(2)改變通道個數(shù)[16]。但存在以下問題:(1)高光譜數(shù)據(jù)的訓(xùn)練樣本有限,深層網(wǎng)絡(luò)在分類中會產(chǎn)生梯度消失和過擬合現(xiàn)象。(2)高光譜包含空間特征和光譜特征,通道數(shù)目的改變沒有考慮到高光譜的空間特征和光譜特征的差異性,導(dǎo)致信息的提取和分析不合理,從而影響分類的精度。為解決以上的問題,本文借鑒端到端快速密集譜空間卷積網(wǎng)絡(luò)的思想,提出了基于3D快速密集全卷積的HSI分類方法,該方法主要由密集模塊和特征映射模塊組成。在密集模塊內(nèi)部使用3D卷積核提取光譜特征、空間特征。在特征映射模塊內(nèi)部使用卷積層替換傳統(tǒng)網(wǎng)絡(luò)中的池化層,通過網(wǎng)絡(luò)自動篩選有效信息。在特征映射模塊使用卷積層替換傳統(tǒng)網(wǎng)絡(luò)中的全連接層。密集模塊間通過特征映射模塊連接起來,最終通過Softmax分類器完成分類。
卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Structure diagram of convolutional neural network
(1)輸入層:通常為預(yù)處理后的圖像數(shù)據(jù)。
(2)卷積層:提取輸入數(shù)據(jù)的不同特征。
(3)池化層:對卷積層的特征映射進行特征選擇,池化操作一般可分為平均值池化操作、最大值池化操作、最小值池化操作等。
卷積層和池化層實現(xiàn)傳統(tǒng)機器學(xué)習(xí)中的特征提取功能。
(4)全連接層:層間所有神經(jīng)元相連接,通常放在卷積神經(jīng)網(wǎng)絡(luò)尾部。
(5)輸出層:用于輸出最終的分類結(jié)果。
為了獲取更好的分類效果,人們在實踐中應(yīng)用更深層的卷積神經(jīng)網(wǎng)絡(luò),梯度消失問題也隨之而來。殘差網(wǎng)絡(luò)[17]的輸入信號可以從任意低層直接傳播到高層,能有效地解決或緩解這個問題。殘差塊如圖2所示。
圖2 殘差塊Fig.2 Residual block
設(shè)xi+1表示殘差網(wǎng)絡(luò)的輸出,則其數(shù)學(xué)表達式如下式:
其中,xi表示殘差單元的輸入;H(xi)表示目標映射。殘差網(wǎng)絡(luò)是通過疊加來實現(xiàn)的連接方式。
密集網(wǎng)絡(luò)[18]在殘差網(wǎng)絡(luò)的基礎(chǔ)上對連接機制做出修改,即在保證信息傳輸?shù)那疤嵯拢屆繉泳W(wǎng)絡(luò)與其他層緊密關(guān)聯(lián),實現(xiàn)信息復(fù)用,在解決梯度消失問題上效果更好,密集模塊如圖3所示。
圖3 密集模塊Fig.3 Dense block
數(shù)學(xué)表達式如下:
其中,xi表示第i層的輸出結(jié)果;[x0,x1,…,xi-1]表示將前i-1層的特征映射做串聯(lián),本質(zhì)是通道合并;Hi表示組合操作,一般包含卷積操作、激活函數(shù)ReLU[19]和BN批量歸一化等。
3D卷積神經(jīng)網(wǎng)絡(luò)[20]擁有更高的維度,在處理立方體結(jié)構(gòu)的數(shù)據(jù)上效果更好,卷積核在輸入3D圖像的三個維度均需進行滑窗操作,得到輸出結(jié)果。圖4描述一個2×2×2卷積核的3D卷積運算過程,圖中:?表示卷積核參數(shù)與圖像對應(yīng)的像素值進行點乘;⊕表示計算結(jié)果相加。卷積操作后得到的新圖層,常稱作特征映射。
圖4 3D卷積計算過程Fig.4 Convolutional calculation process
首先,將訓(xùn)練數(shù)據(jù)集作為網(wǎng)絡(luò)的輸入,經(jīng)過一個3×3的卷積操作H0,在密集模塊內(nèi)部利用3D卷積核進行特征提取。然后將得到的特征立方體輸入到特征映射模塊。再次經(jīng)過第二層密集模塊、第二層特征映射模塊。最后通過Softmax分類器得到分類結(jié)果。3D-DSFCN網(wǎng)絡(luò)模型基本結(jié)構(gòu)如圖5所示。
圖5 3D-DSFCN網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 3D-DSFCN network structure
密集模塊主要功能是對光譜、空間特征進行特征提取。針對梯度消失和過擬合現(xiàn)象:通過密集網(wǎng)絡(luò)實現(xiàn)不相鄰網(wǎng)絡(luò)層之間的特征復(fù)用,緩解梯度消失,通過增加網(wǎng)絡(luò)深度改善過擬合現(xiàn)象。針對通道數(shù)目改變帶來的差異:通過全3D卷積核維持通道數(shù)目不變,減少在升、降維度過程中,空間特征和光譜特征帶來的差異。密集模塊由直接連接、非線性變換兩部分組成。
(1)直接連接部分使x0通過直接連接通道與x2、x3、x4連接,x1通過直接連接通道與x3、x4連接,x2通過直接連接通道與x4連接,完成輸入信息和梯度信息的相互連接。
(2)非線性變換采取BN+ReLU+卷積的結(jié)構(gòu)。在卷積操作后銜接BN批量歸一化和ReLU激活函數(shù),得到的特征映射作為下一層的輸入。
設(shè)Ml為第l層輸入的通道數(shù),則:
其中,M0表示輸出層開始的通道數(shù);M表示卷積核數(shù)量,即通道數(shù),通常選取4;l表示網(wǎng)絡(luò)層數(shù)。
設(shè)為第l層卷積層輸出的第j個通道3D數(shù)據(jù)在(x,y,z)坐標上的特征值,則:
其中,f表示激活函數(shù),一般為ReLU激活函數(shù);Hl、Wl、Rl分別表示3D數(shù)據(jù)的長、寬和光譜維度;klhjmwr表示連接第l層和第j層的第m個通道3D卷積核在坐標(h,w,r)的值;blj表示連接兩層3D特征的偏置。卷積操作通過四層卷積層構(gòu)建密集網(wǎng)絡(luò),采用3D卷積核進行計算,每個卷積核尺寸選擇為3×3×5,其中空間尺寸是3×3,光譜尺寸是5。
通過特征映射模塊對模型做進一步優(yōu)化。第一個特征映射模塊采用BN+ReLU+卷積層+卷積層的結(jié)構(gòu)。第一層卷積核尺寸選擇為1×1×p,p表示通道數(shù)。第二層卷積核尺寸選擇2×2×p,在卷積層做步長為2的卷積運算,替換傳統(tǒng)網(wǎng)絡(luò)中的池化層。設(shè)特征映射模塊的輸入為x4,做兩層卷積運算,得到下一層的輸出x0,具體過程如圖6所示。
圖6 特征映射模塊Fig.6 Feature mapping module
特征映射數(shù)學(xué)表達式如下:
其中,Conv2表示卷積核為2×2×p的卷積運算;Conv1表示卷積核為1×1×p的卷積運算,p表示通道數(shù);f(x4)表示組合操作,包括BN批量歸一化和ReLU激活函數(shù),數(shù)學(xué)表達式如下:
其中,f表示激活函數(shù),選ReLU激活函數(shù);μΒ表示樣本數(shù)據(jù)的平均值;表示樣本數(shù)據(jù)的方差;ε是防止分母為0的常數(shù),常選1。設(shè)進入特征映射模塊前的特征數(shù)為n0,經(jīng)過特征映射模塊后特征數(shù)為n1,則:
其中,θ∈(0,1]表示壓縮系數(shù);表示向下取整。當θ=1時,表示特征數(shù)沒有壓縮。設(shè)置第一個特征映射模塊參數(shù)θ為0.5,經(jīng)過特征映射模塊后,特征數(shù)量減少為原來的1/2。
第二個特征映射模塊與第一個基本相同,采用BN+ReLU+卷積層+卷積層的結(jié)構(gòu),使用卷積層替換傳統(tǒng)網(wǎng)絡(luò)中的Dropout層和全連接層,卷積核尺寸分別選擇1×1×p、2×2×p。設(shè)置第二個特征映射模塊參數(shù)θ為0.25,經(jīng)過特征映射模塊后,特征數(shù)量減少為原來的1/4。在第二個特征映射模塊后,經(jīng)過BN批量歸一化操作,再輸入到Softmax分類器,完成分類。
Indian Pines數(shù)據(jù)集是1992年6月獲得,它來源于美國印第安納西北部的一塊農(nóng)場測試地,由大量植被覆蓋,通過機載傳感器AVIRIS采集。數(shù)據(jù)集的波段是400~2 500 nm范圍,空間分辨率大約20 m,原始波段220個,圖像原始大小145×145,光譜波長的變化范圍是0.4~2.5 μm。該數(shù)據(jù)集總體樣本數(shù)量少,部分樣本標簽量極少。
Pavia University scene數(shù)據(jù)集是2001年獲得,它來源于意大利北部帕維亞大學(xué)區(qū)域,通過機載傳感器ROSIS采集。其空間分辨率約1.3 m,圖像原始大小610×340,光譜波長的變化范圍是0.43~0.86 m,原始光譜波段有115個,受到噪聲和水吸收干擾,只有103個波段可用。與Indian Pines數(shù)據(jù)集對比,樣本數(shù)量較多,應(yīng)用場景和各類標簽不同。
基于Python的深度學(xué)習(xí)庫Keras和GPU加速環(huán)境下進行實驗,具體實驗環(huán)境如表1所示。
表1 實驗環(huán)境配置Table 1 Experimental environment configuration
將高光譜數(shù)據(jù)集原始數(shù)據(jù)按2∶8的比例分為訓(xùn)練集和測試集。通過訓(xùn)練集進行3D-DSFCN模型訓(xùn)練,通過測試集進行模型驗證。
為了驗證實驗的有效性,3D-DSFCN與支持向量機(SVM)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、端到端光譜殘差網(wǎng)絡(luò)(SSRN)、端到端快速密集譜空間卷積網(wǎng)絡(luò)(FDSSC)的分類效果進行對比。模型中參數(shù)設(shè)置如表2所示。
表2 實驗參數(shù)配置Table 2 Experimental parameter configuration
(1)平均精度
每個類別分類精度的平均值。若用AA(average accuracy)表示平均精度,則:
其中,recalli表示第i類分類精度;n表示類別數(shù)。
(2)總體精度
每一個預(yù)測正確的樣本與樣本總數(shù)之間的比值。若用OA(overall accuracy)表示總體精度,則:
其中,TP表示預(yù)測與實際都為真的樣本數(shù);TN表示預(yù)測與實際都為假的樣本數(shù);FN表示預(yù)測為假、實際為真的樣本數(shù);FP表示預(yù)測為真、實際為假的樣本數(shù)。
(3)Kappa系數(shù)
一種基于混淆矩陣的綜合性衡量指標。若用K表示Kappa系數(shù),則
其中,r表示總的類別數(shù);xii表示正確分類的數(shù)目;xi+和x+i分別表示第i行和第i列的總像元數(shù)量;N是總的用于精度評估的像元數(shù)量。
3D-DSFCN與支持向量機(SVM)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、端到端光譜殘差網(wǎng)絡(luò)(SSRN)、端到端快速密集譜空間卷積網(wǎng)絡(luò)(FDSSC)在Indian Pines和Pavia University scene數(shù)據(jù)集的實驗分類結(jié)果如表3、表4所示,分類效果圖如圖7、圖8所示。
表3 Indian Pines數(shù)據(jù)集分類精度Table 3 Classification accuracy of Indian Pines data set
表4 Pavia University scene數(shù)據(jù)集分類精度Table 4 Classification accuracy of Pavia University scene dataset
通過在Indian Pines和Pavia University scene數(shù)據(jù)集的實驗得出:本文方法提取到的特征和分類效果比CNN好很多,這是因為相比CNN具有更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)、更深的網(wǎng)絡(luò)層數(shù)。從表3展示結(jié)果可以看出,本文方法在平均分類精度上表現(xiàn)更好,尤其是序號為1、7、9,數(shù)量分別為46、28、20的樣本,占總樣本數(shù)的比重極小,屬于小樣本標簽。由此可以看出密集網(wǎng)絡(luò)對比殘差網(wǎng)絡(luò),在特征提取的過程中對不相鄰網(wǎng)絡(luò)層之間的利用更加充分,可以大大提升小樣本標簽的分類精度和穩(wěn)定性。本文方法對比SVM、CNN、SSRN、FDSSC總體分類精度分別提高了29.3%、12.6%、0.2%、1.1%,平均分類精度分別提高了47.3%、11.3%、12.2%、0.3%,Kappa系數(shù)分別提高了34.6%、14.4%、3.3%、0.8%。
由于Pavia University scene數(shù)據(jù)集各類樣本的數(shù)據(jù)量充足,沒有明顯的小樣本標簽,誤差較小,因此3DDSFCN對比SSRN和FDSSC的分類精度提升不大。由表4可以看出,3D-DSFCN整體的分類精度更好,對SVM、CNN、SSRN、FDSSC總體分類精度分別提高了8.0%、3.6%、0.1%、0.3%,平均分類精度分別提高了7.2%、3.5%、0.3%、0.3%,Kappa系數(shù)分別提高了10.1%、4.8%、0.3%、0.3%。
圖7中,相對于地面真實標簽,大部分都展現(xiàn)出了很好的分類效果,尤其是在小樣本標簽的苜蓿草、修剪過的草地、燕麥等部分。圖8中,相對于地面真實標簽,草地、金屬板、柏油房頂?shù)姆诸愋Ч脖容^突出。
圖7 Indian Pines數(shù)據(jù)集分類效果對比Fig.7 Comparison of classification effects of Indian Pines data sets
圖8 Pavia University scene數(shù)據(jù)集分類效果對比Fig.8 Comparison of classification effects of Pavia University scene dataset
為了更好地分析算法的分類性能,實驗分析了各個數(shù)據(jù)集的訓(xùn)練時間和測試時間,如表5所示。
表5 Indian Pines、Pavia University scene數(shù)據(jù)集的訓(xùn)練時間和測試時間Table 5 Training time and testing time of Indian Pines and Pavia University scene data sets 單位:s
由表5的實驗結(jié)果不難看出,在Indian Pines和Pavia University scene數(shù)據(jù)集上,本文提出的方法3D-DSFCN在運行效率、分類速度上都是五種方法中最優(yōu)的,它通過減少運算參數(shù)優(yōu)化模型的計算,提高算法的效率。深度學(xué)習(xí)與SVM這樣的傳統(tǒng)方法相比更消耗資源;CNN的訓(xùn)練時間已經(jīng)遠遠大于SVM,所需要的計算資源也更多;本文方法與SSRN相比訓(xùn)練時間大幅減少,算法效率更高,因為模型結(jié)構(gòu)更簡潔,不需要兩種殘差塊的連接并減少了全連接層無效的計算量;本文方法與FDSSC相比算法效率提升不大,因為僅減少了維度升降、交叉驗證的過程,但本質(zhì)還是密集網(wǎng)絡(luò)。
針對高光譜遙感圖像訓(xùn)練樣本較少、光譜維度較高、空間特征與頻譜特征存在差異性而導(dǎo)致高光譜地物分類的特征提取困難的問題,本文提出一種3D-DSFCN網(wǎng)絡(luò)結(jié)構(gòu)并構(gòu)建分類模型。通過在Indian Pines和Pavia University scene數(shù)據(jù)集進行實驗,結(jié)果表明:相比較FDSSC,該模型有效減少信息損失;相比較SSRN,該模型有效減少了小樣本標簽的分類誤差,但小樣本標簽分類精度的提高對于整體影響有限,因此相對于FDSSC、SSRN整體分類效果提升不顯著;相比較FDSSC、SSRN、SVM、CNN,該模型在OA、AA和Kappa系數(shù)三項評價指標上都有不錯的表現(xiàn),在算法的運行效率上也是最優(yōu)的。高光譜圖像不僅僅是像元的無序集合,還有空間特征的有序排列,下一步的研究將著重于如何通過模型更好地提取、利用空間特征。