孔月萍,黨 爽,曾 軍,高 凱
1(西安建筑科技大學 信息與控制工程學院,西安710055)
2(地理信息工程國家重點實驗室,西安710055)
鞍部作為一種重要的地形控制點,與山頂、山谷、溝頭等點狀地形要素共同構成了地形地貌的基本骨架結構,其自動提取與準確標注對地學分析、地圖制圖、地理信息應用具有重要的理論價值和指導意義[1].分析鞍部的空間結構可以發現,鞍部位于兩山頂之間較為平緩的地區,與山頂存在一定的高差限制,在等高線地形圖上表現為相鄰兩山頂間山谷線和山脊線的相交之處.因此識別鞍部時既要著眼于鞍部的局部特征,還應充分考慮鞍部與其它地形要素之間的點群約束全局特征.
現有的鞍部識別方法大致分為兩類,即地表幾何形態分析法和水文分析法.前者多采用移動分析窗[2]對鞍部的幾何形態進行特征分析,通過計算分析窗中多種曲面因子及相互關系進行鞍部判別與提取,此類方法處理速度快,但受分析窗口大小和方向的限制,易出現鞍部的誤判.文獻[3]在窗口分析基礎上以等間距高程剖分山體,增加了等高面間的拓撲關系分析來識別鞍部,其結果比單純的窗口分析法有了較大改善.而第二類方法則是借助地表水文匯流模擬分析的思想[4,5],利用正反地形中山脊線與山谷線求交的方法[6]提取鞍部,由于流域分水線與正地形疊合會導致某些山脊線斷裂,給鞍部提取帶來問題和偏差,且這類方法的復雜度較高,不易實施.
上述方法均依據人工設計的特征描述因子構造鞍部提取方法,但人工特征較難對鞍部形態的局部和宏觀特征進行綜合表達.近年來,深度學習在目標的特征學習與挖掘方面的優勢極大顯現,但當前的深度學習目標檢測與識別模型大都應用于數字圖像,并在ImageNet、COCO等公開數據集上進行網絡訓練和測試.DEM(Digital Elevation Model,數字高程模型)數據雖與數字圖像具有相似結構,但它們的物理含義、對象與背景的邊界卻差異極大,直接將圖像數據的相關方法遷移到DEM數據上,檢測性能還有待研究.2017年,Eric Guerin等人[7]從計算機視覺著眼,將3D虛擬地形生成任務視為有特征條件的圖像生成問題,用條件生成對抗網絡(Conditional Generative Adversarial Networks,CGANs)[8]從真實DEM地形樣本中訓練地形生成模型,構造虛擬地形,提出了虛擬地形生成的新途徑.2019年,Lin Du等人[9]利用DEM、坡度、地貌暈渲圖等多模態數據構造聯合特征的融合網絡,利用殘差學習單元從視覺形態和物理特征中挖掘深層次數據與地貌之間的相關性,在自建的ZISM50m數據集上,該算法的地貌識別準確率高達90.28%,表現出巨大的潛力.
綜上所述,深度學習技術在數字地形尤其是DEM要素分析方面的應用研究成果較少,但效果十分理想,有必要繼續探索.但考慮到實際地形與可獲取的訓練數據樣本有限,受文獻[10]和文獻[11]的啟發,擬借助卷積神經網絡與遷移學習的思想,融合卷積神經網絡(Convolutional Neural Networks,CNN)和多層感知器(Multilayer Perceptron,MLP),學習鞍部的局部形態特性及其與周圍山頂、山脊和山谷間的宏觀拓撲關系,實現DEM中的鞍部要素檢測與識別.先以LeNet-5[12]預訓練模型作為初始網絡,利用已標記的鞍部樣本對初始網絡模型進行反向參數調節,使模型能實現對鞍部局部和全局特征的學習,進行候選鞍部點的提取;最后再融合MLP網絡對鞍部點的精確位置進行回歸,完成候選鞍部的坐標標注.
大量事實已證明卷積神經網絡對圖像目標的檢測與識別十分有效,但檢測與識別的過程中存在網絡性能與網絡參數之間的矛盾.LeNet-5作為一種典型的卷積神經網絡,在手寫體數字圖像的識別應用中準確率極高,被廣泛應用于美國銀行的支票手寫體識別[13].然而DEM中鞍部樣本與手寫體數字圖像的物理含義差異較大,完全套用LeNet-5神經網絡模型識別鞍部要素效果不盡理想.因此,結合鞍部的空間結構特征及其與周圍其它要素間的點群約束關系,以LeNet-5基礎網絡為框架改造CNN網絡模型.
為了盡可能完整地挖掘鞍部的局部特征和全局特征,對LeNet-5網絡的采樣層部分進行了如圖1所示的改造,即將鞍部的全局特征下采樣和深層局部特征上采樣,然后對提取到的特征加以融合,解決鞍部要素特征提取不完備的問題;最終,按照圖2流程實現鞍部要素的識別.

圖2 鞍部識別方法的整體框架Fig.2 Whole frame of saddle recognition method

圖1 改進的卷積神經網絡結構圖Fig.1 Improved convolutional neural network structure
在預訓練階段,以LeNet-5神經網絡結構為基礎框架,對其權重參數進行初始化,保留除Softmax層的權重和偏置參數,用鞍部樣本數據對其進行反向微調,計算檢測分類結果與標簽真值之間的差異,由后向前按照誤差最小原則調整CNN網絡各層權重,直至誤差滿足要求[14],獲得針對DEM鞍部的基礎CNN網絡模.
在新的CNN網絡模型中,以32*32*1的正樣本DEM數據作為神經網絡第一層的輸入.卷積層采用5*5的卷積核學習鞍部的局部空間結構特征,利用權值共享獲取其與周圍山頂點、山脊線和山谷線之間的空間拓撲關系等全局特征,減少了網絡學習的參數,降低了網絡復雜度[15,16].每個卷積核分別與上層輸入特征圖進行卷積運算,經過激活函數非線性映射到下一層網絡,其迭代映射方式如式(1),其中l為層數,k是卷積核,b是偏置項,X是當前層需計算的特征圖,M為上層特征圖,f是Relu非線性激活函數.
(1)
在基本的CNN網絡模型中,隨著網絡層數的加深,特征圖的維數不斷減小,會使鞍部的空間結構特征不斷稀釋,進而影響小面積鞍部區域的特征檢測性能.因此,在采樣層中不能僅使用連續下采樣,而應通過對網絡提取到的淺層特征S2下采樣、深層特征S4上采樣、中層特征C3維持原有尺寸的方式對不同尺度的特征進行融合,得到既保持鞍部局部特征,又擁有鞍部宏觀地形特征的全局特征.改進后的卷積神經網絡結構如圖1所示.其中,下采樣中利用maxpooling進行池化處理,很大程度上減少了網絡可能出現的過擬合現象,加快了網絡的收斂速度[17],其表達如式(2),式中s表示池化的模板尺寸,m和n分別表示相應方向的步長.上采樣階段則利用maxpooling的逆過程進行“上池化”,即在maxpooling時保留最大值的位置信息,之后在上池化階段使用該信息擴充特征圖,除最大值位置以外,其余補0.
(2)
卷積層和采樣層構成了一個特征提取器,提取有關鞍部的判別性特征信息,挖掘學習鞍部所在區域的特征.全連接層5則將學到的鞍部特征整合在一起,經過全連接層6對特征進行壓縮以便于交給最后的Softmax分類器層.然而全連接層由于參數冗余,容易出現過擬合現象,因此為了加快訓練速度,提升模型的可靠性,對全連接層的權重進行L2正則化操作.對于全連接層的每一組權重通過在原有損失函數的基礎上加入λ∑ω2懲罰項,可有效減少訓練數據中的“小凸起”等偽山頂點,避免引起鞍部區域的誤判.此時對于權重為ω的全連接層損失函數E可表示為式(3),其中E0為非正則化的損失函數,λ是權重衰減系數.
E=E0+↑λ∑ω2
(3)
無論是基于有監督策略還是無監督策略均需借助一定的分類器才能實現對目標的識別,對于大量存在的鞍部點的識別,選取了深度學習算法中使用較為廣泛的Softmax回歸模型.Softmax用于分類過程中,它將多個神經元的輸出映射到(0,1)區間內,這些值的累計和為1,即滿足概率和為1的性質.在最后選取輸出符合目標區的特征點時,可選取概率最大的目標像素點作為預測目標.借助有標簽的樣本數據輸入到網絡中通過反向傳播微調網絡參數,使其達到穩定,從而實現對鞍部區域的識別.
從改進的CNN網絡結構看,它能提取鞍部的深度特征并對DEM的區域地表形態進行學習,對鞍部形成一定的“認知”與“記憶”能力,識別出候選鞍部點.然而經實驗驗證,改造后的CNN網絡可識別出符合特征的鞍部區域,但僅用Softmax分類器并不能準確定位出鞍部的位置,因此附加了多層感知器MLP網絡對改進的CNN網絡模型進行再調節.
MLP是一種有監督學習的神經網絡模型,由輸入層、中間隱藏層、輸出層組成,其中隱藏層可擴展為多層,相鄰層之間各神經元進行全連接,而每層各神經元之間無連接,網絡結構如圖3所示.當一對輸入、輸出學習模式提供給網絡后,各神經元獲得網絡的輸入響應產生連接權值;然后按減小希望輸出與實際輸出誤差的方向,從輸出層經各中間層逐層修正各連接權,回到輸入層.此過程反復交替進行,直至網絡的全局誤差趨向給定的極小值,即完成學習的過程.MLP網絡最主要的優點是具有極強的非線性映射能力,通過構建合適的模型描述輸入數據和輸出數據間的復雜關系,因此能夠解決天氣預測、圖像識別等領域中包含非線性因素的問題.當鞍部樣本測試集在CNN網絡模型中的測試準確率較高且網絡達到穩定時,保存此時學習到的鞍部特征信息,經過Softmax分類器得到候選鞍部點.凍結CNN網絡模型的前6層參數,即建立一個與訓練好的卷積神經網絡在隱層層數、隱層節點數以及每一隱層網絡權重值三方面完全一樣的多層感知器模型,將候選鞍部點和標定的鞍部坐標作為輸入共同送入MLP網絡,構建出鞍部的候選坐標與實際坐標之間的最優模型,通過該模型學習鞍部坐標的偏移量,對每一個候選鞍部的準確位置進行回歸修正.

圖3 MLP結構Fig.3 MLP structure
鞍部識別方法的整體框架如圖2所示.先將已訓練好的LeNet-5網絡模型參數遷移到目標網絡模型上,建立鞍部識別的CNN基礎網絡模型.然后將鞍部數據送入預訓練的CNN基礎網絡模型進行反向參數微調和改進,訓練出新的卷積神經網絡,利用Softmax回歸分類器作為最后的輸出層得到候選鞍部點.最后附加上MLP網絡,將CNN網絡模型的各層參數凍結訓練MLP網絡,對候選鞍部點進行位置坐標的精細調整.
為了驗證融合CNN與MLP的混合神經網絡模型對未知山地數據中鞍部的識別效果,選取了SRTM-DEM開源網站下載的1:100萬DEM數據進行網絡模型訓練與測試實驗.由于目前還未有公開的用于深度學習的鞍部數據庫,以盡可能完整包含鞍部信息的原則自建鞍部數據集SADDLE-100,從中選取6000個32*32大小且含有鞍部坐標位置信息的鞍部數據,采用隨機抽樣的方法選取其中5000個數據作為訓練集,900個數據作為驗證集,100個數據作為測試集檢驗網絡模型的性能.通過多次的對比性仿真實驗,改進后的CNN網絡具體訓練參數見表1.

表1 訓練參數設置Table 1 Training parameter setting
經實驗驗證,隨著迭代次數的增加,CNN網絡模型訓練和測試階段的識別準確率(acc)逐漸升高,同時目標函數的損失(loss)逐漸降低,當迭代次數達到800次左右時二者進入平穩階段,表明此時網絡模型達到穩定狀態.同樣記錄MLP網絡在訓練過程中的均方誤差(mse)變化情況,隨著迭代次數增加至300次,網絡的均方誤差值逐漸降低并進入平穩變化,表明此時的MLP網絡已達到穩定狀態.
為了驗證CNN與MLP相結合的網絡模型對鞍部識別與位置標定的有效性,選取我國三大地貌階梯具有代表性的大起伏極高山(數據I)、大起伏中山(數據II)和中起伏低山(數據III)數據開展實驗,將3組實驗樣區的鞍部識別結果與文獻[3]提出的拓撲分析方法作對比,結果分別如圖4(a)-圖4(c)所示,其中圓點為提取的鞍部點(A類點為文獻[3]方法漏提的鞍部點,B類點為深度神經網絡誤提的鞍部點,C類點為深度神經網絡漏提的鞍部點).最后對50個DEM數據的鞍部識別結果進行分類統計,分別于水文流域分析法[4]和拓撲分析法[3]作對比,如表2所示.

圖4 鞍部識別結果Fig.4 Results of saddle recognition
從圖4及表2可知,CNN與MLP網絡相結合識別的鞍部點比文獻[3,4]中識別出的鞍部點坐標更為準確,漏提的鞍部點數目更少,且識別出的鞍部點均位于兩個山頂之間、山脊線和山谷線的交線區域,符合鞍部區域的地學定義,誤提的鞍部點其周圍形態也符合鞍部的區域特征,說明深度神經網絡是以鞍部區域所呈現的形態和空間結構為主要的描述特征進行的學習.

表2 鞍部識別結果統計Table 2 Statistics of saddle recognition results
以DEM中的鞍部樣本為研究對象,基于深度神經網絡的方法為手段,通過分析鞍部的形態特征、空間結構及點群約束關系,設計了CNN與MLP網絡相結合的混合網絡模型對鞍部進行深度學習、自動識別.該方法可自動提取包含完備信息的鞍部全局特征,有效避免了人工選擇特征造成的鞍部語義信息缺失的現象,提高了鞍部識別的精度,且易于實現.但因鞍部的訓練樣本數據量較少,導致在鞍部精確定位時出現了偏差.今后應逐漸增加該數據庫的數據量,或研究如何從有限的數據中進行樣本的擴充,進而完善該技術方法.