馬 驍,張曉征,范文濤,劉柳楊,單 飛,孫 卓
(1.交通運輸部科學研究院 數(shù)字交通實驗室,北京 100029;2.河南交通發(fā)展研究院有限公司,河南 鄭州 450006;3.中國科學院 空天信息創(chuàng)新研究院,北京 100094)
隨著我國公路建設重點向農(nóng)村公路傾斜[1],利用高分遙感影像分析農(nóng)村地區(qū)路網(wǎng)分布及規(guī)模的需求逐漸增加。多年以來,受路網(wǎng)提取算法性能不足的影響,遙感影像路網(wǎng)提取相關成果在交通運輸行業(yè)未能獲得廣泛應用。在此背景下,為進一步提升農(nóng)村區(qū)域路網(wǎng)提取精度,有必要針對契合農(nóng)村公路分布特點與地理環(huán)境的高分遙感影像農(nóng)村路網(wǎng)提取算法展開研究,以使生成的農(nóng)村區(qū)域路網(wǎng)矢量地圖更為準確。
目前遙感影像路網(wǎng)提取技術主要有兩大類:一類為傳統(tǒng)方法,如多元數(shù)據(jù)法[2-3]、特定模型法[4-7]、模板匹配法[8-11]等,此類方法在城市范圍內能夠獲得較好的識別效果,但對于農(nóng)村公路的識別精度不夠高,究其原因是其無法較好地適應農(nóng)村地區(qū)復雜多變的地形地貌及不規(guī)則的道路走向;另一類是近年蓬勃發(fā)展的深度神經(jīng)網(wǎng)絡(Deep Neural Network,DNN),其中卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)在路網(wǎng)提取、醫(yī)學圖像分析等圖像語義分割領域取得了較好的效果并引起廣大學者的關注。Shelhamer 等[12]提出的全卷積網(wǎng)絡(Full Convolutional Network,FCN)初步解決了圖像語義分割問題,但存在沒有充分考慮語義間上下文關系、圖像細節(jié)丟失等問題。后續(xù)有學者基于FCN 陸續(xù)提出了U-Net[13],SegNet[14]等網(wǎng)絡結構,其中:U-Net在較小的樣本量下能取得相對較好的圖像分割結果,但增大樣本量不能帶來顯著的性能提升;SegNet 能較好地解決下采樣階段多次池化帶來的位置信息丟失問題?;贑NN與FCN架構,國內外學者陸續(xù)開展了遙感影像道路識別提取的相關研究工作,如:Saito等[15]直接使用CNN 識別路網(wǎng),驗證了CNN 比傳統(tǒng)方法具有更高的識別精度;Cheng 等[16]將CNN 調整為兩級編碼-解碼結構,同時完成了路網(wǎng)識別與道路中心線提??;Zhang 等[17]提出將殘差單元(ResNet)和U-Net 相結合提取影像路網(wǎng)的方法,并取得了較好的道路識別效果。
雖然CNN 與FCN 架構在路網(wǎng)提取領域具有一定的優(yōu)勢,但二者要實現(xiàn)較好的提取精度需較大規(guī)模的訓練樣本,然而“高分”系列亞米級衛(wèi)星的農(nóng)村公路遙感影像并無公開數(shù)據(jù)集可供直接使用,需要手工制作訓練樣本。受限于人力及資金等因素,樣本量通常難以滿足訓練需求,以至于不能表征所有樣本特征,導致網(wǎng)絡過擬合。一個可行的技術路線是基于小樣本需求量架構,提升有限樣本量條件下的算法性能。為此,本文將選擇小樣本數(shù)據(jù)集下具有良好性能的U-Net 作為基本架構,設計跳躍鏈接部分的“全局關注模塊”(Block of Focusing Globe,BFG)并提出BFG-U-Net架構,以提升樣本量較小的情況下典型農(nóng)村地區(qū)的路網(wǎng)識別精度。
為了有效識別并提取高分遙感影像中的農(nóng)村公路,需對農(nóng)村公路特點進行分析。根據(jù)公路行政等級劃分,農(nóng)村公路是一種普遍建設于城市區(qū)域外的廣大鄉(xiāng)村地區(qū)的公路類型,主要用于連接鄉(xiāng)(鎮(zhèn))、建制村,可細分為縣道、鄉(xiāng)道及村道。這三類道路因建設技術等級要求不同,在高分辨率遙感影像中呈現(xiàn)出不同的特點。
縣鄉(xiāng)道的建設技術等級要求三級或以上,即雙向兩車道或四車道,路面寬度為7~14m。在高分遙感影像(以星下點分辨率0.8m 左右的高分2號為例,下同)中,縣鄉(xiāng)道路面約為8~20 個像元。截至2018年底,我國除西藏自治區(qū)外絕大部分地區(qū)的農(nóng)村公路(含縣道、鄉(xiāng)道及村道)已實現(xiàn)鋪裝路面(瀝青混凝土或水泥混凝土路面),縣鄉(xiāng)道在高分遙感影像中具有較為清晰的識別特征。
村道技術等級通常為四級或以上,單車道通行且路面寬度不小于3.5m。村道路面寬度在高分遙感影像中僅為3~4個像元,較難清晰顯示,同時村道的識別提取還面臨以下困難:
(1)我國南方地區(qū)植被茂密,村道路面被林木遮蔽的情況較為普遍。除路面被完全遮蔽無法分辨道路位置外,部分情況下路面不可見但依照路側林木影像印跡仍可清晰分辨道路走向,因此算法應當具備識別與提取該類路面的能力。
(2)村道通常穿插于耕地區(qū)域間,遙感影像中部分耕地地表與相鄰路面顏色接近,導致路面邊緣模糊,提取算法在該類路段的識別精度將受到較大影響。
(3)截至目前部分省級交通運輸管理部門已先后啟動或完成通村入組道路工程建設,而通村入組道路主要依托農(nóng)村地區(qū)已有的天然道路網(wǎng)。為配合相關建設任務需求,遙感影像也需要將大量農(nóng)村公路以外的未鋪裝道路納入識別與提取范圍,這對算法就不同路面類型的識別提取能力提出了較高要求。
綜上所述,高分遙感影像中對于村道的識別存在較多技術難點,同時村道與城市道路存在較大差異,這均使得面向農(nóng)村公路尤其是村道針對性地設計識別提取算法很有必要。為了解決上述問題,算法應重點加強對于高分遙感影像瓦片的全局特征感受能力,提供更多的上下文語義關系,同時提升魯棒性,以確保在路面邊緣位置受其他地物擾動的情況下仍能夠對路面進行有效識別。
U-Net 是基于FCN 架構的改進,屬于典型的“編碼-解碼”結構。網(wǎng)絡分為上采樣和下采樣兩個階段,與FCN相比,U-Net沒有采用全連接層,但在上采樣階段保留了大量通道,使上下文信息更容易向高分辨率傳播。U-Net 的一個顯著特點是采用了“跳躍鏈接”,在上采樣過程中直接將對應下采樣階段的圖像特征進行維度拼接,該環(huán)節(jié)使U-Net 更易捕捉上下文信息。U-Net 的編碼路徑與解碼路徑對稱,呈U形,如圖1所示。
圖1 U-Net神經(jīng)網(wǎng)絡架構
標準U-Net 架構進行4 次下采樣與4 次上采樣,能夠在網(wǎng)絡深度、參數(shù)數(shù)量等方面保持較好的平衡。不過,該架構的跳躍鏈接僅使用維度拼接的方法,并不能為上采樣階段提供理想的上下文語義關聯(lián),導致分割邊緣的微小擾動會對分割精度產(chǎn)生影響。
為了解決上述問題,進一步提升上下文語義的關聯(lián)性,分解出更詳細的語義特征,本文提出BFG-U-Net架構(如圖2所示),即在跳躍鏈接階段添加關注于全局圖像特征的BFG 模塊。BFG 模塊的加入能夠進一步提取每個下采樣層的特征圖,為對應上采樣提供更為豐富的上下文語義關系。圖2 中左側F0~F4 模塊對應U-Net 的卷積操作,右側F1~F4 模塊對應U-Net 的反卷積操作。上下行箭頭對應U-Net的最大池化及上采樣操作。
圖2 BFG-U-Net神經(jīng)網(wǎng)絡架構
BFG 模塊放置于第m級下采樣與對應上采樣階段的跳躍鏈接的中間環(huán)節(jié),由兩個平行的卷積層(Conv_ma,Conv_mb)及原下采樣特征圖Gm構成。BFG 模塊所在層級與對應卷積核尺寸之間存在線性關系,即層級越高,卷積核越大,具體為:
式(1)中:km_a,km_b表示Conv_ma,Conv_mb卷積層相互關聯(lián)的卷積核大??;m表示BFG 模塊所在的層級。
由圖2 可見,對于具有m個采樣層的BFGU-Net 而言,共 包含m-1 個BFG 模 塊。1 個標 準結構的BFG-U-Net 共具備3 個BFG 模塊。Conv_ma與Conv_mb層均采用ReLU 激活函數(shù),并與圖Gm在輸出階段進行維度拼接,拼接矩陣Cm在解碼階段的上采樣操作完成后與m層上采樣值F_m再次進行維度拼接。BFG模塊如圖3所示。
圖3 BFG模塊結構
所有的BFG 模塊共包含6 個卷積層。當BFG模塊所在層級分別為2,3,4(即m=2,3,4)時,BFG-U-Net 結構中每個卷積層的卷積核大小分別為:
BFG 模塊的維度拼接及BFG 模塊輸出結果Cm同m層上采樣維度拼接均采用Concatenate 函數(shù)。為使輸出特征圖尺寸與輸入相一致,BFG 模塊的卷積層均采用Padding操作。
BFG-U-Net 解碼階段沿用U-Net 的原有設計,上采樣采用Upsampling 函數(shù)。網(wǎng)絡輸出端采用1×1 卷積核實現(xiàn)圖像融合操作,同時為了將輸出值限制在0~1 之間,該卷積層的激活函數(shù)采用Sigmoid。
BFG-U-Net 按像素依次輸出圖像的歸一化數(shù)值作為預測結果,每個像素值在0~1 之間,經(jīng)數(shù)據(jù)空間拉伸為0~255(0~0xFF)色彩值。在拉伸操作前,設置閾值對像素值進行二值化操作以濾除部分噪聲。根據(jù)經(jīng)驗,將閾值設置為0.94,小于等于該值的認定為道路路面像素;大于該值的則認定為非道路路面像素。
本文基于BFG-U-Net 架構模型設計實驗,以評估算法性能(見圖4)。
圖4 實驗方案
原始影像瓦片與對應位置人工標注的影像標簽(Ground Truth,GT)成對配置,共同構成樣本數(shù)據(jù)集。BFG-U-Net 采用與U-Net 相同的二分類交叉熵作為損失函數(shù)L,如式(3)所示:
式(3)中:設(xi,yi)為成組配置的訓練樣本,其中xi為原始影像瓦片,yi為人工標注的與xi逐條對應的影像標簽;N為樣本量;ai為xi對應的BFG-U-Net 預測值。通過不斷減少ai與yi的差值,使預測輸出趨向于訓練目標。
Adam 因具有收斂速度快、計算效率高等優(yōu)點,故選擇其作為BFG-U-Net 的優(yōu)化器。優(yōu)化器學習率設置為10-4,批處理樣本大?。╞atchsize)設置為4,迭代周期(epoch)設置為200。
本文所用數(shù)據(jù)集共包含訓練樣本2 200 組,均為來自于交通運輸部高分交通數(shù)據(jù)中心及其他數(shù)據(jù)交換渠道[18]的亞米級高分遙感衛(wèi)星影像數(shù)據(jù)。將影像分幅制作為影像瓦片,主要分布于華東、華南及西南農(nóng)村地區(qū),以保證算法對不同區(qū)域的適用性。單幅瓦片覆蓋范圍為400m×400m,尺寸拉伸為640×640 像素。人工選取數(shù)據(jù)集原始影像瓦片并標注對應標簽。其中95%(共計2 090組)構成訓練集,5%(共計110 組)構成驗證集,訓練集與驗證集圖像無重復。在數(shù)據(jù)集外另行選擇了15 幅瓦片并進行人工標注作為測試集,以保證性能測試的獨立性。數(shù)據(jù)集的地形選擇較為廣泛,確保能夠覆蓋華東、華南、西南的典型地貌。
實驗環(huán)境基于TensorFlow-GPU,采用Python 3.6進行開發(fā);計算設備為NVIDIA Tesla V100。
本文采用圖像分割領域常用的交并比(Inter?section over Union,IoU)作為算法性能的評價指標。IoU 表示預測圖像與標簽的像素交集占預測圖像與標簽像素并集的比值。IoU 可通過統(tǒng)計像素i的值獲得,其中“邏輯和”操作以“∩”(交集)表示,“邏輯或”操作以“∪”(并集)表示,具體如下:
式(4)中:ai,yi意義同前。
除用本文算法外,同時使用相同數(shù)據(jù)集的U-Net 及Res-U-Net 進行訓練,且訓練集、驗證集比例與BFG-U-Net 保持一致,同為95%(2090組)與5%(110 組),分辨率為640×640 像素。訓練完成后,BFG-U-Net,U-Net 與Res-U-Net 采用相同的測試集進行道路識別和識別結果評估,并與真實值(Ground Truth)進行比較。測試集為另行選擇并人工標注的15組瓦片。
為能夠清晰地反映BFG-U-Net 相對其他網(wǎng)絡交并比的變化情況,本文以IoU(BFG-U-Net)為基準值計算了交并比的相對值,即計算了BFG-U-Net,Res-U-Net 及標準U-Net 交并比的相對變化值(見表1)。
表1 算法相對交并比
由表1 可見,BFG-U-Net 的交并比較之典型U-Net有所提升,較Res-U-Net有大幅提升。
測試集輸出經(jīng)二值閾值濾波并進行空間拉伸所得結果如圖5 所示,受篇幅限制選取其中5 組進行對比說明。
圖5 測試數(shù)據(jù)提取結果對比
(1)第1 組測試數(shù)據(jù)所在位置為華東地區(qū),影像中道路路面清晰,但存在一條未鋪裝路面的支線道路。在通村入組道路建設中部分路面并非硬化路面,因此算法若能夠對其正確識別,則面對農(nóng)村地區(qū)復雜路面時也能夠達到較高的識別精度。實驗表明,3 種算法均能識別主干道路,但Res-U-Net 僅能提取道路中心線,無法精確分離路面,從而無法滿足交通運輸主管部門掌握路面寬度的業(yè)務需求。BFG-U-Net 對主干道路路面識別的連續(xù)性以及對未鋪裝支線道路的識別比例均高于U-Net。
(2)第2 組與第3 組測試在秋季的西南部山區(qū)進行,地表顏色較夏季發(fā)生較大變化,同時浮云陰影導致同一路段的路面發(fā)生明暗變化??梢钥闯觯琑es-U-Net 對地形地貌的變化基本無法適應,識別精度較U-Net 與BFG-U-Net 大幅降低;U-Net 具備一定的適應能力,但對于路面明暗變化較為強烈的路段,仍有部分路面無法正確識別,導致路面中斷。相比而言,BFG-U-Net 在該區(qū)域仍然保持了較為理想的性能,僅有一處因道路急轉彎且跨越不同地貌、明暗同時發(fā)生變化而產(chǎn)生路面中斷,其余地區(qū)均保持連續(xù)。
(3)第4 組與第5 組位于華南平原與微丘地區(qū),路面情況相對復雜:影像中部分路面被植被遮擋但仍能夠判斷道路走向;部分路段因穿越耕地間裸露地表,導致影像中路面與路側裸露地表顏色過于接近,路面邊緣不清晰。實驗表明,Res-U-Net 僅能識別出清晰可見的路面,其他路段基本無法識別;U-Net 在路面被遮擋但仍可分辨走向的情況下可以識別出路面,但受裸露地表干擾,對穿越裸露地表區(qū)域的路段無法有效識別;BFG-U-Net 在林木遮蔽較為嚴重的路段仍能有效連續(xù)識別路面,同時裸露地表對道路識別精度的影響也相對較小。
經(jīng)對比分析發(fā)現(xiàn),交并比的提升并不能完全反映BFG-U-Net 的性能特點,詳細分析測試結果發(fā)現(xiàn),BFG 模塊提供了更為清晰連續(xù)的上下文語義,對路側地物產(chǎn)生的擾動具有一定的魯棒性,對路面具有更強的感受能力。相對其他網(wǎng)絡,BFG-U-Net 能更有效地識別農(nóng)村地區(qū)的硬化路面,產(chǎn)生的中斷相對較少,同時對通村入路組建設所需的未鋪裝道路也有一定的識別能力。不過,BFG-U-Net 也存在一定的不足,主要體現(xiàn)在對地物邊緣的變化過于敏感,導致地表顏色變化的邊緣、短距離裸露的地表也被零星識別,加大了后期數(shù)據(jù)處理與優(yōu)化的復雜度。
為驗證算法的實用性,對指定區(qū)域分瓦片識別并提取路網(wǎng)后進行了再拼接,選取河南省駐馬店市行政區(qū)劃內部分農(nóng)村區(qū)域來測試算法在不同地域的通用性。首先,將該區(qū)域已識別瓦片數(shù)據(jù)導入ArcGIS Desktop,調用相應的工具對提取結果進行矢量化。然后,基于ArcGIS Engine 對每個瓦片生成的矢量路網(wǎng)進行銜接,形成駐馬店市高分遙感影像路網(wǎng)提取矢量圖,部分區(qū)域截圖如圖6 所示??梢钥闯?,BFG-U-Net 在一定程度上可以有效識別該區(qū)域內的主要道路與良好可見的村內巷道,說明在用于農(nóng)村地區(qū)矢量路網(wǎng)地圖構建時,算法對道路的識別提取較為可靠,具有一定的實用性。
圖6 駐馬店市農(nóng)村地區(qū)矢量路網(wǎng)提取結果
本文針對農(nóng)村地區(qū)復雜的道路情況,研究了一種基于深度神經(jīng)網(wǎng)絡的農(nóng)村公路高分遙感影像提取算法,設計了編解碼結構間的跳躍鏈接模塊,為特征圖提供了更為詳細的全局信息與更為清晰的路線上下文語義關系。實驗表明,該算法能夠在一定程度上降低農(nóng)村地區(qū)常見的路面林木遮蔽、路面邊緣不清晰等異常干擾對識別精度的影響。不過,該算法對地表變化較為敏感,實驗中產(chǎn)生了少量誤識別小斑點,需要在后期處理過程中予以剔除。未來將在此基礎上,進一步提升算法性能,研究路網(wǎng)的后期優(yōu)化技術,以提升識別精度,為農(nóng)村公路建設管理提供更為精確的路網(wǎng)基礎數(shù)據(jù)。