鄭凱東,李阿瑩
(西安石油大學 計算機學院,西安 710065)
高光譜遙感是指用大量狹窄的電磁波通道獲取地物的空間、輻射和光譜三重信息的技術[1]。高光譜成像遙感技術可以獲取地物的光譜、輻射和空間信息,是通過電磁波譜中可見光、紅外線的波段范圍獲取地物的數據信息,構成圖像數據立方體[2]。
在研究早期,科研人員主要把關注點放在光譜特征的提取上,相關的方法包括主成分分析、獨立成分分析、線性判別式分析等,利用這些方法來提取高光譜圖像的光譜特征,并使用分類器進行分類,比較常用的有支持向量機(Support Vector Machine,SVM)[3]、隨機森林[4]、多項式邏輯回歸分類[5]等方法。
卷積神經網絡(Convolutional Neural Network,CNN)是深度學習的代表算法之一,已有眾多學者在應用CNN 及改良的網絡結構對高光譜圖像分類進行研究,如Chen 等人[6]利用高光譜圖像的像素信息作為輸入,顯著提高了結果精度。然而由于高光譜圖像具有二維空間信息和一維光譜信息,因此在利用CNN 模型對高光譜圖像分類時會因為這些冗余信息而對精度造成影響[7]。在此基礎上,Xu 等人[8]提出了3D Octave 卷積模型,能夠從高光譜圖像中提取空間-光譜特征,并引入注意力機制來加強重要區域的空間-光譜信息的提取,但該模型在網絡訓練方面耗費了更多的時間成本。由于高光譜圖像的光譜數據本質上是一類序列數據[9],Venkatesan 等人[10]首次把循環神經網絡(Recurrent Neural Network,RNN)引入到高光譜圖像分類中,并提出了一種激活函數和參數校正函數,用于分析高光譜圖像中的數據序列。Zhou 等人[11]提出了一種基于光譜-空間長短時記憶網絡的高光譜圖像分類方法,大大減少了網絡模型的訓練時間,但精度略遜于改良后的CNN 模型。
基于以上研究,本文提出了一種基于RNN 及多重注意力機制融合網絡(LZ-Bidirectional Recurrent Neural Network,LZ-BRNN),用雙向循環神經網絡BRNN 來處理高光譜圖像的序列數據,減少時間成本,并引入三重注意力機制來提升網絡模型的精確度。
本文提出一種基于RNN 及多重注意力機制融合的網絡模型(LZ-BRNN),網絡框架流程如圖1 所示。圖1 中,模型用雙向循環神經網絡(BRNN)來處理高光譜圖像的序列數據,減少時間成本,同時引入三重注意力機制,通過三分支結構捕獲跨維度交互來計算注意力權重,用來提高整個網絡模型分類的精確度。

圖1 LZ-BRNN 網絡框架流程圖Fig. 1 LZ-BRNN network framework flowchart
BRNN 的基本思想是提出每一個訓練序列向前和向后分別是2 個循環神經網絡(RNN),而且這2個都連接著一個輸出層。該結構給輸出層輸入序列中提供每一個點的完整的過去和未來的上下文信息。文中給出BRNN 隱藏層和輸出層的計算公式分別如下:

深度學習中的注意力機制(Attention Mechanism,AM)是根據重要性給圖像不同部分分配不同的權重,有助于忽略掉不重要的特征信息。本文引用三重注意力機制(Triplet Attention,TA),由3 個分支組成。其中,2 個用于捕獲通道C和空間H或W之間的跨維交互,第3 個分支發揮著類似卷積注意力模塊(CBAM)的作用。TA 模型設計原理如圖2 所示。

圖2 Triplet Attention 模型原理圖Fig. 2 Schematic diagram of the Triplet Attention model
所有實驗的硬件設備均在Intel(R)Core(TM)i7-10870H CPU @ 2.20 GHz 2.21 GHz 處理器,Nvidia GeForce RTX 2070MQ 顯卡的系統上運行的。同時,主機選用Windows10 操作系統,運行環境為Python3.6,Torch1.10.0+CU102。
為了驗證本文方法的有效性,在高光譜圖像的2 個公開數據集、即Botswana 和PaviaC 上進行實驗。其中,Botswana 數據集像素分辨率為30 m,包含145 個可用于高光譜圖像分類的波段,數據涵蓋了14 種地物類別,分別是Water、Hippo grass、Floodplain grasses1 等。PaviaC 數據集經過處理后共有102 個可用波段,數據包含了9 種地物類別,分別是Water、Trees、Asphalt 等。
本次實驗的主要評價指標有:迭代次數(epoch)、訓練集劃分(training_sample)以及學習率(learning_rate),經過多次實驗,最終將測試集和訓練集各取樣本數據的50%,epoch取200,learning_rate設置為0.001,在實驗中能取得更好的結果。
本文實驗主要與傳統分類方法、如SVM[12],以及近年來在高光譜圖像分類問題中常用的算法進行比較,如RNN[13]、3D-FCN[14]、3D-CNN[15]。根據高光譜常用的衡量精度指標:總體分類精度(Overall Accuracy,OA)以及Kappa系數進行分類精度比較[16],同時還要計算每次分類所用時間,用來驗證分類的實時性。
在參數設定的基礎上,分別在Botswana、PaviaC數據集上各進行10 次實驗,最終實驗結果取平均值,表1 為Botswana 數據集實驗分類結果。

表1 Botswana 數據集分類結果Tab.1 Classification results of the Botswana dataset
由表1 可以得出,在Botswana 數據集上,本文所提出的方法在精度上高于SVM 和普通的循環神經網絡以及3D-FCN 網絡模型,在OA和Kappa值上高于三者,比改進后的3D-CNN 略高一點。在分類耗費時間成本上,RNN 用時最短,也表現出了RNN處理時序數據的優越性,隨著網絡層數的增加,3DCNN 雖然在精度上要高于3D-FCN、但用時更長,LZ-RNN 在RNN 基礎上進行改良,使得整體時間成本仍在可接受范圍內。圖3 為不同模型在Botswana數據集上的分類結果。

圖3 不同模型在Botswana 數據集分類結果圖Fig. 3 Classification results graph of different models in the Botswana dataset
圖3(a)是在Botswana 數據集取波段為(75,33,15)得到的真值圖。用紅色選框標注的是通過模型分類與真值有偏差的區域,隨著模型的不斷優化,出錯區域明顯越來越少,這也與表1 得出的數據相吻合。
第二組實驗是在Pavia Center 數據集上進行,由于該數據集像素點遠高于Botswana 數據集,分類所需時間也有所增加,在本次實驗中將迭代次數epoch設為100,其他參數不變,表2 為PaviaC 數據集實驗分類結果。

表2 PaviaC 數據集分類結果Tab.2 Classification results of the PaviaC dataset
從表2 可以得出,在PaviaC 數據集上,本文提出的LZ-RNN 模型在OA值和Kappa值上高于其他算法。由于PaviaC 圖像的像素點遠高于Botswana數據,但RNN 模型仍能在較短的時間內進行分類,且在精度上略高于CNN 模型。而通過改良得到的LZ-RNN 提升了原模型的精度。圖4 為不同模型在PaviaC 數據集上的分類結果。
圖4(a)是在PaviaC 數據集取波段為(55,41,12)得到的真值圖。用紅色選框標注的是通過模型分類與真值有偏差的區域。隨著模型的不斷優化,出錯區域明顯越來越少,圖像上冗余斑點也越來越少。實驗證明,本文提出的LZ-RNN 模型對于大部分地物類別的分類均取得了良好的效果,有多個地物類別的效果達到99.9%,既保證了精度,又將時間成本控制在可接受的范圍內。

圖4 不同模型在PaviaC 數據集分類結果圖Fig. 4 Classification results graph of different models in the PaviaC dataset
本文提出了一種基于循環神經網絡和多重注意力機制的高光譜圖像分類模型,網絡結構簡單且有效,模型用雙向循環神經網絡(BRNN)來處理高光譜圖像的序列數據,降低了時間成本,引入多重注意力機制來提升分類精度,通過實驗對比,證明本文提出的方法能夠在較短的時間內完成高光譜圖像分類任務,且展現出優秀的分類性能。