徐春,劉迪,沈琪
(中國能源建設集團云南省電力設計院勘測工程公司,云南 昆明 650051)
云南是典型的山地環境,全省斜坡高陡、河谷深切、地形起伏、高差懸殊,特殊的地理環境使得滑坡等地質災害頻發。電力工程的穩定發展有利于國家和社會的穩定運行,但電力工程大多暴露在自然條件下,受環境因素影響較大,面臨越來越多的內外部高危或突發事件,直接影響著電力工程的安全運行。因此,加強滑坡監測預警和防控體系的研究,對于降低和防止滑坡對電力工程的災變影響,保證其安全、穩定運行具有重要的意義。
目前,利用遙感影像對滑坡的活動性、發生發展過程監測是減輕其災害的重要手段之一。由于無人機遙感技術在獲取滑坡災害遙感數據過程中快速、靈活、成本低及獲取的遙感影像時空分辨率高于衛星遙感數據等優勢,無人機遙感技術在滑坡監測、災害損失評估等研究中已廣泛使用[1]。近些年來,基于無人機航測生產的高精度無人機影像成果主要用于項目勘察設計,未開發其他應用方式,造成了一定程度上的數據浪費。因此,在項目前期或項目投入運行后利用無人機影像對滑坡災害隱患點進行調查,可有效降低滑坡災害對項目工程的不利影響和提高治理效率。同時,利用無人機影像成果進行滑坡識別研究,有利于豐富無人機數據的成果應用方式和提升數據價值。
目前,滑坡識別的主要途徑主要有兩種:遙感影像的目視解譯和自動識別。目視解譯的優點是利用遙感影像紋理特征,結合滑坡發育特征,通過分析得到精度較高的滑坡解譯結果,其缺點是主觀性大、效率低、易造成遺漏[2]。自動識別的主要思想是采用面向對象的識別方法,首先對滑坡影像進行分割,然后利用滑坡影像特征,采用相關算法對滑坡進行自動識別,其中,影像分割結果對識別結果影像極大,需要人為干預[3]。目前,機器學習方法已被廣泛用于滑坡自動識別,相關機器學習模型將訓練樣本分為發生和未發生滑坡兩類,將樣本滑坡發育相關因素作為評價因子輸入相關機器學習模型中,通過機器學習模型訓練得到滑坡預測模型用于滑坡自動識別[4]。
本文采用云南省內近期14 景滑坡隱患調查無人機影像成圖結果(如圖1)作為影像數據源,成圖分辨率均為0.05 m,影像經相關預處理,成圖質量均較好。在模型訓練前,先分別基于14 景無人機影像進行滑坡目視解譯,提取滑坡像元和約為滑坡像元4~5 倍的其他地物像元作為訓練樣本。其次,結合樣本分類結果,制作機器學習樣本訓練集,方便其他軟件對訓練樣本進行讀取和處理。以上步驟可利用ArcGIS Pro 的影像分割與分類工具,快速進行滑坡與非滑坡樣本提取,并完成樣本訓練集的切片制作與導出。

圖1 無人機影像圖
對于無人機影像,本文提取RGB 三色均值濾波值和灰度均值作為影像特征評價因子。經統計,14 景影像像元數目共計超150 億個,經目視解譯確定的滑坡與非滑坡樣本的像元數目共計56360749 個,其中滑坡像元數目為16514217 個。進一步分析滑坡像元的RGB 三原色和灰度值的分布情況,如圖2 所示,滑坡發生處的影像特征均有一定分布規律。

圖2 滑坡影像RGB與灰度值分布情況(1)R (2)G (3)B (4)灰度值
基于機器學習的無人機影像滑坡識別方法,除相關無人機影像特征值外,還需其他與滑坡發育相關的地理數據作為評價因子用于輔助識別,一般選用DEM、坡度、坡向、距道路距離和距河流距離等與滑坡發生有關的要素作為評價因子。本文選用12.5 m 的DEM 數據,將DEM 數據以100 m 為間隔劃分為多個層級;基于12.5 m 的DEM 數據進行坡度和坡向分析,將坡度分為<5°、5~10°、10~15°、15~20°、20~25°、25~30°、30~35°、>35°等8 個層級,將坡向分為平面和北、東北、東、東南、南、西南、西、西北等8 個方位;基于OpenStreet 公開的2022 年云南省道路、鐵路、河流和湖泊數據,首先對道路和鐵路分別進行100 m、200 m、300 m、400 m、500 m 的緩沖區,合并道路和鐵路圖層得到云南省道路緩沖區距離圖,再對河流和湖泊分別進行200 m、400 m、600 m、800 m 和1000 m 的緩沖區,合并河流和湖泊圖層得到云南省河流緩沖區距離圖[5]。相關評價因子分布情況如圖3 所示。

圖3 評價因子 (1)DEM (2)坡度 (3)坡向 (4)距道路距離 (5)距河流距離
本研究學習樣本分辨率為0.05 m,樣本數量較多,為保證無人機影像滑坡自動識別的效率,模型訓練時間不宜過長,故選用機器學習中訓練時間較短的以下幾種基礎機器學習模型,用于模型訓練。
2.1.1 KNN
K 近鄰(K-Nearest Neighbor,簡稱KNN)學習是一種常用的監督學習方法,其工作機制非常簡單:給定測試樣本,基于某種距離量度找出訓練集中與其最靠近的K 個訓練樣本,然后基于這K 個“鄰居”的信息進行預測[6]。KNN 是“懶惰學習”的著名代表,此類學習技術在訓練階段僅僅把樣本保存起來,訓練時間開銷為零,待收到測試樣本后再進行處理。K是KNN 學習的重要參數,當K 取不同值時,分類結果會有顯著不同。同時,若采用不同的距離計算方式,則找出的“近鄰”可能有顯著差別,從而也會導致分類結果有顯著不同[7]。本文采用Matlab 分類學習器工具箱中精細KNN和中等KNN 兩種模型,兩種方法分別有1 個和10 個鄰點,均采用等距離權重。
2.1.2 神經網絡
神經網絡是由具有適應性的簡單單元組成的廣泛并行互聯的網絡,它的組織能夠模擬生物神經系統對真實世界物體所作出的交互反應。神經網絡學習是機器學習與神經網絡這兩個學科的交叉部分。神經網絡中最基本的成分是神經元模型,以M-P 神經元模型為例,神經元接收來自n 個其他神經元傳遞過來的信息,將神經元接收的總輸入值與閾值進行比較,并通過“激活函數”處理并產生神經元的輸出[8],其中,最常見的激活函數是線性整流函數(Rectified Linear Unit,簡稱ReLU)[9]。將多個這樣的神經元按一定的層次結果連接起來,就得到了神經網絡。感知機有兩層神經元組成,只有輸出層神經元進行激活函數處理,即只擁有一層功能神經元,其學習能力十分有限,不能解決簡單的非線性可分問題。要解決非線性可分問題,需考慮使用多層功能神經元。最常見的神經網絡結構被稱為“多層前饋神經網絡”,該種層級結構每層神經元與下一層神經元全互連,神經元之間不存在同層鏈接,也不存在跨層連接。最常見的神經網絡算法是誤差逆傳播(errorBackPropagation,簡稱BP)算法,“BP網絡”一般是指用BP 算法訓練的多層前饋神經網絡[10]。本文采用Matlab 分類學習器工具箱中窄神經網絡和中型神經網絡兩種模型,兩種方法均為一層功能神經元,激活函數采用ReLU,分別有10 個和20 個鄰點。
2.1.3 決策樹
決策樹(decision Tree)是一類常見的機器學習方法。一般來說,一棵決策樹包含一個根結點、若干個內部結點和若干個葉結點[11]。決策樹學習的關鍵是如何選擇最優劃分屬性,一般可采用“基尼指數”來選擇劃分屬性,選擇那個使得劃分后基尼指數最小的屬性作為最優劃分屬性。本文采用Matlab 分類學習器工具箱中的精細樹和中等樹兩種模型,其最大分裂數分別為100 和20,分裂準則均選擇基尼指數。
2.1.4 邏輯回歸
邏輯回歸(Logistic Regression,簡稱LR)模型是最早的離散選擇模型,該模型在線性回歸的基礎上,結合邏輯函數形成的一種多元統計方法,適用于研究二分類結果與其影響因子之間的關系,即因變量結果只有“是”或“否”兩種情況,分別用“1”和“0”表示,自變量可以包括很多個,其值可以是分類的也可以是連續數值,不需要滿足正態的頻率分布[12]。本文采用Matlab 分類學習器工具箱中邏輯回歸模型進行相關模型訓練。
2.1.5 線性判別
線 性 判 別 分 析(Linear Discriminant Analysis,簡稱LDA)是一種經典的線性學習方法[13]。線性判別的思想非常樸素:給定訓練樣例集,設法將樣例投影到一條直線上,使得同類樣例的投影點盡可能接近,異類樣例的投影點盡可能遠離;在對新樣本進行分類時,將其投影到同樣的直線上,再根據投影點的位置來確定新樣本的類別。這種方法試圖找到兩類物體或事件的特征的一個線性組合,以能夠特征化或區分它們。本文采用Matlab 分類學習器工具箱中線性判別模型進行相關模型訓練。
2.1.6 主成分分析
主成分分析(Principal Component Analysis,簡稱PCA),又稱主分量分析,旨在利用降維的思想,把多指標轉化為少數幾個綜合指標[14]。在統計學中,主成分分析PCA 是一種簡化數據集的技術。主成分分析經常用于減少數據集的維數,同時保持數據集的對方差貢獻最大的特征。其往往能夠保留住數據的最重要方面,但這也不是一定的,要視具體應用而定。本文在使用Matlab 分類學習器工具箱中各模型進行訓練時,選擇是否勾選PCA 分析按鈕,對各模型分別進行PCA 分析或不進行PCA 分析,得到不同的模型訓練結果,用于后續對比。
不同滑坡自動提取方法都會對滑坡識別結果產生很大的影響,結合滑坡目視解譯結果,對機器學習方法的滑坡識別結果進行精度評價。所采用的精度評價方法,將滑坡檢測結果分為三類:真正類(True Positive,TP)、假負類(False Negative,FN) 和假正類(False Positive,FP),其中,真正類表示被正確檢測到的滑坡(或滑坡像元)數量,假負類表示已知滑坡未被檢測的錯漏滑坡(或滑坡像元)數量,假正類表示被檢測到的未知滑坡(或滑坡像元)的數量?;谶@三類滑坡檢測結果,計算命中率(TPR)、質量分數(TS)和檢測誤差(Commission Error,CE)用于不同模型滑坡識別結果的精度評價[15-16]。
其中,質量分數代表正確識別的滑坡數量在滑坡識別結果和歷史滑坡記錄的并集中的比例,代表滑坡識別的總體精度,只有正確識別的滑坡數量越多和檢測結果數量越接近歷史滑坡數據時,質量分數越大。命中率代表歷史滑坡數據中被正確檢測到的滑坡數量,最優值為1;而檢測誤差不同于混淆矩陣的誤報率,代表的是滑坡檢測結果中不包含于歷史滑坡數據記錄中的那一部分滑坡檢測結果,檢測誤差數據越小代表滑坡檢測結果與歷史滑坡數據越接近。另外,在面積精度評價中,最重要的是保證大部分滑坡像元被檢測到,因此我們重點關注滑坡的命中率。三個評價指標計算方式如下:
本文首先利用ArcGIS pro 軟件分別對14 景無人機影像進行滑坡目視解譯和非滑坡樣本采集,非滑坡像元采集類型涉及樹木、道路、房屋、水體、田地、裸地等地類,滑坡與非滑坡像元共同組成訓練樣本集。其次,將前12 景無人機影像的樣本數據作為訓練樣本,分別基于Matlab 分類訓練器選擇是否進行PCA 分析后,依次進行精細KNN、中等KNN、窄神經網絡、中型神經網絡、精細樹、中等樹、邏輯回歸和線性判別等共計8 種機器學習模型訓練。待8種模型訓練完成后,分依次將14 景無人機影像的整景影像樣本作為模型輸入數據,快速輸出對應整景無人機影像的滑坡識別結果。最后基于滑坡識別結果和目視解譯結果進行精度評價,對比分析各模型的優缺點。相關技術路線如圖4所示。

圖4 技術路線圖
根據各模型訓練結果,對14 景無人機影像的整景滑坡識別結果進行精度評價,分別得到命中率、質量分數和檢測誤差結果圖,分別如圖5、圖6 和圖7。其中,模型1 至8 分別代表精細KNN、中等KNN、窄神經網絡、中型神經網絡、精細樹、中等樹、邏輯回歸和線性判別等8 種機器學習模型,藍色線代表對應模型訓練時進行PCA 分析,紅色線代表對應模型訓練時未進行PCA 分析。

圖5 命中率評價圖(TPR)

圖6 質量分數評價圖(TS)

圖7 檢測誤差評價圖(CE)
首先,綜合分析命中率、質量分數和檢測誤差評價圖,多景無人機影像在經進行PCA 分析的模型預測后,未識別到滑坡或識別到的滑坡像元數目極少,與事實差距極大??芍?,未進行PCA 分析的模型訓練結果對于滑坡自動識別有更好的檢測性能,其精度大大高于進行PCA 分析的模型識別結果。
其次,基于未進行PCA 分析的精度評價結果分析各模型的滑坡識別性能。根據各影像命中率評價結果可知,窄神經網絡(模型3)和精細樹(模型5)的命中率明顯低于其他模型,中型神經網絡(模型4)、邏輯回歸模型(模型7)和線性判別模型(模型8)命中率分布趨勢較不一致,在部份影像有較好的命中率,而部分影像有極差的命中率,滑坡檢測性能較不穩定。精細KNN(模型1)、中等KNN(模型2)和中等樹(模型6)有較高的識別率,且預測性能較為穩定,其中兩種KNN 模型的命中率明顯高于中等樹模型。根據質量分數和檢測誤差評價結果分布對精細KNN、中等KNN 和中等樹三種模型進行進一步分析,根據結果可知,兩種KNN 模型質量分數普遍低于其他模型,檢測誤差普遍高于其他模型,其主要原因是KNN 方法能在最大程度對滑坡目視解譯結果進行正確識別的同時,盡可能對其他潛在滑坡位置進行識別。而中等樹命中率和質量分數均普遍低于KNN 方法,檢測誤差普遍高于KNN模型,其滑坡識別性能均低于KNN 方法。對于兩種KNN 方法,滑坡識別性能差別不大,但精細KNN 的質量分數普遍略高于中等KNN 的質量分數,同時精細KNN 的檢測誤差普遍略低于中等KNN 的檢測誤差。
值得注意的是,對于未參與模型訓練的后兩景無人機影像滑坡識別結果,不同模型的滑坡識別性能與以上結果分布一致,代表相關機器學習模型對于無人機影像滑坡自動識別具有普適性。綜上所述,在本文涉及的8 種機器學習模型中,精細KNN 有較好的滑坡識別性能,能最大程度對無人機影像中可能發生滑坡的區域進行自動識別。
本文基于多景分辨率為0.05 m 的無人機遙感影像,結合12.5 mDEM 數據、坡度和坡向數據,以及道路數據和河流數據,通過目視解譯進行樣本采集和制作,同時利用多種機器學習模型進行滑坡自動識別。通過對不同模型進行精度評價可知,精細KNN 模型在滑坡自動識別中有較好的性能,其能在最大程度上正確檢測已知滑坡和未知滑坡,減少滑坡識別的漏報率。結合電力工程需要,在對工程區域進行航飛成圖后,可直接基于無人機影像成果,利用本文訓練出來的精細KNN 模型進行滑坡自動識別,獲取工程區域滑坡隱患點分布范圍。在電力工程前期,該研究可幫助設計人員在設計時予以避讓或采取工程措施,而在工程運維階段,可幫助相關部門快速定位滑坡隱患點發生處,提高災害治理效率。