?

基于Mask R-CNN的遙感影像滑坡檢測方法研究

2023-12-19 08:32徐玲劉曉慧張金雨劉震
山東建筑大學學報 2023年6期
關鍵詞:滑坡精度樣本

徐玲,劉曉慧,張金雨,劉震

(山東建筑大學測繪地理信息學院,山東 濟南 250101)

0 引言

我國是地質災害頻發的大國,由于山區眾多、地形結構較為復雜,地質災害隱患廣泛分布。國務院辦公廳于2020年5月印發《關于開展第一次全國自然災害綜合風險普查的通知》,定于2020—2022 年間開展第一次全國自然災害綜合風險普查工作[1]。根據自然資源部地質災害數據統計,2020 年我國共發生地質災害7 840 起,其中有滑坡4 810 起、崩塌1 797起、泥石流899起,造成了139人死亡(失蹤)、58人受傷,直接經濟損失可達50.2 億元[2]。因此,對大范圍的滑坡開展自動檢測,快速獲取滑坡的區域分布、數量、規模等災害信息,對地質災害普查工作、地質災害管理以及風險評估具有重要意義[3]。然而,傳統的滑坡提取方法大多基于現場調查[4-5],調查范圍有限、耗時長、工作量大、效率低,難以滿足救援部門的效率需求。由于遙感技術具有快速、宏觀的優勢,使其飛速發展并在災害應急救援中得到廣泛應用[6-9]。因此,利用遙感技術初步掌握災害分布情況,對于地質災害普查工作具有重要意義。

深度學習方法在計算機視覺領域得到廣泛應用,如影像分割、目標檢測和影像分類,并為自動提取滑坡提供了有效的框架[10-13]。與傳統方法相比,深度學習方法可以借助深度學習框架通過卷積運算自動學習特征,并用分層特征提取代替人工特征識別。MANFRé等[14]使用支持向量機、決策樹、二進制編碼等多種機器學習方法實現了對巴西圣保羅州地區的滑坡識別工作;陳天博等[15]基于模糊分類與支持向量機相結合的決策樹方法實現了對北京市西南部的霞云嶺鄉滑坡識別;HU 等[16]使用支持向量機、人工神經網絡和隨機森林3 種方法實現了對九寨溝地區的滑坡識別工作。在上述研究中,采用了比較基礎的網絡結構,由一系列卷積層、池化層和全連接層組成,網絡結構比較簡單,對滑坡提取有一定的限制。張倩熒[17]將3 種深度學習算法應用于滑坡提取,在邊界上取得了很好的效果,但無法得到滑坡形狀。掩膜區域卷積神經網絡(Mask Region-Based Convolutional Neural Networks,Mask R-CNN)是一個結構完善、目標特征提取能力強的實例分割模型,能夠在定位目標的同時檢測不規則目標的邊界,在滑坡檢測過程中可以同步提取滑坡的位置和形狀。

在將深度學習應用于滑坡檢測的現有研究中,滑坡檢測所使用的影像主要是無人機實測影像數據、高分衛星數據以及地球眼衛星數據,這些數據往往無法公開獲取。對于滑坡檢測而言,低分辨率遙感影像往往會造成很多目標的漏檢,而谷歌地球(Google Earth)影像分辨率高、易于獲取,可以滿足檢測影像的需求。

基于以上分析,文章以四川省中西部的丹巴縣以及甘肅省西南部的永靖縣為研究區,以開源的Google Earth光學遙感影像為研究數據,分別建立了歷史山體滑坡和黃土滑坡樣本數據庫,利用Mask R-CNN目標檢測算法并結合遷移學習機制訓練滑坡數據集,探索使用Mask R-CNN深度學習方法檢測Google Earth 影像中大范圍的滑坡可行性。同時,結合影響滑坡發生的因子,使用多層感知器模型預測研究區內各個區域的滑坡發生概率,通過對比基于Mask R-CNN檢測的滑坡災害點在研究區滑坡發生概率分區圖中的分布情況驗證滑坡識別結果的準確性。

1 Mask R-CNN滑坡檢測方法

文章使用Mask R-CNN目標檢測算法來實現滑坡的自動識別。Mask R-CNN是由HE等[13]開發的一種目標檢測算法,該算法在圖像分類與識別中取得了很好的效果。如圖1 所示,Mask R-CNN 算法是在更快的區域卷積神經網絡(Faster Region-Based Convolutional Neural Networks,Faster R-CNN)的基礎上將感興趣區域(Region of Interest,RoI)特征提取算法RoI Pooling替換成RoI Align,并且在目標檢測的基礎上添加分支全卷積網絡層(Fully Convolutional Network,FCN),用于語義分割識別。Mask R-CNN是一個兩階段的目標檢測算法,第一階段是特征圖通過區域候選網絡(Region Proposal Network,RPN)生成候選框,再對每個候選框分類和邊界框回歸;第二階段則是在第一階段生成的候選框的基礎上,再次進行分類和邊界框回歸,從而達到提高檢測精度的目的。

圖1 Mask R-CNN模型結構圖

1.1 主干特征提取網絡結構

文章使用經典的殘差網絡ResNet101(Residual Neural Network,ResNet)[11]和特征金字塔網絡[18](Feature Pyramid Network,FPN)作為主干特征提取網絡,如圖2 所示。使用ResNet101 網絡通過跨層連接提取圖像特征,圖像經過ResNet101網絡5次卷積運算(C1—C5)提取目標特征,得到5個不同大小的特征圖(P2—P6),在不降低特征提取性能的情況下加深神經網絡的深度,使訓練更容易。為了使定位目標更為準確,通常使用高分辨率圖像輸入,其包含更多細節信息,從而可以提升目標檢測的性能。

圖2 主干特征提取網絡結構圖

FPN通過引入自上而下的路徑,充分利用了不同層提取的特征,對高層特征圖上采樣到和下一層同樣的尺寸,并將其和下面的一層進行相加,進而得到一個融合高低層特征的新特征圖層。將低分辨率、大感受野特征(語義信息)與高分辨率、小感受野特征(細節信息)相結合,以檢測不同尺度的物體,一定程度上緩解了特征圖分辨率與感受野大小之間的矛盾。

1.2 區域候選網絡結構

采用滑動窗口的方法將圖像劃分為大小不同且不重疊的圖像塊,然后對所有圖像塊進行分類和回歸計算,得到圖像中得分最高的RoI。通過這種方式,將RoI輸入到RoI特征提取算法RoI Align 以提取感興趣區域的特征。

1.3 RoI Align

RoI Align 是Mask R-CNN 區別于Faster RCNN中RoI特征提取算法RoI Pooling的一大創新。RoI Pooling的作用是把候選框在特征圖上對應的位置池化為固定大小的特征圖[12],并進行后續的分類、回歸、掩膜生成。該過程需要對RoI的邊界量化取整、裁剪,將裁剪好的區域平均分割為k×k個單元,同時對每個單元的邊界進行第2次取整[13]。兩次量化使得候選框與回歸的邊界框之間存在偏移,從而造成區域不匹配的問題。

RoI Align則是在遍歷候選區域的時候保持浮點數邊界不量化,同時采用雙線性插值和最大池化計算每個單元中的4 個坐標位置。RoI Align 過程[13]如圖3所示。

圖3 RoI Align 過程

1.4 頭部網絡結構

頭部網絡由3個分支構成,分別實現目標分類、定位(邊界框回歸)以及生成掩碼。因此,整個網絡的損失函數L被定義為分類、回歸、分割掩碼分支損失之和,由式(1)表示為

式中Lcls為分類損失;Lbox為回歸損失;Lmask為分割掩碼損失。

1.5 精度評價

在目標檢測的訓練過程中,通常根據預測框與真實框的交并比來判斷識別的準確性[19]。重疊度(Intersection over Union,IoU)可以作為目標檢測算法中預測框與真實框相似度的度量,IoU 的值IU由式(2)表示為

式中I為預測框和真實框的交集面積;U為預測框和真實框的并集面積。

對模型精度評價之前要確定預測結果是否正確,通過設定置信度閾值和IoU 閾值判斷預測框是否能準確預測到了位置信息。在文章中,將IU>0.5、置信度>0.9的結果作為正確預測結果。

文章使用精確率P、召回率R、F1 值作為定量評估模型檢測結果精度評價指標。精確率是正確識別的滑坡數與識別滑坡總數的比值;召回率是正確識別的滑坡數與測試樣本集滑坡數量的比值;F1 值用于評估模型的整體性能,定義為精確率和召回率的調和平均數,且F1 值越大,模型的性能越好。精確率、召回率以及F1值分別由式(3)~(5)表示為

式中tp為正確識別的滑坡數量;fp為錯誤識別的滑坡數量;fn為尚未識別的滑坡數量。預測結果和實際結果的混淆矩陣見表1。

表1 預測結果和實際結果的混淆矩陣表

2 案例研究

案例研究過程的技術流程如圖4 所示,主要步驟包括:(1)數據收集選擇開源的Google Earth 遙感影像作為研究數據;(2)制作滑坡樣本集包括影像裁剪和樣本標記;(3)滑坡信息提取訓練模型得到最優的滑坡檢測模型;(4)精度評價與檢測結果分析驗證。

圖4 滑坡檢測技術流程圖

2.1 實驗數據與樣本集制作

滑坡多數發生在我國的西北部和南部山區,文章選取101°17′—102°12′E、30°29′—31°29′N 和102°53′—103°13′E、35°59′—36°16′N的地理范圍作為研究區。兩個地區分別位于四川省中西部的丹巴縣以及甘肅省西南部的永靖縣,丹巴縣以山體滑坡為主,而永靖縣以黃土滑坡為主,如圖5所示。兩個研究區都是地質災害多發地區,區內地質災害以滑坡、崩塌和泥石流為主。

圖5 研究區滑坡樣本分布圖

滑坡的尺寸、形狀各異,識別時有一定的難度。常見的滑坡特點可以總結為:(1)滑坡在空間分布上表現為多發生在道路兩側、山谷與河流相交的地區以及一些土壤較為松軟的邊坡與斜坡;(2)大部分山體滑坡的邊界較為明顯,在形狀上呈現為U形且與周圍的植被有明顯的界限,新發生的滑坡在顏色上呈現為暗灰色或灰白色,部分發生在沒有植被地區的滑坡以及發生時間較久的老滑坡,由于光譜信息與周圍相似識別難度較大,但仍然可以通過與周圍環境的顏色差異進行識別;(3)發生滑坡的地區表層的植被遭到破壞,深層的土壤裸露出來,在紋理特征上表現為地表環境破碎,紋理粗糙且色塊分布不均。

文章使用Google Earth 數據作為數據源構建用于深度學習的滑坡樣本集。Google Earth 的衛星影像是由多傳感器融合而成的。選擇2021 年9 月24日、2019年11 月5 日以及2018 年4 月16 日三期Pléiades 1A和SPOT 7衛星融合而成的遙感影像作為實驗數據,其最高分辨率分別為0.5 和1.5 m。從Google Earth Pro虛擬地球應用軟件下載了1 400 幅遙感影像,其分辨率為2.15 m,為了使每個訓練批次可以訓練多張影像,將所有影像設置為相同的512 pixel×512 pixel,每張影像都只有RGB3個通道。

參考中科院地理所資源環境科學與數據中心(https:/ /www.resdc.cn/)公開的滑坡點,結合滑坡特點,對照遙感影像使用“VGG Image Annotator”Web工具對已經發生的滑坡進行樣本標記,對一些不確定是否為滑坡的地區,可以在Google Earth Pro中反復旋轉角度,從多角度查看三維影像,辨認是否為滑坡。將注釋了用于對象實例分割的訓練樣本保存為JavaScript Object Notation 的格式,手動注釋中使用的影像子集示例如圖6 所示。注釋的山體滑坡樣本共有1 466個,可隨機分為3個子數據集,包括訓練數據樣本集(1 047 個滑坡樣本),用于最小化過度擬合的驗證樣本集(100 個滑坡樣本),以及用于評估經過訓練的深度學習算法的性能的測試樣本集(319個滑坡樣本);黃土滑坡樣本共有757個,其中訓練樣本599個、驗證樣本96 個、測試樣本62個,樣本統計情況見表2。

表2 滑坡樣本統計表

圖6 手動注釋中使用的影像子集示例

2.2 實驗環境與參數設置

模型訓練和測試所使用的硬件設備為AMD Ryzen Threadripper 2970WX 24 - Core Processor、NVIDIA GeForce RTX 2080 Ti。實驗環境配置的tensorflow-gpu版本為1.8.0,cuda 版本為9.0。在訓練過程中,圖形處理單元用于訓練包裝中采用的網絡為ResNet101,共訓練100 個批次,每個批次迭代運算200 次,實驗中使用的圖形處理器顯存為11 GB,可以容納兩張圖片,因此將批量大小設置為2。HE[13]將學習率設置為0.02,但是在實際訓練時發現較高的學習率容易造成權重爆炸,尤其是訓練小批量的數據時,而較小的學習率收斂的更快,因此文章實驗中將學習率設置為0.001、學習動量設置為0.9、權重正則化系數設置為0.000 1。

為了降低訓練成本,有效提高模型性能和整體檢測精度,使用matterport 團隊在COCO 2014 數據集上訓練Mask R-CNN 得到的mask_rcnn_coco.h5(https:/ /github.com/matterport/Mask_RCNN)作為文章滑坡檢測算法的預訓練權重。在預訓練權重的基礎上,對文章的訓練樣本集進行遷移學習,保存訓練得到的權重結果。在訓練過程中,為了減少過度擬合,使用驗證樣本集來驗證模型的精度,載入訓練得到的權重結果進行模型測試,將精度最高的模型作為測試模型,并將其應用于測試樣本集的滑坡檢測。

2.3 實驗結果與分析

2.3.1 滑坡檢測結果

Mask R-CNN 模型的訓練結果顯示,山體滑坡檢測模型訓練到第55個訓練批次時,驗證樣本集的平均精度(Average Precision,AP)達到最大值0.96(如圖7所示),此時損失也下降至平緩,因此將第55個模型參數用于后面測試樣本集的山體滑坡識別及精度評價。黃土滑坡檢測模型訓練到第7個批次時,AP 達到最大值0.82(如圖8 所示),同時損失達到0.41并趨于平緩,因此選擇第7個模型參數用于測試樣本集的黃土滑坡識別與精度評價。

圖7 山體滑坡訓練精度與損失

圖8 黃土滑坡訓練精度與損失

測試樣本集的精度見表3,共有319 個山體滑坡樣本和62個黃土滑坡樣本,分別使用文章實驗獲得的最優模型進行檢測,其結果如下:正確識別的山體滑坡個數為273 個、錯誤識別的山體滑坡個數為11個、未識別的山體滑坡個數為46 個。訓練模型對于山體滑坡識別的精確率為96%、召回率為85%、F1值為0.90。正確識別的黃土滑坡個數為40個、錯誤識別的黃土滑坡個數為1 個、未識別的黃土滑坡個數為22 個。訓練模型對于黃土滑坡識別的精確率為98%、召回率為65%、F1值為0.78。

表3 測試樣本集精度統計表

2.3.2 滑坡檢測結果分析

部分正確的滑坡識別結果如圖9所示。為了便于展示識別效果,圖9(a)和(c)使用手動注釋的多邊形邊界來表示滑坡的真實值,圖9(b)和(d)為滑坡識別的結果。盡管Google Earth 影像是由不同傳感器的影像融合而成,光譜特征不統一,但從滑坡檢測的結果來看,Mask R-CNN 模型可以自動識別Google Earth影像中的歷史滑坡。

圖9 正確檢測結果圖

圖10~12 顯示了部分錯檢和漏檢的滑坡識別結果。通過識別結果對比發現,主要有3 種錯誤類型。第1種錯誤的識別結果多發生在生態環境遭到破壞、地表紋理較為復雜的地區,如河流階地、土壤侵蝕和地表裸露的地區(如圖10 所示)。這些地區復雜的地表紋理可能會形成類似于滑坡的光譜特征,因此這些區域很容易被錯誤地識別為滑坡。第2種遺漏的識別結果大多出現在有陰影(如圖11 所示)、山脊或斜坡頂部的影像中,在空間分布上集中分布在山體背斜的陰影區域。由于山體的陰影,滑坡信息模糊,無法正確識別這些地區的滑坡。第3種是多尺度目標檢測時,易出現遺漏的識別結果。由于精度和計算資源之間通常難以達到平衡,因此在識別大目標時容易遺漏一些小目標(如圖12所示)。

圖10 錯誤檢測結果圖

圖11 遺漏檢測結果圖

圖12 遺漏檢測結果圖

2.3.3 滑坡檢測結果驗證分析

導致滑坡發生的影響因素有很多,如地形地貌、植被覆蓋、斷層巖性以及人類活動等。為了進一步驗證基于Mask R-CNN模型檢測滑坡的準確性,文章以丹巴縣為例,通過分析研究區概況及歷史滑坡災害情況,選擇高程、坡度、坡向、巖性、歸一化植被指數以及斷層等6 個評價因子,構建了丹巴縣滑坡災害影響因子體系,并采用多層感知器(Multilayer Perceptron Model,MLP)模型預測研究區內各個區域的滑坡災害發生的概率。通過對比基于Mask RCNN模型檢測的滑坡災害點在滑坡發生概率分區中的分布情況,來驗證滑坡檢測結果的準確性。

使用MLP 模型對丹巴縣滑坡災害發生概率進行預測的具體流程如圖13所示,歷史滑坡樣本點與隨機生成的非滑坡樣本點按照1∶1 的比例構建樣本數據集,獲取每個樣本數據所對應的影響因子值,并將獲取多源數據信息的樣本數據集輸入到數據挖掘軟件SPSS Modeler 中進行模型的訓練、驗證與測試。將樣本數據集的70%設置為訓練數據集、15%設置為驗證數據集、15%設置為測試數據集,得到最優模型的測試數據集精度為82.1%。用訓練好的最優模型預測整個研究區發生滑坡災害的概率,得到研究區滑坡災害發生概率圖。統計滑坡檢測點在研究區滑坡災害發生概率圖中的分布情況,發現79%滑坡檢測點分布于滑坡發生概率>80%的區域(如圖14所示),驗證了基于Mask R-CNN 的滑坡檢測方法的可行性以及準確性。發生概率<80%的區域也有滑坡發生的可能性,所以有21%的點落在該區域。

圖13 多層感知器模型滑坡發生概率流程圖

圖14 滑坡災害點在研究區滑坡災害發生概率圖中的分布圖

4 結論

針對傳統滑坡檢測方法自動化程度低、檢測精度不高的問題,文章將深度學習、遷移學習與遙感技術相結合,以Google Earth 遙感影像為數據源構建了歷史滑坡樣本集,使用Mask R-CNN 目標檢測算法實現大范圍滑坡信息的自動檢測。經過分析得到以下結論:

(1)以丹巴縣為研究區的山體滑坡案例研究結果顯示,山體滑坡識別精確率為96%、召回率為85%、F1 值為0.90,且有79%的滑坡檢測點分布于滑坡發生概率>80%的區域,表明Mask R-CNN 目標檢測算法訓練的模型能夠快速準確地識別大范圍的山體滑坡。

(2)以永靖縣為研究區的黃土滑坡案例研究結果顯示,黃土滑坡識別的精確率為98%、召回率為65%、F1 值為0.78,表明Mask R-CNN 目標檢測算法對黃土滑坡的檢測精度較高,但由于黃土滑坡的光譜信息與背景一致,檢測結果存在較多漏檢現象。

(3)文章綜合考慮地形特征和紋理特征,有效地提高了地質災害信息獲取的自動化程度以及滑坡檢測的精度,為從高分辨率遙感影像中快速準確地提取滑坡信息提供了一種方法,同時對地質災害普查工作也具有重要意義。

猜你喜歡
滑坡精度樣本
滑坡推力隱式解與顯式解對比分析——以河北某膨脹土滑坡為例
用樣本估計總體復習點撥
推動醫改的“直銷樣本”
基于DSPIC33F微處理器的采集精度的提高
隨機微分方程的樣本Lyapunov二次型估計
淺談公路滑坡治理
基于Fluent的滑坡入水過程數值模擬
GPS/GLONASS/BDS組合PPP精度分析
“監管滑坡”比“渣土山”滑坡更可怕
村企共贏的樣本
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合