張新華,黃夢醒,張 雨,李玉春,單怡晴,馮思玲
(1.海南大學 計算機與網絡空間安全學院,海口 570228;2.海南大學 信息與通信工程學院,海口 570228)
道路是影響自動駕駛技術的重要因素,道路的精確度影響地圖的準確性,但是由于社會的快速發展,道路規劃的頻率也越來越快[1-3]。目前獲取道路的方式有:使用車載激光掃描設備,通過遍歷掃描信息的方式獲取路面信息,但是人力物力耗資巨大;使用航空或者衛星圖像,通過技術方法獲取道路信息,能夠節省大量的人力和時間[4-6]。
近年來,深度學習在計算機視覺、圖像分類及圖像分割等領域取得重大的成果。深度學習特殊的網絡結構可以通過神經元將提取的特征值傳遞,每一層對上一層傳遞的特征再進行提取學習繼續傳遞,從而提取最優的特征值[7-9]。在圖像語義分割領域的方法包括AlexNet、FCN、U_Net、SegNet以及ResNet。AlexNet實現了在卷積神經網絡(Convolutional Neural Network,CNN)中成功應用ReLU、Dropout 和LRN(Local Response Normalization)等Trick[10];FCN 將AlexNet、VGG 全連接層改為卷積層,FCN[11]下采樣對圖像進行特征提取,對上采樣進行反卷積,保證輸出圖像和輸入圖像大小相同;NOH[12]等在FCN 網絡架構的基礎上,提出學習一個多層反卷積網絡代替簡單的雙線性插值;BADRINARAYANAA 等[13]提出SegNet 基于編碼器-解碼器架構,卷積層和池化層組成了編碼器,卷積層和上采樣層組成了解碼器。編碼器的作用是提取特征圖像,解碼器的作用是將特征圖像返回到和輸入圖像大小一致。
SegNet 與反卷積網絡相同點是網絡結構相似,不同點是SegNet 去除了網絡中間的2 個全連接層,并采用Batch Normalization 方法和Softmax 分類器;SegNet的優點是效率高、消耗內存少,缺點是精度不高;FCN和SegNet 網絡中引入池化層,優點是在減小圖像大小的同時增大感受野,缺點是部分位置信息丟失。
YU 等[14]設計一種專用于圖像像素預測的網絡,該網絡不包含池化層,并且卷積層采用擴張卷積。該網絡的優點是擴張卷積增大卷積核的感受野,可以將捕獲的圖像多尺度上下文信息融合,提高像素預測的準確率。
ResNet[15-16]殘差網絡內部的殘差塊使用跳躍連接,優點是減少隨著神經網絡深度增加引起的梯度消失問題。RONNEBERGER 等[17]提出的U-Net 網絡,利用編碼器與解碼器之間的級聯操作將圖像高層信息與淺層信息融合,優點是避免高層語義信息的丟失,盡可能性地保留圖像特征。深度學習可以通過計算機實現目標對象的分割和提取,并且通過特殊的網絡模型學習較低層次和較高層次的特征,具有較高的學習效率[18]。深度學習對圖像特征要素的分割,可以通過大量的數據實驗取得較好的實驗效果。因此,可利用深度學習算法對衛星圖像道路分割提取特征圖。
針對道路分割時存在混淆和識別不清等問題,本文在U_Net 基礎上,提出一種基于密集連接塊[19]、ASPP[20]和CBAM[21]的衛星道路圖像語義分割算法。在融合圖像特征信息時通過注意力監督機制輸入圖像特定部分,以提高衛星圖像道路分割的精確度。
考慮到U-Net 網絡在圖像語義分割和密集連接網絡方面的優越性,本文構建基于U-Net 結構的道路語義分割模型。其網絡結構由編碼器、解碼器、密集連接模塊、ASPP 和CBAM 組成。
1)編碼器部分。包括密集連接模塊和最大池化層。密集連接模塊通過卷積層來提取圖像的語義特征,最大池化層對圖像的特征信息進行下采樣操作。
2)密集連接模塊。對上一層的圖像特征再利用;引入ASPP 增加圖像特征信息的感受野,提高圖像特征的魯棒性;引入CBAM 在學習深層次的特征信息時進行注意力監督,可有效提取道路要素的特征信息。
3)解碼器部分。包括密集連接模塊和反卷積層。反卷積層對圖像特征信息進行上采樣操作,使得輸入圖像和輸出圖像大小不變。
算法實現過程包括網絡設計、網絡搭建、獲取數據、對數據進行預處理和擴大數據[22]。算法流程如圖1所示。

圖1 本文算法流程Fig.1 Procedure of this proposed algorithm
本文網絡結構在原始U-Net 網絡基礎上引入密集連接模塊、ASPP 和CBAM 模塊。其網絡結構如圖2所示。

圖2 本文模型網絡結構Fig.2 Network structure of proposed model
輸入圖像大小為480×480,密集連接模塊包括2 次卷積和2 次特征融合,圖像大小保持不變為480×480。經過最大池化層,圖像大小為原來的1/2,即240×240。將密集連接模塊和最大池化操作記為1 個操作單元。然后進行3 次操作單元,圖像大小變成30×30 的特征圖。在對特征圖進行反卷積(上采樣)前引入ASPP 和CBAM,ASPP 可以融合更深層次的圖像細節信息;CBAM 不影響特征圖的大小,網絡學習將通道和空間注意力模型的特征圖和權重圖點乘融合,然后將融合后結果圖輸入到反卷積層(上采樣)中。在上采樣時進行反卷積,圖像大小擴大為2 倍,即60×60,再經過密集連接模塊,圖像大小仍為60×60。最后進行3 次操作單元(上采樣與密集連接模塊),圖像大小恢復為480×480。本文算法模型中各層的參數設置如表1 所示。

表1 網絡各層的參數設置Table 1 Parameter settings of each layer of the network
1.2.1 密集連接
在深度學習網絡中,隨著網絡深度的加深,梯度消失問題會愈加明顯,本文參考DenseNet 中密集連接的概念,引入密集連接模塊。在保證網絡中層與層之間最大程度信息傳輸的前提下,將所有層連接起來。為能夠保證前饋的特性,每一層將之前所有層的輸入進行拼接,之后將輸出的特征圖傳遞給之后的所有層。
操作過程為:輸入圖像大小為480×480,密集連接模塊包括2 次卷積和2 次特征融合,卷積核的大小為3×3,步長為2,卷積核的個數為64;經過4 次密集連接模塊和池化操作后,得到30×30 大小的特征圖。密集連接模塊如圖3 所示。

圖3 密集連接模塊Fig.3 Densely connected modules
每個卷積層與激活函數之間添加批量歸一化層(Batch Normalization,BN),即在每次隨機梯度下降時對每個批處理的數據做歸一化操作,使得輸出特征圖中每個通道數據的均值為0,方差為1,減少了網絡學習過程中梯度消失的問題,引入ReLu 激活層對特征進行激活。
1.2.2 空洞空間金字塔結構
在上采樣前引入帶有空洞卷積的空間金字塔結構(ASPP)。空洞空間金字塔結構基本要素是不同擴張率的空洞卷積。空洞卷積的優點是:在不增加參數的情況下,增大卷積核的感受野,在下采樣不損失信息的情況下,卷積輸出范圍更大的空間信息使得網絡保留了更多的圖像特征。本文的空洞卷積的卷積核為3×3,擴張率為2、4、8、16 的空洞卷積替換了原來的普通卷積,使得該模型分割道路圖像更加清晰,如圖4 所示。

圖4 空洞卷積模型Fig.4 Dilated convolution model
ASPP 對輸入的特征圖進行6 次卷積操作。第1次卷積:卷積核大小為1×1;第2 次~第5 次卷積為:卷積核大小為3×3,擴張率為2、4、8、16 的空洞卷積替換了原來的普通卷積,獲得多尺度特征信息。引入平均池化,對輸入的特征圖進行全局均值池化后,將特征圖送入大小為1×1 卷積核,使用BN 操作和上采樣到圖像原始大小。然后將融合6 個多尺度的特征圖送入大小為1×1 卷積層中,最后將輸出特征圖送入到注意力機制模型中。ASPP 網絡結構如圖5所示。

圖5 ASPP 網絡結構Fig.5 ASPP network structure
1.2.3 注意力機制模塊
在ASPP 后及上采樣前引入CBAM,CBAM 模塊(包括通道注意力和空間注意力2 個子模塊)如圖6、圖7 和圖8 所示。

圖6 注意力模型總體結構Fig.6 Overall structure of attention model

圖7 通道注意力子圖Fig.7 Channel attention subgraph

圖8 空間注意力子圖Fig.8 Spatial attention subgraph
輸入特征圖經過通道注意力子模塊和空間注意力子模塊后,將2 個子模塊輸出結果相乘后的特征圖送入編碼階段進行上采樣。CBAM 通過空間和通道學習更深層次的特征信息時進行注意力監督,可以有效提取道路要素的特征信息,其實現過程如下:

其中:F經過通道注意力模塊和空間注意力模塊操作后的特征圖分別為F′和F″;?表示逐元素相乘。
通道注意力模塊實現過程為:對輸入特征圖F進行全局平均池化(AvgPool)和全局最大池化(MaxPool),結果分別為a1、b1,然后將a1、b1通過多層感知機(Multi-Layer Perceptron,MLP)得到特征要素A、B相加得到C1;通道注意力特征是C1與F融合的結果。運算過程如下:

其 中:W0和W1為MLP 的兩層參數;σ為sigmod 激 活函數;W0需要使用Relu 函數激活。
空間注意力模塊實現過程為:對輸入特征圖進行平均池化和最大池化的結果為a2、b2,然后將a2和b2融合進行3×3 卷積操作得到特征圖C2;空間注意力特征是C2與F融合的結果。運算過程如下:

其中:f表示3×3 卷積操作。
本文對獲取的衛星道路圖像信息優化,淘汰不存在道路要素的圖像。OpenStreetMap 首先根據經緯度截取道路圖像的坐標值,然后根據端點坐標數據定位在Mapbox 中相應的位置,使用Labelme 對數據進行標注。為解決獲取的圖像尺寸不同、圖像內容不清晰、數據量較大、訓練速度慢等問題,將截取的圖像通過預處理調整大小為480×480,提高模型的訓練速度[23]。本文采用隨機翻轉、圖像加噪、增加圖像亮度等方法來增強數據,避免網絡出現過擬合現象,更好地訓練網絡模型[24]。衛星道路圖像預處理過程如9 所示。

圖9 數據預處理過程Fig.9 Data preprocessing process
將每張衛星道路圖像的像素點分為3 類,如表2 所示。實驗數據、實驗環境和參數的設置如表3 所示。

表2 語義分割類別Table 2 Semantic segmentation categories

表3 參數設置Table 3 Parameter settings
采用準確率(Accuracy)、召回率(Recall)和精確率(Precision)3 個性能指標對本文算法分割效果進行評估[25]。U-Net 和本文算法在訓練過程中精準率和損失函數分析結果如圖10、圖11 所示。

圖10 網絡訓練階段精度比變化Fig.10 Accuracy ratio change of network training

圖11 網絡訓練階段Loss 變化Fig.11 Loss changes of network trainingstage
從圖10 可以看出:在訓練過程中經過20 輪迭代,本文算法的準確率永遠高于U-Net,證明本文算法分割道路圖像的可行性。
從圖11 可以看出:在訓練過程中經過20 輪迭代,U-Net 的損失曲線永遠高于本文算法,本文算法的損失曲線比U-Net 提前達到穩定值,損失值越小,表示模型的擬合效果越好;損失曲線越光滑,表示模型的魯棒性越強;根據曲線變化可得本文具有較高的魯棒性。
實驗1研究不同改進策略對道路圖像語義分割性能影響。實驗結果如表4 所示,其中粗體為最優值。

表4 不同策略的結果對比Table 4 Results comparison of different strategies
從表4 可以看出:在U-Net 基礎上分別引入密集連接模塊、ASPP 和CBAM,準確率分別提升了0.2、0.3 和0.4 個百分點,召回率分別提升了0.3、0.5 和0.9 個百分點,精確率分別提升了0.3、0.2 和0.3 個百分點。通過性能指標結果可得:引入密集連接模塊、ASPP 和CBAM 能夠有效利用圖像上下文信息,提升網絡模型的性能。特別是在下采樣時引入密集連接模塊可以保留更多的圖像信息,圖像分割結果的精確率達到95.5%。實驗結果如圖12 所示。

圖12 不同改進策略實驗結果Fig.12 Experimental results of different improvement strategies
從圖12 可以看出:在U-Net 網絡基礎上分別引入密集連接模塊、ASPP 和CBAM 分割的道路元素比原始的U-Net 更清晰,但仍存在道路線和道路面分割中斷和未分割的情況,說明分別引入3 種不同的改進策略對道路元素的分割存在缺陷,對道路元素分割的準確性仍需要提高。
實驗2研究不同改進策略相互結合對道路圖像語義分割性能影響。實驗結果如表5 所示,其中粗體為最優值。

表5 不同改進策略結合的結果對比Table 5 Results comparison of different improvement strategies combining
從表5 可以看出:在U-Net 模型中引入密集連接模塊、ASPP 和CBAM,任意兩者結合,準確率、召回率和精確率都比分別引入3 種改進策略有所提高。實驗結果表明,同時結合3 種改進策略的準確率、召回率和精確率具有更優異的表現,驗證了本文算法的有效性。特別是在U-Net 引入密集連接模塊的基礎上再分別引入ASPP 和CBAM 后,準確率比U-Net引入密集連接模塊提高了0.3 和0.4 個百分點。實驗結果如圖13 所示。

圖13 不同改進策略相結合的實驗結果Fig.13 Experimental results of different improvement strategies combining
從圖13 可以看出:將改進策略相互結合更大限度地讀取了圖像的特征信息,提高道路圖像語義分割的結果,但仍存在對部分道路線元素分割能力較差。根據實驗結果對比可得,U-Net 結合ASPP 和CBAM 模塊對道路語義分割效果更佳,原因是ASPP融合多尺度的圖像特征信息,而且CBAM 提高網絡對目標區域的關注。在此基礎上本文算法同時結合3 種改進策略,能夠清楚地分割出道路線、道路面和背景,尤其是提高道路線的分割準確性更為明顯。
實驗3研究空洞卷積擴張率對算法性能的影響。本文研究在ASPP 模塊中采用正常卷積和空洞卷積對道路語義分割結果的影響。實驗結果如表6所示,其中粗體為最優值。

表6 空洞卷積擴張率對網絡性能的影響Table 6 Impact of the dilated convolution expansion rate on network performance
從表6 可以看出:正常卷積(C1)在一個小區域內獲取圖像特征信息,分割效果較差;空洞卷積(C2,C3,C4)在不增加參數的情況下,增大卷積核的感受野,卷積輸出范圍更大的空間信息,使得網絡保留了更多的圖像特征。因此,采用空洞卷積的分割效果要優于正常卷積。為驗證擴張率對網絡性能的影響,ASPP 采用不同擴張率組合。實驗結果表明,隨著擴張率的增加,語義分割的準確率、召回率和精確率均有所提高。但是當空洞卷積為C4 時,圖像特征信息的關聯性減弱,降低了分割效果。因此,本文采用ASPP 空洞卷積的擴張率為2、4、8、16。
實驗4研究本文算法在速度方面的對比實驗。實驗結果如表7 所示,其中粗體為最優值。

表7 本文算法速度對比Table 7 Comparison of algorithm speed in this paper
當訓練樣本為1 057 張圖像時,本文算法的訓練時間比U-Net 多0.51 h,驗證速度慢2.19 frame/s,測試速度慢0.64 frame/s。當訓練樣本為3 000 張圖像時,本文算法的訓練時間比U-Net 多1.55 h,驗證速度慢1.64 frame/s,測試速度慢0.56 frame/s。分析結果表明:網絡模型計算量越大,語義分割的速度越慢,但語義分割的準確率越高,證明了本文算法在道路圖像語義分割方面的有效性。
實驗5研究不同算法對道路圖像語義分割的性能指標對比結果。實驗結果如圖14 所示。

圖14 不同算法的道路分割結果Fig.14 Road segmentation results of different algorithms
從圖14 可以看出:本文算法融合了多尺度的圖像并專注于特定的圖像信息,提高了道路語義分割精確度,可以清晰地識別出道路圖像中的道路面、道路線和背景3 個要素。
將不同算法對道路圖像的3 種要素(道路面、道路線和背景)語義分割的準確率、召回率和精確率進行對比。實驗結果如表8 所示。

表8 性能指標對比分析Table 8 Comparative analysis of performance indicators
橫向對比表8 性能指標結果可得:道路面和背景的分割結果好于道路線。主要原因是3 個要素在實驗數據中的覆蓋率不同,在模型訓練過程中根據要素閾值進行篩選,從而出現3個要素語義分割不等價的情況。
縱向對比表8 性能指標結果可得:本文算法語義分割結果好于其他語義分割模型。FCN 保證輸出圖像和輸入圖像大小一樣,語義分割準確率達0.948,但是在下采樣過程中丟失了圖像部分特征信息。SegNet引入歸一化方法和Softmax 分類器,但池化層的存在導致了圖像位置信息丟失,SegNet 比FCN 道路圖像語義分割的精確度提高了0.5 個百分點。U-Net通過編碼器與解碼器之間的級聯操作融合圖像高層信息與淺層信息,U-Net 比FCN 和SegNet 減少語義信息的丟失,保留了圖像細節。U-Net 語義分割的準確率為0.959,比FCN和SegNet語義分割準確率提高了0.7 和0.2 個百分點。本文算法相比U-net 對道路圖像語義分割平均準確率提升了0.8 個百分點。本文算法相比U-Net 在道路線、道路面和背景語義分割準確率分別提升了0.6、1.2、0.7個百分點,主要是是因為本文算法在U-Net 網絡的基礎上引入密集連接模塊,ASPP 可以融合多尺度的圖像特征信息,而注意力機制模型對關鍵信息的權值加重,提高神經網絡對目標區域的關注,專注于輸入圖像特定部分。
本文設計一種改進的U-Net 網絡結構,該網絡結構在下采樣時引入密集連接模塊,在上采樣前引入ASPP 和CBAM,從而對衛星圖像道路元素做出準確的分割。實驗結果表明,與FCN、SegNet 和U-Net等傳統網絡相比,該網絡對道路要素分割的準確率更高。下一步將繼續對網絡結構進行優化,提高網絡運行速度和語義分割的精確度,以更清晰地識別出道路圖像信息。