杜宇峰,黃 亮,2,趙子龍,李國柱,
(1. 昆明理工大學(xué)國土資源工程學(xué)院,云南 昆明 650093; 2. 云南省高校高原山區(qū)空間信息測繪技術(shù)應(yīng)用工程研究中心,云南 昆明 650093; 3. 云南海鉅地理信息技術(shù)有限公司,云南 昆明 650093 )
滑坡災(zāi)害因其極強(qiáng)的破壞力、突發(fā)性、范圍廣等重要特征,嚴(yán)重危害國家人民的財(cái)產(chǎn)和生命安全。因此,快速準(zhǔn)確地識(shí)別滑坡體對滑坡治理和避免災(zāi)害發(fā)生具有重要作用。
目前,國內(nèi)外研究中常見的滑坡體識(shí)別方法根據(jù)自動(dòng)化程度的不同主要分為以下3種:①目視解譯方法。該方法雖然在實(shí)際項(xiàng)目中應(yīng)用廣泛,但主觀性強(qiáng),且存在識(shí)別速度慢、耗時(shí)耗力等問題。②傳統(tǒng)的遙感圖像處理方法。主要包括面向?qū)ο蠓治龇椒╗1]、統(tǒng)計(jì)學(xué)習(xí)方法[2]及機(jī)器學(xué)習(xí)方法。這兩種方法相較于人工目視解譯自動(dòng)化程度有較大的提高,但基于圖像特征構(gòu)建規(guī)則的方法自動(dòng)化程度仍較低,檢測速度較慢。③基于深度學(xué)習(xí)的滑坡識(shí)別方法。深度學(xué)習(xí)方法多采用CNN對滑坡體特征進(jìn)行自動(dòng)提取和訓(xùn)練,從而提高滑坡的識(shí)別精度,且能夠?qū)麦w快速檢測,極大地減小了主觀因素影響,提升了滑坡識(shí)別的自動(dòng)化程度[3-5]。作為一種以數(shù)據(jù)驅(qū)動(dòng)的識(shí)別和檢測方法,其數(shù)據(jù)集的質(zhì)量與數(shù)量在訓(xùn)練識(shí)別中起關(guān)鍵性的作用。隨著數(shù)據(jù)的爆炸式增長和計(jì)算機(jī)算力的發(fā)展,深度學(xué)習(xí)由于自動(dòng)化和快速檢測的優(yōu)點(diǎn),可為滑坡體識(shí)別和檢測提供技術(shù)支撐。
目前,基于深度學(xué)習(xí)的滑坡識(shí)別和檢測多采用CNN結(jié)構(gòu)進(jìn)行訓(xùn)練,由于CNN平移不變性和歸納偏置的優(yōu)點(diǎn),在滑坡體識(shí)別和檢測中應(yīng)用廣泛,但其缺點(diǎn)也很明顯。CNN的感受野受限,進(jìn)一步增大感受野需要不斷堆疊網(wǎng)絡(luò)層數(shù)。網(wǎng)絡(luò)結(jié)構(gòu)的加深,會(huì)丟失有價(jià)值的信息,容易忽略局部信息與全局信息的關(guān)聯(lián),從而導(dǎo)致大范圍的滑坡無法完全識(shí)別,且容易受 “同譜異物”的干擾,出現(xiàn)錯(cuò)檢、漏檢的情況。本文結(jié)合近年來快速發(fā)展的Transfomer網(wǎng)絡(luò)結(jié)構(gòu)和CNN結(jié)構(gòu),形成DETR[6]網(wǎng)絡(luò)結(jié)構(gòu),構(gòu)建多任務(wù)自動(dòng)識(shí)別和檢測模型,實(shí)現(xiàn)對滑坡體自動(dòng)識(shí)別和檢測。該結(jié)構(gòu)融合Transformer并行計(jì)算和注重全局信息的優(yōu)點(diǎn)與CNN的局部信息的優(yōu)點(diǎn),可更好地提取滑坡體特征,提高滑坡體識(shí)別和檢測精度,并對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),解決Transformer依賴大量數(shù)據(jù)訓(xùn)練的問題。
本文采用武漢大學(xué)公開的貴州省畢節(jié)市滑坡數(shù)據(jù)集(包括770個(gè)滑坡樣本),金沙江流域滑坡數(shù)據(jù)集(包括500個(gè)滑坡樣本),以及對其中一些疑似裸地、礦場的數(shù)據(jù)進(jìn)行刪減所構(gòu)建的新數(shù)據(jù)集。數(shù)據(jù)集采用多尺度滑坡樣本,其中樣本大小不一,由高分2號(hào)遙感影像裁切而成,為R、G、B 3個(gè)波段,地面分辨率為0.8 m。畢節(jié)市滑坡數(shù)據(jù)集的研究區(qū)域覆蓋整個(gè)畢節(jié)市。該區(qū)地處青藏高原向東部丘陵過渡的坡度帶,地質(zhì)不穩(wěn)定,坡度陡峭,是我國滑坡高發(fā)最為嚴(yán)重的地區(qū)之一。金沙江滑坡數(shù)據(jù)集的研究區(qū)域主要分布于西藏、云南、四川等省(自治區(qū))的金沙江及附近流域,還有部分滑坡分布于甘肅和貴州等地,多位于大江大河附近。
首先,通過離線數(shù)據(jù)增強(qiáng)的方法得到增廣后的滑坡體數(shù)據(jù)集。在數(shù)據(jù)訓(xùn)練階段,采用ResNet-50的CNN主干特征提取網(wǎng)絡(luò)對輸入圖片進(jìn)行特征提取,再把特征圖裁切成若干大小相同的正方形圖像塊并對其進(jìn)行位置編碼,輸入Transformer的編解碼器結(jié)構(gòu)中進(jìn)行訓(xùn)練;然后,采用匈牙利匹配算法作為損失函數(shù)進(jìn)行預(yù)測;最后,通過與現(xiàn)有的CNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對比分析,驗(yàn)證基于Transformer的DETR方法在滑坡識(shí)別方面的優(yōu)越性。其主要流程如圖1所示。
以 Labelme 軟件為標(biāo)注工具,標(biāo)注滑坡構(gòu)建數(shù)據(jù)集,同時(shí),由于深度學(xué)習(xí)方法依賴于大數(shù)據(jù)集,為了增強(qiáng)滑坡體識(shí)別的穩(wěn)定性和提高滑坡識(shí)別精度,本文采用離線增強(qiáng)的方法直接對數(shù)據(jù)集進(jìn)行增廣。采用鏡像、旋轉(zhuǎn)、翻轉(zhuǎn)、改變明亮度等操作使數(shù)據(jù)集增廣20倍,使滑坡樣本達(dá)6450個(gè)。滑坡數(shù)據(jù)集以6∶2∶2建立訓(xùn)練集、驗(yàn)證集和測試集。其中,訓(xùn)練集滑坡樣本數(shù)量為3870個(gè),驗(yàn)證集樣本數(shù)量為1290個(gè),測試集樣本數(shù)量為1290個(gè)[7]。部分的數(shù)據(jù)集圖片如圖2所示。
圖2 數(shù)據(jù)集增廣后的部分滑坡
CNN通過卷積層不斷堆疊獲取更深層次的特征,但網(wǎng)絡(luò)層數(shù)的增加會(huì)造成隨機(jī)梯度消失的問題,而ResNet-50[8]可很好地解決這個(gè)問題。其網(wǎng)絡(luò)層數(shù)的增加使表達(dá)的特征更好,檢測的性能更強(qiáng)。通過殘差1×1的卷積層達(dá)到降低參數(shù)量及減少計(jì)算量的目的[9]。其中,關(guān)鍵在于殘差網(wǎng)絡(luò)單元的結(jié)構(gòu)。在殘差網(wǎng)絡(luò)單元中包含了跨層跳躍連接,可將輸入跨層傳遞,使經(jīng)過卷積操作的輸出結(jié)果與跨層跳躍連接的同等映射相加。ResNet-50的網(wǎng)絡(luò)結(jié)構(gòu)可被分成7個(gè)部分,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。首先輸入的圖像數(shù)據(jù)經(jīng)過第一部分的卷積層,即正則化、激活函數(shù)、最大池化層;其次輸入圖中包含了殘差網(wǎng)絡(luò)單元編號(hào)1—4框選的4個(gè)部分,其殘差單元用于改變殘差塊的維度和下采樣;然后ResNet-50網(wǎng)絡(luò)的輸入為224×224×3,經(jīng)過前5部分的卷積計(jì)算,輸出為7×7×2048;最后池化層會(huì)將其轉(zhuǎn)化成一個(gè)特征向量,最終分類器會(huì)對這個(gè)特征向量進(jìn)行計(jì)算并輸出類別概率。
圖3 ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)
Transformer最先應(yīng)用于自然語言處理領(lǐng)域,主要由編碼器和解碼器兩部分組成。其中,Self-attention是Transformer的核心[10]。一個(gè)完整的Transformer網(wǎng)絡(luò)結(jié)構(gòu)由多個(gè)編解碼器組成,其中編碼器主要由Self-attention和前饋神經(jīng)網(wǎng)絡(luò)構(gòu)成,解碼器由多頭自注意力機(jī)制器和編碼器-解碼器注意機(jī)制構(gòu)成。在編碼器結(jié)構(gòu)中,輸入后先經(jīng)過自注意力機(jī)制層得到一個(gè)加權(quán)的特征向量Z,公式為
(1)
式中,Z為Attention(Q,K,V)。
得到Z后,輸入編碼器的前饋神經(jīng)網(wǎng)絡(luò)模塊中,前饋神經(jīng)網(wǎng)絡(luò)主要由激活函數(shù)ReLU層和線性激活函數(shù)組成,公式為
FFN(Z)=max(0,ZW1+b1)W2+b2
(2)
式中,W1、W2為激活函數(shù)的權(quán)重參數(shù);b1、b2為線性激活函數(shù)的偏置參數(shù)。
在解碼器結(jié)構(gòu)中,通過解碼器并行解碼輸入N個(gè)對象,加入基于sin函數(shù)的位置編碼并輸入注意力層中,由解碼器轉(zhuǎn)換為結(jié)果輸出。
通過CNN和Transformer的優(yōu)點(diǎn)互補(bǔ),達(dá)到準(zhǔn)確識(shí)別滑坡的目的。DETR的結(jié)構(gòu)如圖4所示。主要包括4個(gè)模塊:CNN的Backbone、Positional Encoding、編解碼器及一個(gè)前向網(wǎng)絡(luò)(FFN)。首先以ResNet-50為主干特征提取網(wǎng)絡(luò)生成滑坡特征圖,再通過Positional Encoding對圖像位置進(jìn)行編碼,并把特征圖分成若干個(gè)正方形圖像塊;然后輸入到Transformer的編解碼器結(jié)構(gòu)中;最后通過前饋神經(jīng)網(wǎng)絡(luò)進(jìn)行每個(gè)矩形框的位置信息(bbox)和類別的預(yù)測。
圖4 DETR網(wǎng)絡(luò)結(jié)構(gòu)
采用精確率(P)、召回率(R)、平均精確度(AP)對本文滑坡目標(biāo)檢測結(jié)果進(jìn)行精度評(píng)價(jià)。
精確率:正確識(shí)別的滑坡數(shù)量與滑坡總量的比值。計(jì)算公式為
(3)
式中,TP為正確預(yù)測的正樣本數(shù);FP為錯(cuò)誤預(yù)測的正樣本數(shù)。
召回率:正確識(shí)別的滑坡數(shù)量與滑坡真值總量的比值。衡量分類器對滑坡數(shù)據(jù)集的漏檢情況。計(jì)算公式為
(4)
式中,NP為錯(cuò)誤預(yù)測為負(fù)樣本的個(gè)數(shù)。
平均精確度:同一類目標(biāo)在不同的召回率下精確率的平均值。計(jì)算公式為
(5)
采用DETR方法對滑坡體進(jìn)行識(shí)別,并與近年來被廣泛應(yīng)用的CNN目標(biāo)檢測算法進(jìn)行比較。此外,對數(shù)據(jù)集數(shù)據(jù)增強(qiáng)前后進(jìn)行對比,驗(yàn)證數(shù)據(jù)增強(qiáng)對滑坡精度提升的有效性。試驗(yàn)硬件設(shè)備采用英特爾Core(TM) i7-10870H的處理器,具有16 GB內(nèi)存,圖形處理器GPU為NVIDIA GeForce GTX3060顯卡,具有6 GB的顯存。在試驗(yàn)訓(xùn)練過程中,目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu)選擇PyTorch框架下的DETR,主干特征提取網(wǎng)絡(luò)采用ResNet-50,超參數(shù)如下:學(xué)習(xí)率為0.000 01,批尺寸大小為1,epochs為100次,位置編碼采用基于sin函數(shù)的絕對位置編碼,編解碼器層數(shù)為6層,Transformer內(nèi)部注意力的注意力頭部數(shù)量為8個(gè)。對CenterNet[11]、Faster-rcnn[12]、Efficientdet[13]、YOLOv3[14]、YOLOv4[15]、YOLOv5及DETR在滑坡訓(xùn)練數(shù)據(jù)集中的評(píng)估具體情況見表1。其中,DETR在各方面取得最優(yōu)效果。
表1 多種方法數(shù)據(jù)增強(qiáng)后對比精度
DETR分別將數(shù)據(jù)增強(qiáng)前后的數(shù)據(jù)對比,具體結(jié)果見表2??芍?數(shù)據(jù)增強(qiáng)對滑坡識(shí)別各方面指標(biāo)具有顯著的提升作用。
表2 DETR數(shù)據(jù)增強(qiáng)前后精度對比
測試集共有1290個(gè)樣本,各方法的具體檢測結(jié)果見表3??芍?本文采用的DETR方法不存在漏檢和錯(cuò)檢的情況,但在復(fù)雜環(huán)境中存在重復(fù)檢測的問題。其中,CenterNet、Efficientdet、YOLOv4均存在漏檢的情況,而YOLOv5也存在少量漏檢和滑坡重復(fù)檢測的情況。
表3 測試集檢測結(jié)果
選取測試樣本中部分具有代表性的滑坡進(jìn)行分析,識(shí)別結(jié)果見表4。
表4 測試集示例檢測結(jié)果
由表4可知,不同方法在不同環(huán)境下對滑坡的識(shí)別效果,實(shí)例1為高速路邊的滑坡識(shí)別,各方法對實(shí)例1均能識(shí)別,但Efficientdet存在漏檢的情況,其中DETR的檢測效果最好,基本與標(biāo)簽一致。實(shí)例2為建筑物旁的滑坡檢測,其中Faster-CNN識(shí)別存在重復(fù)檢測的問題,且重復(fù)檢測框識(shí)別不完全。實(shí)例3為公路兩側(cè)滑坡檢測,以上方法中大多存在漏檢和檢測不完全檢測精度低等問題,DETR識(shí)別滑坡效果最好。實(shí)例4為復(fù)雜環(huán)境下的多滑坡檢測,大多存在漏檢,檢測不完全的情況,其中CenterNet、Efficientdet方法只能識(shí)別部分滑坡,不足以檢查多個(gè)滑坡。實(shí)例5為大型滑坡,可以看出以上方法均能對滑坡進(jìn)行識(shí)別,其中Faster-CNN對大型滑坡識(shí)別的效果較差,檢測框不能完全識(shí)別滑坡,存在重復(fù)檢測的情況。
通過以上對比分析,基于Transformer的DETR方法在滑坡識(shí)別精度和預(yù)測框的準(zhǔn)確性方面均能取得最優(yōu)的檢測效果。
本文對滑坡數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),解決了滑坡數(shù)據(jù)不足的問題,采用基于Transformer的DETR網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建滑坡體自動(dòng)識(shí)別模型。試驗(yàn)結(jié)果表明,DETR網(wǎng)絡(luò)能有效地對滑坡進(jìn)行識(shí)別,具有檢測精度高、識(shí)別滑坡完全、標(biāo)記準(zhǔn)確的優(yōu)點(diǎn),AP達(dá)0.997;同時(shí)驗(yàn)證了數(shù)據(jù)增強(qiáng)對于模型精度提高的有效性。
由試驗(yàn)結(jié)果分析來看,本文試驗(yàn)在方法和數(shù)據(jù)方面依然存在一些問題。在數(shù)據(jù)集方面, “同譜異物”的問題仍會(huì)對滑坡檢測造成一定的干擾,易受裸地、礦場、云層等影響。在網(wǎng)絡(luò)結(jié)構(gòu)方面,雖能準(zhǔn)確識(shí)別滑坡,但訓(xùn)練時(shí)間成本過高,計(jì)算數(shù)據(jù)量較大。因此在未來工作中,需進(jìn)一步探索更加輕量化的網(wǎng)絡(luò)模型,以實(shí)現(xiàn)滑坡的快速準(zhǔn)確識(shí)別;同時(shí),在小比例尺大型地圖中,進(jìn)一步預(yù)測并驗(yàn)證其模型的泛化性。