高揚 陳士偉 劉進淵 王書棋
(長安大學,西安 710054)
主題詞:車道跟隨 深度學習 注意力機制 循環神經網絡 無人駕駛
近年來,車道跟隨作為無人駕駛領域的關鍵技術之一引起了廣泛關注。在傳統的連續幀車道跟隨問題中廣泛使用的是基于模型參數的方法,其中卡爾曼濾波是一種典型方法,例如Mammeri等人在跟蹤車道線方面,使用了2個卡爾曼跟蹤器來跟蹤2個端點,但是單純使用卡爾曼濾波器要求系統為線性且系統噪聲需服從高斯分布,而在實際環境中,由于車輛振動,系統所處狀態并不能滿足這些條件。因此Kim 等人提出,車道跟隨更適合用粒子濾波器而不是卡爾曼濾波器。然而粒子濾波器對參數空間中傳播粒子的方差十分敏感,方差過大會使濾波效果變差,方差過小會造成搜索空間有限。于是,Heidi等人提出將粒子濾波器與卡爾曼濾波器結合為卡爾曼-粒子濾波器并在困難場景(鄉村道路)下的車道跟隨中取得了較為穩定的結果。
傳統車道跟隨方法在多變的道路場景中需要設計復雜的規則并進行繁瑣的人工參數調整,不利于減輕人員負擔,更不利于實現機器自我學習與自我控制。因此,近年來深度學習技術在車道跟隨領域逐漸引起關注。Pomerleau 等人利用卷積神經網絡實現了從駕駛圖像到車輛轉向盤轉角的映射,在一定的野外條件下有效地實現了真實道路跟隨;Muller 等人設計了6 層卷積神經網絡,直接預測了車輛的轉向盤轉角來實現車道跟隨;Bojarski 等人提出End-to-End 自動駕駛深度學習算法,并在仿真和真實駕駛場景中完成了測試;Yu 等人提出利用全卷積網絡(Fully Convolutional Networks,FCN)進行更深層的語義分割,通過長短期記憶(Long Short-Term Memory,LSTM)網絡直接對車輛轉向盤轉角和車速進行預測并取得了不錯的效果。
就現有基于深度學習的車道跟隨研究而言,車道跟隨模型針對極端的困難駕駛場景(例如黑夜、陰影、無車道線等)的相關研究較少且準確性與穩定性較差,同時存在數據集制作成本高昂的問題。因此,本文結合一種多幀輸入的車道線檢測模型提出一種基于深度學習的無人駕駛汽車車道跟隨模型。
本文基于U-Net結構提出一種基于時空信息與深層信息融合的車道線檢測模型UNET_CLB(U-NET with Convolutional LSTM Block)。網絡整體結構如圖1所示,各部分作用為:編碼器負責提取連續單目圖像中的車道特征;卷積長短時記憶網絡(CONVolutional Long Short-Term Memory,CONVLSTM)在經典LSTM 網絡基礎上用卷積操作代替矩陣乘法,通過LSTM網絡保留時間信息,通過卷積操作保留空間信息,將編碼器與解碼器對應通道的多幀語義信息融合,獲取更優的高級車道特征;解碼器根據該特征恢復目標的語義信息。此外,編碼器第4 層輸出的一系列連續卷積塊采用了密連卷積的思想,通過特征復用增強了網絡的特征使用能力,以及通過不同層學習特征的并行映射增加了后續層的輸入變化,即編碼器第4層的輸出經過密連卷積模塊獲取深層信息后輸入CONVLSTM模塊實現了深層信息的融合。整個網絡模型的輸入為車載單目相機采集的連續幀圖像向量,輸出為車道線語義分割預測圖。

圖1 車道線檢測模型UNET_CLB
借鑒時空序列預測領域的經典模型PredRNN設計如圖2 所示的時間注意力網絡預測輸入信息的相關性,并基于此建立基于深度時間注意力的車道跟隨模型LSTM_DT(LSTM Network with Deterministic Time)。

圖2 時間注意力網絡結構
該模型包括輸入層、中間處理模塊以及輸出層。

中間處理模塊:
a.確定性注意力網絡:使用LSTM 網絡對先前的隱藏狀態h進行更新并使用多層感知器對輸入的維連續向量X進行加權。其中h∈R,基礎的LSTM 單元可以總結為:

式中,i、f、o分別為輸入門、遺忘門和輸出門;c為當前時刻的細胞狀態(Cell State);[h;X]∈R為先前的隱藏狀態(Hidden State)h和當前的輸入X的堆疊;W,W,W,W∈R和b,b,b,b∈R分別為各門輸入權重和每個分量的偏差,是網絡需要學習的參數;()為Sigmoid激活函數;⊙為阿達馬(Hadamard)乘積,即向量的元素相乘。


式中,v∈R、W∈R、P∈R為多層感知器需要學習的參數。


如圖3所示,將連續時刻的車道線跟隨數據以及車輛控制數據輸入LSTM_DT 模型以預測時刻的車速與轉向盤轉角。網絡整體結構由連續時刻的車道跟隨數據、時間注意力網絡、LSTM 單元,以及3 層全連接網絡組成,其中每個LSTM 單元含50 個隱藏單元,全連接網絡的第1 層和第2 層設為50 個神經元,最后一層設為2個神經元作為網絡的輸出向量y(時刻的車速和轉向盤轉角)。

圖3 車道跟隨模型LSTM_DT
由于車道線跟隨數據以及車輛控制數據經過時間注意力網絡加權的車道向量輸入LSTM 后,隱藏狀態以及細胞狀態會從時間空間映射到新的空間,為了保證新空間的歷史信息的有效性,在LSTM_DT 基礎上設計空間注意力網絡為模型的隱藏狀態增加權重,則優化后的LSTM_DTS(LSTM Network with Deterministic Time and Space)模型結構如圖4所示。

圖4 車道跟隨模型LSTM_DTS
如圖4所示,輸入的車道跟隨數據經時間注意力網絡加權輸入LSTM單元,其隱藏狀態通過SPACE_ATTNEN?TION層(空間注意力網絡)加權以保證新空間的歷史信息的有效性,用表示SPACE_ATTNENTION層,則加權后的LSTM單元可表示為:

為驗證本文所提出模型的有效性,在自制車道跟隨數據集上進行測試。針對單目相機采集的原始數據集經過初步的數據處理后,選擇Labelme標注軟件作為標記工具共制作60 000張車道數據集,涵蓋黑夜、陰影、無車道線等困難駕駛場景,標注結果如圖5所示。

圖5 車道標記結果
如圖5所示,為了評估UNET_CLB模型的車道線檢測能力,本文對采集的圖片進行了語義分割;為了便于獲取車道線三次樣條擬合參數以控制車道跟隨行為,對圖片進行了車道線實例分割。最后在車道線檢測數據集的基礎上建立車道跟隨數據集(包含連續個時刻的兩側車道線跟隨數據以及車輛控制數據),將(-1)時刻的車速和轉向盤轉角v、δ與時刻兩側車道跟隨數據的三次樣條參數值、、、、、、、作為車道跟隨模型在時刻的輸入數據;模型輸出為時刻的車速和轉向盤轉角。
車道跟隨模型的輸入為車道線三次樣條參數與(-1)時刻的車速與轉向盤轉角,模型標簽為時刻的車速與轉向盤轉角。模型訓練時的時間步長設置為2;批量處理尺寸(Batch size)設置為64;訓練時總的迭代次數(Epoch)設置為50;損失函數設置為均方誤差(MSE);優化器設置為自適應動量評估(Adam);學習率設置為0.001。整個數據集按7∶1∶2 劃分為訓練集、驗證集、測試集。本文模型的訓練環境包含2臺深度學習工作站,CPU為16核32線程的雙路至強E5 2620,獨立顯卡分別為1 塊GTX2080ti 和1 塊GTX1080ti。深度學習環境配置為:CUDA 10.0、CUDNN 7.3.1、Pytorch 1.6.0、Python 3.7、OpenCV-Python 3.4以及其他相關依賴庫。
如圖6 為LSTM_DTS 模型在訓練與驗證中的誤差變化曲線,可見模型訓練誤差在第3 次迭代時迅速下降,驗證誤差在第14 次迭代時基本不變,訓練基本擬合,模型最終的訓練誤差、驗證誤差和測試誤差分別為3.54%、1.75%、1.43%,可見模型在自制車道跟隨數據集上的收斂速度較快,訓練效果較好。如圖7 所示為LSTM_DTS 模型在測試集上轉向盤轉角預測值與真實值結果(為了更好地衡量模型的預測效果,對原始數據和預測數據進行了歸一化處理),由圖7可知,模型對大部分數據都能較好地擬合。

圖6 LSTM_DTS模型訓練誤差與驗證誤差曲線

圖7 LSTM_DTS模型預測結果
如圖8 所示為本文所提出模型與經典時空預測模型PredRNN預測轉向盤轉角的結果對比曲線。可以看出,LSTM_DTS 模型預測結果變化較為平穩且更貼近真值,而PredRNN 模型在轉角變化處產生劇烈波動。根據已有研究結果,前輪轉角應滿足約束:

圖8 轉向盤轉角對比曲線

式中,為穩定性因數;=9.8 m/s為重力加速度;為前輪最大轉角;為模型車輛質心速度;為模型車輛的軸距。
可見,在較高車速下轉向時采用PredRNN 模型預測結果會嚴重影響車輛的操縱穩定性,而采用本文所提出的LSTM_DTS 模型可以更好地克服轉向盤轉角的波動性從而具有更好的車輛操縱穩定性。
同樣地,圖9所示為本文所提出的模型與PredRNN模型在車速上的對比曲線。從圖9 中可以看出,采用PredRNN 模型預測的車速變化劇烈,LSTM_DTS 模型預測的車速變化較為平穩且接近真實車速。而根據式(4),轉角過大時,若超過對應轉角下的極限車速會有發生側滑的危險,可見LSTM_DTS模型不僅具有較高的準確率,并且可以很好地克服波動從而具有更好的車輛操縱穩定性。

圖9 車速對比曲線
為進一步驗證車道跟隨模型在黑夜、陰影、無線等困難環境中能否滿足車輛操縱穩定性,基于Webots 仿真軟件搭建城市夜晚仿真模型。通過手動控制仿真車輛行駛,共采集6 000張黑夜環境車道圖像制作車道線仿真數據集,同時記錄對應時刻模型車的前輪轉角與車速,并在其基礎上制作車道跟隨仿真數據集。利用車道線仿真數據集訓練UNET_CLB模型,利用車道跟隨數據集訓練LSTM_DTS模型。
圖10 給出了LSTM_DTS 的訓練誤差曲線,由圖10可知,模型訓練誤差在第3 次迭代時迅速下降,驗證誤差在第8 次迭代時基本不變,模型訓練基本擬合,模型最終的訓練誤差、驗證誤差和測試誤差分別為3.65%、2.15%、2.27%,可見模型車道跟隨仿真數據集上的收斂速度較快,訓練效果較好。

圖10 LSTM_DTS模型訓練及驗證誤差曲線
如圖11所示為采用本文模型進行整個仿真的算法框架:車道線檢測類負責識別連續3 幀圖像,并將最后一幀圖像通過三次樣條曲線擬合得到車道線參數;車道跟隨類獲取上一時刻的車道線參數,車速與前輪轉角輸出此時刻的車速和前輪轉角;安全判定條件類判斷車速與前輪轉角是否符合極限關系,從而保證在滿足安全條件的前提下控制仿真車輛行駛。

圖11 仿真算法框架
基于常用的兩輪車輛運動學模型,前輪驅動時,后輪轉角恒為0,則車輛坐標系下的運動學模型為:

式中,為航向角;為質心側偏角;、分別為模型車輛前軸軸距、后軸軸距。

PID 控制作為成熟的控制器被廣泛應用在無人車軌跡跟蹤領域,使用PID 控制作為對比方法檢驗LSTM_DTS 控制方法的有效性。將車道中間線的軌跡作為參考軌跡,利用無人車的橫向跟蹤誤差e作為PID控制器的反饋,轉向盤轉角作為控制器的對象,其中橫向跟蹤誤差e為前軸中心點(r,r)到最近路徑點(p,p)的距離,具體如圖12所示。

圖12 橫向跟蹤誤差示意
如圖12,橫向跟蹤誤差計算公式為:

式中,為前視距離,即后軸中心與當前最近路徑點的距離;=-為前軸中心點(r,r)到最近路徑點(p,p)間連線與垂直方向的夾角。
使用PID控制器輸出轉向盤轉角為:

式中,e()為步對應的系統誤差;k、k、k為控制器參數。
根據PID 控制器中比例控制(P)、積分控制(I)、微分控制(D)的控制特性,采用湊試法人工調節控制器對應的控制參數k、k、k使得橫向誤差達到較小值,同時對應觀察仿真小車的運行軌跡與參考軌跡的對比來保證PID 控制器達到比較好的控制效果。PID 控制器的3 個參數通過湊試法確定,具體的取值為:k=1.0,k=0.001,k=20.0。
通過GPS記錄仿真車輛的坐標(GPS無漂移),車輛在不同控制模型下的仿真路線與期望路線對比結果如圖13所示。可見在黑夜環境中LSTM_DTS 控制下的車輛行駛路線基本符合期望軌跡,但在運行過程中出現一些困難點,導致車輛行駛路線發生波動。

圖13 仿真結果對比
如圖14所示為仿真車輛在困難點1、4、6(黑夜轉彎處)UNET_CLB模型對車道線的識別結果。因為左車道線的像素點過少導致UNET_CLB 模型對左車道線擬合斜率出現偏差,從而影響LSTM_DTS 模型輸出轉角變小,但LSTM_DTS模型控制輸出的結果較為平穩。

圖14 UNET_CLB模型在黑夜轉彎處的識別結果
如圖15所示為仿真車輛在困難點2、3(陰影處),5、7(無車道線處)的識別結果。在陰影環境下UNET_CLB模型對車道線擬合效果良好,LSTM_DTS 模型在控制過程中由于即將進入轉彎處,車速降低導致輸出轉角小幅波動但基本滿足操縱穩定性要求;在無線環境下UNET_CLB模型受遠端斑馬線影響,導致車道擬合斜率偏差,LSTM_DTS模型在控制過程中輸出轉角小幅波動但基本跟隨真實路線。

圖15 UNET_CLB模型在陰影與無線處的識別結果
綜上,在無車道線、陰影、黑夜等困難環境下LSTM_DTS模型輸出控制轉角雖然有較小的波動,但可以較好地控制仿真車輛安全行駛。與成熟的PID 控制器相比,本文所提出的控制方法有效避免了傳統控制方法人工進行復雜的模型、規則、參數設計,并且只需提供足夠的數據用于模型的訓練即可達到與傳統控制器相同的控制效果。
本節構建的仿真數據集與真實場景下的數據集具有相似性,因此選用遷移學習的方法對真實場景下構建的數據集進行訓練與測試。UNET_CLB 模型在真實車道檢測數據集的識別效果如圖16所示。

圖16 真實車道檢測數據集識別效果
由圖16 可知,UNET_CLB 模型在黑夜、陰影、無車道線環境中識別效果良好,并在存在車轍印、雨水等干擾條件下也具有較好的魯棒性與較高準確率,為車道跟隨模型LSTM_DTS 奠定了良好的跟隨基礎。如圖17所示為LSTM_DTS 模型輸出的預測值與真實值在轉向盤轉角上的對比曲線。從圖17中可以看出,LSTM_DTS模型與真實數據差值基本在0附近波動,具有較好的平順性,在真實轉角劇烈變化處,模型預測值偏小,因此本模型可以更好地克服波動使得車輛保持良好的車輛操縱穩定性。

圖17 遷移學習下的轉向盤轉角對比曲線
同樣地,如圖18 所示為LSTM_DTS 模型輸出的預測值與真實值在車速上的對比曲線。在車速劇烈變化時,LSTM_DTS 模型輸出的車速預測值相對較小,有助于保證車輛的駕駛安全性;在車輛直線高速行駛時,LSTM_DTS 模型的預測值與真實值比較接近而且變化平穩,保證了駕駛員的操縱穩定性。

圖18 遷移學習下的車速對比曲線
本文提出了一種深度時空注意力網絡與循環神經網絡相結合的車道跟隨模型LSTM_DTS,并在自制的實際車道跟隨數據集上訓練取得了1.43%的測試誤差。最后結合一種多幀輸入的車道線檢測模型UNET_CLB在搭建的仿真困難駕駛場景(包含黑夜、陰影、無車道線等)下對本文所提出的模型進行訓練以及測試驗證,獲得了2.27%的測試誤差,并通過遷移學習方法進行驗證,結果表明,本文模型不僅具有良好的魯棒性與準確性,并能夠在困難場景下有效地實現無人駕駛車輛車道跟隨,可以更好地輔助無人駕駛并能應用于車道偏離預警、自動泊車等無人駕駛技術。