佘佐明,申勇智,宋劍虹,向玉瑨
(貴陽市測繪院,貴州 貴陽 550000)
遙感衛星數據及分析解譯初級成果在自然資源部門及其他相關業務領域中需求逐漸加大,在住房建設、礦業監管、水土保持、生態修復、疫情防控等方面的應用十分廣泛。筆者所在單位自2021年11月,在衛星遙感解譯分析中開展了多個方面的研究與探索,包括地表礦區狀態信息發現、地表自然資源要素的變化監測、城市“熱島效應”,以及道路與水系等現狀要素的自動、半自動化提取等多個方面,通過解譯實現地表特征精細化量測及三維地物模型重建,更高效地掌握市區范圍的地表信息情況,建立解譯成果綜合數據庫,為下一步做好城市建設提供基礎數據支撐,為多類要素的快速查詢與分析提供科學依據。本文在道路要素自動化解譯過程中,利用機器學習、深度學習等人工智能技術,自動與半自動化提取地理實體、地理場景數據,并對數據進行優化處理,結合交通流數據完善道路等級屬性,實現地理實體的多粒度、多模態智能高效提取。
針對高分辨率遙感影像,人工解譯道路提取方法費時費力的問題,近幾年,利用深度學習提取地表各種矢量要素的方法大大提高了道路獲取和更新的效率[1],其中卷積神經網絡方法是最為熱門的。但方法中各個環節的模型參數具有較大的可變性,對于不同分辨率、不同矢量要素、不同地表紋理特征,這種參數的模型和參數具有一定的范圍適應性,通常為輸入源感知的網絡訓練模型[2-3]。通過建立貴陽市區域有代表性的影像道路樣本集,確定深度學習模型且通過模型學習獲得參數。
數據源樣本包括兩個影像集。一個為影像道路集,命名為GY_RoadSample,原始圖像分辨率為0.8 m,拍攝區域為貴陽市觀山湖公園周邊約10 km2范圍,采集時間為2021年11月,拼接后的影像尺寸較大。因大尺寸的訓練圖像在進行訓練時對硬件性能的要求較高,訓練耗時也將更長。因此在實踐中制作了標準尺寸的影像,將圖像切分成邊長為64×64、128×128、256×256、512×512、1024×1024像素等大小的圖像,作為訓練對象,每個訓練圖像標注時,將道路覆蓋的像素賦值為255,剩余區域賦值為0,通過這種方法制成了道路訓練Label集合[4-5]。考慮到多個試驗的驗證效率,試驗中使用了2173張訓練圖像和163張驗證圖像。另一個為一部分非正方形的影像道路集,命名為GY_RoadSet,單個文件原始尺寸為1900×2300像素,由709張訓練圖像和16張驗證圖像組成。為了防止在訓練過程中模型對某個特定區域的特征形成小范圍的適應性聚集的情況,所有原始圖像和標簽圖像均以隨機順序的方式排列,以降低試驗中有序樣本產生的影響[6]。
參考文獻[7—9]影像道路提取,在借鑒經典的卷積神經網絡(convolutional neural network,CNN)結構的基礎上設計了適用于貴陽市區域道路的識別模型。總體思路如圖1所示,在構建過程中,主要考慮池化方式的確定、激活函數對比、網絡深度優化和輸入尺寸選取4個方面的結果輸出、對比分析與參數調整。將之前建立的樣本數據集作為不同的數據源基礎,針對以上4個方面分別進行試驗驗證,根據各次試驗的最優結果選擇合理的運算模型,并進行參數集范圍的縮小與確定,最終形成適用于貴陽市區域的道路識別模型。試驗采取識別到單條道路即為該道路識別成功(不考慮形狀匹配)的判斷方式。

圖1 深度學習道路提取模型的分解過程
(1)池化方式的確定。在CNN中,池化的目標是降低特征的維度,且提取具有重要語義信息的特征。常用的典型池化方式有最大池化法和平均池化法。最大池化會忽視信息較少的特征,提取具有重點信息的特征作為輸出,從而達到關注重點特征的目的。當特征圖中的信息都比較重要時,平均池化能較平均地提取特征圖中的信息,較好地保留圖像的背景信息。由于道路形狀大都由線狀、面狀要素構成,與其他線狀要素相比,粗細寬度較均勻,在不考慮背景干擾的情況下,只提取線條特征,即值最大的像素點能代表臨近的特征,在訓練樣本GY_RoadSample網絡算法時采用最大池化進行特征提取。
(2)激活函數的選擇。深度學習模型結構中,神經網絡模型的任意兩層神經元之間通常存在一個激活函數,將線性輸入轉換為非線性輸入,使神經網絡逐步逼近非線性函數,從而擁有更強的特征表示能力。激活函數主要包含Sigmoid、Tanh、ReLU、LeakyReLU、RReLU、PReLU和ELU等。
在傳統的試驗中,大多采用應用廣泛的ReLU函數為激活函數。本文為了尋求最適合于貴陽道路網識別網絡的激活函數,綜合考慮準確率與計算量建立試驗,將各個激活函數分別應用于神經網絡中,卷積層數量設為16,數據集采用GY_RoadSample,挑選10個大類和113個小類的數據源輸入,將各次試驗獲得的分類準確率對比,結果見表1。對于采取的數據范圍,使用上述激活函數所得到的分類準確率均較高且差異較小,綜合評價最高的為LeakyReLU函數。

表1 激活函數對比試驗結果
最終獲得的激活函數準確率如圖2所示。圖中粉色與綠色的曲線分別代表LeakyReLU和ReLU激活函數,在測試過程中均獲得了非常高的分類準確率,且表現最穩定。綜合考慮推理時間和準確率,試驗將主要以LeakyReLU作為道路識別網絡的激活函數。

圖2 不同激活函數分類準確率對比
(3)網絡深度的選擇。針對道路識別中CNN網絡的識別結果與最優結果相差微小,考慮可能是由于層數少或經典CNN網絡模型規模較小的原因[10]。因此,為探究網絡深度對道路網絡識別產生的影響,在隱藏層中,分別采用卷積層不同的網絡層數進行試驗。以按每次9層的方式遞增設定網絡深度,分別為16、25、34、43及52層。試驗采用的數據集為GY_RoadSample,采用留出法對訓練集、測試集和驗證集的數量進行分配,比例為6∶2∶2,將劃分好的數據輸入到16、25、34、43及52層卷積層神經網絡中,將各次訓練的樣本批量數目Batchsize(單包大小)設置為16,結果見表2。可知,參與試驗的各種深度卷積神經網絡差距較小,均獲得了較好的識別效果,分類準確率均達99%以上,層數為16層時模型結果最優,在25個訓練周期時,分類準確率達99.73%。

表2 網絡深度對比實驗結果
如圖3所示,黑色曲線為16層時模型精度最高,結果表明,針對道路網絡的識別并不是網絡越深越好,隨著層數的增加,無論在測試集上還是驗證集上,分類準確率均存在下降的現象,反而卷積層數為16、25前后的神經網絡設計比較適合。

圖3 不同深度卷積神經網絡分類準確率對比
(4)輸入尺寸的選擇。將GY_RoadSample數據集按樣本數量隨機劃分為兩組:第1組數據的每個類別包含1000個樣本,地域無序排列;第2組數據的每個類別包含2000個樣本,地域無序排列。為了探討數據樣本數量及數據輸入尺寸對識別的影響,考慮設置32×32、64×64、128×128、256×256、512×512和1024×1024像素的幾種輸入尺寸。其中,256×256和512×512代表最接近真實原始數據樣本的分辨率。
采用的模型為15層的卷積神經網絡,數據集為GY_RoadSet,按6∶2∶2的比例將數據集劃分為訓練集、驗證集和測試集,將包大小(Batchsize)設置為16,學習率設置為0.001,采用LeakyReLU作為激活函數,訓練20、25、30個周期。通過測試,結果見表3。

表3 輸入尺寸對比試驗結果
結果顯示,雖然總體識別效果相差不大,但輸入尺寸對識別精度仍有影響,且1024×1024與64×64像素的輸入設置所得到的分類準確率均不是最高,證明針對該網絡并不是輸入尺寸越大或越小識別效果越好。由表2可知,尺寸為128×128與512×512像素輸入得到的相對準確率最高,顯示了以數據集平均寬高的尺寸作為輸入所得到的準確率最優。可將針對于識別網絡模型的輸入尺寸定為128×128像素。經過特征編碼后,可以得到較高級的特征圖像。
利用完成訓練的網絡模型進行道路提取,待預測數據采用數據源為:2020年1月至2021年9月時間段的北京二號、高分二號、高分七號、高景一號數據,其分辨率為0.8、0.8、0.65、0.5 m的貴陽市全域衛星遙感影像數據,覆蓋范圍為貴陽市主要區域,面積約為8500 km2,由貴州省自然資源衛星應用技術中心提供,數據經過輻射定標、大氣校正與正射校正、數據配準等預處理,且變化監測實施前的數據為具有相同的投影坐標系、不同時期的兩版鑲嵌影像數據。
為避免客觀因素干擾,通過CNN網絡模型實現貴陽市道路要素提取,采用硬件配置為:處理器為32核心英特爾處理器,主頻為2.16 GHz,型號為Xeon系列Silver 4216;內存為運行帶寬2400 MHz,共計256 GB;圖形硬件顯卡共計4個,型號為NVIDIA Quadro RTX 4000 8+128 GB。待提取影像數據為2020年1月至2021年9月,分辨率為0.8 m的貴陽市全域衛星遙感影像鑲嵌成果數據,覆蓋面積約8500 km2。將模型預測概率閾值設為0.35,并自動剔除50×50像素的碎小圖斑。
利用CNN網絡模型提取貴陽市道路要素,按照待提取影像規模,采用單節點4進程進行運算,提取效果部分展示如圖4所示。

圖4 道路要素提取過程中的原始影像與二值化結果
將自動提取結果與三調道路數據比對,提取匹配度較好。為驗證道路連通性及剔除碎小無效圖斑后結果,利用ArcGIS軟件進行道路中心線提取,如圖5所示。首先對道路矢量面數據進行柵格二值化,然后將道路與非道路重分類設置為0和1兩類。

圖5 道路柵格二值化結果和道路中心線矢量化結果
利用ArcScan工具條矢量化命令,選擇中心線矢量化方法,設置柵格參數,選擇在區域內部生成要素,即生成道路中心線。此方法提取的道路中心線整體完整度較好,但丟失部分屬性信息,同時由于原始矢量面數據與影像判讀的實際情況存在差異,部分高架橋、樓體樹木陰影、隧道、交叉路口等存在大量拓撲問題,需進一步優化處理。
使用CNN實現道路要素提取,從訓練的模型提取效果來看,使用卷積神經網絡所提取的道路線和面結果仍然存在一些結構和拓撲問題。主要表現為:原始數據質量問題,以及樣本數量和樣本覆蓋類別不夠,這使得影像道路識別難、準確性降低、泛化能力降低;車輛、綠化帶和建筑物的陰影與遮擋道路提取形成干擾、阻斷導致道路面出現碎小漏洞、縫隙等問題;河流、河堤、鐵路等線狀物體與道路的相似性也為道路提取制造了困難;道路中心線出現碎小短線未連接、道路交叉口、碎小支路等拓撲結構問題,如圖6所示。

圖6 提取道路要素存在的部分問題
針對使用CNN實現道路要素提取過程中出現的上述困難和問題,通過調整解譯輸入、參數設置結合算法模型等多種后處理技術手段,對道路要素幾何特征進行優化處理。
(1)對由于車輛、綠化帶和建筑物的陰影與遮擋道路提取形成的干擾、阻斷,導致道路面出現碎小漏洞、縫隙等問題,采用填補面洞的方式處理。
(2)利用ArcScan工具條矢量化命令,重新提取道路中心線,解決了由于干擾要素導致的零散道路中心線等存在的大量拓撲問題。
(3)通過優化算法模型進一步對道路中心線存在的其他拓撲結構問題進行優化處理。
通過算法模型的優化處理,解決了道路要素線和面存在的一些問題,如道路面縫隙、中心線零散、碎小面、道路中心線碎小短線、道路交叉口輪廓線抽稀等,如圖7所示。最終實現了基于CNN網絡模型對貴陽市道路要素的提取,并完成了幾何特征的優化,使得整體上視覺效果有所改善,達到了預期效果,如圖8所示。

圖7 道路要素優化處理前后效果對比

圖8 貴陽市道路要素提取成果
(1)道路提取時效性量化分析。為了驗證本次模型的時間效益,對本模型提取過程和成果進行量化分析,成果量化指標見表4。為了更加直觀地對模型提取結果進行分析,基于上述提取結果統計了模型運行各個步驟時的耗時情況,見表5。

表4 提取成果量化指標

表5 模型運行耗時情況
模型運行結果顯示,對于貴陽市特殊的地形地貌,能夠在98 986 s時間完成提取累計總長度約39 452.606 km的道路要素,綜合提取速度約為2.5 s/km。改進后的模型在滿足基本拓撲關系和道路匹配程度的要求下,在模型的算法優化上實現了較好的時效性,由試驗成果與整體耗時情況對比可知,本文提出的模型對于道路要素的自動化提取效率符合預期,相對于目視解譯的方式,極大地減少了人工采集的時間,為研究自動化提取地理實體提供了經驗基礎。
(2)道路幾何特征的準確性評價。經過對全市域遙感衛星影像的道路要素提取,選取部分重點區域作為樣本,以通過CNN提取的道路要素為試驗結果,將人工目視解譯判讀為驗證結果,對比基于深度學習神經網絡模型提取的要素與影像的套合程度,結果如圖9所示。

圖9 道路要素自動提取結果與人工采集數據匹配情況
對于不同的場景,基于神經網絡模型的全自動化提取結果并不相同。在主城區范圍內,針對城市主干道提取的結果,與影像道路邊界匹配度較高;而針對高架橋、隧道的提取結果,與影像道路邊界匹配度較低,部分道路缺失,且高架橋梁拓撲關系錯誤。在鄉村郊區范圍內,針對鄉村道路、林間小路的提取結果,其與影像道路邊界匹配度較高。道路被樹林覆蓋時,會導致道路面要素出現空洞、不連續、不規則等情況,需要后期進行優化擬合。
針對整體情況而言,通過深度學習技術進行道路提取的準確率約為80%(不完全統計)。完全使用全自動提取技術進行道路要素提取,受影像質量、時相、現實復雜情況等因素的影響,會導致精度不可控,仍然需要后續的人工干預及結果優化。此外,在道路要素特征的空間定義中,部分參數需要按照影像的不同差異進行針對性設置,真正的全自動化參數設置還有待深入研究。
針對貴陽市地域的道路特征,本文綜合考慮解譯過程中的準確性、運算能力及對貴陽市域環境的適應性,對深度學習神經網絡模型中的幾個環節進行了分解。通過多輪對比試驗與分析,建立了適用于貴陽市道路要素遙感影像自動提取的模型,并對批處理數據進行優化處理,結合人員參與完成部分道路屬性的完善工作,部分程度實現了道路實體的自動化智能高效提取。其中,涉及的現實問題與技術路線,可對市縣級衛星遙感應用技術部門開展的自然資源類業務工作提供參考。對于本文的成果,還存在一些不足,如在道路要素的準確度或精確度的評價上,還沒有建立科學的量化評價體系,目前還需要靠人工的方法判別和評價,下一步的研究方向將在道路的幾何特性上建立合理的評價體系,在屬性特征上,結合交通流量數據[11-12],實現道路屬性信息的動態更新機制。