張興波 石朝俠 王燕清
(1.南京理工大學計算機科學與工程學院 南京 210094)
(2.南京曉莊學院信息工程學院 南京 211171)
自動駕駛能有效地減少交通事故的發(fā)生,合理利用交通資源,緩解交通壓力。傳統(tǒng)的自動駕駛方法會將任務劃分為路徑規(guī)劃、目標檢測、目標跟蹤、車道線識別等多個子任務來解決,這種方法可解釋性強但同時也存在著系統(tǒng)復雜、計算量大和對硬件要求高的缺點[1]。近年來基于強化學習和深度學習的方法成為自動駕駛領域的研究熱點。在基于深度學習的方法中,神經(jīng)網(wǎng)絡的輸入是傳感器輸出信息,網(wǎng)絡輸出是車輛控制信息,神經(jīng)網(wǎng)絡通過學習人類專家的示范來進行學習這種映射關系,能夠較快達到較高自動駕駛水平。而基于強化學習的自動駕駛算法則依靠自己探索環(huán)境做出正確決策,最通用的構造方法是構造一個列表存儲所有的狀態(tài)-動作對的獎勵值。但是這種方法對于自動駕駛這種狀態(tài)-動作空間較大的情況難以奏效,因此基于強化學習的自動駕駛算法一直未出現(xiàn)較大規(guī)模的應用[2]。
2005 年,Lecun 等[3]構建了具有6 層卷積神經(jīng)網(wǎng)絡的端到端模型DAVE,采用監(jiān)督學習的方式進行神經(jīng)網(wǎng)絡的訓練,研究表明該模型在野外環(huán)境下具有很好的魯棒性。2016 年NVIDIA 通過采集實車數(shù)據(jù)訓練了一個卷積神經(jīng)網(wǎng)絡模型預測方向盤角度,該模型能夠根據(jù)前置攝像頭傳輸?shù)膱D像得到轉向角度,可以在多種路況下行駛,這一成果證明了端到端控制方法的可行性,這一成果命名為DAVE-2[4]。2017 年Dosovitskiy 等介紹了一款開源自動駕駛仿真平臺CARLA[5],他們在CARLA 上通過訓練端到端自動駕駛模型CIL[6](Conditional Imitation Learning),實驗結果表明根據(jù)導航信息進行分支的網(wǎng)絡CIL 能夠有效利用導航信息。2018 年Simon Hecker[7]等提出了一種基于環(huán)繞視覺的端到端模型,該模型能夠有效避免單相機情況下的駕駛錯誤,提高模型魯棒性。2019 年Codevilla 等提出CILRS[8]模型使用ResNet34[9]進行環(huán)境感知取得了良好的效果并且通過速度預測一定程度上消除了CIL模型中有時會異常停車的問題。
上述模型除了Simon Hecker 提出的環(huán)繞視覺模型外,都是將單幀圖片作為網(wǎng)絡輸入來預測車輛控制信息,這樣無法對視野中的車輛和行人等動態(tài)障礙的速度進行估計,在動態(tài)環(huán)境中對環(huán)境感知存在不足。而Simon Hecker 等提出的環(huán)繞視覺模型是將導航信息和感知信息進行直接融合,不如用導航信息對決策網(wǎng)絡做分支簡單有效。上述CILRS模型將圖像和車輛當前速度作為網(wǎng)絡輸入來預測方向盤角度和車輛加速度,而在訓練數(shù)據(jù)中因為避障停車存在大量車速和加速度都為零的樣本,所以網(wǎng)絡會學習到低速度和低加速度的映射關系,這會造成在測試過程中車速為零時車輛有時無法啟動的情況。CILRS 模型中為了解決這一問題直接用單幀圖片預測當前車速,讓感知網(wǎng)絡提取速度特征來降低對輸入車速的依賴,這部分的解決了異常停車的問題,但這一問題仍會隨訓練數(shù)據(jù)規(guī)模的增加不斷突出。本文提出的DCIL(Dynamic Conditional Imitation Learning)模型能夠利用歷史視覺信息對動態(tài)障礙進行狀態(tài)估計,從而提升模型在動態(tài)環(huán)境下的表現(xiàn)。仿真實驗表明我們提出的DCIL模型能夠在測試環(huán)境下大幅提高模型的表現(xiàn)。
在人類駕駛過程中,主要依靠車輛前方視覺信息和速度信息操控油門和剎車控制車輛速度,依靠方向盤控制車輛轉向。模仿學習即利用上述信息作為網(wǎng)絡輸入,預測油門剎車和方向盤來控制車輛。為了訓練網(wǎng)絡,一般會收集一定專家駕駛記錄,作為訓練集進行訓練。網(wǎng)絡在訓練過程中會學習數(shù)據(jù)集中存在的傳感器數(shù)據(jù)到駕駛操作的映射關系。
CARLA 仿真平臺通過A*[10]算法可以提供直行,左拐、右拐等導航信息。Dosovitski等在2017年提出通過不同分支決策網(wǎng)絡實現(xiàn)不同導航控制,這些分支決策網(wǎng)絡共享環(huán)境感知網(wǎng)絡。該算法被稱為條件模仿學習CIL(Conditional Imitation Learning),能夠有效利用導航信息,滿足不同的導航需求。
如果我們將t時刻車輛的視覺信息記為It,車速記為vt,方向盤角度記為st。我們假設t時刻的車輛的期望速度為t+1 時刻的車速vt+1,并且t時刻的車輛的期望速度vt+1和方向盤角度st是t時刻及之前多幀視覺信息的函數(shù),那么我們就可以得到式(1)。
其中It-k為t-k時刻的視覺信息,f是神經(jīng)網(wǎng)絡所刻畫的函數(shù)。我們進一步采用文章CIL 中描述的分支網(wǎng)絡,在不同導航行為如直行,左拐、右拐和道路跟隨時分別使用不同的決策網(wǎng)絡進行車輛控制,此時對于導航信息i來說,我們有式(2)所描述的函數(shù)fi。
其中sit為導航信息i對應的t時刻的方向盤預測,為導航信息i對應的t時刻的速度預測,fi為對應的分支網(wǎng)絡所刻畫的函數(shù)。
因為Codevilla等[11]提出L1損失比L2損失更適合失自,損動失駕函駛數(shù)任如務式,(所3)以所我示們。的其損中失函為數(shù)t采時用刻L方1損向盤角度的估計值,為t時刻速度v的估計值。
在基于視覺信息的模仿自動駕駛模型中,多數(shù)模型只利用了單幀視覺信息,而在實際駕駛過程中,人類駕駛員需要歷史視覺信息來躲避動態(tài)障礙。因此我們提出動態(tài)避障的端到端模仿學習網(wǎng)絡來提升駕駛表現(xiàn)。我們的模型被命名為DCIL,網(wǎng)絡結構如圖1所示。連續(xù)4幀圖片經(jīng)過ResNet34網(wǎng)絡得到4 個512 維特征向量,特征向量經(jīng)過單層LSTM 網(wǎng)絡得到512 維融合特征向量,融合特征向量經(jīng)過3 層全連接預測車輛速度和方向盤角度。其中LSTM 網(wǎng)絡的隱層節(jié)點個數(shù)為128。圖中所示的分支網(wǎng)絡根據(jù)導航信息c選擇激活,每次只會有一個導航信息對應的分支網(wǎng)絡被激活來預測速度和方向盤角度。導航信息c有道路跟隨,直行、左拐和右拐四種狀態(tài)。網(wǎng)絡中沒有像模型CILRS 將速度作為輸入來預測油門和剎車,使網(wǎng)絡不會學習到數(shù)據(jù)中存在而邏輯錯誤的低速度和低加速度的映射。CILRS 網(wǎng)絡中學習到這一映射會導致車輛可能在未到達目標且前方可通行時停車。
圖1 DCIL網(wǎng)絡結構圖
長短期記憶網(wǎng)絡[12](long short term memory network,LSTM)引入內部狀態(tài)和門機制來保存和更新歷史狀態(tài),是一種廣泛應用的循環(huán)神經(jīng)網(wǎng)絡。LSTM 的網(wǎng)絡結構如圖2 所示,LSTM 的數(shù)學模型如式(4)~(8)所示。其中xt為t時刻的網(wǎng)絡輸入,?t-1為t-1 時刻的外部狀態(tài),ct-1為t-1 時刻的記憶單元,ct為t時刻的候選狀態(tài),W是LSTM 細胞單元的參數(shù)矩陣,b是LSTM 細胞單元的偏置,tanh是激活函數(shù),用以增強神經(jīng)網(wǎng)絡的非線性,it、ot和ft分別為t時刻輸入門、輸出門和遺忘門的大小,ct為t時刻的內部狀態(tài),?t為t時刻的輸出。
因為圖1 中網(wǎng)絡的輸出為方向盤角度和期望車速,而實際控制車速的方式為油門和剎車,所以我們設計了一個簡單的比例積分控制器來控制車速,控制器如圖3 所示??刂破鞯谋壤禂?shù)為0.25,積分系數(shù)為0.2,控制器輸出a為正時則為油門大小,為負時則為剎車大小??刂破鬏敵鯽如式(9)所示,其中v為速度的估計值,v為速度的實際值。
圖3 速度比例積分控制示意圖
CARLA 是一個用于自動駕駛研究的開源仿真模擬平臺,已經(jīng)有多篇優(yōu)秀論文[5~6,8,11]是基于CARLA 仿真平臺進行實驗的,所以我們選擇使用CARLA 進行仿真研究。本文使用的CARLA 版本為0.8.4,包括圖4 所示的Town01 和Town02 兩個地圖和多種天氣設置,我們會在Town01 中收集訓練和驗證數(shù)據(jù),在Town02中進行測試。
圖4 Town01(左)、Town02(右)地圖及場景圖
為了評估不同模型在CARLA 中的表現(xiàn),Codevilla 等在2017 年提 出CARLA benchmark[5]來進行測試。CARLA benchmark 包括Training,New Weather & Town 等測試環(huán)境。每種測試環(huán)境包括四種子任務,分別是直行任務,單拐彎任務,導航任務,動態(tài)導航任務。前三種子任務沒有動態(tài)障礙,第四種子任務包括車輛、行人等動態(tài)障礙。每種子任務包括25 個起點和終點,能夠在一定時間內到達終點即為成功,否則失敗。Training Weather包括4種天氣,New weather包括另外兩種天氣。
網(wǎng)絡訓練采用的優(yōu)化器為Adam[13],Batchsize設置為64,初始學習率為0.0002。如果網(wǎng)絡損失在4000 次迭代中沒有下降,我們就把學習率減半。模型每隔5000 次迭代保存一次,如果驗證損失在連續(xù)4 個模型上沒有下降,我們就停止訓練并選取當前驗證損失最小的模型進行測試。表1 中詳細列舉了我們的模型DCIL和眾多經(jīng)典方法在同一數(shù)據(jù) 集CARLA100[8]訓 練后 在CARLA Benchmark 中測試的結果,表中數(shù)字為對應類型任務完成百分比,加粗數(shù)字為同類型任務最好結果。
表1 多模型CARLA Benchmark 測試結果
從表中可以看出,幾乎所有模型都是在訓練環(huán)境下測試結果更好而且成功率隨任務難度增加呈下降趨勢。在所有類型的任務中,DCIL 模型的評分都取得了最優(yōu)的結果。在直行類型任務中取得了100%的成功率,這是因為消除了其他模型中存在的低速度和低加速度的映射,從而解決了車輛異常停車的問題。在New town&weather 環(huán)境下的含有動態(tài)障礙的Nav.Dynamic任務中取得了98%的成功率,比之前的最好結果90%提升了8%。這說明我們的模型有良好的泛化能力和動態(tài)避障能力。
本文在模型CILRS的基礎上進行改進,提出了DCIL 模型,將速度作為預測而不是輸入,解決了CILRS 等模型中存在的車輛異常停止的問題。另外在網(wǎng)絡中加入LSTM 網(wǎng)絡來處理歷史視覺信息,使得網(wǎng)絡可以更好地感知動態(tài)環(huán)境,從而預測速度和方向盤角度。為了對車速進行控制,本文引入了傳統(tǒng)的PI 控制器,通過油門和剎車來控制車速到DCIL 網(wǎng)絡的期望車速。DCIL 模型在CARLA Benchmark 上測試的結果表明具有良好的泛化性能和動態(tài)避障能力,具有一定的實用價值。