李勝,嚴華
(四川大學電子信息學院,成都 610065)
關鍵字:深度學習;計算機視覺;3D車道線檢測;自動駕駛
車道線是自動駕駛系統環境感知中的重要環節,最常見的車道線感知的解決方案是使用單目攝像機作為解決任務的主要傳感器,然后使用目標檢測的方法從采集到的圖像檢測出車道線的位置[1-4]。然而這些方法大都是假設路面是平整的,且只能提供二維車道線位置信息,當這個假設被違反時會導致系統車道線檢測結果與真實路面存在嚴重偏差,造成自動駕駛系統安全性的潛在隱患。3D車道線檢測可提供可駕駛車道相對于主車輛的3D位置的精確估計,增強了自動駕駛環境感知系統的可靠性和魯棒性。R.Schmidt等[5]在未假設道路平坦或俯仰角恒定的基礎上提出了一種基于立體視覺的3D車道檢測方法。Lu Xiong等[6]提出了一種基于車道線信息的結構路面三維估計方法。Noa Garnett等[7]提出了一種基于卷積神經網絡的端到端3D車道線檢測算法,該算法使用兩條路徑處理來自車輛視圖和俯視圖的信息。車輛視圖路徑處理并保留來自圖像的信息,而頂視圖路徑處理頂視圖中的特征以輸出3D車道估計。Guo等[8]在新的坐標框架中引入了一種新的幾何引導車道錨定表示法,設計一種將圖像分割子網和幾何編碼子網學習解耦的兩階段網絡模型,并應用特定的幾何變換從網絡輸出中直接計算真實的三維車道點。
然而,由于透視現象的存在,在車載攝像機采集到的圖像中,近處道路在圖像中占據較大的像素區域,而中遠處道路的所占像素則隨距離增大而越來越小,因此導致以往的車道線檢測算法在道路中遠處的車道線檢測結果與真實值經常存在著較大的偏差。本文提出了一種基于Transformer框架與卷積神經網絡相結合的3D車道線檢測算法。首先利用卷積神經網絡的卷積核旋轉不變性來提取輸入圖像的局部語義信息特征圖并生成初步的道路與車道線的二值語義分割圖像;其次利用透視變換將車載前景圖像轉化為俯視圖,且再次使用卷積神經網絡提取俯視圖的車道線高級語義特征信息;最后將不同的視角的特征圖融合,利用兩個不同大小的Transformer網絡來分別處理不同尺度下的特征序列,分級逐步定位車道線的三維坐標信息。實驗表明,該方法相比最新的3D車道線檢測算法在道路遠處的檢測結果更加準確。
Transformer是一種人工神經網絡[9],最初用于自然語言處理任務。相比循環神經網絡和卷積神經網絡,Transformer網絡能夠建模輸入序列元素長遠距離之間的依賴關系,并通過支持輸入序列的并行處理來加快網絡的推理速度。因此被廣泛應用于自然語言處理、時間序列預測、計算機視覺等領域。
Transformer框架由編碼器和解碼器兩部分組成,如圖1所示,其中編碼器是由N個相同的編碼器層疊加而成。每個編碼器層包括多頭注意力、求和和歸一化、前饋神經網絡等子模塊。解碼器同樣是由N個相同的解碼器層疊加而成,每個解碼器除了包括與編碼器相同的四個子模塊外,還添加了由掩碼多頭注意力模塊,用于在解碼過程中抹去需要被預測的后續序列信息。

圖1 Transformer模型展開
因為Transformer網絡相對于傳統的循環神經網絡在輸入計算時沒有輸入先后順序,而是采用并行化的思想來加快運算,這樣模型在前一個序列結果還沒有出來的時候便可以同時處理下一個序列,這會喪失了序列的順序性。因此為了不損失順序性,在將序列輸入之前還需要結合位置編碼(positional encoding)。
將掩碼注意力模塊的輸出作為查詢向量(Query),并編碼器輸出的已經編碼好的特征向量作為查詢關鍵字(key)和相關值(value)來計算注意力,從而得到當前需要翻譯的內容和特征向量的對應關系,從而表示出當前時間步的狀態。

圖2 車道正視圖和俯視圖
針對道路的車道線有三種表示模型,相機捕獲的正面視角車道原圖像、經投影變換至俯視角度的俯視圖像和車道線三維坐標表圖。本文采用錨定縱坐標的方式,預先定義一組水平的坐標集合,一組垂直坐標集合,則第t條車道線可以表示為一組點的集合。其中xit表示車道線與預先定義的垂直坐標偏移量,zit表示車道線高度信息,vit表示當前集合是表示車道線還是道路中心線,pit表示當前坐標點存在車道線的概率值。
本文提出算法的輸入為車載前景攝像頭的實時圖像數據,假定圖像為IO,其大小為(H,W,3)。則輸出為當前車輛所在行駛道路的三維車道線位置信息。如圖3所示,經兩個CNN特征提取子網絡,再經過兩個Transformer網絡,最后輸出車道線的三維坐標信息。

圖3 3D車道線檢測網絡
特征提取子網絡包含正視圖特征提取模塊(VFM)和俯視圖特征提取模塊(TFM)。VFM模塊是由輕量級語義分割網絡erfnet[10]組成,TFM模塊是由resnet-34[11]構成。輸入圖像經過VFM模塊編碼器的多次卷積和逐級下采樣,得到車道正視角度的特征圖FV1,FV2,再通過解碼器的逐級上采樣得到與原輸入圖大小一致的車道線二值語義分割圖IS。通過使用透視變換將IS轉換到車道俯視角度的分割圖像IS′,使用TFM模塊提取俯視角度不同尺度的車道特征信息FT1、FT2。
特征融合子網絡由語義Transformer和細節Transformer兩個模塊構成,分別用于提取不同特征尺度下的車道語義信息。其中語義Transformer模塊旨在判別車道線高級語義信息,在例如車道線存在車輛遮擋、車道線磨損不連續等情景下,依賴圖像的上下文信息做出車道線的位置判斷。細節Transformer模塊在語義Transformer輸出信息基礎上在分辨率較高的特征圖中進一步恢復出車道線細節位置信息。將特征提取模塊輸出的FV1,FV2,經透視變化后與FT1、FT2融合,再將其加入位置編碼信息并展開成序列SC和SF。SC表示分辨尺度較小下的語義車道特征序列,而SF表示分辨尺度較大下的細節車道線特征序列,保留了更多的局部車道細節紋理信息。語義Transformer將SC作為輸入,利用近處識別出的車道線信息,結合車道線具有長而細且連續的結構先驗特征,輸出的特征序列語義SC″保持了遠近車道線結構的上下文一致性。細節Transformer則將SF作為編碼器的輸入序列,并將SC″作為解碼器的查詢向量,在分辨率更高的特征圖中識別出的車道線細節信息。
給定圖像及其對應的地面真實三維車道,本文將三維車道檢測的評估表述為預測車道和地面真實車道之間的二分匹配問題。每條地面真實車道曲線都被投影到虛擬俯視圖上,并與最近的位于Yref的錨相關聯。根據預定義的水平位置集合處的地面真值計算地面錨點的屬性。給定成對的預測車道和相應的真值損失函數可以寫成:

本文的實驗基于Guo等人[8]提出的3D車道線公開數據集。該數據集基于美國硅谷的真實區域,并使用Unity游戲引擎構建的虛擬3D道路地圖。其中包括虛擬高速路地圖樣本圖像6000張、城市地圖樣本圖像1500張、居住區道路樣本圖像3000張,還附加了以及相應的深度圖、語義分割圖和三維車道線信息。為了充分驗證并說明本文算法的有效性和先進性,將數據集劃分為三種不同的場景。
(1)平衡場景。本場景訓練集和測試集數量保持相對平衡,場景變化保持相對穩定。
(2)長尾特征分布的場景。這個場景下訓練集與平衡場景相同,但測試集僅使用復雜的城市地圖。該劃分方法中,由于測試圖像稀疏地呈現在不同的位置,涉及劇烈的海拔變化和尖銳的轉彎,測試數據中的場景很少從訓練數據中觀察到。該數據集拆分方法旨在驗證模型對于長尾數據的泛化能力。
(3)具有視覺變化的場景。該場景下3D車道線數據訓練數據集僅包含傍晚時分的道路場景,而測試數據使用一天之中其他時間段的道路場景。因此該分類中訓練集與測試集的道路場景的光線存在較大的變化。
本文將3D車道檢測表述為預測車道和地面真實車道之間的二分匹配問題。對于用于表示一條車道線一組點集合如果有超過75%的點在其預定義的水平坐標y上的x偏移量和高度z與真實值的歐式距離不超過最達允許誤差(1.5 m)時,則認定這條車道線模型與真實車道匹配成功,否則認定為誤檢或者漏檢。匹配的地面真實車道線占總真實車道線百分比報告為召回,預測成功車道線占總預測輸出數量的百分比報告為精度。最后將平均精度(AP)和F-score作為主要的評價指標。此外,在這些匹配車道上,近距離(0~40 m)和遠距離(40~100 m)的誤差(歐氏距離)也作為算法的輔助評價指標。

如表1所示,我們的方法在所有三個實驗場景分組中都優于最先進的方法,F1-socre指標提升5~7個百分點。特別是,在第二類和第三類道路場景中,考慮到這些類型的場景具有較少的道路樣本,并且道路環境更為多變,相對于最以往的檢測算法,本文提出的模型實驗結果的指標提升是非常明顯的。這意味著我們的網絡體系結構在3D車道檢測任務中表現出更優越的魯棒性和通用性。
為了客觀全面地說明本文方法的有效性和先進性,本文在測試集上選擇了幾個不同的典型場景車道圖像作為樣本并可視化了3D車道線檢測結果。如圖4所示。

圖4 車道線檢測結果可視化

表2 模型的評估結果
四種典型的道路場景,場景一(左上部分)是在道路遠處有較大曲率轉彎的道路;場景二(右上部分)連續上坡道路;場景三(左下部分)連續下坡并存在較大曲率的轉彎道路;場景四(右下部分)是先下坡再上坡的凹形道路。檢測結果可視化表明,本文提出的模型在距離車輛近處的車道線檢測結果與以往的方法相當,但在距離車輛較遠的道路區域,以往檢測方法出現了嚴重的偏差,而本文模型則依然能夠捕捉到準確的3D車道線位置,且在存在大幅度曲率的轉彎道路場景中依然表現出良好的性能。
為了研究Transformer模型中編碼器和解碼器層數對3D車道線檢測結果的影響,本文研究了編碼器和解碼器不同層數的組合。實驗結果如表3所示。

表3 Transformer模型大小對檢測結果的影響
可以看出,隨著網絡層的加深,最終的3D車道線檢測準確率不斷提高。這也表明本文提出的模型結構的有效性和靈活性,在其單純增加網絡的深度的情況下,就能提升更加復雜場景下的3D車道線檢測精度。
以往的3D車道線檢測算法在道路遠處的檢測結果誤差較大,針對這個問題,本文提出了基于Transformer框架與CNN網絡相結合的3D車道線檢測模型。通過對不同尺度下的車道線特征信息來從語義到細節逐步定位車道線的位置。并且使用Transformer網絡對長距離序列的特征提取能力,利用道路近處和遠處車道線的具有連續性和一致性來改善車道線遠處的檢測效果,極大地提高了車道檢測的正確率。實驗表明,本文實現的算法具備較強的魯棒性和較高的檢測準確度。