程文娟,陳文強
合肥工業大學 計算機與信息學院,合肥230000
高光譜圖像(HSIs)一般由數十甚至上百個窄譜帶組成[1],具有很高的光譜分辨率[2-4]。它與傳統的全色和多色光譜遙感圖像相比,蘊含的空譜信息更多,對不同地物目標的識別精度更高。高光譜圖像豐富的光譜帶在精細分類方面具有獨特的優勢[5-6],在農業開發[7]和礦產資源開發[8]方面也有廣泛的應用。同時,由于其高維的特性和樣本量少,容易產生Hughes現象,導致分類精度隨著參與運算波段數目的增加而先增后降。因此,對高光譜圖像進行準確分類極具挑戰性,吸引了越來越多的學者進行探索。
近年來,由于深度學習的快速發展,它已經作為一種重要的手段來解決計算機視覺問題,如圖像分類、語義分割等。其中的深度卷積神經網絡利用逐層結構疊加的特性,來自動提取物體的特征[9],它在普通圖像分類等任務中已經取得了不錯的成果。自然地,也可以應用于高光譜圖像分類,它能提取出更多隱含的特征[10]。文獻[11]首次將深度學習的概念引入到高光譜圖像分類中,提出了一種新的基于光譜信息的分類方法。它利用自動編碼器提取原始數據信息和PCA 降維后的信息,最后利用SVM 對其進行分類,達到了當時最好的分類效果。但是這種方法只利用了高光譜圖像的光譜信息,并沒有利用空間信息。緊接著,Makantasis 等人[12]提出了一種基于卷積神經網絡(2D CNN)的分類方法,它首先利用主成分分析法(PCA)來降低數據的維度,同時由于相鄰像素大概率屬于同一類別,所以利用周邊像素將中心像素填充成一個固定大小的塊,輸入到2D CNN中自動提取空間信息,最后送入多層感知器進行分類。同樣地,它主要利用了高光譜數據的空間信息,但卻忽略了光譜信息。基于這些因素,文獻[13]提出了一種基于3D CNN的高光譜圖像分類方法,輸入的一個3D塊,它同時具有空間信息和光譜信息,再利用3D CNN直接對空間和光譜維度進行卷積來提取特征,獲得了優良的分類效果。為了更好地提取不同的特征,文獻[14]利用了多尺度卷積的策略,卷積核仍然是3D CNN,但不同大小的卷積核可以在不同的感受野上對物體進行卷積,再將得到的特征進行整合和池化,最后進行分類。
盡管深度學習的方法已經較好地應用在高光譜圖像分類領域,但仍然存在一些問題。首先,由于高光譜圖像樣本較少,如何利用少量的樣本重復提取有效的特征是一個難題。其次,樣本少和復雜的網絡結構容易導致過擬合。最后,雖然3D CNN可以提取出較為良好的特征,但提取的特征仍然是相對粗糙的,有噪聲的特征圖依然會影響最終分類結果。
為了解決這些問題,提出了一個多尺度跨層特征融合注意力機制(MCFFN-Attention)方法進行高光譜圖像分類。采取跨層特征融合的方式,對所獲得的中間特征圖進行反復的利用,使其在網絡的訓練過程中持續傳遞,可以有效地緩解梯度消失現象,抑制過擬合。同時結合空譜注意力機制,對所獲得的特征圖進行特征選擇,能夠使提取的特征更具識別力,從而提高分類效果。
本章主要介紹MCFFN-Attention 方法的思想,包括多尺度空譜特征提取、跨層特征融合,以及提出的適用于高光譜圖像的空譜注意力機制。最后,總體說明MCFFN-Attention的具體實現方法。
多尺度(Multi-scale)結構包含了豐富的上下文信息,在處理高光譜圖像分類方面具有天然的優勢。高光譜圖像不斷增長的空間分辨率和像元之間的關聯性越來越大,使得所需要提取的特征越來越多。首先,由于高光譜圖像高維的特性,在維度過高時,分類的精度會降低。為了盡量保存原始數據的信息和降低維度,需要利用PCA 將高光譜圖像的光譜維度降至20 維。然后,將降維后的數據輸入不同大小的三維卷積核,大小分別是1×1×1、3×3×3和5×5×5。將一個原始3D塊輸入不同的卷積核就能自動提取不同的光譜信息和空間信息。
在高光譜圖像數據的處理中,融合不同尺度的特征是提高分割性能的一個重要手段。低層特征分辨率更高,包含更多位置和細節信息,但是由于經過的卷積更少,其語義性更低、噪聲更多。高層特征具有更強的語義信息,但是分辨率很低,對細節的感知能力較差。利用跨層特征融合(Cross-layer Feature Fusion Network)的方法,將多個特征融合可以改善模型的學習能力。
對多尺度空譜特征提取的特征圖進行concat級聯,作為第一層特征,將其分別用2個3×3×3的3D卷積核進行卷積,得到第二層和第三層的特征。再將第一層和第二層特征進行對應元素相加,得到融合的特征,第二層和第三層特征進行對應元素相加得到另外一個融合的特征。隨后將這兩個融合的特征進行空間注意力機制的選擇,再將得到的兩個特征分別送入2個3×3×3的3D卷積進一步的特征抽象。最后對得到的兩個特征進行相同方法的融合。則最終融合的特征既包含低層的空間信息又包含高層的語義信息。相對于通過卷積核直接提取的特征,融合后的特征信息更加豐富,有利于特征的識別。
隨著深度學習在圖像分類方面愈加廣泛的應用,注意力機制(Attention mechanism)作為一種輔助手段越來越多地用在深度網絡中來優化網絡結構[15-17]。它更像人眼觀察事物的模式,使網絡更加有側重的學習,以此提高網絡的學習能力。通常通道注意力機制(Channel Attention,CA)是對同一個特征圖的不同通道進行選擇優化,獲取重校訂的通道信息;空間注意力機制(Spatial Attention,SA)則是對同一個特征圖的所有空間位置重新分配權重,然后通過Sigmoid 函數來激活得到非線性的重校訂上下文信息。本文中提出了改進的CA 和SA方法應用于高光譜圖像處理。CA 方法如圖1 所示,對于一個給定的中間特征圖X(L×H×W×C;L、H和W代表特征圖的空間維度,C代表通道數),其原理如公式(1)~(3)所示:

MaxPooling和AvgPooling分別代表空間方向上全局最大池化和全局平均池化,δ是RELU激活函數,σ表示Sigmoid激活函數,FC為全連接層。

圖1 Channel Attention結構示意圖
SA 方法如圖2 所示,對于一個給定的中間特征圖X(L×H×W×C),其過程如公式(4)~(6)所示:

MaxPooling和AvgPooling分別是沿著通道方向上的全局最大池化和全局平均池化,Concat表示通道方向上的級聯,Conv是一個三維卷積(3×3×3)。
考慮到高光譜圖像的復雜性。本文將多尺度空譜特征提取、跨層特征融合和Attention 結合起來,提出了一種基于MCFFN-Attention 的高光譜圖像分類方法。該方法的步驟如圖3所示,首先對高光譜圖像在光譜帶方向上進行PCA 降維,再取一個3D 塊作為原始輸入,大小為s×s×d,其中s×s表示塊的大小,d表示降維后的維度。將大小為11×11×20的原始輸入分別送入三個卷積核大小不同的分支中,卷積核大小分別為1×1×1、3×3×3 和5×5×5。將得到的特征圖進行級聯,再順序通過2個3×3×3的卷積層。然后根據特征重復利用融合的思想分別進行跨層相加融合。對于第一次的兩個融合,由于其獲得的特征圖主要包含空間位置信息,因此對融合后的特征進行空間注意力機制處理,使其不同區域獲得不同的權重,在網絡的訓練過程中可以有選擇地學習。將空間優化后的特征再次跨層融合后分別送入兩個卷積層中,獲得更強的語義特征,因此對其采用通道注意力機制的處理,對不同的通道分配不同的權重。以上所有的卷積層后都連接批正則化和RELU激活,可以加快收斂速度。最后,將獲得的特征送入全連接層中進行分類。分類的損失函數采用交叉熵損失函數,如公式(7)所示:

tk是標簽,yk表示網絡的輸出。

圖2 Spatial Attention結構示意圖

圖3 MCFFN-Attention方法結構圖
本實驗所采用的計算機硬件環境Intel Core i7-8700 CPU 3.20 GHz、內存8 GB,軟件環境為Spyder TensorFlow1.8。實驗以2 組高光譜圖像數據集來驗證本文方法的有效性,通過平均分類精度AA(Average All)、總體分類精度OA(Over All)和Kappa 系數對分類結果進行評價。
印第安松樹數據集包含16 類不同的地物目標,由145×145 個像素組成。它有200 個光譜帶,覆蓋范圍為0.2~0.4 μm,空間分辨率為20 m。如表1 所示,對于16類不同地物目標的樣本,大于400個樣本數的隨機選取200個,小于400個樣本數的隨機選取一半作為訓練集,余下的作為測試集。最終,訓練集總數為2 309個像素,測試集總數為7 940個像素。 帕維亞大學數據集有9類不同的地物目標,由610×340 個像素組成。它包含103個光譜帶,覆蓋范圍為0.43~0.86 μm,空間分辨率為每類1.3 m。如表2 所示,對每類地物目標樣本隨機選取200個作為訓練集,余下的作為測試集。最終,訓練集總數為1 800個像素,測試集總數為40 976個像素。

表1 印第安松樹訓練集和測試集樣本

表2 帕維亞大學訓練集和測試集樣本
為了驗證實驗的有效性,將本文提出的MCFFNAttention 方 法 與CNN[12]、3D CNN[13]、M3D CNN[14]和MCFFN 方法進行對比。其中,MCFFN 方法是去除了Attention 部分,其余與MCFFN-Attention 方法的網絡結構保持一致,這是一組消融實驗,目的是驗證Attention的有效性。為了保證對比實驗的公平性,所有的實驗都在相同的硬件下執行,所采用的訓練集和測試集大小也完全相同。本文設定的實驗參數為PCA降維的維度為20,原始輸入的3D 塊的大小為11×11×20,其中,11×11表示3D 塊的長和寬,20 表示降維后的光譜維度。網絡結構的全連接層中的Dropout正則化大小為0.5,迭代次數epochs 大小為60。所有實驗都進行了10 次,選取最優結果。兩種數據集的實驗結果如表3 和表4 所示,標簽和分類結果圖如圖4和圖5所示,全圖分類效果如圖6和圖7所示。

表3 印第安松樹測試樣本分類精度 %

表4 帕維亞大學測試樣本分類精度 %

圖4 印第安松樹數據集標簽和分類結果圖

圖5 帕維亞大學數據集標簽和分類結果圖

圖6 印第安松樹數據集全圖分類效果圖

圖7 帕維亞大學數據集全圖分類效果圖
在印第安松樹數據集或帕維亞大學數據集中,本文提出的MCFFN-Attention 方法的都是五種方法中效果最好的。在印第安松樹數據集中,與3D CNN 方法對比,OA、AA和Kappa值分別提升了1.54、0.89和1.84 個百分點,MCFFN與3D CNN相比OA與Kappa分別提高了0.88和1.03個百分點。由此可以得出結論,多尺度跨層特征融合通過重復利用特征,有效地抑制了梯度消失,提高了分類精度。本文提出的方法與效果最接近的MCFFN 方法對比,OA、AA 和Kappa 值也分別提升了0.66、1.64和0.81個百分點。由此可以看出,通過采用空間注意力機制賦予低層特征不同的空間權重,采用譜注意力機制賦予高層特征不同的通道權重,優化了特征圖,進行特征選擇,對最終的分類結果起到了促進作用。另外一個直觀的現象是,所有的基于3D CNN的方法的效果都要遠遠好于CNN方法,可以表明,同時提取空譜信息有助于提升分類精度。在帕維亞大學數據集的情況中,有著同樣的現象,本文方法的OA、AA 和Kappa同樣是最高的。與M3D CNN方法對比,OA、AA和Kappa值分別提升了0.42、0.77和0.56個百分點;與最接近的MCFFN 方法對比,OA、AA和Kappa值分別提升了0.31、0.86和0.41 個百分點。在訓練時間方面,CNN、3D CNN 和M3D CNN 的時間相差不大。但由于本文的方法加入了Attention機制,在兩種數據集上的訓練時間都有小幅度增加。
為了更直觀地顯示結果,本文對結果進行了可視化。在印第安松樹中,如圖4,16 種不同的顏色代表16種不同的分類,(a)代表原始標簽,(b)~(f)依次表示不同的結果分類圖。在圖6 中,(a)~(e)依次表示不同的全圖分類效果圖。可以看出,本文的方法得到的結果最接近原始標簽,也更加平滑。帕維亞大學的分類結果如圖5和圖7所示,在圖5中,(a)仍然是原始標簽圖,其他與圖4一樣,依次是不同方法的分類結果。圖7也與圖6一樣表示不同的全圖分類效果。本文的效果仍然是最好的,從圖中心橘黃色區域和右下角粉紅色區域可以很明顯地看出本文分類的錯誤是最少的,也與原始標簽是最接近的。
本文提出了一種MCFFN-Attention 方法,通過多尺度結構充分提取了高光譜圖像的空譜信息,并且對空譜信息進行融合。更重要的是,對融合的特征進行空間和通道上的感知,賦予它們不同的權重并自動更新這些權重,使整個網絡更有傾向性地學習重要的特征而忽略噪聲。最終得到更具有分辨力的特征,用于最后的分類。在兩個公用數據集上的實驗結果表明,提出的網絡極大地提升了分類精度,并且為高光譜圖像分類提供了一個新的思路,即在訓練過程中對特征進行選擇。但本文的方法仍有不足,所有的權重更新都是在一個網絡中完成的,而使用一個網絡去指導另一個網絡的權重更新將更加快速和有效。未來將進行這方面的探索。