李凱明,孔月萍,張躍鵬,朱旭東,高 凱
(1.西安建筑科技大學 信息與控制工程學院,西安 710055;2.地理信息工程國家重點實驗室,西安 710054)
山頂點是一個容易意會卻難以量化的地理特征,是地表中最具控制性的特征點之一,其自動識別與準確標注對地學分析、軍事測量、道路選址以及城市規(guī)劃等工作具有重要的理論價值和指導意義[1]。現(xiàn)有DEM(digital terrain model)數(shù)據(jù)中的山頂點識別方法主要有幾何形態(tài)分析法[2]、斷面高程極值法[3]、水文流域分析法[4-5]和拓撲結構分析法[6]四大類,前兩類方法通過計算分析窗口中鄰域間的高程變化關系來確定山頂,能夠快速提取山頂點,但該類方法多著眼于山頂?shù)木植刻卣鳎菀桩a生誤提或漏提的現(xiàn)象;水文流域分析法通過模擬地表水流,進行流域計算模型構造山頂點識別方法,能有效改善分析窗口的局限性,但受到地形復雜性、DEM數(shù)據(jù)精度等因素的影響,對地形微起伏較為敏感,易出現(xiàn)偽山頂點;而拓撲結構分析法以等間距高程剖分山體,結合地貌、高差提取山頂點,有效減少了偽山頂點的提取,但其需要準確、定量化的特征描述參數(shù),否則提取效果不佳。
上述方法均依賴于人工構建的山頂特征提取模型,而人工選擇特征難以對山頂?shù)木植亢秃暧^形態(tài)進行準確表達,容易造成山頂?shù)恼`提與漏提。近年來,以卷積神經網絡[7](CNN,convolutional neural network)為代表的深度學習技術在圖像處理、目標檢測方面顯現(xiàn)出巨大優(yōu)勢。CNN通過多層卷積對輸入圖像進行多階段的特征提取,對樣本數(shù)據(jù)中隱形特征的表達更為高效準確,在一定程度上可以規(guī)避人工選擇特征的局限性[8]。以CNN為基礎,后有學者提出了應用于目標檢測任務的R-CNN(Regions with CNN feature)算法[9],該方法在樣本數(shù)據(jù)中進行選擇搜索,生成若干個候選區(qū)域,然后對每個候選區(qū)進行特征提取,利用支持向量機進行目標分類,但由于沒有共享CNN提取的各個候選區(qū)域特征,使得檢測時間較慢;為了提升模型檢測速度,F(xiàn)ast R-CNN[10]和Faster R-CNN[11]算法相繼提出。Fast R-CNN模型在R-CNN的基礎上融合了SPP-Net模塊,采用全圖卷積共享特征圖的方式對目標檢測進行加速,同時精度也有所提升;而Faster R-CNN采用區(qū)域建議網絡(RPN,region proposal network)代替了Fast R-CNN中的選擇搜索算法產生候選區(qū)域,在保證精度的同時極大縮減了檢測時間,并在交通標志[12]、行人檢測[13]、故障巡視[14]等復雜環(huán)境的目標檢測應用中表現(xiàn)優(yōu)異,具有良好的模型泛化能力和魯棒性。
為了克服山頂點識別效果受人工選擇特征的制約,將深度學習技術引入到DEM數(shù)據(jù)的山頂點要素提取領域,提出一種基于改進的Faster R-CNN山頂點識別方法。首先對DEM數(shù)據(jù)進行預處理,融合等高線圖和灰度圖兩種圖像下的山頂特征,并采用ResNet-101替代原始的VGG16作為山頂識別模型的特征提取網絡,再利用K-Means聚類算法[15]得出適用于山頂區(qū)識別的錨框設定。通過改進后Faster R-CNN網絡深度挖掘疊加圖像下的山頂形態(tài)特征,自動生成高質量的山頂目標區(qū),最后結合高程計算實現(xiàn)山頂點的精準提取。
DEM數(shù)據(jù)作為地球表面地形地貌的一種離散化數(shù)學表達,與數(shù)字圖像在數(shù)據(jù)結構上十分相似,但物理含義有著顯著差異[16],其主要區(qū)別在于數(shù)字圖像使用一個點表示整個像元的屬性;而在DEM中每個格網只表示點的屬性(即地理位置所代表的高程信息),點與點之間的屬性則通過內插計算獲得。因此直接將深度學習技術遷移到DEM數(shù)據(jù)中,檢測性能還有待研究。通過分析數(shù)字圖像與DEM柵格數(shù)據(jù)的異同,借助深度學習方法在數(shù)字圖像領域的廣泛研究與應用,以一種轉換與融合的方法對DEM數(shù)據(jù)集進行處理與構建。
在地理信息領域,等高線地形圖是將地面上海拔高度相同的點連成閉合曲線,并垂直投影到一個水平面上,以等高圈的形式描述地形地貌。如山頂、盆地在等高線圖中均是以最小閉環(huán)的形式進行表達,但其主要反映山地要素的地貌形態(tài),難以通過圖像的形式對地形要素的空間高程變化進行準確描述。而數(shù)字圖像中灰度值與DEM中高程值的組織形式相似,通過對DEM數(shù)據(jù)進行灰度渲染處理,以多層級的灰度差異反映山地的高程變化。因此,為了有效利用深度網絡進行DEM數(shù)據(jù)中的地形特征提取,以等高線圖像反映山地數(shù)據(jù)的地貌形態(tài),以灰度渲染圖表示山地數(shù)據(jù)中的高程變化趨勢,對原始DEM數(shù)據(jù)作等高線生成和灰度渲染處理,以圖像合成的形式融合兩種模態(tài)下的山頂特征,形成深度網絡可接收的學習樣本數(shù)據(jù)。
DEM樣本選取SRTM-DEM開源網站中比例尺為1:100萬的地形數(shù)據(jù),首先根據(jù)高程分布遴選出其中的山地部分,裁剪出1 000個大小為640*640的山地數(shù)據(jù)塊,保證每個數(shù)據(jù)塊中最少有一個或多個山頂,并按照圖1的方法對DEM數(shù)據(jù)進行預處理。同時,采用人工的方式進行山頂目標區(qū)的框選與標注,利用最小外接矩形的方法對疊加圖像中的山頂區(qū)域進行標注,保證每個標注矩形框中有且只有一個山頂,并且盡可能少地包含背景信息,以此形成如圖2所示的山頂樣本數(shù)據(jù)。其中,圖2(a)為疊加后的山地等高線渲染圖;圖2(b)為樣本的標簽信息,依次為山頂區(qū)域坐標框的左下角坐標(x1,y1)及右上角坐標(x2,y2)和lable標簽。如此,建立了包含山頂目標區(qū)的可學習樣本集PEAK-100,共囊括了3500個山頂樣本,并按照7:2:1的比例把山頂樣本集分為訓練集、驗證集與測試集。
圖1 DEM數(shù)據(jù)處理
圖2 山頂樣本數(shù)據(jù)示意圖
為了深度挖掘山地樣本中的山頂特征,準確提取出山頂點坐標位置,設計了如圖3所示的基于Faster R-CNN山頂點識別框架。首先利用特征提取模塊對山地樣本中山頂區(qū)的形態(tài)特征進行深度挖掘,再結合RPN和分類回歸網絡自動生成高質量的山頂目標區(qū),最后將樣本圖像中的山頂目標區(qū)映射回原始DEM數(shù)據(jù)中,通過計算目標區(qū)中的高程極大值位置作為最終的山頂點坐標。
圖3 山頂點提取方法處理流程
有效提取山頂形態(tài)特征是識別山頂點的關鍵,為提高山頂區(qū)域的識別效果,理論上增加網絡層數(shù)可以提取更深層次的山頂特征,但實驗證明網絡層數(shù)的過度加深,會導致出現(xiàn)梯度消失等問題,使得深度網絡訓練精度下降,原始Faster R-CNN網絡采用VGG-16作為基礎特征提取網絡,以13個卷積層進行堆疊,難以避免網絡層數(shù)過深導致的梯度消失問題。而殘差卷積神經網絡ResNet(residual neural network )通過引用殘差連接,能夠在構建深層次卷積神經網絡的同時,利用殘差模塊向下一個網絡單元提供在卷積操作中實際丟失的關鍵信息,從而緩解隨著網絡深度增加帶來的梯度消失問題[17]。殘差模塊結構如圖4所示,其中中間兩個卷積層表示進行兩次卷積運算,x是殘差塊的輸入值,F(xiàn)(x)是卷積塊的輸出值,F(xiàn)(x)+x是殘差塊的輸出。因此,為了提取深層次的山頂區(qū)域形態(tài)特征,選擇ResNet-101替代原始Faster R-CNN中的VGG-16網絡作為山地樣本數(shù)據(jù)的特征提取模塊,用于承擔山頂樣本數(shù)據(jù)的特征提取任務。同時考慮到自建山頂樣本數(shù)據(jù)量有限,而卷積神經網絡的性能優(yōu)劣易受到可學習樣本量的影響,在此借鑒文獻[18]中的技術思路,先利用ImageNet數(shù)據(jù)集[19]對ResNet-101網絡模型進行預訓練,凍結提取淺層通用特征的底層卷積塊,然后使用自建的山頂樣本集PEAK-100對頂層卷積塊進行內部參數(shù)微調,以遷移學習的方式適應當前山頂區(qū)的特征提取任務。
圖4 殘差模塊結構
RPN網絡模塊是Faster R-CNN的算法核心,其目的在于搜索山地樣本中可能存在的目標山頂區(qū)。RPN通過滑動窗口形式對ResNet-101提取的山頂特征圖繼續(xù)進行空間卷積,抽取山頂區(qū)更深層次的特征,并將所得空間卷積特征圖上的每一個像素點映射回原始山地樣本的位置,生成大小、比例各異的錨框。在原始RPN網絡中是采用3種尺度([128,256,512])和3種橫縱比([0.5,1,2])的參數(shù)設定在每一個滑動窗口的位置中心生成9個錨框。而山地樣本數(shù)據(jù)中的山頂區(qū)域尺寸大小各異,直接使用默認的錨框參數(shù)難以實現(xiàn)山頂區(qū)的精準識別與定位,為了提高山頂要素的識別精度,預先采用K-means聚類算法根據(jù)山頂標注樣本設定適用于山頂目標區(qū)的錨框參數(shù),并對原始錨框尺寸進行替代優(yōu)化。其中K-means算法的主要思想是將多個樣本根據(jù)相似性劃分于不同類別中,在此以自建山頂訓練集中的標注框大小作為聚類算法的輸入,通過對樣本集中的標注框進行聚類分析,確定適用于山頂區(qū)識別的錨框參數(shù)設定。
(1)
(2)
RPN網絡模塊獲取山頂候選區(qū)后,借助分類回歸網絡對候選目標區(qū)進行識別與修正。感興趣區(qū)域池化層將候選區(qū)域映射回原始特征圖上的位置,得到各山頂候選區(qū)對應的特征圖。由于得到的候選山頂區(qū)大小形態(tài)各異,為進一步進行山頂區(qū)的識別與篩選,需進行經最大池化后再同時輸入最終的分類層和回歸層進行計算,輸出每個候選框符合山頂特征的概率值,并再次對候選框進行回歸計算,利用邊框偏移量對候選框進行坐標微調,使之更接近于理想的山頂區(qū)。為了在獲得的山頂區(qū)域中準確標注出山頂點,將山地圖像中標識出的山頂目標區(qū)映射回原始DEM數(shù)據(jù)中,通過計算該區(qū)域中的高程極大值點即可標定出準確的山頂點坐標,計算方法如式(3),其中bij為山頂點位置,αij為坐標(i,j)處的高程值。
(3)
山頂點識別模型實驗環(huán)境基于Windows10操作系統(tǒng),計算機配置處理器為AMD銳龍5 2600X,運行內存為16G,顯卡型號為NVIDIA GeForce GTX 2060,以TensorFlow作為深度學習框架,并以自建的山頂樣本集PEAK-100進行網絡訓練,模型的初始學習率為0.001,動量為0.9,迭代次數(shù)為10 000次。錨框初始尺寸參數(shù)則利用K-means聚類算法對山頂訓練樣本中的標記框進行設定,以山頂區(qū)標記框的左下角坐標和右上角坐標分別計算其寬度和高度,作為聚類算法的數(shù)據(jù)樣本,其中設定的K-means聚類算法的準則函數(shù)為:
(4)
式中,k為聚類類別數(shù),Sj為第j類的樣本合集,mj為Sj的樣本均值,設定J=0.01,以k=2,3,4,...,對訓練樣本中的標記框大小進行聚類分析,得到如圖5所示的結果,可知相對于其它聚類結果,當k=4時,能夠將數(shù)據(jù)集中的錨框幾乎均勻的分為4種不同尺寸種類,因此,根據(jù)聚類分析結果,將聚類中心對應的坐標參數(shù)作為Faster R-CNN網絡的錨框初始尺寸設定,即以(41.48,50.49)、(63.40,82.33)、(93.13,121.91)與(131.94,194.44)的4種長寬比例替代原始的錨框參數(shù)作為每一個山頂區(qū)目標的初始錨框設定值。
圖5 K-Means算法聚類結果圖
為評價山頂點提取結果,以山頂點識別的準確率、誤提率和漏提率作為模型評價指標。其中準確率Rd是指識別出的正確山頂點占識別結果的比率;誤提率Rw表示識別出的山頂點中誤提數(shù)所占的比率;漏提率Ru表示山頂漏提數(shù)占真實山頂數(shù)的比率。計算公式為:
(5)
(6)
(7)
式中,TP為識別結果中正確的山頂點個數(shù);FP為識別結果中誤提的山頂點個數(shù);Fl為識別結果中漏提的山頂點個數(shù)。
為了測試改進Faster R-CNN中ResNet-101網絡模塊對山地樣本特征提取的有效性,選取如圖6的淺層山頂特征圖進行可視化表達??梢钥闯觯琑esNet-101網絡對標注的山頂區(qū)進行多階段的特征提取,對山頂區(qū)的位置、形態(tài)有著良好的信息表達能力,說明該網絡模型能夠自動挖掘山地樣本中的山頂特征。
圖6 特征圖可視化
在數(shù)據(jù)處理階段,通過將DEM數(shù)據(jù)以等高線圖與灰度渲染圖的形式進行疊加,融合兩種模態(tài)下的山頂特征。為了驗證該數(shù)據(jù)處理方式的有效性,對不同模態(tài)下的山頂區(qū)識別效果進行對比實驗,實驗結果如圖7所示,圖(a)為灰度渲染圖的識別結果,圖(b)為等高線圖中的識別結果,圖(c)為疊加處理后的識別結果,其中,A和B框為誤提、漏提的山頂區(qū),同時分別在自建的山頂樣本集中進行測試實驗,統(tǒng)計結果如表1所示??梢钥闯?,由于等高線圖或灰度圖在單模態(tài)下難以完整表述山頂?shù)男螒B(tài)特征,容易造成山頂區(qū)的誤提與漏提現(xiàn)象。其中在灰度圖下的山頂識別精度較低,這是由于灰度圖中的山頂形態(tài)不易確定,僅能表述山頂?shù)母叱套兓厔?,候選框難以準確標定出山頂目標區(qū);等高線圖則主要反映山頂要素的輪廓形態(tài),難以通過圖像的形式對山頂要素的高程變化趨勢進行準確描述,易出現(xiàn)山頂區(qū)的誤提現(xiàn)象。而通過結合灰度圖與等高線圖兩種模態(tài)下的山頂形態(tài)特征能夠有效提高山頂區(qū)的識別效果。
圖7 不同模態(tài)下的山頂區(qū)識別結果
表1 不同模態(tài)下的識別結果對比
為了驗證新方法在不同地貌的山頂點提取性能,另外選取我國具有代表性的三大地貌階梯中的中起伏低山(數(shù)據(jù)I)、大起伏中山(數(shù)據(jù)II)、和大起伏極高山(數(shù)據(jù)III)對新方法進行測試。圖8為不同地貌下的山頂點識別結果,其中方框為新方法識別出的山頂區(qū)域,圓點為提取的山頂點,A類點為誤提的山頂點。從實驗結果中標定的山頂點位置可知,識別出的山頂點均位于山地高程極值處,符合山頂點要素的定性描述特征,其中誤提的山頂點其周圍形態(tài)也較符合山頂?shù)膮^(qū)域特征,說明深度網絡模型是以山頂區(qū)所呈現(xiàn)的空間形態(tài)作為主要特征進行學習的。
圖8 基于Faster R-CNN網絡的山頂點識別結果
此外,還設計實現(xiàn)了拓撲分析法[6]、等高線剖分[20]、原始Faster R-CNN與新方法進行對比實驗,各種方法分別在自建PEAK-100山頂測試集上的實驗統(tǒng)計結果如表2所示。結果表明,新方法利用改進的Faster R-CNN深度網絡模型實現(xiàn)山頂?shù)淖詣訕俗R,雖仍存在山頂?shù)恼`提與漏提現(xiàn)象,但相比于傳統(tǒng)方法山頂?shù)淖R別更為準確,漏提和誤提的山頂點更少,表明改進的Faster R-CNN網絡模型能有效學習山頂區(qū)所呈現(xiàn)的形態(tài)特征,避免了人工選擇特征的局限性。
表2 新方法與其他方法對比實驗結果
針對傳統(tǒng)山頂點識別方法中人工選擇特征困難等問題,以DEM中的山頂要素為研究對象,結合深度學習技術,設計了一種基于改進卷積神經網絡的山頂點識別方法。通過將DEM數(shù)據(jù)變換為等高線圖和灰度圖疊加的形式,選擇ResNet-101自動提取山頂?shù)纳疃忍卣鳎瑫r利用K-Means算法對Faster R-CNN網絡模型中的錨框尺寸進行優(yōu)化設定,實現(xiàn)了山頂?shù)淖詣踊瘶俗R。實驗結果表明,該方法有效避免了山頂要素提取易受人工選擇特征的影響,提高了山頂點的識別精度,為DEM中的山頂要素識別提供了新的技術途徑。但因自建的山頂樣本集數(shù)據(jù)量有限,提取結果中仍會出現(xiàn)一定的誤提、漏提的現(xiàn)象,今后可通過數(shù)據(jù)增廣等方法來充實DEM地形樣本數(shù)量,提高深度學習模型的數(shù)據(jù)支撐。