關注“測繪學術資訊”及時獲取更多資訊
改進特徵金字塔網路的遙感影像崩滑體提取
高琛1,馮德俊1,胡金林1,王傑茜1
(1.西南交通大學地球科學與環境工程學院,四川 成都611756)
摘要:針對大多數網路存在精度低,特徵冗餘,計算量大,訓練時間長等問題,提出密集連線特徵金字塔網路(DCFPN),將特徵提取網路得到的特徵圖透過一組並行深度可分離空洞卷積進一步計算其全域性語義資訊,並搭建解碼上取樣網路,加入連線組合特徵層的結構,對遙感影像進行語義分割實現崩滑體提取,較好地解決了引數量過多,計算時間較長和精度較低等問題。透過特徵金字塔網路(FPN)和DCFPN在崩滑體資料集上的大量對比實驗表明,DCFPN在崩滑體語義分割方面有更高的精度並且計算量更少,訓練時間更短,能夠更好地為應急搶險工作。
0 引言
因崩塌和滑坡在遙感影像上很難區分,所以本文從遙感影像提取崩滑體,不具體區分崩塌和滑坡。崩滑體會給周圍環境帶來嚴重的災害,如毀壞農業用地、道路、水利、水電設施及礦山等[1]。崩滑體資料來源主要有光學遙感影像、SAR影像、LiDAR點雲資料和地質勘查資料。光學遙感影像崩滑體提取方法主要有人工目視解譯、影像分類和變化檢測,人工目視解譯費時費力,傳統的面向物件的影像分類方法需要人工設定規則集,耗費大量的時間[2],變化檢測需要同一區域不同時相的影像。
隨著深度學習的發展,利用神經網路對遙感影像分類越來越普遍。然而,為了獲得好的分類效果,網路結構變得越來越複雜,引數量越來越大,增加了計算量和計算時間,然而對於災害資訊提取來說,不能第一時間獲取災害資訊,不能及時為救災搶險和災害評估提供資料。深度可分離卷積較常規卷積減少了引數量,減輕了計算量[3]。空洞卷積就是在常規卷積核裡注入空洞,不僅能夠增大感受野,還可以提高對多尺度特徵的提取能力[4]。圖1為膨脹率分別為1,2,4的空洞卷積核。針對遙感影像中崩滑體區域空間分佈不均勻,多尺度的特徵,本文將空洞卷積和深度可分離卷積結合,利用不同膨脹率的深度可分離空洞卷積構建深度可分離空洞卷積組,對特徵圖的多尺度特徵資訊進行提取,並在上取樣網路中加入低階特徵資訊,構建密集連線特徵金字塔網路(Densely Connected Feature PyramidNetwork,DCFPN),極大地減少了網路的引數量和計算量,提高了崩滑體影像語義分割的精度,能夠及時且準確地提取出遙感影像中的崩滑體。
本文采用深度學習的方法對光學遙感影像進行分類實現崩滑體提取,優點在於只需預先透過大量的樣本送入網路訓練出一個模型,就可以實現批次且高精度地提取遙感影像中的崩滑體 [5]。
1 網路結構
1.1 影象分類和分割網路
如圖2所示,傳統影象分類網路一般包含卷積層、池化層、啟用函式層和全連線層,最後由softmax函式輸出輸入影象屬於每個類別的機率[6]。
卷積層就是用一組卷積核對輸入特徵圖進行卷積,即對卷積核中每個引數和對應輸入特徵圖的畫素點相乘並求和,以提取抽象特徵,大小3×3步長為1的卷積如圖3所示[7]。一般卷積層後都有啟用函式層,為網路新增非線性因素。
輸入資料在卷積層進行卷積計算後,卷積後的特徵圖進入池化層進行特徵提取和資料壓縮。池化層又稱下采樣層,它主要是用來壓縮資料,在減小引數量的同時保留有用資訊[8]。池化層選取池化區域的規律和卷積核掃描特徵圖相同,首先確定池化區大小,然後按一定的步長有規律地滑動池化視窗。
全連線層通常在卷積神經網路的最後部分,特徵圖在全連線層中會經過卷積處理改變原有結構,被展開為向量並透過啟用函式傳遞至下一層[9]。全連線層的作用是對經過多次卷積層和多次池化層所得出來的高階特徵進行全連線,即把之前所得出的所有區域性特徵整合,減小資訊損失[10]。最後將向量送入分類器分類,然後根據分類損失進行反向傳播來更新網路中的引數。
與傳統影象分類網路不同,語義分割是基於畫素級的分類,即判斷出每個畫素的類別,網路結構一般為編碼解碼結構,如圖5所示[11]。遙感領域的影像分類就是影象語義分割。與影象分類網路相比,語義分割網路沒有全連線層,但多了連續上取樣層來保證特徵圖恢復到輸入影象的大小,最後經過分類器輸出每個畫素屬於各類別的機率,實現端到端的畫素級別影象分割。
1.2 特徵提取網路
特徵提取網路一般由大量卷積、池化和啟用函式層構成,影象經過特徵提取網路後尺寸會變小,但通道會增加,網路越深,提取到的特徵層次就越高。影象分類網路就是在特徵提取網路的基礎上增加了全連線層和分類層,語義分割網路則增加了上取樣層和分類層。本文所使用的特徵提取網路為ResNet和DenseNet。
為了獲得更高層次的抽象特徵並且提高精度,網路由最初的幾層變成現在的上百層,然而一味的加深網路會導致梯度消失和引數量增加[12]。梯度消失即越靠前的網路層反向傳播時引數更新的梯度越小,這會致使前面的層失活,從而影響網路的精度[13]。引數量增加導致需要更大的計算空間和更長的計算時間,對硬體的要求變高。ResNet有效的緩解了梯度消失問題,其透過連線相加前後特徵層來增加梯度值,如圖6[14]。相比ResNet,DenseNet提出了一個更激進的密集連線機制,即互相連線所有的層,每個層都會接受其前面所有層作為其額外的輸入,如圖7。DenseNet優點主要有緩解梯度消失問題,加強特徵傳播,特徵複用,極大的減少了引數量[15]。
1.3 特徵金字塔網路
特徵金字塔網路(feature pyramid network, FPN)包括3個部分:自下而上路徑、自上而下路徑、橫向連線 [16],結構見圖8。FPN採用這樣的方式融合了低解析度、高語義資訊的高層特徵和高解析度、低語義資訊的低層特徵,使每個金字塔等級上的特徵圖都能包含豐富的語義資訊[17]。FPN中每個金字塔層對應一個橫向連線結構,該結構的主要作用是融合兩條路徑中位於同一層級上的特徵圖。
本文所使用的FPN接面構是將ResNet和DenseNet做為自下而上路徑,每個中間層都進行橫向連線,在最後的特徵層上做分割,而非目標檢測和例項分割在不同的自上而下路徑層預測。FPN接面構在識別不同尺度的目標方面有著更為出色的表現,圖9中的(b)和(c)分別為ResNet50和採用了FPN接面構的ResNet50的崩滑體識別結果,從圖中可以明顯地看出採用了FPN接面構的ResNet50對細節識別更準確,沒有將一些較小範圍的裸地和稀疏植被覆蓋區域當作崩滑體[18]。FPN融合了高低層特徵,保留了細節資訊,然而,FPN中高層網路連線了大量的底層資訊,會導致分割效果變差。
FPN常將ResNet、VGG等特徵提取網路作為自下而上路徑。本文分別使用不同層數的ResNet和DesNet作為自下而上路徑部分,增加並行深度可分離空洞卷積組,構建上取樣網路作為自上而下路徑,將原有橫向連線中特徵層相加(如圖10中(a))的方式改為特徵層組合(如圖10中(b)),構建密集連線特徵金字塔網路。
2 密集連線特徵金字塔網路
語義分割是在特徵提取網路之後加入連續上取樣層來使特徵圖恢復到輸入影象大小[19]。本文所構建的DCFPN接面構如圖11,詳細的上取樣模組結構和深度可分離空洞卷積組如圖12所示,其中卷積均採用深度可分離卷積,部分卷積層後跟池化操作,極大地減少了引數量和計算量,節約了時間,線性啟用函式為Relu,批標準化採用的是keras批標準化方法。
2.1 橫向連線
本文改進了FPN中的橫向連線結構,將前後特徵層的連線方式由相加改為組合並減少了橫向連線的數量。FPN中每次上取樣都將特徵圖擴大兩倍,而DCFPN採用四倍上取樣,兩次就可以將特徵圖恢復到原圖大小,所以解碼層只橫向連線兩層編碼層,避免了FPN因連線過多底層特徵產生的分割效果變差問題,並且只進行兩次四倍上取樣極大地減少了引數和計算量。
2.2 深度可分離空洞卷積組
本文所設計的DCFPN中橫向連線、上取樣和深度可分離空洞卷積組均採用深度可分離卷積,較FPN的常規卷積極大地減少了引數量和計算量。如圖13所示,假設輸入特徵圖的大小為12×12×3,則經過(256,(5×5))的深度可分離卷積後,輸出特徵圖的大小為8×8×256。如果用常規卷積實現同樣的輸出大小需要5×5×3×256=19200個引數,要做5×5×3×8×8×256=1228800次乘法運算,而深度可分離卷積只需5×5×3+1×1×3×256=843個引數,做5×5×3×8×8+1×1×3×8×8×256=53952次乘法運算,所以深度可分離卷積的引數量和運算量要遠遠小於常規卷積,節約記憶體和計算時間[20]。
深度可分離空洞卷積組採用不同膨脹率(4,8,12)的深度可分離空洞卷積來增大卷積核的感受野,提取全域性語義資訊,能夠有效解決長距離依賴問題,提升語義分割的精度。
2.3 網路規模
表1的方法是前文提到的各種網路,網路長度單位是層,引數量單位是個,表是該網路擁有的引數量個數,模型大小訓練得到模型所佔用的空間,單位是MB,其中包括模型權重、結構和配置資訊等,計算量為浮點運算數,表中以百萬次浮點運算為單位,如74.1表示74.1×106次浮點運算。可以看出,特徵提取網路相同的情況下DCFPN的網路層數、引數量、模型大小和計算量要遠遠小於FPN。這表明在相同硬體配置下DCFPN訓練速度更快,其適用範圍也更廣。
3 實驗及分析
3.1 實驗資料
本文使用的遙感影像為2008年5月20日的四川省千佛山無人機影像,解析度為0.4m,影像尺寸為3 888×2 592。從高分遙感影像集中選取一部分崩滑體特徵較多、邊界較為明確的影像當作訓練集和驗證集並繪製這些影像的標籤。由於深度學習需要大量的樣本,故本文采用資料增強的方法對崩滑體影像進行增強。共選取30張3888×2 592大小的原始影像,如圖15,和與之對應的標籤圖,對這些圖片進行隨機裁剪、旋轉、新增噪點等資料增強的方法共生成10 000張256×256大小的崩滑體影像和標籤組成崩滑體樣本集,資料增強後的部分256×256大小的影象如圖14所示。訓練集隨機選擇75%的樣本集資料,驗證集則選擇剩餘的25%資料,測試集圖片為不參與訓練的原始影像。
3.2 崩滑體提取
本文使用Keras框架,引數統一設定為epoch=20,batchsize=16,最佳化器選擇為Adam,均未使用正則化,初始學習率為0.001,若3個epoch過去驗證集損失未降低則進行學習率衰減,更新學習率為原來的0.2倍。分別用ResNet50-FPN(採用resnet50作為自下而上路徑部分的特徵金字塔網路)、ResNet101-FPN、DenseNet121-FPN、DenseNet169-FPN、ResNet50-DCFPN(採用resnet50作為自下而上路徑部分的密集連線特徵金字塔網路)、ResNet101-DCFPN、DenseNet121-DCFPN、DenseNet169-DCFPN網路對崩滑體資料集進行訓練得到崩滑體識別模型,並用於預測圖15中的(a)和(b)兩張崩滑體影像,效果如圖16所示。
3.3 精度評定
各網路訓練出的模型統一設定為寫入驗證集損失最小epoch(輪數)的引數,損失計算採用二值交叉熵。部分網路精度和損失曲線圖如圖17所示,橫座標是epoch數,縱座標是準確率和損失,由驗證集損失曲線走勢可以看出FPN接面構在第十幾輪已經收斂,而DCFPN接面構驗證集損失要低於FPN,且在第20個epoch還在繼續收斂,繼續訓練應該會得到更高的精度。
從未參與訓練的測試集中挑選4張崩滑體影像並繪製標籤用作計算各模型的精度,4張影像分別編號為a、b、c、d,見圖18。分別計算出各網路在4張測試影象的準確率Acc、召回率Recall、F1score、Kapp係數和交併比IOU,然後彙總並取平均值,精度計算結果見表2。
由上表可得,五項精度中最高的全是DCFPN接面構,在特徵提取網路相同的情況下,與FPN比較,DCFPN的各項精度均略高,如Acc高0.5%,Recall高1%,F1score略高,Kappa相差不大,IOU高1%,驗證了DCFPN的有效性。
4 結束語
隨著高解析度遙感技術的迅速發展,遙感資料日益龐大,想要將深度學習方法用於遙感影像解譯和實際生產中必須綜合考略網路的複雜程度、計算量的大小、模型檔案的大小、精度等。本文基於FPN、深度可分離卷積和空洞卷積構建了DCFPN接面構,相較於FPN,其網路規模更小並且各項精度更高,透過崩滑體資料集上的大量對比實驗驗證了其有效性。DCFPN可以極大地縮短人工目視解譯和訓練大規模網路所耗費的時間,及時提取出崩滑體災害資訊,為災害評估工作服務。綜合來說,DCFPN有著更廣泛的適用性和更好的效能。本文中大量使用空洞卷積會導致區域性資訊缺失等問題,有待進一步改進。
作者簡介:高琛(1997-),男,甘肅天水人,碩士研究生,主要研究方向為遙感影象處理。
E-mail:1600178901 @qq.com。
基金專案:科技基礎資源調查專項(2019FY202504)
通訊作者:馮德俊副教授 E-mail:[email protected]