袁若浩 王保云
(1.云南南師范大學 數學學院,云南 昆明 650500;2.云南省高校復雜系統建模及應用重點實驗室,云南 昆明 650500)
我國是一個泥石流頻發的國家[1],特別是西南西北山區,經常性發生特大泥石流,而云南處于云貴高原,海拔較高,且云南省獨特的水文條件和地理特征、季節性充沛的降水和較大的地勢起伏成為孕育泥石流災害的溫床[2,3],境內災害廣布、災發頻率高、損失大的特征尤為顯著。因此引發了人們對泥石流的廣泛關注,而若是能預測泥石流發生的各種情形[4,5],這對相應地區人們的生活以及社會各方面來說都非常有必要。
本文對云南瀾滄江上游流域泥石流發生的可能性進行分析,對其歷年來發生的泥石流數據以及未發生泥石流的數據進行統計。由于發生泥石流的數據較少,所以我們選取經典模型VGG與AlexNet作為學習和訓練的框架。通過發生泥石流與未發生泥石流的特點分析,來判斷該流域發生泥石流的可能性。
本文分別使用了上述兩種網絡模型以及其對應的殘差這四種網絡模型,對泥石流數據進行訓練與測試,從而達到預測泥石流是否發生的目的。
迪慶藏族自治州位于云南西北部,其境內有瀾滄江與怒江兩大流域,而且迪慶州地勢北高南低,地貌形態以山地、古高原面和嶺峰為主,境內為“三山挾兩江”。三山為梅里雪山、云嶺雪山山脈、中甸雪山山脈,自西向東依次排列。最高海拔為梅里雪山卡瓦格博峰6740米,最低海拔為維西縣碧玉河入瀾滄江口處1486米。因此瀾滄江上游流域溝壑縱橫,地形復雜,高差大,是泥石流災害的高發地區。研究區域如圖1所示。

圖1 研究區域示意圖
本文中的數據主要是通過DEM獲取的地表特征,這比人工實地考察更加方便快捷,也更加精確。且實驗需要的許多參數都可以通過對DEM計算得到,比如說流域的沖淤面積[13]、土石量[14]等等。我們希望通過VGG和AlexNet及其對應的殘差模型對這些泥石流的相關特征進行捕獲,來完成對泥石流孕災溝谷的快速識別,并探討哪一種模型的預測準確率更高。為了使數據能夠適應我們的模型,我們要對數據進行一些篩選和處理。首先我們要區分出發生過泥石流的溝谷以及未發生過泥石流的溝谷。篩選方式如下:對于發生過泥石流災害的溝谷,我們查閱了《云南減災年鑒》以及相關的新聞報道,將泥石流的發生地精確到村。并結合相關新聞報道,在瀾滄江流域篩選出50條確認發生過泥石流的溝谷。而在對于沒有被記錄的泥石流溝谷,我們通過谷歌地球的衛星地圖篩選出溝谷附近有村莊或農田的并記錄下來,通過這種方法同樣選取出了50條無災害記錄的溝谷。我們將上述發生泥石流的50條溝谷記為正樣本,無災害記錄的50條泥石流溝谷記為負樣本,這種負樣本的構造方式與過去直接將無災害記錄的泥石流溝谷作為負樣本的方式有些許不同。因為只有人員和財產損失的泥石流災害才會被記錄,而一些人煙罕至的地方的溝谷,是否發生過泥石流災害是難以確定的。在確定了溝谷的處理后,我們通過ArcGIS確定溝谷的點位,從DEM圖中提取出這些溝谷。然后將收集到的所有圖像數據進行匯總,選取正負樣本中各20%的DEM圖作為測試集,另外剩余的各80%的DEM圖作為訓練集。
因為數據樣本較少,為了保障數據的大小比例,將同一位置的圖,按照ArcGIS中DEM比例尺,縮放到同一比例下,使得所有的DEM圖變成相同的大小,而且訓練的時候,再進行隨機裁剪和旋轉等操作來擴充樣本。本實驗所用的DEM圖來自USGS的公開數據集,分辨率為30米。圖2為操作完成后的DEM圖。

圖2 正負樣本示意圖
AlexNet與VGG是神經網絡里的兩個經典模型,對神經網絡的研究具有很深遠的意義。AlexNet是2012年Image Net競賽冠軍獲得者Hinton和他的學生Alex Krizhevsky設計的。VGG全稱是Visual Geometry Group,因為它是由Oxford的Visual Geometry Group提出的,VGG網絡在2014年ImageNet圖像分類與定位挑戰賽中獲得分類任務的第二名和定位任務的第一名,因其優異的性能為人熟知。
其網絡的主要思想如下:AlexNet打破原有的卷積必池化的思維定式,使用卷積層+卷積層+池化層來提取圖像的特征,并采用新的激活函數和抑制函數進行多GPU訓練。VGG是在AlexNet的基礎上增加網絡深度并減小卷積核尺寸。殘差網絡(Resnet)在2015年被提出,其獨特的殘差結構解決了普通深度神經網絡隨深度增加而導致的梯度爆炸或消失的問題,使得層數較高的網絡也能取得較好的性能,在各種圖像分類任務上表現優異。而我們的殘差模型則是在AlexNet與VGG的基礎上分別添加了一些殘差結構。所有正負樣本都是通過以上模型的特征提取器提取特征的,然后進行訓練,從而得到預測的準確率。圖3為殘差模塊的結構圖。

圖3 殘差模塊示意圖
上述所有模型進行訓練和測試的主要過程為:每次實驗從所有圖片中隨機選取正負樣本的各20%作為測試集,不作增強,剩余80%的圖片作為訓練集。訓練/測試集構建方式與實驗流程如圖4所示。
模型的訓練與測試均在Pytorch框架下完成。硬件環境:Intel Xeon Gold-6271@2.60GHz CPU,NVIDIA RTX A4000 GPU;軟件環境:Ubuntu 18.04操作 系統,Python 3.6,CUDA 9.0,Pytorch 0.4.1,以及圖像相關的第三方庫。

圖4 實驗的流程圖
在實驗開始前,我們在公開數據集上先對模型進行了預訓練,訓練結果如表1所示。
本實驗分為正負樣本,有四個通道,使用VGG和AlexNet作為骨干架構來提取圖像特征。在不同超參數下的四種網絡的準確率結果如表2所示。

表1 不同數據集下四種網絡的訓練結果
由表2可以看出,在學習率為0.001的時候,模型的效果是比較好的。由于每次訓練的模型的準確率都有微小波動,因此選取多次實驗的均值對比,作為實驗結果。由表2的結果,我們將超參數的設置為:學習率lr:0.001、dropout率:0.5、batch_size:8、epoch:200。從正負樣本中隨機選擇20%的DEM圖作為測試集進行了10輪實驗,由于各次實驗的結果都比較接近,我們取其中表現較好的兩組。結果如表3所示。
我們共進行了10組平行實驗,選取其中一組最好的實驗結果,繪制了圖5。
從圖5可以看出,損失函數(loss)都有很大波動,但最終能夠趨于穩定;而且在測試集上的準確率與在訓練集上的準確率變化趨勢基本保持一致。通過以上實驗,我們還可以發現,對泥石流溝谷DEM圖特征的提取中,四個網絡的表現都差不多,但是對應的兩個殘差模型表現要更加穩定一些。再結合表3來看,AlexNet的準確率為68.82%,AlexNet殘差的準確率為68.86%,VGG的準確率為73.87%,VGG殘差的準確率為74.88%。這意味著,對于同流域的其他溝谷圖像,VGG殘差模型的預測準確率是最高的。此模型有近75%的可信度認為某一溝谷圖像具有發生或者是未發生的泥石流溝谷的特征,如果預測為發生泥石流溝谷圖像的類,那么此溝谷可能有發生泥石流的潛在可能,當雨季來臨時,溝谷附近的人應該提前做好防范措施。

圖5 平行實驗的預測結果
上述結果表明,通過DEM圖結合殘差網絡的方法可以快速識別出溝谷是否發生過泥石流,且有較好的識別準確率。本文中截取的溝谷DEM灰度圖,保留了溝谷長度、流域面積、溝谷形態等地貌條件因子,還包括植被覆蓋、土地利用等物質條件因子。借助神經網絡對正負樣本的這些特征進行學習和預測是一個有效的方法,但也存在一些問題,首先,此樣本DEM灰度圖樣本量極少且包含的信息有限,如高程差等信息缺失;其次,由于目前泥石流發生的背景、形成機理等認識不深,單靠一個方面的條件來判斷,能提高的精度有限。降雨量是一個重要的誘發因素,將誘發因素、物質條件和地貌條件綜合考慮的多模態深度學習可能會取得更好的預測效果。最后,雖然這幾種模型都是比較經典的模型,但是對泥石流發生可能性的預測還是不夠精準,我們希望在未來能夠找到一種更加完善的模型,來進一步提高預測的準確性。