謝天怡 梁曦文 徐 昇
(南京林業(yè)大學信息科學技術學院 南京 210037)
城市道路作為現(xiàn)代城市運輸系統(tǒng)中不可或缺的角色,作用于城市規(guī)劃、車輛導航、防災減災等多個領域。遙感圖像是城市道路信息的主要來源之一,空間分辨率越來越高的遙感圖像為獲取城市道路信息提供了一種快捷且經(jīng)濟的途徑?;诟叻直媛蔬b感圖像的道路信息提取對優(yōu)化道路運行管理機制、城市路網(wǎng)應急管理服務等方面有十分重要的意義。遙感圖像的道路信息提取方法可分為傳統(tǒng)方法和深度學習方法[1]。常見的傳統(tǒng)方法有模板匹配方法[2~5]、知識驅(qū)動方法[6~8]、面向?qū)ο蠓椒ǎ?~10]。而深度學習方法是現(xiàn)代研究中常用的道路提取方法,在國內(nèi)外專家的探索中,常見的方法有VGG模型、全卷積神經(jīng)網(wǎng)絡(FCN)[11]、DenseNet 網(wǎng)絡結構[12]、U 型結構的網(wǎng)絡結構(U-Net)[13]等。VGG 模型增加了網(wǎng)絡的深度和減小了卷積核的尺度,驗證了小尺寸的卷積核有著較大的優(yōu)勢;缺點是耗費更多計算資源,并且使用了更多的參數(shù),導致更多的內(nèi)存占用(140M)。全卷積神經(jīng)網(wǎng)絡(FCN)用卷積層替換了全連接層,不但更好地綜合了全圖信息而且提升了分割效率;缺點是訓練比較麻煩,得到的結果不精細,對圖像的細節(jié)不夠敏感。DenseNet網(wǎng)絡結構構建了從局部識別到全局感知的道路提取模塊,雖然可以很好地提高無遮擋道路的識別精度,但對于有著復雜背景下的道路區(qū)域識別效果較差。U 型結構的網(wǎng)絡結構(U-Net)在生物醫(yī)學圖像分割中有很好的表現(xiàn),數(shù)據(jù)增強使得只需很少的帶標注數(shù)據(jù),訓練時間短,是比較早的使用多尺度特征進行語義分割任務的算法之一;缺點是有效卷積增加了模型設計的難度和普適性等。
針對傳統(tǒng)道路提取方法效率低等問題,本文運用現(xiàn)有的PyTorch 深度學習框架,針對高分辨率遙感圖像城市道路網(wǎng)提取中,高分辨率圖像地物信息豐富、道路背景雜亂等問題,在原適用于醫(yī)學圖像分割的U-Net 模型基礎上進行改進。通過跨層連接操作將殘差模塊的輸入和輸出進行簡單的疊加求和,增加了反向傳播效率從而緩解梯度趨近于零的問題。使新模型能夠在彌補U-Net 模型增加深度時產(chǎn)生的梯度彌散問題的同時,推動圖像的精細化分割,提升網(wǎng)絡計算效率。同時在兩個不同的數(shù)據(jù)集上對改進模型進行測試實驗,以驗證本文方法的性能,并與其他算法進行了比較。
常用的CNN 方法[14]處理高分辨率遙感圖像地物信息復雜精細,并且采用U-Net模型可以擴充層數(shù)增大感受野,但是簡單的增加網(wǎng)絡模型深度效果并不是很理想,不僅會出現(xiàn)梯度更新失敗,還會給模型訓練增加難度。針對于此,本文在卷積神經(jīng)網(wǎng)絡(CNN)的基礎上選用U-Net 模型進行改進,使用ResNet50殘差模塊替換原模型的卷積部分,在增大原始網(wǎng)絡感受野的同時增加網(wǎng)絡的非線性擬合能力,更好地應用于圖像語義分割。
2.1.1 U-Net模型
U-Net 模型是由Ronneberger 等在2015 年 基于FCN 模型的基礎上提出的一種呈對稱的U 型結構的網(wǎng)絡結構,其結構圖呈現(xiàn)U字形。其中左側的編碼器是由VGG16網(wǎng)絡構成,右側的解碼器部分由8層卷積層整合特征信息,對應編碼器中的下采樣操作,解碼器階段結束每次的上采樣運算后都能夠在通道維度上鏈接到編碼器階段產(chǎn)生的特征圖,從而實現(xiàn)精密分割提高準確率。目前,U-Net 模型中的激活函數(shù)常用的是ReLu 函數(shù),主要作用在隱層神經(jīng)元輸出方面。此模型最初應用于醫(yī)學圖像分割,對于醫(yī)學影像中小樣本數(shù)據(jù)的訓練效果較好。除此之外在網(wǎng)絡訓練過程中U-Net 模型針對類似生物細胞圖像的提取目標時,添加交叉熵損失函數(shù)來彌補訓練數(shù)據(jù)集中每個類別像素的出現(xiàn)頻率。U-Net 模型對于高分辨率的圖像分割效果較好,所以本文將其應用到高分辨率的遙感圖像道路網(wǎng)提取中。
2.1.2 ResNet50網(wǎng)絡
本文的主干網(wǎng)絡選用的是ResNet50 網(wǎng)絡,包含了49個卷積層和1個全連接層,按順序可以劃分為5 個階段:stage1、stage2、stage3、stage4 和stage5。如圖1 所示,其中CONV 為卷積層所處階段為stage1,在這一階段對應有批量正則化處理、激活函數(shù)以及最大池化操作[15]。Stage2至stage5代表殘差塊,每塊中又分別由3、4、6、3小塊組成。
圖1 ResNet50網(wǎng)絡結構圖
本文的研究對象為高分辨率遙感圖像,這有可能會導致出現(xiàn)分辨率過高使得無關背景信息過多以及其他干擾問題。而傳統(tǒng)的U-Net 模型在處理一些較大數(shù)據(jù)集或一些特征復雜度較高的圖像時,解碼部分和編碼部分不能很好地提取圖像細節(jié)特征。所以本文引入的殘差網(wǎng)絡不僅能保證自身最優(yōu)性能,還在此基礎上不斷地加深網(wǎng)絡層數(shù),在不會犧牲準確率的前提下,達到學習更隱秘特征的目的。其次,殘差連接還能夠有效解決在U-Net模型中增加模型深度時的梯度彌散問題。除此之外,殘差連接能在模型反向傳播時讓梯度更快地傳播到淺層部分,減少過擬合情況,在不額外增加多種參數(shù)的情況下保證較小的網(wǎng)絡內(nèi)存消耗,較大提升了網(wǎng)絡的計算效率。所以本文在原始U-Net模型上,選用較為成熟的ResNet50 替換原始的卷積結構。該改進結構能夠使網(wǎng)絡模型更加容易優(yōu)化,提取的特征更抽象且更具有語義信息,能夠提高網(wǎng)絡模型的泛化能力[16],旨在推動圖像的精細化分割,滿足網(wǎng)絡結構的設計原則。
改進后的網(wǎng)絡模型結構如圖2 所示,整體的結構仍然是U 型結構,同基礎的U-Net 模型一樣,左邊為編碼器部分,右邊為解碼器部分。其中編碼器部分采用了ResNet50 殘差模塊替代原始U-Net 模型中的后兩層卷積結構。在橫向和豎向方向上添加了跨層跳躍連接,增強了語義表征能力。
圖2 U-Net+ResNet50網(wǎng)絡結構示意圖
上述的一個殘差塊,具體如圖3 所示。圖3 包含3 個卷積層,其中第一個1×1 的卷積起到了通道降維的作用[17]。然后再通過1×1卷積恢復,通過殘差映射的方式分別計算最后疊加作為該殘差塊的輸出。這樣做可以減少計算時間和參數(shù)量[18],保證每個卷積層提取的特征能夠被充分利用。
圖3 殘差塊示意圖
圖中,x 為上一層的輸出;y 是經(jīng)過殘差塊處理得到的結果。公式為
模型中運用的ReLU函數(shù)是目前應用最廣泛的激活函數(shù)。相較于其他激活函數(shù),該函數(shù)有著更快的收斂速度,因而能更好地解決梯度消失問題并降低網(wǎng)絡計算復雜度。其函數(shù)公式可以表示為
損失函數(shù)[19]能夠比較模型網(wǎng)絡預測結果和真實數(shù)據(jù)間的差異大小,根據(jù)其結果可以判斷出模型的好壞程度,并且能夠通過誤差的反向傳播算法進一步地優(yōu)化網(wǎng)絡的參數(shù),使模型網(wǎng)絡達到最優(yōu)狀態(tài)。損失函數(shù)是深度學習模型網(wǎng)絡設計中很重要的一步,常用的有對數(shù)損失函數(shù)、MSE 平方損失函數(shù)和交叉熵損失函數(shù)等,本文是基于高分辨率遙感圖像的城市道路網(wǎng)提取,在語義分割中屬于端到端的類型,交叉熵損失函數(shù)本質(zhì)上是對數(shù)似然函數(shù),可以用于二分類或多分類的任務中,并且當模型中的激活函數(shù)為Sigmoid 函數(shù)時,它還可以解決權重更新過慢的問題。
道路信息提取屬于二分類問題,所以本文在改進模型損失函數(shù)這方面選用二值交叉熵損失函數(shù),二分類模型只涉及正反例,只需要預測一個概率,具體如式(3)、式(4)所示,其中N是總的樣本數(shù)量。
其中M是Sigmoid函數(shù),y∈[0,1]。
3.1.1 高分辨率數(shù)據(jù)集介紹
實驗使用馬薩諸塞州數(shù)據(jù)集和南京玄武湖附近路段數(shù)據(jù)集。其中,公開的馬薩諸塞州道路數(shù)據(jù)集是由1171 張大小為1500×1500 像素的分辨率為1m 的遙感圖像組成,該數(shù)據(jù)集涵蓋城市、郊區(qū)和鄉(xiāng)村地區(qū),總面積超過2600km2。由于自身電腦的運算能力有限,需要將1500×1500 的遙感圖像裁剪至256×256 大小。由于在數(shù)據(jù)集下載過程中,有部分圖像被損壞,除此之外,得到16800 張圖像作為數(shù)據(jù)集,并將其按2:8 的比例分割驗證集與訓練集,不單獨劃分測試集。而玄武湖附近道路數(shù)據(jù)集由4 張10000×8000 像素的高分辨率南京玄武湖附近道路遙感圖像組成。與馬薩諸塞州溫帶大陸性氣候不同,南京市位于亞熱帶季風氣候區(qū),植被茂密。此地點又位于南京市老城區(qū),由于人們的居住習慣,居民區(qū)分布較為密集。因此圖像中道路背景信息復雜且整張圖像較大,挑選主要道路部分裁剪出16 張大小在512×512 以內(nèi)的圖像。此數(shù)據(jù)集將用作模型的補充測試集,用于評價改進的模型。
3.1.2 基于深度學習的語義分割流程
基于深度學習的語義分割流程一般可以分為三個階段,數(shù)據(jù)預處理、模型訓練以及測試驗證,具體流程圖如圖4 所示。若是數(shù)據(jù)樣本較少時,要保證訓練效果就需要在數(shù)據(jù)預處理階段擴大樣本容量,常用方法有對圖像進行旋轉(zhuǎn)(90°、180°、270°)、水平鏡像、垂直鏡像等,本文馬薩諸塞州道路數(shù)據(jù)集在裁剪時獲得較多樣本,遂不需再擴充樣本容量了。模型訓練階段能夠通過反向傳播模型損失函數(shù)的誤差來更新優(yōu)化網(wǎng)絡的參數(shù),為的是讓模型能夠達到最優(yōu)狀態(tài)。利用測試數(shù)據(jù)集和驗證數(shù)據(jù)集來衡量模型的相關性能和分類能力。
圖4 圖像語義分割流程圖
本文模型結合了U-Net 模型和ResNet50 殘差模塊的優(yōu)點,與原始卷積結構相比,ResNet50 殘差模塊將特征提取利用最大化,并且此模型采用了二元交叉熵損失函數(shù)來加強網(wǎng)絡的訓練。因為馬薩諸塞州道路數(shù)據(jù)集內(nèi)容較豐富,在其中可以找到不同道路場景,比如說簡單的道路場景,在這種場景中道路常常是穿過農(nóng)田或郊區(qū),并沒有很多建筑物或者其他遮擋物,除此之外,本文主要研究城市道路網(wǎng)的提取。所以馬薩諸塞州數(shù)據(jù)集結果展示部分挑選了具有代表性的簡單道路場景、復雜道路場景以及城市道路網(wǎng)場景,結果如下。
在圖5 中,簡單道路場景下,主干道路提取結果清晰又連貫,但是在圖的右側有錯分現(xiàn)象。在圖6 中,圖像整體道路情況較為清晰,道路與非道路信息差別明顯,但是在原始圖像左下角和右上角出現(xiàn)了房屋陰影遮擋問題,導致該處的道路提取結果不連續(xù)。圖7 中城市道路網(wǎng)場景下的道路提取結果較為連貫,整體來說改進模型作用于此數(shù)據(jù)集是有效的。
圖5 簡單道路場景下道路提取結果展示
圖6 復雜道路場景下道路提取結果展示
圖7 城市道路網(wǎng)場景下的道路提取結果展示
南京玄武湖附近道路數(shù)據(jù)集分辨率較高,地物信息龐大,且道路本身車道,公共交通等指示線和道路上的車輛較多。圖8 中展示了簡單道路場景下的道路提取結果,對于主干道部分提取,除了指示線部分提取的結果較為連續(xù)。此數(shù)據(jù)集區(qū)域的道路本身屬于城市道路網(wǎng)場景下的,為了排除車輛因素影響,圖9 中的原始圖像截取原遙感圖像中道路上車輛少的部分,道路提取結果較為連續(xù)。圖10 中原始圖像在道路右側有明顯的建筑物和樹木的影子遮擋,但是提取效果仍是不錯的,只是部分出現(xiàn)了不連續(xù)現(xiàn)象。如圖11 所示,當遙感圖像道路上出現(xiàn)大量車輛時,效果是不理想的,與圖片右上角小路對比十分明顯,即使主干道路寬較寬,有車輛遮擋部分的道路提取是不連續(xù)的。
圖8 簡單道路場景下道路提取結果展示
圖9 道路車輛較少路段道路提取結果展示
圖10 陰影遮擋路段道路提取結果展示
圖11 車輛較多路段道路提取結果展示
3.3.1 實驗評價
圖像標簽數(shù)據(jù)為二值化圖像,將道路部分像素值標記為1,非道路部分標記為0,TP指的是在模型預測為正樣本,本身就是正樣本的數(shù)據(jù),即預測值為1,實際值為1。FP指的是在模型預測為正樣本,但實際是負樣本的數(shù)據(jù),即預測值為1,實際值為0。TN 指的是在模型預測為負樣本,本身就是負樣本的數(shù)據(jù),即預測值為0,實際值為0。FN 指的是在模型預測為負樣本,但實際是正樣本的數(shù)據(jù),即預測值為0,實際值為1。本文采用二分類問題常用的混淆矩陣式的評估指標即準確率P(Precision)、召回率R(Recall)、精度A(Accuracy)來評估模型性能,具體如下。
準確率P 就是用來評價模型算法中能夠檢查出來的正樣本的比例,具體公式如下:
召回率R 可以用來評價模型算法的能預測正確樣本的能力,在一定程度上可以反映模型性能的好壞,具體公式如下:
精度A 是將正樣本和負樣本全部預測正確的樣本與全部樣本預測的結果進行比值,具體如下:
本文模型為U-Net+ResNet50 模型,因馬薩諸塞州道路數(shù)據(jù)集的數(shù)據(jù)較完善,以在此數(shù)據(jù)集上的實驗數(shù)據(jù)為準,計算結果如下表1 所示,經(jīng)計算模型P 值約為0.8,R 值約為0.75。賀浩等[20]得出U-Net模型在馬薩諸塞州道路數(shù)據(jù)集上的P 值和R值分別為0.54 和0.63。王曉霏等[21]提出了一種結合拓撲結構和全局上下文感知的聚合網(wǎng)絡(TGCA-Net)無人機影像道路提取方法,模型在馬薩諸塞州道路數(shù)據(jù)集上的P 值和R 值分別為0.67 和0.75。結果表明該模型對于道路提取是有效的,通過對比證明本文應用的模型具有良好性能。
表1 模型在馬塞諸塞州道路數(shù)據(jù)集上的比較
3.3.2 成果分析
本文使用的U-Net+ResNet50 模型應用于道路提取是有效的,在馬薩諸塞州道路數(shù)據(jù)集上的應用效果較佳,對于分辨率更高的玄武湖附近道路數(shù)據(jù)集,由于兩地本身地理環(huán)境、城市規(guī)劃等相差較大,玄武湖附近的道路更寬、車道更多,由于圖像拍攝時間不佳,太陽照射地物產(chǎn)生的陰影較多,除此之外,道路上的車輛也對道路提取造成了較大的困難,在此數(shù)據(jù)集上提取結果就出現(xiàn)了不連續(xù)現(xiàn)象。就3.2 節(jié)中展示的部分實驗數(shù)據(jù)成果,計算出其道路提取的精確度如表2 所示,圖5~圖8 屬于馬薩諸塞州道路數(shù)據(jù)集,圖9~圖11 屬于玄武湖附近道路數(shù)據(jù)集。
表2 部分實驗數(shù)據(jù)精度展示
模型在兩個數(shù)據(jù)集的簡單道路場景下的實驗結果都是較為連續(xù)的,圖5 精度為100%、圖8 精度為83%,而在城市網(wǎng)道路場景下,玄武湖附近道路數(shù)據(jù)集實驗的效果不如馬薩諸塞州道路數(shù)據(jù)集實驗效果好,從圖9 精度為90%、圖10 精度為84%可以推斷出,對于被陰影遮擋路段,本文改進的模型提取的結果只是部分出現(xiàn)不連續(xù)現(xiàn)象,而對于道路上車輛較多路段,提取結果出現(xiàn)的不連續(xù)現(xiàn)象更加嚴重。但是總地來說,本文模型對于高分辨率遙感圖像城市道路網(wǎng)提取的精度有一定的提高。
本文主要針對經(jīng)典模型對于高分辨率遙感圖像城市道路信息提取中存在的不足,提出了U-Net+ResNet50 方法。該方法能夠增加原有模型感受野并解決梯度彌散問題,從而增加網(wǎng)絡深度來提取目標的深層特征。同時,能夠推動圖像的精細化分割,提升網(wǎng)絡計算效率。從不同的數(shù)據(jù)集中獲得的實驗結果來看,改進后的模型對于高分辨率遙感圖像城市道路網(wǎng)的提取是有效的。其中,基于馬塞諸塞州道路數(shù)據(jù)集,本文的改進模型提取結果的準確率為約為0.8,召回率約為0.75。結果好于早期的U-Net 模型和近期學者提出的改進TGCA-net模型在馬薩諸塞州道路數(shù)據(jù)集上的提取結果。
但是本文模型提取結果的準確率依然存在著一定的提升空間,比如在提取道路遮擋物較多的玄武區(qū)附近道路數(shù)據(jù)集時效果不佳。后續(xù)研究中,可以結合更多的道路特征以及優(yōu)化參數(shù)來進一步提升模型的準確率;另外還可以選取國內(nèi)其他城市的相關道路數(shù)據(jù),以此增強模型的泛化能力。除此之外,多種地物提取也是未來研究的一個方向。