劉坤香,王保云,徐繁樹,韓俊
(1. 云南師范大學(xué)信息學(xué)院,云南 昆明 650500;2. 云南師范大學(xué)數(shù)學(xué)學(xué)院,云南 昆明 650500;3. 云南省高校復(fù)雜系統(tǒng)建模及應(yīng)用重點實驗室,云南 昆明 650500)
泥石流災(zāi)害在我國頻繁發(fā)生,尤其在高山居多的云南地區(qū)更為密集[1]。近幾年,不少學(xué)者使用卷積神經(jīng)網(wǎng)絡(luò)技術(shù)去對泥石流災(zāi)害進行分析、預(yù)測和分類。例如:曹祿來等[2]將T-S 模糊模型和神經(jīng)網(wǎng)絡(luò)相結(jié)合,實現(xiàn)對泥石流的危險性評價;汪茜等[3]通過卷積神經(jīng)網(wǎng)絡(luò)對泥石流進行預(yù)測;吉曉玲[4]采用BP 神經(jīng)網(wǎng)絡(luò),類比分析了泥石流災(zāi)害造成的經(jīng)濟損失。
在神經(jīng)網(wǎng)絡(luò)的眾多研究中,圖像分類的應(yīng)用更為廣泛,并且越來越多的學(xué)者通過對網(wǎng)絡(luò)模型的改進獲得了更好的分類效果。趙京霞等[5]基于改進的LeNet-5 網(wǎng)絡(luò)應(yīng)用于乳腺疾病的診斷。石翠萍等[6]基于改進的AlexNet 神經(jīng)網(wǎng)絡(luò)對人臉表情進行識別。伍思雨等[7]通過改進的VGGNet 模型對鮮花實現(xiàn)高效分類。在地質(zhì)災(zāi)害預(yù)測分類方面,神經(jīng)網(wǎng)絡(luò)也具有廣泛應(yīng)用,已經(jīng)有學(xué)者將其應(yīng)用于地震[8?10]、塌方[11]、洪水[12?13]、泥石流[14?17]等地質(zhì)災(zāi)害的預(yù)測和分析。杜星等[18]基于MPL神經(jīng)網(wǎng)絡(luò)對地震作用下砂土液化進行評估,其預(yù)測準確率可達96%;劉詩洋等[19]利用卷積神經(jīng)網(wǎng)絡(luò)和時間序列預(yù)測法研究了隧道掘進機掘進塌方段的可能性;于國強等[20]采用支持向量機(Support Vector Machines,SVM)和BP 神經(jīng)網(wǎng)絡(luò)模型對蔣家溝泥石流數(shù)據(jù)進行了預(yù)測,并基于實驗數(shù)據(jù)建立了泥石流平均流速敏感因子預(yù)測模型。在地質(zhì)災(zāi)害領(lǐng)域,周文輝等[21]針對地震數(shù)據(jù)重建問題,提出了基于殘差網(wǎng)絡(luò)的地震數(shù)據(jù)超分辨率方法,并取得了良好效果。
近些年來,盡管神經(jīng)網(wǎng)絡(luò)的性能有了顯著提高,但依然存在一些問題。比如傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)當(dāng)層數(shù)少時學(xué)習(xí)圖像特征不夠充分,當(dāng)層數(shù)多時容易導(dǎo)致模型過擬合和梯度消失。He等[22]在2015 年提出了殘差網(wǎng)絡(luò)模型,網(wǎng)絡(luò)內(nèi)部具有殘差塊較好的解決了梯度消失等問題,因此文章的基礎(chǔ)模型采用具有18層網(wǎng)絡(luò)結(jié)構(gòu)的殘差網(wǎng)絡(luò)Resnet18。
文章使用的是泥石流災(zāi)害溝谷數(shù)據(jù)集,其中每個樣本中包含了大量溝谷的輪廓、紋理、地理位置等信息,但在樣本量稀少的情況,簡單的神經(jīng)網(wǎng)絡(luò)難以捕捉到完整的泥石流災(zāi)害溝谷的特征。因此,文章提出了基于殘差注意力機制[23?24]的泥石流災(zāi)害溝谷分類模型。注意力機制模塊(Convolutional Block Attention Module,CBAM)傾向于關(guān)注圖像中比較感興趣的部分,因此基于注意力機制的網(wǎng)絡(luò)模型會更加關(guān)注圖像中的重點信息。Hu等[25]提出了通道注意力模塊,重點關(guān)注特征映射不同通道之間的聯(lián)系,從而提升了分類效果。Woo等[26]提出了融合不同通道和空間注意力的注意力模塊,驗證了通道信息和空間信息結(jié)合的有效性。文章進行反復(fù)實驗,得出先空間后通道的注意力機制(Convolutional Block Attention Module,CBAM)更有利于泥石流災(zāi)害溝谷的特征提取。
針對云南省泥石流災(zāi)害溝谷圖像分類問題,文章在殘差網(wǎng)絡(luò)Resent18 的基礎(chǔ)上引入殘差注意力模塊,提出了基于殘差注意力機制的卷積神經(jīng)網(wǎng)絡(luò)模型(Resnet-18_SC)。
隨著卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,其在語音識別、計算機視覺等領(lǐng)域表現(xiàn)出了優(yōu)越性能。但是,隨著網(wǎng)絡(luò)模型的結(jié)構(gòu)越來越龐大,網(wǎng)絡(luò)層次越來越深,梯度消失等問題也隨之出現(xiàn),這在某種程度上,影響了模型的性能。殘差網(wǎng)絡(luò)模型較好的解決了上述問題,被廣泛應(yīng)用于計算機視覺領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)參數(shù)量龐大,在樣本量足夠的情況下,往往能達到比較理想的性能。但文章實驗所需的的泥石流災(zāi)害溝谷圖像數(shù)據(jù)集較小,每類只有300 多個樣本,直接使用較深的網(wǎng)絡(luò)模型極易產(chǎn)生過擬合現(xiàn)象。因此,文章設(shè)計了殘差注意力網(wǎng)絡(luò)模型,用于改善殘差網(wǎng)絡(luò)在泥石流災(zāi)害溝谷圖像數(shù)據(jù)集上的分類性能。如圖1 所示,在殘差網(wǎng)絡(luò)模型Resnet18 中嵌入殘差注意力模塊SC,可以更加充分的獲取泥石流災(zāi)害溝谷圖像信息,從而提高分類準確率。
從圖1 可以看出,首先,殘差注意力網(wǎng)絡(luò)(Resnet18_SC)對輸入圖像進行卷積處理操作,卷積核的大小為7×7,步長為2;然后,采用Batch Normalization 緩解過擬合現(xiàn)象;之后,采用卷積核尺寸為3×3、步長為2 的最大池化操作,再次將特征圖像降維至上一層輸出的1/2;接著,采用8 個殘差注意力卷積組提取特征映射的高級特征,每組卷積操作的卷積核大小均為3×3,卷積核的數(shù)量分別為64,64,128,128,256,256,512,512;最后,利用全局平均池化操作降低模型的參數(shù)量,經(jīng)過全連接層輸出分類結(jié)果的概率。
圖1 基于殘差注意力機制的泥石流災(zāi)害溝谷圖像分類模型Resnet18_SCFig.1 Debris flow disaster gully image classification model Resnet18_SC based on residual attention mechanism
注意力機制最開始來源于動物的視覺機制,在卷積神經(jīng)網(wǎng)絡(luò)中加入該機制,能夠讓網(wǎng)絡(luò)模型著重關(guān)注重點區(qū)域,而忽略非重點區(qū)域。文章使用的殘差注意力機制包含兩個模塊,分別是殘差空間注意力模塊和殘差通道注意力模塊,將二者結(jié)合可以同時關(guān)注特征映射的空間域和通道域信息。
(1)殘差空間注意力模塊
在遙感圖像的分類問題中,不是所有的圖像區(qū)域?qū)θ蝿?wù)的貢獻都是等同的,只有任務(wù)相關(guān)的區(qū)域才需要分配相應(yīng)的權(quán)重,空間注意力模塊就是對圖像中最重要的位置進行處理。如圖2 所示,空間注意力模塊通過特征圖空間位置信息進行特征提取,計算相應(yīng)位置的注意力權(quán)重,這個過程會使網(wǎng)絡(luò)模型更加關(guān)注目標(biāo)的空間位置信息,從而更容易提取到目標(biāo)的特征。空間注意力模塊的輸入為神經(jīng)網(wǎng)絡(luò)經(jīng)過卷積運算提取后的特征圖。首先,基于通道層面進行全局最大池化和全局平均池化操作,得到兩個二維的特征圖;然后,將該特征圖在通道層面上進行拼接,拼接后進行卷積操作,使其再次降維為1 個通道;最后,通過激活函數(shù)Sigmoid 生成空間注意力特征Ms。
圖2 空間注意力機制模塊Fig.2 Spatial attention mechanism module
(2)殘差通道注意力模塊
除了空間信息,特征圖中還存在著豐富的通道維度信息。神經(jīng)網(wǎng)絡(luò)在卷積操作之后,會得到一系列的特征圖,這些特征圖又由不同的特征通道組成。但并不是所有的通道信息都有利于圖像分類,有些通道包含的是背景等無用信息,這些信息會干擾網(wǎng)絡(luò)模型的分類,同時還會增加模型的計算量。殘差通道注意力模塊重點關(guān)注特征矩陣中分辨性較強的特征,這些往往是比較有價值的信息。通道注意力模塊利用不同通道之間的依賴性,使網(wǎng)絡(luò)能夠提升細節(jié)部分的注意力,將更高的權(quán)重分配在重點區(qū)域的特征通道上,從而有效提高泥石流災(zāi)害溝谷圖像的分類效果。
通道注意力模塊的輸入特征圖是空間注意力模塊的輸出Fs,經(jīng)過最大池化和平均池化操作后,將結(jié)果分別送入兩個共享參數(shù)多層感知機(MLP)。然后對MLP 輸出的特征進行對位相乘、相加,再使用Sigmoid 函數(shù)激活,最后生成通道注意力特征圖Mc,結(jié)構(gòu)如圖3 所示。
圖3 通道注意力機制模塊Fig.3 Channel attention mechanism module
(3)CBAM
CBAM 是一種結(jié)合通道注意力(CA)和空間注意力(SA)的注意力模塊,結(jié)構(gòu)如圖4 所示,通過實驗對比發(fā)現(xiàn)先空間后通道注意力機制的順序在泥石流災(zāi)害溝谷分類結(jié)果上表現(xiàn)更好。CBAM 通過卷積層提取特征,并對提取到的特征進行計算,從而生成一個注意力權(quán)重,注意力權(quán)重可以調(diào)整每層提取特征的比重。CBAM 主要的機制就是用最后生成的輸出特征圖F′′替換原始輸入特征圖F,實現(xiàn)提取空間和通道兩個維度的注意力權(quán)重。
圖4 通道和空間注意力機制結(jié)合的CBAM 模塊Fig.4 CBAM module combining channel and spatial attention mechanism
文章使用的數(shù)據(jù)為云南省2005—2017 年發(fā)生泥石流災(zāi)點的溝谷和未發(fā)生泥石流災(zāi)害的溝谷圖像。該數(shù)據(jù)通過ArcGIS 軟件對DEM 圖像和高分一號遙感數(shù)據(jù)處理得到,共獲得原始數(shù)據(jù)560 張。數(shù)據(jù)處理前期共獲得5 種數(shù)據(jù):DEM 圖像、高分一號4 個波段圖像(紅光波段、綠光波段、藍光波段和近紅外波段),經(jīng)過多組實驗對比發(fā)現(xiàn)高分一號遙感數(shù)據(jù)第四個通道下的近紅外波段數(shù)據(jù)特征更豐富、分類效果最佳,因此文章采用的數(shù)據(jù)為高分一號近紅外波段的圖像。本實驗的目的是為了通過智能化的手段高效的識別出某處泥石流發(fā)生的概率,因此文章將提取的泥石流溝谷按災(zāi)害發(fā)生次數(shù)進行分類,分為0 類,1 類,2 類,3 類。0 類代表該溝谷處未記錄發(fā)生過泥石流,1 類代表該溝谷處記錄發(fā)生過1 次泥石流,2 類代表該溝谷處記錄發(fā)生過2 次泥石流,3 類代表該溝谷處記錄發(fā)生過3 次及以上泥石流。圖5 為近紅外波段泥石流溝谷數(shù)據(jù)集的0,1,2,3 類數(shù)據(jù)展示。
圖5 泥石流數(shù)據(jù)集展示Fig.5 Debris flow data set display
深度學(xué)習(xí)模型的訓(xùn)練中,需要大量數(shù)據(jù)集支持才能防止過擬合,得到泛化能力強的網(wǎng)絡(luò)。然而在泥石流研究中,難以獲取到大量復(fù)雜的、有標(biāo)注的泥石流溝谷遙感圖像作為訓(xùn)練的數(shù)據(jù)集。數(shù)據(jù)增強可以豐富樣本的形態(tài),提升神經(jīng)網(wǎng)絡(luò)模型的分類性能。因此采用數(shù)據(jù)增強的方法,對泥石流溝谷遙感圖像進行水平、垂直翻轉(zhuǎn)、隨機角度旋轉(zhuǎn)、隨機顏色抖動、隨機噪聲以及對比度、亮度、顏色增強,解決數(shù)據(jù)量不足的問題。經(jīng)過數(shù)據(jù)增強后,共得到泥石流溝谷圖像1 240張,四類泥石流溝谷遙感影像的數(shù)量分別為:300、290、320、330 張,按照訓(xùn)練集、測試集的8∶2 的比例劃分數(shù)據(jù)集。
文中研究的實驗環(huán)境為:處理器XeonPlatinum8157,硬盤350 G,內(nèi)存8 GB,GPU 為NVIDIAGeForceRTX3090,顯卡內(nèi)存24 GB。軟件環(huán)境:Ubuntu18.04,python3.7,Py-Torch1.8.1,Cuda11.1。
在文章實驗中,超參數(shù)設(shè)置如下:小批量樣本大小為32;初始學(xué)習(xí)率為0.000 5,懲罰因子為0.000 1;分類函數(shù)為softmax 函數(shù),損失函數(shù)為交叉熵函數(shù),優(yōu)化方法為隨機梯度下降(SGD)算法。
在多分類任務(wù)中,常用評價指標(biāo)有準確率、召回率(靈敏度)、特異性等。為了評估泥石流溝谷4 分類任務(wù),文章使用以上3 個評估指標(biāo)對實驗?zāi)P瓦M行分析,見式(1)—(3)。準確率是對模型整體的一個評估,召回率是對正樣本的評估,特異性是對負樣本的評估。通過這三個評價指標(biāo)對模型進行全方位的評價。
(1)準確率
(2)召回率(靈敏度)
(3)特異性
式中:N——所有樣本個數(shù);
T00、T11、T22、T33—0、1、2、3 類樣本中預(yù)測正確的個數(shù);
TP——正類預(yù)測為正類的數(shù)量;
FP——負類預(yù)測為正類的數(shù)量;
TN——負類預(yù)測為負類的數(shù)量;
FN——正類預(yù)測為負類的數(shù)量。
本節(jié)將對卷積神經(jīng)網(wǎng)絡(luò)Alexnet、VGG16 和殘差網(wǎng)絡(luò)Resnet18 引入Woo等[26]提出的CBAM 先通道后空間的注意力機制模型進行實驗,分析CBAM 對不同網(wǎng)絡(luò)的影響以及對泥石流災(zāi)害溝谷數(shù)據(jù)集的可行性。
在卷積神經(jīng)網(wǎng)絡(luò)中,只需將CBAM 模塊加入到卷積層的后面,若卷積網(wǎng)絡(luò)中有連續(xù)多個相同大小的卷積層,則僅需要在第一個卷積層后面添加CBAM,因此Alexnet 和VGG16 模型分別需要在網(wǎng)絡(luò)中添加3 個和5 個CBAM。殘差網(wǎng)絡(luò)與卷積網(wǎng)絡(luò)在結(jié)構(gòu)上存在差異性,殘差網(wǎng)絡(luò)是由多個殘差塊和殘差連接組成,在Resnet18 中引入CBAM 時比在Alexnet 中更復(fù)雜。Resnet18 的核心結(jié)構(gòu)主要由4 種不同的卷積殘差模塊(2 個conv2_x、2 個conv3_x、2 個conv4_x、2 個conv5_x)組成,每個模塊由2 個卷積層和跨越它們的連接組成。對于resnet18,需要插入8 個CBAM 注意力模塊,分別插入到每個卷積塊第1 個卷積層的后面,從而實現(xiàn)對所有尺寸的輸入特征圖分配注意力權(quán)重。
對上述三個網(wǎng)絡(luò)添加CBAM 后進行結(jié)構(gòu)重組,調(diào)整網(wǎng)絡(luò)合適的參數(shù),最后對改進前后模型進行訓(xùn)練。Alexnet、VGG16、Resnet18 三個神經(jīng)網(wǎng)絡(luò)加入CBAM前后實驗結(jié)果對比見表1—3。
表1 Alexnet 與Alexnet_CBAM 結(jié)果對比Table 1 Comparison of Alexnet and Alexnet CBAM results
表2 VGG16 與VGG16_CBAM 結(jié)果對比Table 2 Comparison of VGG16 and VGG16_CBAM results
表3 Resnet18 與Resnet18_CBAM 結(jié)果對比Table 3 Comparison of Resnet18 and Resnet18_CBAM results
三個表均從特異性、靈敏度、和準確率三個評價指標(biāo)進行分析,除了VGG16_CBAM 模型在特異性上沒有提升外,其他參數(shù)值均在加入CBAM 后表現(xiàn)的更好。相較于原網(wǎng)絡(luò),在準確率上,Alexnet_CBAM 提升了2.15%,VGG16_CBAM 提升了2.51%,Resnet18_CBAM 提升了2.8%。Resnet18 的準確率高于另外兩個卷積神經(jīng)網(wǎng)絡(luò),這是由于殘差網(wǎng)絡(luò)的特殊結(jié)構(gòu)決定的,其殘差結(jié)構(gòu)能夠防止網(wǎng)絡(luò)過擬合和梯度消失,且在訓(xùn)練速度上也有很大的提升。其次,加入注意力模塊之后,VGG16_CBAM的各項指標(biāo)仍略高于Alexnet_CBAM,這是因為VGG16含有的卷積層數(shù)多于Alexnet,模型提取特征的能力更強。通過上述分析發(fā)現(xiàn)CBAM 模塊加入到傳統(tǒng)的卷積網(wǎng)絡(luò)中具有顯著效果,從另一方面也說明了CBAM 模塊對于泥石流災(zāi)害數(shù)據(jù)集的信息提取是有用的。
在1.2 節(jié)中介紹了注意力機制模塊包含了空間注意力機制和通道注意力機制,它們既可以單獨使用,也可以將兩者相結(jié)合組成CBAM。對此,本節(jié)為了探討它們之間的差異性進行了4 組實驗,結(jié)果如表4 所示。四組實驗分別是在Resnet18 網(wǎng)絡(luò)中引入單通道注意力機制、單空間注意力機制、先通道后空間同時引入空間和通道注意力機制、先空間后通道同時引入空間和通道注意力機制,并分別命名為Resnet18_C、Resnet18_S、Resnet18_CS、Resnet18_SC。
由表4 可以看出單獨加通道或者空間注意力機制準確率的值相較于原始Resnet18 網(wǎng)絡(luò)70.32%的準確率,只有不到1%的提升,且通道注意力在原始網(wǎng)絡(luò)的基礎(chǔ)上僅有0.24%的提升。當(dāng)兩個注意力塊共同作用在Resnet18 網(wǎng)絡(luò)上時準確率在73.12%~75.42%,且先空間后通道的注意力機制測試結(jié)果比先通道后空間的準確率高出2.3%。
表4 不同注意力機制模塊結(jié)果對比Table 4 Comparison of results of different attentional mechanism modules
由于同時引入兩個通道的注意力模塊,先通道和先空間兩種方法的實驗結(jié)果差異較大,對此制作了兩個模型測試結(jié)果的擬合曲線。圖6 中(a)(b)分別為Resnet18_CS 和Resnet18_SC 兩個網(wǎng)絡(luò)的準確率曲線對比和損失曲線對比,從中可以發(fā)現(xiàn)Resnet18_SC 的準確率曲線和損失曲線都優(yōu)于Resnet18_CS。從曲線波動情況看,Resnet18_SC 的兩條曲線波動較小,這說明先空間后通道的注意力機制能夠使模型更加穩(wěn)定。通過上述分析可以得出Resnet18_SC 模型性能優(yōu)于其他三種模型。
圖6 Resnet18_CS 和Resnet18_SC 準確率和損失對比曲線Fig.6 Accuracy and loss curves for Resnet18_CS and Resnet18_SC
在上節(jié)中的實驗中得出先空間后通道的Resnet18_SC 模型結(jié)果表現(xiàn)最好,基于此結(jié)論本節(jié)對原始模型Resnet18 和Resnet18_SC 模型conv2_x 的第一個殘差塊中的特征圖進行可視化,用來對比原始模型與引入先空間后通道的注意力機制對圖像特征提取的差異性,結(jié)果如圖7 所示。
圖7 SC 注意力機制結(jié)果可視化Fig.7 Visualization of SC attentional mechanism results
圖中第一排展示的五張圖片,是不同地理位置的輸入圖片經(jīng)由conv2_x 第一個殘差塊的第二個卷積層后的特征輸出圖像;第二排五張圖片是第一排對應(yīng)位置經(jīng)由注意力機制處理后的特征輸出圖像。兩組圖分別對應(yīng)圖4 中第一個灰色卷積塊的輸出結(jié)果和經(jīng)過注意力機制處理后F′′的值。第一排輸出特征圖中只有整體的輪廓特征,內(nèi)部特征區(qū)分布不明顯,整體圖像較模糊;第二排引入注意力機制后的輸出特征圖不僅輪廓更加清晰,且內(nèi)部山脊特征更加突出(圖中稀疏分布的條狀即溝谷的山脊特征)。由此可見引入SC 注意力機制模塊后的Resnet18_SC 模型對泥石流災(zāi)害溝谷數(shù)據(jù)的特征提取更精準,能有效提高模型的識別能力。
針對泥石流災(zāi)害溝谷數(shù)據(jù)集原始樣本較少、圖像特征較差的問題,文章在殘差網(wǎng)絡(luò)模型的基礎(chǔ)上引入了注意力機制模塊,較好的實現(xiàn)了泥石流災(zāi)害溝谷數(shù)據(jù)集的分類任務(wù)。殘差網(wǎng)絡(luò)的使用,緩解了網(wǎng)絡(luò)模型層數(shù)較低時無法充分學(xué)習(xí)圖像特征、網(wǎng)絡(luò)層數(shù)較高時出現(xiàn)的梯度消失等問題;殘差注意力模塊的引入,很大程度提升了模型對圖像重要特征信息的識別。實驗結(jié)果表明,不同數(shù)據(jù)集在注意力模塊的順序和個數(shù)的使用上存在一定差異。在泥石流災(zāi)害溝谷數(shù)據(jù)集中,同時使用先空間后通道的殘差注意力模塊的分類結(jié)果更優(yōu)于只使用單個或同時先通道后空間的殘差注意模塊。未來的工作中,將對未使用的4 種泥石流災(zāi)害溝谷數(shù)據(jù)(DEM 圖像,高分一號前3 個通道圖像)進行圖像融合實驗,將它們攜帶的特征信息充分應(yīng)用到泥石流災(zāi)害溝谷分類中,進一步提高模型分類準確率。