崔 娜,盧小紅,王 妍,李 菲,宋 珊,郭慶妮,周少偉,史利燕,2
1.陜西省地質科技中心,陜西 西安 710054;2.陜西省省級院士專家工作站,陜西 西安 710054;3.陜西省社會科學科普基地,陜西 西安 710054;4.北京市智慧水務發(fā)展研究院,北京100036
地球環(huán)境的變化是非常復雜的,因為內部與外部因素的雙重影響,產(chǎn)生許多不可抗逆的地質事件[1-2],這種事件,就是我們常說的地質災害.當今的科技發(fā)展中,航天技術和遙感技術突飛猛進,為自然資源和環(huán)境監(jiān)測提供了全新的方法,為地質災害的提前預測提供了更為先進的手段,從而利用遙感技術獲取地面信息非常關鍵[3].在技術的不斷更替中,遙感技術也在不斷升級,已經(jīng)可以為小范圍的地質災害和環(huán)境的監(jiān)測提供先進的技術手段,可以為滑坡、泥石流、地面裂縫等地質災害提供有用的監(jiān)測,為一些比較大型的環(huán)境災害防范工程提供技術支撐.Lian 等[4]提出了利用無人機低空遙感圖像,主輔數(shù)據(jù)相結合的方法,可使滑坡、崩塌和裂縫能夠快速準確識別.Athanassas[5]對于遙感技術在識別南愛琴?;顒踊鹕交。╯outhern Aegean active volcanic arc,SAAVA)地質災害中的適用性進行了研究,發(fā)現(xiàn)其識別性能令人滿意.Lai 等[6]將遙感與地理信息系統(tǒng)技術相互耦合,對中國西部攀西地區(qū)的災害風險進行了評估,最終發(fā)現(xiàn)該模型充分考慮了主客觀因素,是區(qū)域地質災害風險評價的理想模型.通過上述案例,發(fā)現(xiàn)遙感技術在地質災害的應用中提供了更多的信息,但如何在數(shù)據(jù)信息中快速檢測到有用的信息,使得所檢測的目標信息的精度和速度能夠擁有更加良好的性能成為了關鍵的問題[7].機器學習技術的發(fā)展,為目標檢測提供了全新的視角,對目標檢測有關算法的優(yōu)化升級,是地質災害監(jiān)測有效與否的重點[8].
在FasterR-CNN(FasterRegions-ConvolutionalNeural Networks)目標檢測算法初期,目標檢測算法很多都是建立在區(qū)域提名算法上面的.一般將算法分為3 個部分,分別是區(qū)域選擇、特征提取、分類器.此算法采用滑動窗口檢測方法,構建尺度金字塔,在每個尺度中搜尋,從而獲取到目標出現(xiàn)區(qū)域的范圍.其次在區(qū)域內使用手工特征進行特征收集,再運用分類器達到最后的效果[9].隨著技術發(fā)展,出現(xiàn)了DPM(Deformable Part Model)算法[10].這個算法選擇的區(qū)域選擇手段是利用了滑動窗口選擇,選擇的手工特征是完善后的HOG(Histogram of Oriented Gradients)特征,選用的分類器為SVM(Support Vector Machines)分類器.后面又出現(xiàn)了R-CNN(Region-Convolutional Neural Networks)算法[11],后來相關學者對其進行了再次完善,得到了SPPNet(Spatial Pyramid Pooling Convolutional Networks).然而SPPNet 算法的訓練還是存在多個階段,并且還非常復雜和費時.因此,時代浪潮又推出了Fast R-CNN(Fast Regions-Convolutional Neural Networks)目標檢測算法.然而候選區(qū)域生成步驟目標檢測算法還是達不到端到端的分析.在這一前提下,F(xiàn)aster R-CNN 算法出現(xiàn)了[12],端到端的檢測算法才算正式推出.在Faster R-CNN 算法中,錨點框采用的是人為定義的框,此類人為定義的框要求比較苛刻,對先驗框的優(yōu)化便顯得尤為重要.另外,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡對特征獲取時,只運用了圖像的頂層特征去預測,所以存在目標檢測時對于小目標的檢測精度沒有很高.
本文的核心目標是對Faster R-CNN 目標檢測算法的現(xiàn)階段可待優(yōu)化的部分給予討論,并對卷積神經(jīng)網(wǎng)絡和特征提取的方法進行分析,使用不同的特征提取網(wǎng)絡,使用不同的模型訓練辦法,使用特征提取網(wǎng)絡中的方法,對人為定義的錨點框進行優(yōu)化提升,從而優(yōu)化Faster R-CNN 目標檢測任務的精度和速度.利用優(yōu)化后的Faster R-CNN 檢測算法,可以快速檢測到地表地質的變化,為防范地質災害起到促進作用.
機器學習算法模型訓練的時候,往往會遇到過擬合的狀況.就此,給出一些網(wǎng)絡模型優(yōu)化方法,如圖1所示.
圖1 網(wǎng)絡模型優(yōu)化途徑Fig.1 Network model optimization approach
在眾多途徑中,對數(shù)據(jù)進行有效的增強,讓數(shù)據(jù)中的數(shù)量提升,從而減少模型過擬合的情況.數(shù)據(jù)增強這種優(yōu)化辦法是受到了數(shù)字圖像優(yōu)化方法的啟發(fā)[13].在此基礎上,卷積神經(jīng)網(wǎng)絡能夠學習到圖像的很多不變性特征.具體的幾種方法如圖2 所示.
圖2 數(shù)據(jù)增強的幾何變換方法Fig.2 Data-augmented geometric transformation method
Fast R-CNN 算法中,區(qū)域提名階段非常浪費時間.基于此類現(xiàn)象,F(xiàn)aster R-CNN 算法利用區(qū)域生成網(wǎng)絡來處理候選框的問題,候選區(qū)域的分類依然利用區(qū)域生成網(wǎng)絡[14].它的具體算法如圖3 所示.
圖3 Faster R-CNN 算法圖Fig.3 Faster R-CNN algorithm diagram
區(qū)域生成網(wǎng)絡,就是常說的RPN(Region Proposal Network),卷積神經(jīng)網(wǎng)絡提取輸入數(shù)據(jù)中的建議區(qū)域是區(qū)域生成網(wǎng)絡的任務.RPN 具體結構如圖4 所示.
圖4 RPN 的結構Fig.4 Structure of RPN
錨點框窗口的每次滑動預測9 個建議區(qū)域.1 次滑動,分類層輸出2×9 個得分,代表著此框中存在物體的可能性.損失函數(shù)RPN 網(wǎng)絡后面的損失函數(shù)存在邊界框回歸損失函數(shù)與分類損失函數(shù)[15].在此,邊界框回歸損失函數(shù)表達為:
目標分類損失函數(shù)的表達為:
特征圖上各個像素點上面出現(xiàn)的錨點框是前景與背景的可能性為目標分類層的輸出.相關的目標檢測任務損失函數(shù)表達如下:
上述公式中,Lcls與Lreg依次被Ncls、Nreg給予歸一化,系數(shù)λ 對它們分別相乘.在此處,Ncls為最小批次數(shù)量,Nreg為錨點框的數(shù)量,λ 為權衡分類損失和回歸損失的系數(shù),ti*為正樣本Anchor 到真值的變換參數(shù)定義,ti為正樣本Anchor 到網(wǎng)絡檢測的目標區(qū)域的變換參數(shù),pi*為第i 個Anchor 標記為物體的概率,pi為經(jīng)網(wǎng)絡判斷當前第i 個Anchor 可能為物體的概率,Lreg為位置回歸損失,Lcls為目標分類損失.設置λ 為10,那么分類損失與回歸損失的權重基本相同.對Faster R-CNN 網(wǎng)絡的優(yōu)化,需要將RPN 網(wǎng)絡進行固定處理,這樣可以優(yōu)化算法的收斂速度[16].
1.3.1 模型調優(yōu)與特征金字塔的運用
對深層神經(jīng)網(wǎng)絡訓練的時候,對模型的優(yōu)化很重要.本研究使用了一些較為常見的優(yōu)化方法,用的比較多的有批量標準化和高分辨率分類器,已有的特征提取網(wǎng)絡在Image Net(全稱為Image Net Large-Scale Visual Recognition Challenge)數(shù)據(jù)集操作預訓練中很重要,之后在實際任務中再給予小規(guī)模調整[17-18].
以往的卷積神經(jīng)網(wǎng)絡在特征提取時選用的特征一般是比較單一的,從而讓目標檢測對小目標的檢測精度不是很高.基于此類現(xiàn)象,運用FPN(Feature Pyramid Network)網(wǎng)絡再運用圖像的底層特征和高層特征,分別進行不同層的預測.比起沒采用FPN 網(wǎng)絡的Res Net(Residual Neural Network)網(wǎng)絡,大目標檢測的召回率得到了很大的提升.小目標的召回率多了13%.FPN 網(wǎng)絡如圖5 所示.
圖5 特征金字塔網(wǎng)絡結構Fig.5 Feature pyramid network structure
1.3.2 聯(lián)合訓練方法與損失函數(shù)優(yōu)化
深度神經(jīng)網(wǎng)絡訓練里面,標記的數(shù)據(jù)集很重要.因為人工標記的代價很大,尋得數(shù)量充足有標記的目標檢測數(shù)據(jù)集難度很大.于YOLO v2(You Only Look Once v2)里面,本文推出了聯(lián)訓練辦法[19].在Faster R-CNN 算法里面,目標檢測框的回歸運用的損失函數(shù)是以L1、L2 距離為基礎的損失函數(shù),不足的是該損失函數(shù)不存在尺度不變性.另一方面,目標檢測框回歸的目標IOU 與損失函數(shù)并不是簡單對等關系[20-21].把IOU(Intersection Over Union)當成回歸的損失函數(shù),損失函數(shù)無法對沒有重疊部分進行優(yōu)化,對齊方式如果存在相關的差異性,IOU 依然不具備區(qū)分的能力.利用GIOU(Generalized Intersection Over Union)作為優(yōu)化目標給予目標檢測,它的公式如下:
式中,A、B 代表目標框,C 代表目標框的最小閉包.目標檢測框的損失函數(shù)表達為:
LGIOU為了讓損失函數(shù)目標檢測框回歸存在尺度不變性,對檢測框的優(yōu)化目標和損失函數(shù)給予同步處理.
1.3.3 針對錨點框的改進
Faster R-CNN 算法中的錨點框運用的是人為定義的框,它對此領域的先驗知識要求比較高[22-23].于YOLO v2 算法中,推出k-means 聚類算法去對數(shù)據(jù)集里面的邊框給予聚類,沒有苛刻的前提條件,就能夠獲取到優(yōu)良的先驗框[24].良好的k-means 聚類算法的距離度量為歐幾里得距離.在目標檢測算法中,歐幾里得距離適用性很差,它會讓較大的框比較小的框誤差要大很多.然而,在目標檢測任務中,本質是為了擁有更佳的IOU 分數(shù),卻與邊界框大小無關.基于此,可以使用公式:
在驗證環(huán)節(jié)選用了不同的k 值,這是為了權衡模型復雜度以及召回率,使用了k=5,能夠發(fā)現(xiàn)的錨點框與人為定義的錨點框顯然不同,瘦高的框要比扁平的框較多.
本實驗中運用的數(shù)據(jù)集是PASCAL VOC(The PASCAL Visual Object Classes)數(shù)據(jù)集與COCO(Common Objects in Context).PASCAL VOC 存在1 萬幅圖,類別分為20 組,該數(shù)據(jù)集是目標檢測問題的一個基準數(shù)據(jù)集.MS COCO(Microsoft Common Objects in Context)數(shù)據(jù)集為微軟公司推出的在競賽中使用的數(shù)據(jù)集.此數(shù)據(jù)集能夠在圖像標題生成、目標檢測、關鍵點檢測與物體分割等多種競賽時使用.在目標檢測任務中,此數(shù)據(jù)集擁有160 000 幅圖,分別為80 組不同類型.
在實驗中,對數(shù)據(jù)集中的真實框給予聚類形成錨點框,它的距離度量是:
以此為前提,分別測試了k 值不同時產(chǎn)生的錨點框的IOU 與GIOU.之后以聚類生成的錨點框為基礎.讓后讓基礎網(wǎng)絡為Res Net,然后在此前提下組成FPN網(wǎng)絡,其中回歸損失函數(shù)可以用如下公式表達:
在本研究檢驗環(huán)節(jié)中,需要先在Image Net 上面操作預訓練網(wǎng)絡步驟.訓練進行時,同步采取數(shù)據(jù)增強的一些方法.
本實驗中,利用不同k 值對目標檢測框使用進行聚類,并進行聚類生成描點框(圖6).
圖6 不同k 值下平均GIOU 圖Fig.6 Average GIOU diagrams for different k valuesa—不同k 值下平均GIOU 值(average GIOU vs.k);b—聚類生成的錨框(anchors by clustering)
從圖6a 中不難發(fā)現(xiàn),k 值為1 時,GIOU 在0.3附近,k 值為3 時,GIOU 在0.45 附近,依次類推.k 值與GIOU 同步增加,檢測精度也同步增加.在這里,隨著k 值的不斷增加,錨點框數(shù)量不斷增加,目標檢測的速度卻有所下降.從聚類生成的錨框(圖6b)能夠看到,數(shù)據(jù)集中的錨框要偏向于長且窄的錨框,說明以往人為定義的錨框的確存在不足.另外還發(fā)現(xiàn),利用自動生成的錨框,在k=5 的時候,即GIOU 值為0.6,檢測精度是以往9 個錨點框的精確能力.說明了智能生成錨點框的能力,比以往人為定義的錨點框代表性更好.
為了讓檢測精度與檢測速度得到很好的權衡,令k=5 進行實驗.這里分別用以往的Faster R-CNN 進行測試,并與它進行比較,還運用FPN 網(wǎng)絡損失度量與聚類得到的檢測框相比較,具體結果見圖7.
圖7 算法在MS COCO 數(shù)據(jù)集上的實驗結果Fig.7 Experimental results of the algorithm on MS COCO datasetAP—平均精度(average precision);AP@0.5— GIOU=0.5 時的平均精度(average precision,GIOU=0.5);APs—小目標平均精度(average precision for small objects);APm—中等目標平均精度(average precision for medium objects);APl—大目標平均精度(average precision for large objects);1— R-CNN(regions-convolutional neural network);2— Faster R-CNN(faster regions-convolutional neural network);3— RPN(region proposal network)
圖7 中的APs,APm,APl,AP@0.5 等都是在基于COCO 數(shù)據(jù)時,定義出來評論檢測模型的指標,AP的具體含義是類別的平均值,傳統(tǒng)上被稱為平均精確度.在圖中3 條曲線中,可以發(fā)現(xiàn)RPN 網(wǎng)絡的AP@0.5達到了59,是對比中差距最大的測試項,除了APl 之外,也高于其他評價指標的對比項,證明它在目標檢測精度尤其是在小物檢測精度時提升很明顯.
地球環(huán)境的變化往往會產(chǎn)生人類難以對抗的地質災害,對人類社會的安全生產(chǎn)帶來巨大威脅.為了利用遙感技術更加精確地監(jiān)測到自然環(huán)境中的地質信息,本文在Faster R-CNN 算法的基礎上,對算法進行了優(yōu)化.通過對地質災害與遙感技術之間關聯(lián)性的描述,闡述了檢測速度和精度的重要性,對涉及到的優(yōu)化辦法進行了系統(tǒng)描述,然后對優(yōu)化Faster R-CNN 算法原理進行了解釋,運用特征提取網(wǎng)絡,以及適用的優(yōu)化辦法,修改了訓練方法.實驗環(huán)節(jié),在MS COCO 數(shù)據(jù)集上,對優(yōu)化方案進行了一系列相關檢驗論證.最終的實驗結果表明,新的算法兼顧了速度與精確性,達到了預期的目標檢測目的.運用此優(yōu)化的目標檢測算法,借助衛(wèi)星遙感技術,可以更加快速地檢測到自然環(huán)境中的地質信息,判斷其屬性變換,從而做出預警措施,對減少人類因地質變化引起的損失,對促進人類安全活動,具有實際意義.不足的是,本文實驗環(huán)節(jié)僅僅是在數(shù)據(jù)集上進行實驗,對算法性能進行評估,而環(huán)境變化具有非常大的復雜性,后續(xù)的探討中,可以在具體的實踐環(huán)境中,對算法性能進行評估.