馬 宇,張麗果,杜慧敏,毛智禮
西安郵電大學 電子工程學院,西安710121
+通信作者E-mail:2395829744@qq.com
道路標志是重要的交通安全設施,可以向駕駛員、行人等傳遞準確的信息,指示有關情況,提出交通要求,公布交通規定等。然而,許多駕駛員可能因為各種原因并未及時留意到道路標志信息而導致道路交通事故。因此,對道路交通標志[1,2]進行語義分割具有極高的研究和應用價值。
交通標志有顯著的顏色特征和幾何特征,傳統的交通標志分割處理主要依據顏色和形狀信息?;陬伾指罘椒ㄖ饕窃趩为毜牟噬臻g中利用最佳閾值,也有顏色聚類的方法尋找出相應的顏色區域,但是在顏色分量中孤立的分割方法受環境影響較大,也很難判定最佳的閾值[3]?;谛螤畹姆指罘椒ㄖ饕遣捎肏ough 變換或邊緣檢測的算法來尋找圖像中的直線或曲線,再利用交通標志圖像的輪廓特點用模板匹配的方法檢測分割,這類方法在復雜背景下的應用也受到限制[4]。隨后出現了將顏色信息和形狀信息綜合應用的綜合方法,提出了一種針對三角形標志的智能檢測方法[5],利用HSV 顏色空間的H 分量提取標志的顏色信息,再利用神經網絡檢測三角形的三個頂點,最終實現三角形標志的檢測。以上傳統的方法對圖像特征的提取能力有限,不適用于大規模的交通標志分割。
近年來,深度學習技術在計算機視覺領域的迅速發展為語義分割應用于無人駕駛的道路場景識別提供了技術支持。2015 年Long 等提出了全卷積網絡(fully convolutional networks,FCN)[6],已經成為語義圖像分割不可缺少的模型。許多成功的FCN 應用都依賴于Dilated conv[7]和密集條件隨機場(conditional random field,CRF)[8]。最近的研究集中在基于編碼器-解碼器的模型上,該模型使用編碼器提取信息,其輸出被傳遞到解碼器網絡,從而生成高分辨率的分割預測。SegNet[9]、U-Net[10]和RefineNet[11]是使用不同機制將信息從編碼器傳遞到解碼器模型的示例。另一種獲取上下文信息的方法是空間金字塔池化(spatial pyramid pooling,SPP)。ParseNet[12]將全局上下文特征加入到空間特征中,DeepLabv2[13]使用空洞空間金字塔池化(atrous spatial pyramid pooling,ASPP),PSPNet[14]在多個尺度上引入了空間金字塔池化(SPP)來解決分割問題,DeepLabv3+[15]用Xception 網絡取代了DeepLabv3[16]的主干,并使用簡單的兩級解碼器將其堆疊,該解碼器使用了編碼器的較低分辨率特征圖。
對道路交通標志進行語義分割的挑戰性問題是在一幅道路場景圖中的交通標志往往尺度極小。雖然FCN 利用跳層連接的方法可以更精確地定位目標,但該方法不能很好地解決小目標難分割的問題。因為FCN 進行了多次降采樣操作,FCN 的輸出結構往往丟失了較多的輪廓細節特征,使得邊緣過于平滑。SegNet 網絡在編碼器部分提取低分辨率的語義特征,然后利用編碼器中最大池化層的選定位置作為提示信息,在解碼器部分將特征恢復為高分辨率預測圖,通過解碼網絡的上采樣操作,將因編碼網絡降采樣而丟失的信息重新學習得到。不同于線性插值上采樣,由多層反卷積構成的解碼網絡通過學習的方式能夠更有效地還原小目標的特征。UNet網絡在編碼器-解碼器結構的基礎上,將網絡形成一個U 型結構,每個解碼層的反卷積輸入由前一層的輸出與同一水平線上編碼層的部分輸出拼接而成,即用跳層連接的思想將淺層特征與深層特征圖相結合。實驗結果驗證,該方法在小目標分割性能上優于其他編碼-解碼結構網絡。本文對U-Net 進行改進,提出了針對交通標志等小目標的分割性能更優且實時性更高的深度神經網絡結構D-Unet(“D”表示dilated convolution)。

Fig.1 U-Net network structure圖1 U-Net網絡結構
U-Net 是一種輕量級的全卷積神經網絡,其結構如圖1 所示。它由收縮路徑(編碼器)和擴張路徑(解碼器)兩部分組成,共包括23 個卷積層、4 個最大池化層和4 個反卷積層。其中,收縮路徑是典型的卷積網絡結構,在每兩個3×3 的卷積層后是一個2×2 的最大池化層,其步長為2。使用修正線性單元(rectified linear unit,ReLU)作為激活函數,每經過一次下采樣操作,特征通道加倍。擴張路徑利用2×2 的卷積核對特征圖進行上采樣,使特征通道數減半,將上采樣后的特征圖與來自收縮路徑的特征圖相結合,然后利用2次3×3 的卷積進行卷積運算,并同樣使用ReLU 作為激活函數,最后利用1×1 的卷積核將每一個64 維的特征向量映射到網絡的輸出層,即得到類的數量。
大量研究表明,深度卷積神經網絡在語義分割或其他像素級的預測任務中取得了很好的效果。但是,在這些網絡中,由于常規卷積操作的池化層和池化間隔的存在,雖然可以增大感受野,但是池化層也減小了特征圖的大小,導致了圖像分辨率的降低和部分信息的損失,而語義分割的任務需要得到與原始圖像相同分辨率大小的預測圖,因此在對經過多個池化層得到的特征圖進行上采樣使其恢復到原圖大小時,便會影響到分割精度。因此本文采用擴張卷積(dilated convolution)來代替常規卷積。該操作的優點在于即使不做池化操作,也可以增大感受野,而增大感受野的目的在于能夠更好地學習圖像的全局信息。在一維中,擴張卷積被定義為:

其中,f[i]是輸入信號,g[i]是輸出信號,h[l]表示長度為l的卷積核,r對應本文用來采樣f[i]的擴張率(在標準卷積中,r=1)。在語義分割系統中,通過在卷積核中的每個像素之間插入“空洞”(零點)來構造二維擴張卷積。擴張卷積的卷積核以及卷積之后的特征圖的大小如下:

其中,k表示卷積核大小;p表示卷積核中的補零數;s表示卷積步長;d為空洞卷積采樣率;i表示輸入特征圖的大??;n和o分別為空洞卷積之后的新的卷積核大小和輸出特征圖大小。
U-Net 網絡在醫學圖像分割和道路場景分割中均有良好表現,并且在小目標分割性能上優于其他編碼-解碼結構網絡。因此選擇U-Net 網絡對道路交通標志進行分割,道路交通標志具有光照復雜、待識別目標尺度不一等特點。U-Net 網絡對道路交通標志中的小目標分割不夠精細,容易丟失細節信息。本文在U-Net 基礎上,針對小目標難以準確分割的問題,提出了D-Unet 網絡結構。與U-Net 相比,D-Unet有以下兩個改進:
(1)利用擴張卷積代替常規卷積操作以擴大卷積感受野,并將擴張卷積核進行級聯,每個卷積核有局部大小不同的作用域,利用擴張較小的卷積核可以得到較小尺寸目標的特征。
(2)與U-Net相比,D-Unet使用更少的池化層,減少了降采樣操作,淺層特征仍然保留了較多的小目標信息,改善小目標的分割結果。
D-Unet 網絡依舊采用編碼-解碼結構,并在解碼網絡實現對編碼和解碼對應層的特征融合,網絡結構如圖2 所示。它由收縮路徑和擴張路徑組成,其中,收縮路徑是卷積網絡結構,它的架構是一種重復的結構,每次重復中都包含2 個卷積層和一個pooling層;卷積層中卷積核的大小均為3×3,激活函數使用ReLU,兩個卷積層之后是一個2×2 的步長為2 的max pooling 層。每一次下采樣都將特征通道數加倍。與U-Net 網絡相比,D-Unet 網絡結構使用了更少的pooling 層,收縮路徑中只經過了3 個pooling 層,得到了原圖1/8 大小的特征圖。過多的池化層雖然可以增加感受野,但也會導致部分信息的損失,因此本文只用到了3 個pooling 層,目的是保留更多的圖像信息。與此同時,減少pooling 層雖然可以保留更多的圖像信息,卻造成感受野變小。本文采用3 個卷積核大小為3×3,擴張率為2 的擴張卷積來取代常規卷積以增加感受野的大小。第k層感受野大小計算公式如下:

其中,lk-1是第k-1 層的感受野大小,而fk是當前層的卷積核大小,si是第i層的步長。從式(4)可以看出,當采用擴張率大于1 的擴張卷積時,增加了fk的大小,增加了感受野的大小。D-Unet 最后一個擴張卷積層的感受野大小為164×164,可以檢測到數據集中最小的目標(16×16)。擴張路徑中的每一步都首先使用反卷積(up-convolution),每次使用反卷積都將特征通道數量減半,特征圖的大小加倍。反卷積之后,將反卷積的結果與收縮路徑中對應步驟的特征圖拼接起來,對拼接后的特征圖進行2 次3×3 卷積。最后一層的卷積核大小為1×1,將32 通道的特征圖轉化為特定深度(分類數)的結果。
本次實驗使用的是GTSDB[17]數據庫。GTSDB整個數據庫包含900 張圖片,總共包含43 類交通標志,每幅圖像像素為1 360×800,圖像格式為ppm,每張圖像包含0 到6 個交通標志,這些交通標志的大小從16×16 到128×128。
GTSDB 是用于目標檢測的數據集,語義分割是對圖像中的每一個像素進行分類,因此使用Photoshop軟件將GTSDB 數據的圖像格式從ppm 轉換成jpg 格式,并使用Labelme 工具對圖片進行標記,將這些圖片標記成適用于語義分割網絡的數據集。

Fig.2 D-Unet convolutional neural network structure圖2 D-Unet卷積神經網絡結構
對于卷積神經網絡而言,模型越復雜,特征表達能力越強,分割的效果越好,但是卻容易犧牲對未知數據的解析能力而過分著重于訓練數據。這種情況通常會導致訓練數據非常好,但在測試數據集以及未知數據集上效果很差,這種現象被稱為過擬合。為了避免這種情況的發生,通常會擴充數據集來適應更復雜的神經網絡,同時保證模型在測試數據集上有好的表現。針對GTSDB 數據集,本文通過圖像的幾何變換來擴充圖像的數據量。圖3 為部分數據擴充圖像,共形成2 000 幅圖像像素尺寸為1 360×800的圖像數據集。該圖像數據集(訓練集1 284 幅,驗證集433 幅,測試集283 幅)共包含43 類分割對象。數據增強主要采用以下幾種做法:
(1)翻轉變換,主要包括三種,分別是水平、垂直和水平垂直翻轉。
(2)噪聲擾動,對圖像的每個RGB 像素進行隨機擾動,最常用的噪聲模式是高斯噪聲。
(3)隨機修剪。
軟件環境為Ubuntu16.04 操作系統,深度學習軟件框架為Pytorch,硬件環境為Intel?Xeon?CPU E5-2630 v3 2.40 GHz 處理器,GPU 為Nvidia Tesla P40。表1 為各類目標對應的Ground Truth 像素值。圖4 所示為自制的道路標志圖像分割數據集示例,數據集中的每幅圖包含0 到6 個交通標志。
實驗結果的評價采用平均交并比(mean intersection over union,MIoU)進行評價,其中IoU 表示預測結果與標注信息的交集區域比上并集區域,而平均IoU 則為所有類IoU 值的平均值。假設共有k+1個類(其中包含一個空類或背景),pij表示本屬于i類但被預測為類j的像素數量,pii表示預測正確真正的數量,pij和pji為假正和假負,則:


Fig.3 Partial data augmented image圖3 部分數據擴充圖像

Table 1 GT pixel values corresponding to some road marking targets表1 道路標志目標對應的GT 像素值

Fig.4 Experimental database images圖4 實驗數據庫圖像
在本研究中,網絡模型的訓練采用適應性矩估計算法(adaptive moment estimation,ADAM)。初始學習率設置為0.001,迭代次數(epoch)固定在20 次,批處理大小分別設置為10、20、30、40 和50,實驗結果如圖5 所示。3 層空洞卷積層分別采用了不同的擴張系數,以研究擴張系數對模型分割性能的影響,第一層到第三層的擴張系數共實驗了以下幾種組合,分別是1-2-4,2-2-2,2-4-8,4-4-4,實驗結果如圖6 所示。

Fig.5 Accuracy at different batch_sizes圖5 不同批輸入尺寸下的精度

Fig.6 Accuracy at different expansion rates圖6 不同擴張率下的精度
在實驗過程中,分別使用原來的U-Net 網絡模型結構與本文提出的D-Unet 網絡模型結構在上述數據集上進行道路標志分割,以平均交并比和參數量作為評價標準。實驗結果見圖7 和表2。

Fig.7 Example of test set segmentation results圖7 測試集分割結果示例

Table 2 Comparison of experimental results of different algorithms表2 不同算法實驗結果對比
由表2 可以看出,與U-Net 在數據集上的分割結果相比,本文算法可以將交通標志分割的MIoU 提升約3.71 個百分點,參數量減少到原來的85%。相比于U-Net,本文提出的D-Unet 結構使用了更少的池化操作,將神經網絡的輸出特征增加了一倍,保留了更多的圖像信息。同時,用到的反卷積層也更少,這使得網絡的參數量更少。池化層的減少也意味著感受野的減少,D-Unet 使用空洞卷積代替常規卷積來增加感受野,讓每個卷積輸出都包含較大范圍的信息。不同擴張系數組合得到的網絡分割結果也不同,當空洞卷積的尺寸接近特征圖尺寸,即擴張率接近特征映射大小,圖像邊界響應無法捕捉遠距離信息,而是退化為簡單的1×1 卷積核,只有卷積核中心點的權重起了作用。故此,本次實驗中采用的4 種不同的擴張系數中,其中擴張系數為2-2-2 相比于其他擴張率得到的分割效果更好。
圖7 為神經網絡在測試集上對道路交通標志的分割結果。從圖7 可以看出,D-Unet可以檢測到數據集中最小的目標(16×16)并進行準確的分割,同時路標的邊框等能夠較好地保持其完整性,得到更好的分割效果。
本文為了解決道路路標的語義分割問題,在UNet 網絡結構的基礎上提出了D-Unet 網絡結構,減少了池化層,采用擴張卷積代替常規卷積,增加感受野,減少了網絡模型的參數量并提高了分割的MIoU。實驗結果表明,本文模型比U-Net 在測試集精度上提高了3.71 個百分點,參數量減少到了U-Net 的85%,且對于小目標和邊緣的分割更加精確,能夠滿足道路路標的分割需求。但是在研究過程中還存在一些問題,就是對小目標的分割不夠精細,并且在光照條件復雜、天氣狀況不佳、交通標志褪色變形等情況下,分割結果較差。因此,下一步工作重點是針對復雜場景下的交通標志和小目標交通標志進行分割。