高揚 陳士偉 劉進淵 王書棋
(長安大學,西安 710054)
主題詞:車道跟隨 深度學習 注意力機制 循環(huán)神經(jīng)網(wǎng)絡 無人駕駛
近年來,車道跟隨作為無人駕駛領域的關鍵技術之一引起了廣泛關注。在傳統(tǒng)的連續(xù)幀車道跟隨問題中廣泛使用的是基于模型參數(shù)的方法,其中卡爾曼濾波是一種典型方法,例如Mammeri等人在跟蹤車道線方面,使用了2個卡爾曼跟蹤器來跟蹤2個端點,但是單純使用卡爾曼濾波器要求系統(tǒng)為線性且系統(tǒng)噪聲需服從高斯分布,而在實際環(huán)境中,由于車輛振動,系統(tǒng)所處狀態(tài)并不能滿足這些條件。因此Kim 等人提出,車道跟隨更適合用粒子濾波器而不是卡爾曼濾波器。然而粒子濾波器對參數(shù)空間中傳播粒子的方差十分敏感,方差過大會使濾波效果變差,方差過小會造成搜索空間有限。于是,Heidi等人提出將粒子濾波器與卡爾曼濾波器結合為卡爾曼-粒子濾波器并在困難場景(鄉(xiāng)村道路)下的車道跟隨中取得了較為穩(wěn)定的結果。
傳統(tǒng)車道跟隨方法在多變的道路場景中需要設計復雜的規(guī)則并進行繁瑣的人工參數(shù)調(diào)整,不利于減輕人員負擔,更不利于實現(xiàn)機器自我學習與自我控制。因此,近年來深度學習技術在車道跟隨領域逐漸引起關注。Pomerleau 等人利用卷積神經(jīng)網(wǎng)絡實現(xiàn)了從駕駛圖像到車輛轉向盤轉角的映射,在一定的野外條件下有效地實現(xiàn)了真實道路跟隨;Muller 等人設計了6 層卷積神經(jīng)網(wǎng)絡,直接預測了車輛的轉向盤轉角來實現(xiàn)車道跟隨;Bojarski 等人提出End-to-End 自動駕駛深度學習算法,并在仿真和真實駕駛場景中完成了測試;Yu 等人提出利用全卷積網(wǎng)絡(Fully Convolutional Networks,F(xiàn)CN)進行更深層的語義分割,通過長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡直接對車輛轉向盤轉角和車速進行預測并取得了不錯的效果。
就現(xiàn)有基于深度學習的車道跟隨研究而言,車道跟隨模型針對極端的困難駕駛場景(例如黑夜、陰影、無車道線等)的相關研究較少且準確性與穩(wěn)定性較差,同時存在數(shù)據(jù)集制作成本高昂的問題。因此,本文結合一種多幀輸入的車道線檢測模型提出一種基于深度學習的無人駕駛汽車車道跟隨模型。
本文基于U-Net結構提出一種基于時空信息與深層信息融合的車道線檢測模型UNET_CLB(U-NET with Convolutional LSTM Block)。網(wǎng)絡整體結構如圖1所示,各部分作用為:編碼器負責提取連續(xù)單目圖像中的車道特征;卷積長短時記憶網(wǎng)絡(CONVolutional Long Short-Term Memory,CONVLSTM)在經(jīng)典LSTM 網(wǎng)絡基礎上用卷積操作代替矩陣乘法,通過LSTM網(wǎng)絡保留時間信息,通過卷積操作保留空間信息,將編碼器與解碼器對應通道的多幀語義信息融合,獲取更優(yōu)的高級車道特征;解碼器根據(jù)該特征恢復目標的語義信息。此外,編碼器第4 層輸出的一系列連續(xù)卷積塊采用了密連卷積的思想,通過特征復用增強了網(wǎng)絡的特征使用能力,以及通過不同層學習特征的并行映射增加了后續(xù)層的輸入變化,即編碼器第4層的輸出經(jīng)過密連卷積模塊獲取深層信息后輸入CONVLSTM模塊實現(xiàn)了深層信息的融合。整個網(wǎng)絡模型的輸入為車載單目相機采集的連續(xù)幀圖像向量,輸出為車道線語義分割預測圖。
圖1 車道線檢測模型UNET_CLB
借鑒時空序列預測領域的經(jīng)典模型PredRNN設計如圖2 所示的時間注意力網(wǎng)絡預測輸入信息的相關性,并基于此建立基于深度時間注意力的車道跟隨模型LSTM_DT(LSTM Network with Deterministic Time)。
圖2 時間注意力網(wǎng)絡結構
該模型包括輸入層、中間處理模塊以及輸出層。
中間處理模塊:
a.確定性注意力網(wǎng)絡:使用LSTM 網(wǎng)絡對先前的隱藏狀態(tài)h進行更新并使用多層感知器對輸入的維連續(xù)向量X進行加權。其中h∈R,基礎的LSTM 單元可以總結為:
式中,i、f、o分別為輸入門、遺忘門和輸出門;c為當前時刻的細胞狀態(tài)(Cell State);[h;X]∈R為先前的隱藏狀態(tài)(Hidden State)h和當前的輸入X的堆疊;W,W,W,W∈R和b,b,b,b∈R分別為各門輸入權重和每個分量的偏差,是網(wǎng)絡需要學習的參數(shù);()為Sigmoid激活函數(shù);⊙為阿達馬(Hadamard)乘積,即向量的元素相乘。
式中,v∈R、W∈R、P∈R為多層感知器需要學習的參數(shù)。
如圖3所示,將連續(xù)時刻的車道線跟隨數(shù)據(jù)以及車輛控制數(shù)據(jù)輸入LSTM_DT 模型以預測時刻的車速與轉向盤轉角。網(wǎng)絡整體結構由連續(xù)時刻的車道跟隨數(shù)據(jù)、時間注意力網(wǎng)絡、LSTM 單元,以及3 層全連接網(wǎng)絡組成,其中每個LSTM 單元含50 個隱藏單元,全連接網(wǎng)絡的第1 層和第2 層設為50 個神經(jīng)元,最后一層設為2個神經(jīng)元作為網(wǎng)絡的輸出向量y(時刻的車速和轉向盤轉角)。
圖3 車道跟隨模型LSTM_DT
由于車道線跟隨數(shù)據(jù)以及車輛控制數(shù)據(jù)經(jīng)過時間注意力網(wǎng)絡加權的車道向量輸入LSTM 后,隱藏狀態(tài)以及細胞狀態(tài)會從時間空間映射到新的空間,為了保證新空間的歷史信息的有效性,在LSTM_DT 基礎上設計空間注意力網(wǎng)絡為模型的隱藏狀態(tài)增加權重,則優(yōu)化后的LSTM_DTS(LSTM Network with Deterministic Time and Space)模型結構如圖4所示。
圖4 車道跟隨模型LSTM_DTS
如圖4所示,輸入的車道跟隨數(shù)據(jù)經(jīng)時間注意力網(wǎng)絡加權輸入LSTM單元,其隱藏狀態(tài)通過SPACE_ATTNEN?TION層(空間注意力網(wǎng)絡)加權以保證新空間的歷史信息的有效性,用表示SPACE_ATTNENTION層,則加權后的LSTM單元可表示為:
為驗證本文所提出模型的有效性,在自制車道跟隨數(shù)據(jù)集上進行測試。針對單目相機采集的原始數(shù)據(jù)集經(jīng)過初步的數(shù)據(jù)處理后,選擇Labelme標注軟件作為標記工具共制作60 000張車道數(shù)據(jù)集,涵蓋黑夜、陰影、無車道線等困難駕駛場景,標注結果如圖5所示。
圖5 車道標記結果
如圖5所示,為了評估UNET_CLB模型的車道線檢測能力,本文對采集的圖片進行了語義分割;為了便于獲取車道線三次樣條擬合參數(shù)以控制車道跟隨行為,對圖片進行了車道線實例分割。最后在車道線檢測數(shù)據(jù)集的基礎上建立車道跟隨數(shù)據(jù)集(包含連續(xù)個時刻的兩側車道線跟隨數(shù)據(jù)以及車輛控制數(shù)據(jù)),將(-1)時刻的車速和轉向盤轉角v、δ與時刻兩側車道跟隨數(shù)據(jù)的三次樣條參數(shù)值、、、、、、、作為車道跟隨模型在時刻的輸入數(shù)據(jù);模型輸出為時刻的車速和轉向盤轉角。
車道跟隨模型的輸入為車道線三次樣條參數(shù)與(-1)時刻的車速與轉向盤轉角,模型標簽為時刻的車速與轉向盤轉角。模型訓練時的時間步長設置為2;批量處理尺寸(Batch size)設置為64;訓練時總的迭代次數(shù)(Epoch)設置為50;損失函數(shù)設置為均方誤差(MSE);優(yōu)化器設置為自適應動量評估(Adam);學習率設置為0.001。整個數(shù)據(jù)集按7∶1∶2 劃分為訓練集、驗證集、測試集。本文模型的訓練環(huán)境包含2臺深度學習工作站,CPU為16核32線程的雙路至強E5 2620,獨立顯卡分別為1 塊GTX2080ti 和1 塊GTX1080ti。深度學習環(huán)境配置為: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%,可見模型在自制車道跟隨數(shù)據(jù)集上的收斂速度較快,訓練效果較好。如圖7 所示為LSTM_DTS 模型在測試集上轉向盤轉角預測值與真實值結果(為了更好地衡量模型的預測效果,對原始數(shù)據(jù)和預測數(shù)據(jù)進行了歸一化處理),由圖7可知,模型對大部分數(shù)據(jù)都能較好地擬合。
圖6 LSTM_DTS模型訓練誤差與驗證誤差曲線
圖7 LSTM_DTS模型預測結果
如圖8 所示為本文所提出模型與經(jīng)典時空預測模型PredRNN預測轉向盤轉角的結果對比曲線??梢钥闯?,LSTM_DTS 模型預測結果變化較為平穩(wěn)且更貼近真值,而PredRNN 模型在轉角變化處產(chǎn)生劇烈波動。根據(jù)已有研究結果,前輪轉角應滿足約束:
圖8 轉向盤轉角對比曲線
式中,為穩(wěn)定性因數(shù);=9.8 m/s為重力加速度;為前輪最大轉角;為模型車輛質(zhì)心速度;為模型車輛的軸距。
可見,在較高車速下轉向時采用PredRNN 模型預測結果會嚴重影響車輛的操縱穩(wěn)定性,而采用本文所提出的LSTM_DTS 模型可以更好地克服轉向盤轉角的波動性從而具有更好的車輛操縱穩(wěn)定性。
同樣地,圖9所示為本文所提出的模型與PredRNN模型在車速上的對比曲線。從圖9 中可以看出,采用PredRNN 模型預測的車速變化劇烈,LSTM_DTS 模型預測的車速變化較為平穩(wěn)且接近真實車速。而根據(jù)式(4),轉角過大時,若超過對應轉角下的極限車速會有發(fā)生側滑的危險,可見LSTM_DTS模型不僅具有較高的準確率,并且可以很好地克服波動從而具有更好的車輛操縱穩(wěn)定性。
圖9 車速對比曲線
為進一步驗證車道跟隨模型在黑夜、陰影、無線等困難環(huán)境中能否滿足車輛操縱穩(wěn)定性,基于Webots 仿真軟件搭建城市夜晚仿真模型。通過手動控制仿真車輛行駛,共采集6 000張黑夜環(huán)境車道圖像制作車道線仿真數(shù)據(jù)集,同時記錄對應時刻模型車的前輪轉角與車速,并在其基礎上制作車道跟隨仿真數(shù)據(jù)集。利用車道線仿真數(shù)據(jù)集訓練UNET_CLB模型,利用車道跟隨數(shù)據(jù)集訓練LSTM_DTS模型。
圖10 給出了LSTM_DTS 的訓練誤差曲線,由圖10可知,模型訓練誤差在第3 次迭代時迅速下降,驗證誤差在第8 次迭代時基本不變,模型訓練基本擬合,模型最終的訓練誤差、驗證誤差和測試誤差分別為3.65%、2.15%、2.27%,可見模型車道跟隨仿真數(shù)據(jù)集上的收斂速度較快,訓練效果較好。
圖10 LSTM_DTS模型訓練及驗證誤差曲線
如圖11所示為采用本文模型進行整個仿真的算法框架:車道線檢測類負責識別連續(xù)3 幀圖像,并將最后一幀圖像通過三次樣條曲線擬合得到車道線參數(shù);車道跟隨類獲取上一時刻的車道線參數(shù),車速與前輪轉角輸出此時刻的車速和前輪轉角;安全判定條件類判斷車速與前輪轉角是否符合極限關系,從而保證在滿足安全條件的前提下控制仿真車輛行駛。
圖11 仿真算法框架
基于常用的兩輪車輛運動學模型,前輪驅(qū)動時,后輪轉角恒為0,則車輛坐標系下的運動學模型為:
式中,為航向角;為質(zhì)心側偏角;、分別為模型車輛前軸軸距、后軸軸距。
PID 控制作為成熟的控制器被廣泛應用在無人車軌跡跟蹤領域,使用PID 控制作為對比方法檢驗LSTM_DTS 控制方法的有效性。將車道中間線的軌跡作為參考軌跡,利用無人車的橫向跟蹤誤差e作為PID控制器的反饋,轉向盤轉角作為控制器的對象,其中橫向跟蹤誤差e為前軸中心點(r,r)到最近路徑點(p,p)的距離,具體如圖12所示。
圖12 橫向跟蹤誤差示意
如圖12,橫向跟蹤誤差計算公式為:
式中,為前視距離,即后軸中心與當前最近路徑點的距離;=-為前軸中心點(r,r)到最近路徑點(p,p)間連線與垂直方向的夾角。
使用PID控制器輸出轉向盤轉角為:
式中,e()為步對應的系統(tǒng)誤差;k、k、k為控制器參數(shù)。
根據(jù)PID 控制器中比例控制(P)、積分控制(I)、微分控制(D)的控制特性,采用湊試法人工調(diào)節(jié)控制器對應的控制參數(shù)k、k、k使得橫向誤差達到較小值,同時對應觀察仿真小車的運行軌跡與參考軌跡的對比來保證PID 控制器達到比較好的控制效果。PID 控制器的3 個參數(shù)通過湊試法確定,具體的取值為:k=1.0,k=0.001,k=20.0。
通過GPS記錄仿真車輛的坐標(GPS無漂移),車輛在不同控制模型下的仿真路線與期望路線對比結果如圖13所示??梢娫诤谝弓h(huán)境中LSTM_DTS 控制下的車輛行駛路線基本符合期望軌跡,但在運行過程中出現(xiàn)一些困難點,導致車輛行駛路線發(fā)生波動。
圖13 仿真結果對比
如圖14所示為仿真車輛在困難點1、4、6(黑夜轉彎處)UNET_CLB模型對車道線的識別結果。因為左車道線的像素點過少導致UNET_CLB 模型對左車道線擬合斜率出現(xiàn)偏差,從而影響LSTM_DTS 模型輸出轉角變小,但LSTM_DTS模型控制輸出的結果較為平穩(wěn)。
圖14 UNET_CLB模型在黑夜轉彎處的識別結果
如圖15所示為仿真車輛在困難點2、3(陰影處),5、7(無車道線處)的識別結果。在陰影環(huán)境下UNET_CLB模型對車道線擬合效果良好,LSTM_DTS 模型在控制過程中由于即將進入轉彎處,車速降低導致輸出轉角小幅波動但基本滿足操縱穩(wěn)定性要求;在無線環(huán)境下UNET_CLB模型受遠端斑馬線影響,導致車道擬合斜率偏差,LSTM_DTS模型在控制過程中輸出轉角小幅波動但基本跟隨真實路線。
圖15 UNET_CLB模型在陰影與無線處的識別結果
綜上,在無車道線、陰影、黑夜等困難環(huán)境下LSTM_DTS模型輸出控制轉角雖然有較小的波動,但可以較好地控制仿真車輛安全行駛。與成熟的PID 控制器相比,本文所提出的控制方法有效避免了傳統(tǒng)控制方法人工進行復雜的模型、規(guī)則、參數(shù)設計,并且只需提供足夠的數(shù)據(jù)用于模型的訓練即可達到與傳統(tǒng)控制器相同的控制效果。
本節(jié)構建的仿真數(shù)據(jù)集與真實場景下的數(shù)據(jù)集具有相似性,因此選用遷移學習的方法對真實場景下構建的數(shù)據(jù)集進行訓練與測試。UNET_CLB 模型在真實車道檢測數(shù)據(jù)集的識別效果如圖16所示。
圖16 真實車道檢測數(shù)據(jù)集識別效果
由圖16 可知,UNET_CLB 模型在黑夜、陰影、無車道線環(huán)境中識別效果良好,并在存在車轍印、雨水等干擾條件下也具有較好的魯棒性與較高準確率,為車道跟隨模型LSTM_DTS 奠定了良好的跟隨基礎。如圖17所示為LSTM_DTS 模型輸出的預測值與真實值在轉向盤轉角上的對比曲線。從圖17中可以看出,LSTM_DTS模型與真實數(shù)據(jù)差值基本在0附近波動,具有較好的平順性,在真實轉角劇烈變化處,模型預測值偏小,因此本模型可以更好地克服波動使得車輛保持良好的車輛操縱穩(wěn)定性。
圖17 遷移學習下的轉向盤轉角對比曲線
同樣地,如圖18 所示為LSTM_DTS 模型輸出的預測值與真實值在車速上的對比曲線。在車速劇烈變化時,LSTM_DTS 模型輸出的車速預測值相對較小,有助于保證車輛的駕駛安全性;在車輛直線高速行駛時,LSTM_DTS 模型的預測值與真實值比較接近而且變化平穩(wěn),保證了駕駛員的操縱穩(wěn)定性。
圖18 遷移學習下的車速對比曲線
本文提出了一種深度時空注意力網(wǎng)絡與循環(huán)神經(jīng)網(wǎng)絡相結合的車道跟隨模型LSTM_DTS,并在自制的實際車道跟隨數(shù)據(jù)集上訓練取得了1.43%的測試誤差。最后結合一種多幀輸入的車道線檢測模型UNET_CLB在搭建的仿真困難駕駛場景(包含黑夜、陰影、無車道線等)下對本文所提出的模型進行訓練以及測試驗證,獲得了2.27%的測試誤差,并通過遷移學習方法進行驗證,結果表明,本文模型不僅具有良好的魯棒性與準確性,并能夠在困難場景下有效地實現(xiàn)無人駕駛車輛車道跟隨,可以更好地輔助無人駕駛并能應用于車道偏離預警、自動泊車等無人駕駛技術。