毛佳琪 ,何 敬 ,劉 剛,2,付 饒
(1. 成都理工大學(xué) 地球科學(xué)學(xué)院,四川 成都 610059; 2. 成都理工大學(xué) 地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護國家重點實驗室,四川 成都 610059)
滑坡由于其發(fā)生的時間、地點、環(huán)境等因素的不確定性,其形態(tài)也各不相同,因此很難構(gòu)建起一個具有普適性的滑坡識別模型。深度學(xué)習(xí)方法通過樣本訓(xùn)練自主提取目標(biāo)對象的特征,避開了人工構(gòu)建特征的主觀性,能夠形成目標(biāo)對象更加抽象、穩(wěn)定的特征,極大地提升了識別精度?;谶@一特點,研究人員開始嘗試利用深度學(xué)習(xí)進行滑坡識別。張洪吉等[1]提出一種面向滑坡危險性評價的深度一維卷積神經(jīng)網(wǎng)絡(luò)方法,利用卷積神經(jīng)網(wǎng)絡(luò)強大的表征學(xué)習(xí)能力獲得更高精度的評價結(jié)果。溫亞楠等[2]基于谷歌地球引擎平臺,利用動態(tài)多源遙感大數(shù)據(jù)和機器學(xué)習(xí)算法對滑坡災(zāi)害進行訓(xùn)練和預(yù)測。
隨著深度學(xué)習(xí)在圖像分割技術(shù)上的突破,研究人員逐漸開始對發(fā)生滑坡的區(qū)域進行圖像語義分割,提取發(fā)生滑坡的區(qū)域。許瀕支等[3]以ResNet為骨架,引入金字塔結(jié)構(gòu),嵌入通道注意力機制,提出一種多尺度深度注意力語義分割方法,增強了不同尺度滑坡特征的提取能力。姜萬冬等[4]在現(xiàn)有樣本的基礎(chǔ)上,進行困難樣本挖掘增強,并將得到的困難樣本輸入Mask R-CNN網(wǎng)絡(luò)進行滑坡精細檢測分割,實現(xiàn)低虛警率下的高性能檢測分割。趙福軍等[5]通過計算機自動識別九寨溝無人機拍攝的滑坡體影像,構(gòu)建一種改進的最優(yōu)分割尺度模型多尺度分割遙感影像,利用深度卷積神經(jīng)網(wǎng)絡(luò)提取滑坡的深度特征,分類識別滑坡體特征。楊文濤等[6]提出了一種基于簡單的規(guī)則集并充分考慮了滑坡發(fā)生的機理特點的滑坡分割、分類算法,可以在實際災(zāi)害發(fā)生時用于大面積、大數(shù)量的山地滑坡災(zāi)害的快速損失評估。
上述方法中僅能單獨識別出滑坡區(qū)域,無法同時標(biāo)注滑坡體的邊界。針對此問題,文中使用DeepLabV3+的框架,并將主干網(wǎng)絡(luò)分別替換為ResNet網(wǎng)絡(luò)、Xception網(wǎng)絡(luò)以及MobileNetV2網(wǎng)絡(luò),進一步減少模型參數(shù)量,使模型更加輕量化。最后,利用貴州畢節(jié)滑坡數(shù)據(jù)集以及“5·12”汶川地震影像對優(yōu)化后的算法進行驗證測試。
普通的滑坡檢測模型,僅能大致圈出滑坡范圍,不能準(zhǔn)確標(biāo)記滑坡的具體位置和形態(tài)。為解決這個問題,我們采用DeepLabV3+來識別滑坡具體位置及形態(tài)。DeepLabV3+是DeepLabV3的升級版,通過添加一個簡單的解碼器模塊,將低級特征與編碼器的高級特征進一步融合,豐富了語義信息。編碼器使用帶空洞卷積的金字塔池化模塊,可以跨像素加大感受野,引入多尺度信息,讓每個卷積輸出都包含較大范圍的信息。
滑坡圖像解碼后,使用多孔空間金字塔池化模塊進行語義分割,可以控制神經(jīng)網(wǎng)絡(luò)特征響應(yīng)的空間分辨率[7],以任意分辨率提取滑坡影像特征,克服池化或卷積導(dǎo)致的滑坡邊界丟失問題。為了防止解碼器得到的滑坡影像高級特征被弱化,首先將影像低級特征進行降維,然后將滑坡高級特征與低級特征利用卷積進一步融合,最后對編碼器的特征進行4倍上采樣,輸出滑坡范圍。DeepLabV3+的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其主要結(jié)構(gòu)由一個功能強大的編碼器(encoder)和簡單有效的解碼器(decoder)組成。
圖1 DeepLabV3+網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Network structure of DeepLabV3+
編碼器的主體是多孔卷積,即不同空洞率的空洞卷積,可以提取不同規(guī)模視野的特征。輸入的滑坡圖像,其特征映射如式(1)所示:
y[i]=∑kx[i+r·k]w[k]
(1)
式中:i為滑坡圖像中像素點位置;w為卷積濾波器;x為輸入特征映射;y為輸出特征映射; 空洞率r為像素采樣步長。在編碼器中,可以改變空洞率r獲取不同空間分辨率的圖像。卷積核的感受野隨著空洞率r改變,因此模型可以在不損失圖像分辨率和不增加參數(shù)的情況下獲得更大的感受野。
圖像深層特征往往是通過增加網(wǎng)絡(luò)深度獲取,但過大的網(wǎng)絡(luò)深度極易出現(xiàn)梯度消失或梯度爆炸。為了解決這一問題,HE等[8]提出了深度殘差網(wǎng)絡(luò)(residual network,簡稱ResNet),它使用Identity和Bottleneck 2種殘差模塊,如圖2(a)、(b)所示。Identity模塊輸入輸出維度不變,常用于層數(shù)較少的網(wǎng)絡(luò),如Resnet18和Resnet34,層數(shù)分別為18層和34層。隨著層數(shù)的不斷增加,參數(shù)量和計算量同時出現(xiàn)了倍數(shù)增長。為減少計算量和參數(shù)量,引入了三層殘差學(xué)習(xí)單元,即Bottleneck模塊。該模塊先進行1×1卷積,將256維通道降到64維,再通過1×1卷積恢復(fù),大大減少了計算量。Bottleneck模塊常用于Resnet50、Resnet101或更深的網(wǎng)絡(luò)。
圖2 ResNet殘差模塊結(jié)構(gòu)圖Fig. 2 ResNet residual module structure diagram
在使用ResNet進行滑坡圖像特征提取時,將輸入圖像和輸出圖像之間添加一條跳連接(skip connection),可以讓滑坡信息直接傳輸?shù)胶竺娴膶又?將深層神經(jīng)網(wǎng)絡(luò)回退到淺層網(wǎng)絡(luò)、獲得與淺層網(wǎng)絡(luò)相當(dāng)?shù)哪P吞匦缘耐瑫r,防止出現(xiàn)梯度彌散的情況。在進行滑坡訓(xùn)練的同時,也可以保留一部分原始信息,解決了梯度回退。
文中所使用的Xception網(wǎng)絡(luò)由輸入層、隱藏層、輸出層構(gòu)成。輸入層的參數(shù)量由滑坡圖像的大小和滑坡圖像的通道數(shù)共同決定。隱藏層主要由深度可分離卷積層構(gòu)成。深度可分離卷積通過逐通道卷積和逐點卷積的方式壓縮卷積核參數(shù)。在滑坡識別中,深度可分離卷積中的每個卷積核對應(yīng)一張滑坡圖像特征圖的輸入通道,卷積后的特征圖通道數(shù)不變,然后對特征圖進行逐點卷積以此增加特征圖通道數(shù),從而加快模型訓(xùn)練。除逐點卷積的卷積核大小為1×1,其余卷積核大小都為3×3。
另外在深度可分離卷積模塊之間,除第一個和最后一個模塊外,其余模塊間都有殘差結(jié)構(gòu)相連[9]?;掠?xùn)練時對輸入圖像進行卷積處理的同時,也能保留部分原始圖像信息進入下一層。在保證識別精度的同時,降低了運算量,從而提升了網(wǎng)絡(luò)訓(xùn)練速度。
MobileNet是Google提出的一種輕量級神經(jīng)網(wǎng)絡(luò)模型[10],在保證識別準(zhǔn)確度和模型訓(xùn)練速度的前提下,融合深度可分離卷積作為基本單元結(jié)構(gòu)。網(wǎng)絡(luò)先通過1×1的卷積對輸入的滑坡圖像進行維度擴展,再用3×3的深度分離卷積提取滑坡特征,最后用1×1的卷積壓縮數(shù)據(jù)。訓(xùn)練完畢的深度可分離卷積核維度較小,在ReLU激活函數(shù)的影響下,容易出現(xiàn)神經(jīng)元的輸出為0,梯度消失的情形。因此,MobileNetV2加入了線性瓶頸結(jié)構(gòu),解決梯度消失的問題[11]。線性瓶頸步長通常為1或2,當(dāng)步長為1 時,需將網(wǎng)絡(luò)結(jié)構(gòu)輸出的滑坡圖像與上一層輸出滑坡圖像疊加,從而實現(xiàn)滑坡圖像不同位置的信息整合;當(dāng)步長為2時,由于滑坡圖像維度發(fā)生變化,無法相加,因此不做圖像疊加處理,其結(jié)構(gòu)如圖3所示。
圖3 MobileNetV2網(wǎng)絡(luò)結(jié)構(gòu)Fig. 3 Network structure of MobileNetV2
本次實驗使用的貴州省畢節(jié)滑坡訓(xùn)練數(shù)據(jù)集是由武漢大學(xué)季順平教授團隊制作完成(http:∥gpcv.whu.edu.cn/data/Bijie_pages.html)。該數(shù)據(jù)集包括滑坡影像及對應(yīng)DEM數(shù)據(jù)和滑坡形狀掩膜,其中滑坡影像分辨率為0.8 m。驗證實驗使用“5·12” 汶川地震衛(wèi)星滑坡影像,空間分辨率為1 m。
文中訓(xùn)練模型主要基于Matlab中圖像標(biāo)注工具(image labeler)以及深度學(xué)習(xí)工具箱(deep learning toolbox)。實驗數(shù)據(jù)集共包括1 260張圖像,其中滑坡圖像770張,非滑坡圖像500張。選取670張滑坡圖像和400張非滑坡圖像作為訓(xùn)練集,100張滑坡圖像和100張非滑坡圖像作為測試集。利用數(shù)據(jù)集中滑坡形狀掩膜,使用圖像標(biāo)注工具生成訓(xùn)練集和測試集標(biāo)簽(ground truth),除背景外只包含滑坡。實驗過程中,圖像小批量訓(xùn)練數(shù)(mini batch size)選取6、8、10進行訓(xùn)練,其余輸入模型的參數(shù)如表1所示。
表1 模型參數(shù)設(shè)定Table 1 Model parameter settings
損失度(loss)表示模型訓(xùn)練值與真實值的差距,可直觀反映模型訓(xùn)練過程精度變化情況,損失度越小表示模型參數(shù)越趨于最佳。選取圖像小批量訓(xùn)練數(shù)為10時,ResNet18、ResNet50、MobileNetV2、Xception模型訓(xùn)練過程中準(zhǔn)確度及損失度變化曲線如圖4所示。相比MobileNetV2和Xception、ResNet50和ResNet18模型收斂更快,但是訓(xùn)練的最終準(zhǔn)確度相對較低,說明ResNet使用的殘差模塊和層數(shù)回退機制可以顯著提升模型的收斂速度。相比ResNet18、Res5Net50在模型收斂后表現(xiàn)更加平穩(wěn),沒有明顯波動,說明適度添加層數(shù)可以使得模型收斂后更穩(wěn)定。
圖4 訓(xùn)練模型變化曲線Fig. 4 Training model change curves
在精度評價方面,采用基于混淆矩陣的基礎(chǔ)識別評價指標(biāo)以及分割算法性能評價指標(biāo)。識別評價指標(biāo)包括精確度(precision)、召回率(recall)、準(zhǔn)確度(accuracy)以及F1_Score對模型進行進一步的評價。精確度反映的是檢測為正樣本的目標(biāo)中正確的概率,召回率表示所有正樣本中正確識別的概率,準(zhǔn)確度反映的是預(yù)測目標(biāo)中預(yù)測正確的比例。F1_Score可以在一定程度上避免由于識別目標(biāo)單一引起的誤差,能夠更好地綜合衡量模型。計算公式如式(2)~式(5):
(2)
(3)
(4)
(5)
式中: TP為預(yù)測為正樣本,實際也為正樣本; FP為預(yù)測為正樣本,實際為負樣本; FN為預(yù)測為負樣本,實際也為正樣本; TN為預(yù)測為負樣本,實際也為負樣本。
文中建立的分割評價指標(biāo)包括整體精度(global accuracy,GA)、頻權(quán)交并比(frequency weighted intersection over union,FWIoU)。GA表示滑坡預(yù)測正確的像素數(shù)占輸入圖像總像素數(shù)的比例,反應(yīng)分割模型的準(zhǔn)確率;FWIoU是對平均交并比(mean intersection over union,MIoU)的一種提升,根據(jù)滑坡出現(xiàn)的頻率對其設(shè)置權(quán)重,減少由于識別種類較少對準(zhǔn)確率和平均交并比帶來的影響。整體精度和平均交并比的計算公式如式(6)、式(7):
(6)
(7)
式中:Pii為原本屬于i類,預(yù)測為i類的像素數(shù)量;Pij和Pji為原本i類,卻預(yù)測為j類的像素數(shù)量,即兩者均為假正與假負之和。
分別選取不同大小的圖像小批量訓(xùn)練數(shù),在Xception、ResNet18、ResNet50、MobileNetV2這4個模型中進行滑坡識別,實驗結(jié)果如表2、表3所示。
表2 識別指標(biāo)各方法對比Table 2 Comparison of identification index methods
續(xù)表
表3 分割指標(biāo)各方法對比Table 3 Comparison of segmentation index methods
從表2中得出:在相同特征提取方法下,批量訓(xùn)練數(shù)越大,模型識別精度越高。這是因為一定范圍內(nèi)批量訓(xùn)練數(shù)越大,在訓(xùn)練模型的過程中,其確定的下降方向越準(zhǔn),引起訓(xùn)練震蕩越小。其次,由于Xception模型使用了深度可分離卷積運算,可以更高效地利用訓(xùn)練集中的圖像特征,因此當(dāng)批量訓(xùn)練數(shù)較小時,在識別精度方面較其他模型表現(xiàn)更好,與ResNet18、ResNet50、MobileNetV2相比,準(zhǔn)確率分別提高了3%、3.7%、6.4%。最后,由于ResNet模型的殘差結(jié)構(gòu),解決了疊加多層網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致模型退化的問題,使其在批量訓(xùn)練數(shù)變大時,模型的識別精度增加更快,訓(xùn)練準(zhǔn)確率明顯增加,在批量訓(xùn)練數(shù)為10的情況下,ResNet18訓(xùn)練準(zhǔn)確率高達94.3%。
從像素角度分析,相同批量訓(xùn)練數(shù)時,MobileNetV2模型整體分割精度較好。在批量訓(xùn)練數(shù)為6、8、10這3種情形下,模型整體精度分別為94.6%、95.3%、95.0%,均高于其他模型。由于訓(xùn)練集中分割種類比較單一,因此當(dāng)批量訓(xùn)練數(shù)較大時,先進行深度卷積,再進行逐點卷積的MobileNetV2模型,與先進行逐點卷積,再進行深度卷積的ResNet模型相比,整體精度和頻權(quán)交并比差別不大。
圖5顯示了MobileNetV2模型在批量訓(xùn)練數(shù)為6、8、10時的分割結(jié)果,批量訓(xùn)練數(shù)不同時,MobileNetV2模型均較好地實現(xiàn)了對滑坡的識別與分割。批量訓(xùn)練數(shù)為6時,由于同一批次訓(xùn)練圖片數(shù)目較少,模型提取的特征有限,導(dǎo)致對滑坡邊界的識別較為粗糙。批量訓(xùn)練數(shù)為8時,滑坡邊界識別更為細膩和準(zhǔn)確。批量訓(xùn)練數(shù)為10時,下邊界識別效果變差,同樣的迭代次數(shù)下的參數(shù)更新頻率降低,要達到較高的識別準(zhǔn)確率,需要更長的迭代次數(shù)。
圖5 MobileNetV2模型下不同批量訓(xùn)練數(shù)效果對比Fig. 5 Comparison of effects of different Batchsizes under MobileNetV2 model
圖6為不同模型在批量訓(xùn)練數(shù)為10的分割結(jié)果,4種方法都實現(xiàn)了較好的滑坡分割識別,其中MobileNetV2對邊緣的識別更加細膩,ResNet50的識別效果則與標(biāo)簽圖像更為接近。在只改變主干殘差單元的情況下,不同的主干網(wǎng)絡(luò)對于滑坡的識別結(jié)果不同,保持卷積核的大小不變,深度越深,網(wǎng)絡(luò)的性能越好,因此將ResNet18與ResNet50的識別結(jié)果相比,可明顯看出ResNet50的識別效果更好。
圖6 批量訓(xùn)練數(shù)為10時不同模型效果對比Fig. 6 Effect comparison of different models when BatchSize is 10
為了進一步檢驗文中模型對滑坡的識別能力,另外選擇了2008年汶川地震時獲取的衛(wèi)星影像進行測試。MobileNetV2、ResNet50、ResNet18、Xception這4種模型在汶川地震圖像的信息部分可視化圖像如圖7所示,其中紅色區(qū)域為模型圈定的滑坡體區(qū)域。
圖7 汶川圖像可視化對比Fig. 7 Comparison of Wenchuan image visualization
對于選取的衛(wèi)星影像圖片,4種模型均較好地識別出滑坡的大體位置。模型識別出來的紅色區(qū)域大致圈出了滑坡邊界,識別范圍基本吻合。從圖7第1列看出,4種模型識別分割出的滑坡范圍與目視解譯標(biāo)定的范圍效果相差較大,這是由于地面滑坡體紋理比較復(fù)雜,并且受光線等多種因素的影響,模型僅能大致標(biāo)定范圍,而無法精確分割出滑坡體的邊界。圖7中第2列圖片可以看出,模型對面狀滑坡體識別效果較好,這是由于訓(xùn)練使用的滑坡數(shù)據(jù)集大多為面狀滑坡體,因此對于第2列圖片中的帶狀滑坡體的識別與分割,效果并不理想。由圖7的第3列圖片可以看出,受地面紋理及其他地物的影響,模型識別結(jié)果出現(xiàn)了滑坡與草地混淆以及邊界識別不準(zhǔn)確的情況。因此,使用DeepLabV3+語義分割模型,并替換原模型中主干網(wǎng)絡(luò)模型在汶川滑坡圖像上依舊取得了較好的結(jié)果,進一步驗證了文中提出的模型改進具有一定泛化性。
文中采用DeepLabV3+滑坡識別框架,并使用ResNet、Xception、MobileNetV2替換了DeepLabV3+模型中的主干網(wǎng)絡(luò)。利用畢節(jié)市滑坡數(shù)據(jù)集進行模型訓(xùn)練和測試,識別同時直接對滑坡邊界進行分割,最大分割整體精度達到95.3%,最大識別準(zhǔn)確度達到97%,最大F1_Score達到97.1%。并以汶川地震影像對訓(xùn)練后的模型進行驗證,該模型可大致識別分割出影像中的滑坡范圍。文中將識別與分割結(jié)合,同時實現(xiàn)了滑坡檢測和分割,提升了滑坡識別效率。但是在識別和分割過程中,因為地面影像紋理、光線等因素的干擾,部分區(qū)域未能準(zhǔn)確識別滑坡范圍及邊界,這是未來需要進一步突破解決的問題。