姚善化, 趙帥
(1.安徽理工大學電氣與信息工程學院, 淮南 232001; 2.安徽理工大學電氣與信息工程學院, 淮南 232001)
近年來,無人駕駛技術已引起了世界各國以及社會各界的廣泛關注,并成為眾多學者探討的焦點。車道線檢測屬于無人駕駛系統的感知模塊,通過檢測車道線的位置實現行駛車輛定位和車道偏離預警等功能,這對后續(xù)軌跡規(guī)劃和控制決策起至關重要的作用。
已有車道線檢測的方法大致分為3種:基于車道特征的方法、基于車道模型的方法和基于深度學習的方法。基于車道特征的方法主要是利用車道線與道路環(huán)境的紋理、邊緣和灰度值等差異進行后續(xù)圖像的分割與處理,提取車道線特征,從而實現車道線的檢測。付利軍等[1]通過細化圖像中關于車道線的感興趣區(qū)域來降低無關的背景影響,然后利用改進hough變換檢測車道線,該算法對感興趣區(qū)域的選取比較苛刻,在遮擋的情況下不能有效確定圖像中的感興趣區(qū)域。王智宇等[2]提出了一種改進RANSAC(random sample consensus)的車道線識別方法,該算法易受道路環(huán)境的干擾,對噪聲比較敏感,魯棒性較差。黃艷國等[3]通過自適應透視變換和特征融合解決了攝像頭抖動導致車道線識別率低的問題,該算法在彎道和整體路況下具有較好的魯棒性和識別率,但實時性仍需進一步提高。
基于車道模型的方法主要是通過霍夫變換和最小二乘等方法求解車道線數學模型參數來擬合對應的車道線,常見車道線模型有直線模型、拋物線模型和樣條曲線模型等。洪偉等[4]通過減少圖像形變,根據顏色和幾何特征,使用DBSCAN(density-based spatial clustering of applications with noise)空間聚類算法對車道線特征點進行分類,然后利用拋物線模型對不同類別的車道線特征點進行擬合,從而實現車道線檢測。韓浩等[5]提出了一種混合貝塞爾曲線的車道線檢測方法,該算法具有較高的實時性,提高了在陰影和光照變化場景下的魯棒性,但局限性較強,難以適應城市中復雜的道路環(huán)境和各種路況。
隨著硬件設備的不斷升級,深度學習在圖像處理領域的應用中具有顯著的效果,基于深度學習的方法是使用大量的數據訓練一個深層的神經網絡模型,通過提取車道線的特征信息來調整網絡的權重參數,進而實現車道線的檢測。Pan等[6]為了更好地檢測出車道線這類細長型目標,提出了一種新的空間卷積方法(spatial convolutional neural network,SCNN),該方法對特征圖的行和列進行切片,然后從4個方向上用逐片段卷積代替普通卷積,該方式改善了無視覺提示的問題,增強了相鄰像素之間的消息傳遞,但由于串行序列式的信息聚合方式,導致計算效率低且成本高。Zheng等[7]在SCNN的基礎上做了改進,提出了循環(huán)特征偏移聚合器模塊(recurrent feature-shift aggregator,RESA),該模塊通過增加不同方向切片卷積次數和擴大切片間消息傳遞的間隔來擴大感受野,其并行的計算方式令計算效率得以提高,但這種逐行的像素預測并未將特征通道視為一個整體。Hou等[8]提出了一種基于注意力圖的知識蒸餾(self attention distillation,SAD)方式,在不增加新的標簽和監(jiān)督需求的條件下,提高車道線檢測網絡的訓練效果,并且只在訓練時采用,推理時間并未增加。Qin等[9]提出了一種基于行范式的車道線檢測網絡,該網絡把車道線檢測過程看作基于全局特征的行選擇問題,有效解決了計算成本高和無視覺線索的問題。Zheng等[10]提出跨層優(yōu)化網絡(cross layer refinement network,CLRNet)用來獲取車道的低級和高級特征,再引入感興趣區(qū)域聚合(region of interest gather,ROIGather)解決車道線的無視覺線索問題,最后通過建立車道特征與整個特征圖之間的關系來捕獲更多的全局上下文信息,從而實現車道線檢測。
ResNet(residual neural network)網絡結構由He等[11]提出,主要解決了深層網絡中梯度消失、梯度爆炸和網絡不收斂等問題,被廣泛應用于各種計算機視覺任務中。針對目前的車道線檢測問題,現首先提出循環(huán)多特征信息融合(recurrent multi-feature information aggregator,RMFA)方法,該方法不僅利用特征圖上下文的空間信息,還將特征通道視為一個整體,充分利用相鄰通道的特征信息,有效地增強像素點的全局信息;然后基于ResNet神經網絡,搭建ResNet-RMFA車道識別網絡,把車道線檢測視為基于行選擇單元格的分類問題,有效地降低網絡的前向推理時間。最后在Tusimple和CULane[6]車道線公共數據集上對所提方法和網絡進行實驗驗證,并與多種基于深度學習的車道線檢測算法進行對比和分析。
傳統的卷積神經網絡使用卷積核對輸入圖片直接做卷積處理,該方法雖然可以通過增加卷積核的數量提取圖像中的低級和高級特征,但針對性不強,對于這種稀疏且具有細長外觀形態(tài)的車道線,其特征提取效果并不理想,并未充分利用特征圖中行和列的空間關系以及通道之間的特征關系。
循環(huán)多特征信息融合方法(recurrent multi-feature information aggregator,RMFA)由循環(huán)行特征信息融合模塊、循環(huán)列特征信息融合模塊和循環(huán)通道特征信息融合模塊組成。前兩個模塊主要負責用于捕獲像素之間行和列的空間關系,增強像素點的全局信息;循環(huán)通道特征信息融合模塊將特征通道視為一個整體,負責低級和高級特征之間的信息融合,增強特征中部分和整體關系,以及像素攜帶的信息量。
圖1表示循環(huán)行特征信息融合模塊,其中圖1(a)和圖1(b)分別代表以從上到下和從下到上的方向進行切片間的消息傳遞;iter為該模塊的一個超參數(iter設置不超過log2W),表示在每個方向上卷積的次數,即每個方向要進行信息聚合的次數,增大iter可以擴大消息間傳遞的間隔;old feature map表示進行信息融合之前的特征圖;new feature map表示信息融合之后的特征圖。如圖1所示,高為H、寬為W、通道數為C的特征圖進入循環(huán)行特征信息融合模塊前會被分為H個尺寸為W×C的行特征切片,然后使用C個寬度為1×w1的一維卷積核對行特征切片進行卷積,提取行特征信息,最后對特征圖中任意第h行的切片,以Srow為步長向下(上)做行特征信息傳遞,即第h行的切片特征信息會傳遞給第hdown(hup)行切片。行間消息傳遞的步長Srow為

H為輸入特征圖高度;W為輸入特征圖寬度;C為通道總數量;old feature map為循環(huán)行特征信息融合模塊的輸入;new feature map為循環(huán)行特征信息融合模塊的輸出;iter為不同方向上信息聚合的次數圖1 循環(huán)行特征信息融合模塊Fig.1 Recurrentrow feature information fusion module
(1)
圖1(a)消息傳遞接收行的切片位置hdown和圖1(b)消息傳遞接收行的切片位置hup分別為
(2)
(3)
式中:h為特征圖中第h行的切片位置;Srow為行間消息傳遞步長。
水平前向傳播的方式和行信息聚合的殘差連接操作的定義為
(4)
(5)

為實現特征圖中特征在列與列之間融合,循環(huán)列特征信息融合模塊進行了相似的設計,其中圖2(a)和圖2(b)分別代表以從左到右和從右到左的方向進行切片間的消息傳遞。如圖2所示,高為H、寬為W、通道數為C的特征圖進入循環(huán)列特征信息融合模塊前會被分為W個尺寸為H×C的列特征切片,然后使用C個寬度為w2×1的一維卷積核對列特征切片進行卷積,提取列特征信息,最后對特征圖中任意第w列的切片卷積后,以Scolumn為步長向右(左)做列特征信息傳遞,即第w列的切片特征信息會傳遞給第wright(wleft)列切片。列間消息傳遞的步長Scolumn為

H為輸入特征圖高度;W為輸入特征圖寬度;C為通道總數量;old feature map為循環(huán)列特征信息融合模塊的輸入;new feature map為循環(huán)列特征信息融合模塊的輸出;iter為不同方向上信息聚合的次數圖2 循環(huán)列特征信息融合模塊Fig.2 Recurrentcolumn feature information fusion module
(6)
圖2(a)消息傳遞接收列的切片位置wright和圖2(b)消息傳遞接收列的切片位置wleft的定義為
(7)
(8)
式中:w為特征圖中第w列的切片位置;Scolumn為列間消息傳遞步長;W為輸入特征圖寬度。
式(9)定義了垂直前向傳播的方式,式(10)定義了列信息聚合的殘差連接操作。其中一維卷積核F的大小為w2×1,m為一維卷積核的高度索引,取值范圍為1~w2,n為一維卷積核的寬度索引,取值范圍為1。
(9)
(10)
圖3為循環(huán)通道特征信息融合模塊,該模塊將特征圖視為一個整體,通過聚合特征圖中通道之間的特征信息,來增加像素所攜帶的特征信息量,在沒有增加特征圖維度的同時還有益于最終的單元格分類。如圖3所示,該模塊對通道特征進行融合時,會加上該通道相鄰單位的通道特征,其中第一列切片會聚合最后一列切片的信息,最后一列切片會聚合第一列切片信息。對圖3中old feature map任意第c個通道進行特征信息融合,融合式為

old feature map為循環(huán)通道特征信息融合模塊的輸入;new feature map為循環(huán)通道特征信息融合模塊的輸出圖3 循環(huán)通道特征信息融合模塊Fig.3 Recurrent channel feature information fusion module
(11)
式(11)中:X′為經過特征融合后的輸出;其中c、i和j分別為通道、行和列的索引;X為循環(huán)通道特征信息融合模塊的輸入。
經過循環(huán)多特征信息融合方法處理后,每個像素可以捕獲行和列之間的空間信息,從而增加像素所攜帶的低級和高級特征信息。這種增強的特征信息更有利于車道線檢測。因此將特征提取方法RMFA和特征提取網絡ResNet結合,進一步提出了ResNet-RMFA車道線檢測網絡。
ResNet-RMFA網絡結構如圖4所示,它由特征提取網絡ResNet、循環(huán)多特征信息融合模塊RMFA、車道線單元格預測分支、車道線數目預測分支和車道線分割分支組成。本文研究主要使用深度為18和34的ResNet作為特征提取網絡,該網絡主要由4層layer組成,每經過一層layer,高和寬會縮減至原來的一半,通道會增加至原來的一倍,其深度代表ResNet網絡總的卷積次數。該網絡的輸入為288×800的RGB道路圖像,經過ResNet特征網絡提取后輸出為512×9×25的特征圖,為了降低計算量,將該特征圖經過1×1卷積做降維處理,最終獲得128×9×25的特征圖,該特征圖即為RMFA模塊的輸入,這里將輸入至RMFA模塊的特征圖稱為頂層特征[12]。頂層特征首先輸入至方向為從上到下的循環(huán)行特征信息融合模塊(RMFA_DOWN),該模塊會對頂層特征做從上到下的行特征信息融合,融合完成后的特征圖輸入至循環(huán)通道特征信息融合模塊聚合像素點各通道間的特征信息,聚合完成后生成的頂層特征將作為下一個方向上信息聚合的輸入,至此完成了一個方向上的信息聚合。該步驟還會依次執(zhí)行3次,方向分別為從下到上的循環(huán)行特征信息融合模塊(RMFA_UP)、從左到右的循環(huán)列特征信息融合模塊(RMFA_RIGHT)和從右到左的循環(huán)列特征信息融合模塊(RMFA_LEFT),每個模塊后面均跟有循環(huán)通道特征信息融合模塊。完成上述4個方向上的信息聚合后生成的新頂層特征圖進入車道線單元格預測分支,該分支用于預測當前輸入的圖像中不同行中的單元格屬于第i條車道線的概率(其中i=1、2、3和4,最多只檢測4條車道線)。需要說明的是車道線數目預測分支和車道線分割分支作為ResNet-RMFA車道線檢測網絡的輔助分支,該分支只用于訓練階段,不用于測試階段。其中車道線數目預測分支用于預測當前輸入的圖像中存在車道線的個數,且最多只能預測出4條,因此該分支的輸出為1×4的一維向量;車道線分割分支的主要作用是為了進一步增強ResNet網絡對輸入圖片的特征提取能力。

RMFA_ROW_DOWN為方向從上到下的循環(huán)行特征信息融合模塊;RMFA_ROW_UP為方向從下到上的循環(huán)行特征信息融合模塊;RMFA_COLUMN_RIGHT為方向從右到左的循環(huán)列特征信息融合模塊;RMFA_ COLUMN _LEFT為方向從左到右的循環(huán)列特征信息融合模塊;RMFA_CHANNEL為循環(huán)通道特征信息融合模塊;Convlution為卷積;BN為批歸一化;Rulu為激活函數;Downsampling為下采樣;Upsampling為上采樣;Fully connected為全連接;Softmax為Softmax邏輯回歸圖4 ResNet-RMFAFig.4 ResNet-RMFA
本次實驗采用Tusimple數據集和CULane數據集[6]來驗證網絡模型性能。Tusimple數據集是在高速公路的穩(wěn)定照明條件下收集的,包含多種天氣和交通狀況,其中圖像注釋采用 JSON 文件格式,每張圖片的標簽值均含有3個字段,分別表示圖像的路徑地址和車道線的橫、縱坐標。CULane數據集由香港中文大學提出,該數據集具有一定的挑戰(zhàn)性,由九種不同的場景組成,包括正常場景、人群擁擠場景、夜間場景、無車道線場景、陰影場景、曲線場景、十字路口場景、高光場景和城市區(qū)域中有箭頭的場景,有關數據集的詳細信息如表1所示。

表1 實驗數據集Table 1 Experimental datasets
兩個數據集的官方評估指標不同,對于Tusimple數據集,主要的評估指標為官方提供的準確度,計算公式為
(12)
式(12)中:Cclip為第cilp張經過裁剪的測試圖片中正確預測車道點的數量;Sclip為第cilp張經過裁剪的測試圖片中真實有效的車道點數量,其中clip的取值范圍涵蓋了Tusimple測試集的所有圖片,因此clip的最大取值為2 782。
對于CULane數據集,每條車道被視為一條30像素寬的線,然后計算真實值和預測值之間的交集(intersection over union,IoU),并將IoU>0.5的預測視為真陽性(true positive,TP),最終用F1得分值作為評估度量,公式為
(13)
式(13)中:精確度=TP/(TP+FP);召回率=TP/(TP+FN);其中TP為真陽性,FP為假陽性(false positive),FN為假陰性(false negative)。
除了精確度和F1得分值之外,評估指標還包括模型的運行時間和FPS。
實驗環(huán)境為Ubuntu操作系統,CPU(central processing unit)為15核 Intel(R) Xeon(R) Platinum 8358P CPU@ 2.60 GHz,訓練和測試網絡模型使用的GPU(graphics processing unit)為NVIDIA RTX A5000,測試網絡運行時間時使用的GPU為NVIDIA GTX 1080Ti,CUDA為11.3版本,深度學習框架采用PyTorch[13]。
在網絡訓練過程中,輸入圖像大小調整為288×800,由于車道線的固有結構,基于分類的網絡很容易過度擬合訓練集,因此使用了旋轉、平移等方法防止這種現象,提高模型的泛化能力。訓練參數設置具體如下:在Tusimple數據集上訓練次數設置為500,批處理大小設置為32,網絡訓練的迭代次數為57 000次,采用AdamW優(yōu)化器[14],初始學習率為1×10-3,權重衰減因子設置為1×10-4,學習率衰減使用余弦退火策略[15]。在CULane數據集上訓練次數設置為100,批處理大小設置為32,網絡訓練的迭代次數為277 800次,學習率為6×10-4,其他和上述設置一致。
為了選取合適的超參數w1和w2,設計了w1和w2在不同取值時的對比試驗。該對比試驗使用相同參數設置的Res18-RMFA模型在Tusimple數據集下進行準確度評估。
如表2所示,當w1=5和w2=3時模型的表現最好,原因在于:頂層特征圖的W較大,當w1太小時,不足以獲取行切片相近像素點的特征信息;而頂層特征圖的H又較小,當w2太大時,雖然有利于聚合較遠像素點的特征信息,但同時也可能帶來干擾信息。因此后文實驗中,w1和w2分別設置為5和3。

表2 w1和w2不同取值時在Tusimple數據集上的準確度對比Table 2 Accuracy comparison on the tusimple dataset when w1 and w2 have different values
本節(jié)中展示了ResNet-RMFA車道線識別網絡在Tusimple和CULane兩個車道線數據集的評估結果,并選用ResNet-18和ResNet-34作為該模型的特征提取網絡。
對于Tusimple數據集,使用了7種先進的方法與ResNet-RMFA進行比較,包括SCNN[6]、SAD[8]、EL-GAN[16]、PolyLNet[17]、UFAST[9]、CondLNet[18]和BezierLN[19],對比內容包含Tusimple評估的準確性和運行時間,其中運行時間取1 000次的平均運行時間。如表3所示,使用ResNet-18特征提取網絡時,ResNet-RMFA的準確度達到了96.04%,優(yōu)于PolyLNet、BezierLNet-18、CondLNet-S、UFSAT-18和EL-GAN模型3.2%、0.63%、0.56%、0.22%和1.14%。使用ResNet34特征提取網絡時,ResNet-RMFA的準確度達到了96.07%,優(yōu)于CondLNet-M 和UFSAT-34模型0.7%和0.21%。雖然SCNN、CondLNet-L和SAD模型的準確度要優(yōu)于ResNet-RMFA,但在速度方面,本文所提模型更為優(yōu)秀,最快僅用4.8 ms,比SCNN快27.8倍。綜上所述,本文模型在檢測精度和速度方面展現了更為綜合的優(yōu)勢。

表3 不同算法在Tusimple數據集上的對比Table 3 Comparison of different algorithms on the tusimple
在CULane數據集上使用了4種不同的算法與ResNet-RMFA進行比較,并對比了它們在IoU閾值為0.5的F1得分值方面的表現。如表4所示,在正常、擁擠、夜晚和強光環(huán)境下,本文提出的算法要優(yōu)于Baseline[6]模型、Res50-Seg模型和FD-50模型。在無車道線和箭頭環(huán)境下,ResNet-RMFA要優(yōu)于Base-line模型和Res50-Seg模型,與FD-50模型表現相近,略低于SCNN模型。在陰影和彎道環(huán)境下,ResNet-RMFA的F1得分值總體略低,檢測性能較差,還有待進一步改進。

表4 不同算法在Culane數據集上的F1得分值(IoU=0.5)對比Table 4 Comparison of F1 scores (IoU=0.5) of different algorithms on the culane dataset
為了探討RMFA模塊中卷積迭代次數對結果的影響,使用Resnet-18和Resnet-34作為特征提取網絡,用4.3節(jié)所述相同的參數設置,將迭代次數(iter)分別設置為1、2、3進行比較,結果如表5所示。

表5 RMFA模塊中卷積次數對結果及運行時間的影響Table 5 The effect of convolution times on results and running time in the RMFA module
理論上,隨著迭代次數的增加,特征圖切片可以聚合更多的信息,因此檢測效果應該更好。但實際上,在不同數據集上實驗結果并不完全相同,原因在于隨著迭代次數的增加,特征圖切片之間消息傳遞的間隔變大,聚合較遠像素點的特征信息反而會帶來干擾,特別是當特征圖的尺寸較小時更為明顯。雖然可以增大特征圖的尺寸來緩解這種情況,但這也會相應地增加模型的計算量,為了在不改變模型大小的前提下提升模型性能,可以使用數據增強的方法或者在更大的數據集上進行訓練,在CULane數據集上進行的實驗證明了這一點。
為驗證ResNet-RMFA車道識別網絡的效果,在Tusimple和CULane車道識別數據集上進行了實驗驗證。Tusimple數據集的可視化效果展示如圖5所示。由第1行和第3行可以看出在車道直線和存在汽車遮擋環(huán)境時,原圖中藍色和紅色虛線擬合度較高;由第2行可以看出存在彎曲的車道線時,近端曲率較低的車道線擬合度較高,而遠端曲率較高的車道線預測效果有待提高。

藍色虛線為車道標注線,紅色虛線為ResNet-RMFA方法的車道預測線;在標簽圖和預測圖中,黃色、藍色、綠色和紅色虛線分別為4條從左到右的不同車道線圖5 Tusimple數據集上的可視化效果Fig.5 Visualization on the tusimple dataset
圖6為CULane數據集的可視化效果展示,該數據集包含了多種車道線場景。圖6中第1~7行說明本文方法能夠實現陰影、高光、遮擋等各種復雜環(huán)境下的車道線檢測,第8行顯示即使沒有車道線標注,該方法也能較好地識別出夜晚場景下的車道。以上證明了ResNet-RMFA車道識別方法在各種車道環(huán)境下均具有良好的檢測效果。

藍色虛線為車道標注線;紅色虛線為本文所提方法的車道預測線圖6 CULane數據集上的可視化效果Fig.6 Visualization on the culane dataset
(1)車道線檢測在無人駕駛汽車領域中有著至關重要的作用。本文新穎之處在于:①提出了一種循環(huán)多特征信息融合(RMFA)方法,該方法通過對特征圖進行上、下、左、右4個方向的信息融合及相鄰通道之間的特征融合,以提高特征之間的相關性和增強像素點全局信息;②根據輸入至RMFA模塊的特征圖尺寸大小,設計了不同方向卷積的一維卷積核長度和切片間的信息傳遞步長;③基于ResNet神經網絡,結合循環(huán)多特征信息融合方法,提出了ResNet-RMFA車道線識別網絡,同時加入1×1的卷積核實現特征圖通道數的降維,提高網絡的實時性,最后將車道線檢測問題視為基于行選擇單元格的分類問題,進一步提高了網絡的前向推理效率;④引入車道線數目預測分支和車道線分割分支作為ResNet-RMFA車道線檢測網絡的輔助分支,進一步增強網絡對輸入圖片的特征提取能力。實驗結果表明,本文提出的算法在Tusimple數據集上的精確度為96.07%,在CULane數據集上的F1(IoU=0.5)評分為69.3%,單幀圖像的推理時間可達4.8 ms,能夠適應各種不同環(huán)境下的車道線檢測,具有良好的檢測精度和泛化能力。
(2)雖然所提網絡模型在車道線檢測上整體表現不錯,但對曲率較大的車道線檢測效果較差,未來的工作可以從以下3個方面來提高車道線識別網絡的性能:①使用更加輕量級的特征提取網絡,進一步降低推理時間,提高網絡的整體運行效率;②將transformer[22]引入車道線檢測,增加像素之間的關聯性,提高具有拓撲結構的車道線檢測精度;③根據車道線在短時間內不會發(fā)生劇烈突變的情況,可以加強相鄰圖片中車道線之間的關聯性,進而修正當前圖片的車道線檢測,提高車道線的檢測精度。