黃生鵬,柳海南,周克帥,劉建宇
(上海工程技術大學 機械與汽車工程學院,上海 201620)
近年來,隨著無人駕駛、智能小車等智能交通工具的發展,如何有效的檢測出道路標識線,保障行人的安全成為熱門研究方向。斑馬線是道路交叉口的重要安全標志,準確的識別出斑馬線能有效提高交叉路口的行駛安全性。傳統的斑馬線識別方法主要有以下幾種:
(1)滅點法[1]。根據斑馬線的平行特點,利用兩次霍夫變換找到直線的滅點從而確定斑馬線所在的位置。該方法運算速度快,但是當斑馬線較多時區分性差。
(2)頻域法[2]。該方法從斑馬線黑白交替出現的紋理規律出發,根據現實中斑馬線的寬度找到特定的頻率,并以該頻率為中心頻率在一定帶寬內篩選,此方法識別率很高,但是計算成本高,實時效果差。
(3)雙極系數法。該方法從斑馬線黑白顏色分明特點出發,利用均值、方差獲取某區域的黑白分明程度。雙極系數法計算速度快,然而易受環境的影響。
隨著深度學習的發展,特別是卷積神經網絡[3]在圖像領域的廣泛應用,大量基于深度學習的圖像分割 算 法 被 提 出。如FCN[4]、Unet[5]、Mask RCNN[6]、Deeplab[7]等。這些算法在分割性能上相比于傳統分割算法,具有更高的魯棒性,而且速度也很快。因此,本文在深入研究Unet網絡的前提下,提出一種基于改進Unet網絡的斑馬線分割算法。對Unet特征提取網絡進行改進,采用輕量級MobileNetv2[8]網絡,代替原有模型的主干網絡,以減小參數量;利用SENet模塊[9]增強對特征圖中重要信息的提取。
Unet是Ronneberger等人提出的一種醫學影像分割網絡,其網絡結構如圖1所示。整個網絡可分成二部分,左側為特征提取網絡,右側為上采樣網絡。其中特征提取網絡就是CNN卷積網絡,每個尺度結構包含兩個3×3卷積、一個RELU[10]層和一個2×2的最大池化層。經池化層變換后,特征通道數擴大一倍;上采樣網絡每個尺度結構利用2×2的上采樣層,特征通道數減少一半,其后與對應的特征提取網絡的特征圖進行拼接操作,得到新的特征圖,再采用2個3×3卷積層加RELU激活層。最后一個拼接尺度用1×1的卷積層將64維通道特征圖映射到2維圖像上,獲得最終的分割結果。

圖1 Unet網絡結構Fig.1 Unet network structure
由上節可知,Unet采用傳統的卷積進行特征提取。由于斑馬線分割場景往往處于復雜的環境中,這就需要更深層的卷積操作,才能有效的提取特征。隨著卷積層的增加,參數量也會越來越大。為了達到既能高效提取特征,又能降低網絡參數,本文采用Mobilenetv2網絡替換其特征提取網絡,同時在網絡結構中嵌入注意力機制——SENet模塊,進一步加強網絡對有效特征信息的提取,抑制無效特征,進而提高分割精度和魯棒性。
MobileNet網絡是一種輕量級網絡,非常適用于嵌入式平臺。其主要結構是基于流線型架構,結構中采用了大量的深度可分離卷積,以此來降低模型的參數量和計算量。
MobileNetv1主要采用堆疊大量的深度可分離卷積結構,構建神經網絡,在保證精度的情況下,極大的壓縮了模型。深度可分離卷積結構如圖2所示。

圖2 深度可分離卷積Fig.2 Depth separable convolution
MobileNetv2網絡是Mobilenetv1的升級版,其主要特點在于反轉殘差模塊(Inverted Residual Block)和瓶頸模塊(Linear Bottleneck),是帶有線性瓶頸層的反轉殘差結構,如圖3所示。首先,該結構輸入的低維空間特征,通過Expansion layer映射到高維空間特征,應用深度可分離卷積進行處理后,使用線性瓶頸層再將特征投影回低維特征。MobileNetv2采用線性瓶頸(Linear bottleneck)代替非線激活變換,保留更多的特征信息。通常認為神經網絡由n個Li層構成,每層經過激活函數最終的輸出張量為hi×wi×di,一系列卷積與激活層形成了一個興趣流(manifod of interest)。在神經網絡中,興趣流可以嵌入到低維子空間,就是卷積層中所有單個像素通道d,這些值包含多種編碼信息。深度神經網絡的層具有ReLU非線性激活函數,當完整度較高的興趣流經過非線性激活函數時,可能會產生空間坍塌。

圖3 反轉殘差結構Fig.3 Reverse residual structure
SENet模塊是在通道維度上進行attention操作,這種注意力機制可以讓網絡更加關注有效的通道特征,抑制那些不重要的通道特征。SENet模塊結構如圖3所示。首先SENet模塊對輸入的特征圖進行Squeeze操作,得到channel級的全局特征,然后對全局特征進行Excitation操作。學習各個channel之間的關系,獲得不同channel的權重,最后與原來的特征圖相乘得到校準過的特征SENet模塊的3個主要操作。
2.2.1 Squeeze操作
一般的卷積操作僅僅在一個局部空間內進行,因此U中很難獲得足夠的信息來提取通道之間的關系。對于網絡深度較潛的特征層來說,其感受野尺度都比較小,這種情況更加糟糕。U中的多個特征圖,可被視為局部特征表征的一個子集,對于整個特征圖來說具有很好的表現力。Squeeze操作利用全局平均池化(global average pooling)將每一個通道上的空間特征編碼為一個全局特征,其在某種程度上代表了全局感受野,壓縮過程如公式(1)所示。

式中:uc表示卷積變換后第c個通道的輸出;zc表示壓縮操作后第c個通道的輸出;(W,H)表示特征圖的寬和高;Fsq代表全局特征壓縮變換函數。
2.2.2 Excitation操作
圖4中的Fex(·,W)變化操作,即為Excitation操作。其利用兩個全連接和兩個激活函數來獲取通道之間的依賴關系,計算如公式(2)所示。


圖4 ENet模塊Fig.4 SENet module
Excitation操作通過兩個全連接層,獲取特征U中的C個特征圖的權重。Squeeze操作是將單個特征圖進行特征編碼,而Excitation操作是對所有編碼后的特征圖進行信息匯總。這樣做可以降低模型的復雜度,同時也提高了模型的計算效率。
2.2.3 Scale操作
Scale操作是通過相乘的方法,將Excitation操作獲取得歸一化權重加權到標準卷積之后的特征上,經過加權后的特征圖包含了先2前特征U的每個通道的重要程度,因此可以達到加強重要特征信息的目的。計算如公式(3)所示:

式中:uc表示單個通道的二維矩陣;sc表示權重;表示加權計算后得到的特征圖。
在傳統卷積操作中,更多的關注點在于空間特征的融合上,對于通道維度的特征融合,卷積操作基本上默認對輸入特征圖的所有通道進行融合。而MboileNetv2網絡中的組卷積(Goup Convolution)和深度可分離卷積是對通道進行分組,使得模型參數量減少。這種方式并沒有關注通道之間的關系,從而模型無法自動學習到不同通道特征之間的重要程度。因此,本文在反轉殘差結構的基礎上,嵌入SENet模塊,使得模型更加關注有效通道信息,提高模型精度。結合模塊結構如圖5所示。

圖5 SENet模塊結合圖Fig.5 SENet module binding diagram
深度神經網絡模型的訓練,需要大量優良的數據支撐。本文構建的斑馬線數據集來源分為二部分,一部分是通過互聯網爬取網頁圖片,另一部分由人工采集,并進行人工手動標注。為了使模型具有更強的魯棒性,本文在晴天、陰天、雨天、復雜街道環境等條件下采集斑馬線數據集。
卷積神經網絡的數據擬合過程,需要給網絡提供一個真實的標準數據。通過網絡預測的結果與真實結果的損失值,自動的調整模型權重,從而使模型的預測值逐漸接近真實值,實現斑馬線分割檢測任務。因此,需要對數據集進行人工手動標注,本文采用Lbaleme圖像標注工具對每張圖片進行手工標注,獲取分割label,標注文件以Json格式保存,主要記錄標注點的位置、類別標簽。標注過程如圖6所示。

圖6 斑馬線標注Fig.6 Zebra mark
完成標注后,將網頁獲取的數據劃分為訓練集、驗證集,對模型進行預訓練。然后將預訓練模型在自制數據集上進行調優和測試。
本文首先對MobileNetv2與改進后的SEMobileNetv2進行對比實驗。通常使用分類數據集對卷積神經網絡進行分類精度的測試對比,本文選取Cifar10數據集進行實驗,該數據集包含10個類別,其中50 000張為訓練集,10 000張為測試集;深度學習框架選用Keras,優化策略為Adam,初始學習率(learning rate)為0.001,當學習率在連續3次迭代中保持不變時,學習率變為原來的0.5倍,batch_size為32,迭代次數(epoch)為20 000次。實驗結果如圖7所示。

圖7 改進前后分類精度對比Fig.7 Comparison of classification accuracy before and after improvement
由圖7可知,通過20 000次的迭代,改進后的SEmobileNetv2分類精度比之前精度提升了1.6%。通過嵌入SENet模塊對模型的特征提取能力有一定的提升。
將Unet特征提取網絡替換為SEMobileNetv2,搭建分割模型。分別對改進前后的Unet分割網絡進行訓練,其訓練集8 000張,測試集500張,訓練參數見表1。

表1 實驗環境Tab.1 Experimental environment
經過3萬次的迭代,由圖8可知:基于SEMobileNetv2的Unet分割網網絡的loss收斂效果更佳。

圖8 loss值對比Fig.8 Comparison of loss
獲取兩種Unet模型后,本文分別在不同環境中對斑馬線進行了測試,測試效果如圖9所示。在有車輛行駛的條件下和無障礙物的條件下,改進后的Unet網絡模型的分割精度均比原來的分割網絡提高了1.8%。進一步驗證了改進模型的有效性。

圖9 分割效果圖對比Fig.9 Comparison of segmentation effect
本文在Unet網絡的基礎上,將其主干特征提取網絡替換為MobileNetv2,減少模型的參數,降低模型的計算量。并在網絡結構中嵌入了SENet模塊,增強特征提取網絡,對于有效特征信息進行加權。實驗結果表明,改進后的SEMobileNetv2網絡結構與原來的網絡結構在分類精度上提高了1.6%。驗證了改進后Unet分割網絡相對于原網絡在分割精度上提高了1.8%。本文的方法在分割精度上有了一定的提升,但是訓練集數據不夠豐富,測試環境為靜態,后續應進一步增強模型的泛化能力。