朱 波,張紀(jì)偉,談東奎*,胡旭東
(1.合肥工業(yè)大學(xué) 汽車工程技術(shù)研究院,合肥市 230009,中國(guó);2.合肥工業(yè)大學(xué) 智能制造技術(shù)研究院,合肥市 230051,中國(guó))
自動(dòng)駕駛技術(shù)能夠有效緩解交通擁堵現(xiàn)狀,減少交通事故的發(fā)生,是未來(lái)汽車工業(yè)發(fā)展的必然趨勢(shì)[1]。傳統(tǒng)的基于規(guī)則的自動(dòng)駕駛技術(shù)通常將自動(dòng)駕駛解決方案劃分為感知、決策、控制3 個(gè)部分[2]。這種方法的特點(diǎn)在于各模塊之間分工明確,系統(tǒng)有明確的規(guī)則設(shè)定,可解釋性較強(qiáng)。然而,該方法也存在著系統(tǒng)結(jié)構(gòu)復(fù)雜、設(shè)計(jì)開(kāi)發(fā)難度高、過(guò)渡依賴人工規(guī)則等缺點(diǎn),同時(shí)在遇到設(shè)定之外的情形時(shí),系統(tǒng)難以有效建模并快速做出決策[3]。而基于深度神經(jīng)網(wǎng)絡(luò)的端到端自動(dòng)駕駛系統(tǒng),通過(guò)采用監(jiān)督學(xué)習(xí)或無(wú)監(jiān)督學(xué)習(xí)的方法模仿人類駕駛員的駕駛行為,建立感知輸入與車輛控制之間的直接映射關(guān)系[4]。
“端到端(end-to-end)”指“傳感器數(shù)據(jù)輸入端”到“車輛控制命令端”。經(jīng)過(guò)特定的數(shù)據(jù)訓(xùn)練后,端到端自動(dòng)駕駛系統(tǒng)能夠直接根據(jù)獲得的攝像頭、激光雷達(dá)(激光探測(cè)及測(cè)距系統(tǒng),light-laser detection and ranging,LiDAR)等傳感器信息,映射輸出自動(dòng)駕駛車輛控制所需要的方向盤轉(zhuǎn)向角、速度等控制命令。
D.A.Pomerleau 提出了Alvinn 模型[5],證明了經(jīng)過(guò)專門訓(xùn)練后的端到端神經(jīng)網(wǎng)絡(luò)能夠在公共道路上自主駕駛車輛。Y.LeCun 等人[6]將端到端神經(jīng)網(wǎng)絡(luò)用于自動(dòng)導(dǎo)向車輛(automated guided vehicle,AGV),使其能夠在野外自由避障。NVIDIA 公司(英偉達(dá)公司)提出了基于深度卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的PilotNet 模型[7],該模型通過(guò)已訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型將左、中、右3 個(gè)攝像頭輸入的圖像直接映射為控制車輛的轉(zhuǎn)向角,在多種道路上取得了較為滿意的結(jié)果,證明了CNN 強(qiáng)大的圖像特征提取能力,但該模型在遇到交叉路口時(shí)就會(huì)失去前進(jìn)方向,無(wú)法繼續(xù)行駛。XU Huazhe 等人則提出長(zhǎng)短期記憶全卷積網(wǎng)絡(luò)(long short term memory fully convolutional network,LSTM-FCN)模型[8],通過(guò)大規(guī)模的駕駛視頻數(shù)據(jù)完成神經(jīng)網(wǎng)絡(luò)訓(xùn)練,提高了模型的理解能力,實(shí)現(xiàn)了對(duì)離散或連續(xù)駕駛動(dòng)作的預(yù)測(cè)。文獻(xiàn)[9]則在端到端模型中引入了視覺(jué)注意力機(jī)制,以關(guān)注圖像重要信息和減少冗余信息,進(jìn)一步提高了模型的預(yù)測(cè)精度。文獻(xiàn)[10]針對(duì)交叉路口問(wèn)題提出了使用導(dǎo)航指令的方式,即在路口處通過(guò)向前、向左、向右的導(dǎo)航指令引導(dǎo)車輛通過(guò)交叉路口,間接解決了交叉路口通行的問(wèn)題。A.Sallab 等人提出將深度強(qiáng)化學(xué)習(xí)方法應(yīng)用于端到端自動(dòng)駕駛模型[11],并在開(kāi)源賽車模擬器(the open racing car simulator,TORCS)上完成了網(wǎng)絡(luò)模型智能體的訓(xùn)練,并取得滿意結(jié)果。此外,其他研究也表明[12-13],將強(qiáng)化學(xué)習(xí)應(yīng)用于端到端駕駛動(dòng)作預(yù)測(cè)能夠取得較好的結(jié)果。
現(xiàn)有的端到端自動(dòng)駕駛方法多以攝像頭為主[14],受光照、雨水等天氣影響較大,且由于攝像頭視角有限,使得多個(gè)攝像頭融合后圖像信息量較大,導(dǎo)致神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)規(guī)模倍增,模型訓(xùn)練速度變慢,且占用大量的計(jì)算資源。更重要的是,現(xiàn)有研究方法主要體現(xiàn)在車道保持方面,而關(guān)于主動(dòng)避障行駛和交叉路口通行等任務(wù)的端到端自動(dòng)駕駛研究相對(duì)較少。
為此,本文提出了一種基于多源傳感器與導(dǎo)航地圖的端到端自動(dòng)駕駛決策模型。該模型的輸入由單目前視攝像頭、360°多線激光雷達(dá)投影處理后的二維俯視圖、精準(zhǔn)定位后截取的局部導(dǎo)航地圖3 部分組成,輸出為汽車方向盤轉(zhuǎn)向角。經(jīng)過(guò)數(shù)據(jù)集迭代訓(xùn)練后,該模型不僅能夠?qū)崿F(xiàn)跟隨車道線行駛的車道保持功能,而且能夠在遇到障礙物時(shí)控制車輛完成局部避障任務(wù),并在遇到Y(jié) 字型交叉路口時(shí)根據(jù)導(dǎo)航信息駛?cè)胫付ㄜ嚨?。為?yàn)證所提出的端到端自動(dòng)駕駛模型的有效性,在常規(guī)的僅有視覺(jué)圖像輸入的端到端模型的基礎(chǔ)上,通過(guò)逐步添加不同的網(wǎng)絡(luò)分支進(jìn)行對(duì)比分析,驗(yàn)證了LiDAR 俯視圖與局部導(dǎo)航地圖網(wǎng)絡(luò)分支的加入對(duì)基礎(chǔ)端到端決策模型功能擴(kuò)展的有效性。
所提出的基于多源傳感器與導(dǎo)航地圖的端到端決策模型為多輸入單輸出模型,其輸入分別由單目前視攝像頭、LiDAR 俯視圖以及局部導(dǎo)航地圖3 部分組成,經(jīng)過(guò)特征提取網(wǎng)絡(luò)處理并融合特征后輸出下一時(shí)刻期望的方向盤轉(zhuǎn)向角。采用遞進(jìn)式方法逐步驗(yàn)證所提出模型的可行性,分別建立了Model-A、Model-B、Model-C 3 種端到端決策模型如圖1 所示。其中,Model-A 為最基本的端到端決策模型,能夠?qū)崿F(xiàn)基礎(chǔ)的車道保持功能;Model-B 則是在Model-A 的基礎(chǔ)上增加了LiDAR 俯視圖網(wǎng)絡(luò)分支,主要用于實(shí)現(xiàn)車道保持與局部避障行駛功能;而Model-C 則是進(jìn)一步的增加了局部導(dǎo)航地圖分支,通過(guò)引入導(dǎo)航信息使得車輛經(jīng)過(guò)路口時(shí)能夠根據(jù)指示信息駛?cè)胝_車道,其是本文所提出的核心模型。
圖1 3 種端到端決策模型架構(gòu)
可見(jiàn),Model-C 為三輸入模型,每個(gè)輸入分別在模型中承擔(dān)著不同的角色:前視攝像頭主要用于車道線和障礙物識(shí)別,使車輛能夠具有車道保持和基本避障能力;由于單攝像頭的視野有限,故LiDAR 俯視圖可用于彌補(bǔ)攝像頭的視角不足問(wèn)題,使得車輛在避障過(guò)程中不會(huì)因視野丟失導(dǎo)致避障功能失效,輔助實(shí)現(xiàn)車道保持與局部避障功能;局部導(dǎo)航地圖則主要用于引導(dǎo)車輛通過(guò)交叉路口時(shí)按照導(dǎo)航信息選擇指定的路口,并順利駛?cè)朐撀房凇odel-C 模型通過(guò)融合不同傳感器輸入的關(guān)鍵圖像特征信息,最終輸出方向盤轉(zhuǎn)向角的預(yù)測(cè)值,實(shí)現(xiàn)對(duì)車輛橫向運(yùn)動(dòng)的端到端控制。
卷積神經(jīng)網(wǎng)絡(luò)中,利用權(quán)值共享與局部相關(guān)性,減少了網(wǎng)絡(luò)的參數(shù)數(shù)量,提高了訓(xùn)練效率,常用于對(duì)圖像關(guān)鍵特征的提取[15]。若令b表示輸入圖像數(shù)量,h為圖像高度,w為圖像寬度,c為圖像通道數(shù),則CNN的輸出尺寸[b,hout,wout,cout]由卷積核的數(shù)量cout、卷積核的大小k、步長(zhǎng)s、上下填充數(shù)量ph、左右填充數(shù)量pw以及輸入圖像X的高寬所共同決定,它們之間的數(shù)學(xué)關(guān)系為:
式中:Cout為輸出通道數(shù)量,Cin為輸入通道數(shù)量,kw為卷積核寬,kh為卷積核高。
模型的最大池化層(Max pool 層),它能夠有效降低輸入矩陣尺寸,減少特征維數(shù),降低數(shù)據(jù)量,提高模型的尺度不變性以及防止過(guò)擬合現(xiàn)象,其數(shù)學(xué)表達(dá)為:
式中:xi為感受野區(qū)域內(nèi)Rm,n個(gè)神經(jīng)元的激活值。
模型的壓平層 (Flatten 層)主要用于將CNN 層的數(shù)據(jù)變?yōu)橐痪S矩陣,以轉(zhuǎn)化為全連接層,其數(shù)學(xué)表達(dá)為:
模型的連接層(Concatenate 層)則用于將來(lái)自多個(gè)特征提取網(wǎng)絡(luò)的特征信息進(jìn)行融合,其數(shù)學(xué)表達(dá)為:
鑒于Max Pool 層、Flatten 層以及Concatenate 層均不會(huì)額外增加參數(shù)量,根據(jù)式(1)—(3)的規(guī)則,Model-A/B/C 的總參數(shù)量分別為45 645 633、146 831 233 和158 166 977。
對(duì)于網(wǎng)絡(luò)模型不同的輸入,應(yīng)當(dāng)采取不同結(jié)構(gòu)的特征提取網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)對(duì)各種特征信息的提取。對(duì)于攝像頭圖像輸入,借鑒經(jīng)典的VGG 系列網(wǎng)絡(luò)模型的圖像特征提取結(jié)構(gòu)[16],來(lái)確定相機(jī)圖像特征提取網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù),即8 層CNN 結(jié)構(gòu)。而端到端模型所使用的LiDAR 俯視圖和局部導(dǎo)航地圖在輸入網(wǎng)絡(luò)前將經(jīng)過(guò)一定的預(yù)處理,這使得最終輸入到神經(jīng)網(wǎng)絡(luò)的圖片層次較為分明,特征較為顯著,并不需要過(guò)多層數(shù)的卷積神經(jīng)網(wǎng)絡(luò),故此處選擇使用4 層CNN 作為其特征提取網(wǎng)絡(luò)。這將有助于降低端到端決策模型對(duì)計(jì)算資源的占用,提高模型的訓(xùn)練和執(zhí)行速度。
根據(jù)卷積神經(jīng)網(wǎng)絡(luò)圖像特征提取經(jīng)驗(yàn),卷積層激活函數(shù)采用ReLU[17]函數(shù):
全連接層激活函數(shù)采用Sigmoid 函數(shù):
本文所設(shè)計(jì)的端到端自動(dòng)駕駛模型暫不考慮對(duì)期望車速的決策,并假定車輛車速保持不變。由于Model-A/B/C 輸出的預(yù)測(cè)結(jié)果只有轉(zhuǎn)向角,而車輛方向盤轉(zhuǎn)角本身是一個(gè)連續(xù)的區(qū)間變量,故方向盤轉(zhuǎn)角的預(yù)測(cè)問(wèn)題可視為一個(gè)回歸問(wèn)題。為此,模型選擇使用真實(shí)值與預(yù)測(cè)值之間的Euclid 距離作為L(zhǎng)oss 損失函數(shù)[9],損失函數(shù)為
式中:yb為轉(zhuǎn)向角真實(shí)值,M為端到端決策模型,I為模型輸入,W為目標(biāo)網(wǎng)絡(luò)權(quán)值,M(I,W)為模型預(yù)測(cè)輸出結(jié)果,即轉(zhuǎn)向角預(yù)測(cè)值。
為了求解模型損失函數(shù)的最小值,訓(xùn)練優(yōu)化器選擇Adam 優(yōu)化器,故模型損失函數(shù)更新后,訓(xùn)練優(yōu)化后的目標(biāo)網(wǎng)絡(luò)權(quán)值為
將Model-A/B/C 所對(duì)應(yīng)的數(shù)據(jù)集分別命名為Dataset-A、Dataset-B、Dataset-C,并利用Prescan 仿真軟件自行構(gòu)建場(chǎng)景并采集數(shù)據(jù)集Dataset-A/B/C。數(shù)據(jù)采集所用車輛為Prescan 內(nèi)置的某款緊湊型轎車,車輛模型的主要參數(shù)如表1 所示。
表1 車輛主要參數(shù)
車載傳感器包括16 線激光雷達(dá)、水平視角為48°的單目前視攝像頭,其他車輛信息由Prescan 內(nèi)置模塊提供。
模型所用的激光雷達(dá)為16 線360°環(huán)視激光雷達(dá),垂直視角范圍為[-15°,15°],方位角分辨率為0.2°。如圖2 所示。LiDAR 坐標(biāo)系以安裝位置為原點(diǎn)、車輛行駛方向?yàn)閥軸正方向、與車輛軸線垂直指向車輛右側(cè)為x軸正方向,投影俯視圖像素w=220,h=440。
圖2 LiDAR 坐標(biāo)系和圖像坐標(biāo)系
由于Prescan 提供的點(diǎn)云坐標(biāo)值并不是以激光雷達(dá)本身作為坐標(biāo)原點(diǎn),而是在Prescan 全局坐標(biāo)系下的坐標(biāo)值,因此需要進(jìn)行相應(yīng)的平面坐標(biāo)旋轉(zhuǎn)變換,將點(diǎn)云坐標(biāo)轉(zhuǎn)換至LiDAR 坐標(biāo)系下,轉(zhuǎn)換公式如下:
式中:(x0,y0)為點(diǎn)云在Prescan 坐標(biāo)系下的坐標(biāo),(x,y)為點(diǎn)云在LiDAR 坐標(biāo)系下的坐標(biāo),(xc,yc)為質(zhì)心坐標(biāo),xf為質(zhì)心坐標(biāo)系與LiDAR坐標(biāo)系在X軸方向上的差值,θ為車輛繞著Prescan 坐標(biāo)系Z軸旋轉(zhuǎn)的角度。
顯然,激光雷達(dá)的點(diǎn)云數(shù)據(jù)需要經(jīng)過(guò)由LiDAR 坐標(biāo)系向圖像坐標(biāo)系的轉(zhuǎn)換。如圖2 所示,假設(shè)激光雷達(dá)的某一個(gè)反射點(diǎn)為p,其在LiDAR 坐標(biāo)系下的坐標(biāo)為p(x,y),圖像坐標(biāo)系下的坐標(biāo)為pimg(r,c),考慮到模型更需要前方視野,故雷達(dá)中心投影相對(duì)圖像中心向下平移一定距離,實(shí)際坐標(biāo)轉(zhuǎn)換關(guān)系如下:
式中:k為L(zhǎng)iDAR 坐標(biāo)系與圖像坐標(biāo)系的比例尺,單位為:像素/m;f為雷達(dá)相對(duì)圖像中心向下平移了多少個(gè)像素,取f=25。
在對(duì)點(diǎn)云數(shù)據(jù)投影時(shí)將進(jìn)行數(shù)據(jù)預(yù)處理,即對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行地面分割:先實(shí)時(shí)使用點(diǎn)云數(shù)據(jù)動(dòng)態(tài)擬合近似地平面的平面方程(ax+by+cz=1),再利用反射點(diǎn)到平面的距離d(見(jiàn)式(13))實(shí)現(xiàn)點(diǎn)云的篩選。
式中:(x1,y1,z1)為某反射點(diǎn)在LiDAR 坐標(biāo)系下的坐標(biāo),LiDAR 相對(duì)地面安裝高度為1.9 m。
地平面的平面方程擬合步驟如下:
步驟1:原始點(diǎn)云數(shù)據(jù)篩選。根據(jù)點(diǎn)云Z軸坐標(biāo)值,篩選z∈ [-2.6,-1.8] 的點(diǎn)云集合A1。
步驟2:提取坐標(biāo)信息。創(chuàng)建集合A2,提取點(diǎn)云集合A1中的X、Y、Z坐標(biāo)信息,形成A2,大小為3n,其中n為點(diǎn)云的數(shù)量。
步驟3:根據(jù)線性代數(shù)理論,計(jì)算A2X=1,初步擬合平面系數(shù)矩陣X=[a,b,c]T。
步驟4:迭代優(yōu)化。根據(jù)公式(13)計(jì)算集合A1中點(diǎn)云到擬合平面的距離,可得d∈ [0,0.03+0.01n] 的點(diǎn)云集合C,其中n依次取8、7、6、5、4、3、2、1,重復(fù)步驟3,不斷優(yōu)化擬合平面系數(shù)矩陣X。
仿真環(huán)境中的地平面較為理想,因此根據(jù)上述方法和距離公式,即可完成地平面分割。但現(xiàn)實(shí)世界的地面狀況更為復(fù)雜,通常存在一定的坡度變化,并且激光雷達(dá)包含測(cè)量噪聲,這時(shí)更好的地面分割方法是沿著y方向?qū)⒖臻g分割成若干個(gè)子平面,然后對(duì)每個(gè)子平面使用上述地面平面擬合算法。
在去除地平面點(diǎn)云后,根據(jù)點(diǎn)云y/x坐標(biāo)距離與圖像的行像素與列像素之間的比例關(guān)系,將剩余點(diǎn)云在俯視圖上進(jìn)行映射。俯視圖像默認(rèn)為黑色,若圖像中某個(gè)像素位置被點(diǎn)云投影占據(jù)則將該點(diǎn)賦為紅色,最終得到的俯視圖示例如圖3 所示。
圖3 16 線激光雷達(dá)俯視圖
顯然,激光雷達(dá)點(diǎn)云俯視圖中包含了駕駛場(chǎng)景的障礙物信息,將該圖像輸入自動(dòng)駕駛決策模型能夠使其清晰地了解到車輛與周圍障礙物之間的位置關(guān)系,為模型的避障行駛功能提供了信息支撐。
現(xiàn)有模型大多以研究車輛在行駛過(guò)程中的車道保持任務(wù)為主,并沒(méi)有考慮如何通過(guò)交叉路口的問(wèn)題,故本模型針對(duì)交叉路口中的Y 字型路口提出了一種解決方法,即:給定一張全局導(dǎo)航地圖,根據(jù)定位信息,以車輛為中心截取指定大小的局部導(dǎo)航地圖作為決策模型的分支輸入,以引導(dǎo)車輛在遭遇交叉路口時(shí)應(yīng)當(dāng)選擇哪條路線繼續(xù)行駛。
由于預(yù)先給定的全局導(dǎo)航地圖是固定而不發(fā)生旋轉(zhuǎn)的,而車輛是處于實(shí)時(shí)運(yùn)動(dòng)的,故為了模擬人類駕駛時(shí)局部導(dǎo)航地圖信息會(huì)隨著車輛的運(yùn)動(dòng)而進(jìn)行旋轉(zhuǎn)的情況,從全局導(dǎo)航地圖中定位截取的局部導(dǎo)航地圖也應(yīng)當(dāng)進(jìn)行旋轉(zhuǎn),具體的截取步驟如圖4 所示。
圖4 局部導(dǎo)航地圖截取流程
車輛質(zhì)心在全局導(dǎo)航地圖中的定位公式如下:
式中:k為全局導(dǎo)航地圖比例尺,(xm,ym)為全局導(dǎo)航地圖中心在Prescan 全局坐標(biāo)系下的坐標(biāo),hmap與wmap分別表示全局導(dǎo)航地圖的高與寬。
旋轉(zhuǎn)后的局部導(dǎo)航地圖如圖5 右側(cè)部分所示,其中藍(lán)色矩形代表車輛所處的位置,紅色線路代表預(yù)先指定的路線,程序所截取的圖像像素尺寸為50×50。根據(jù)車輛在全局坐標(biāo)系的位置信息,旋轉(zhuǎn)前后的局部導(dǎo)航地圖對(duì)比,如圖5 所示。
圖5 局部導(dǎo)航地圖旋轉(zhuǎn)前后的對(duì)比
實(shí)際上,直接將導(dǎo)航指令數(shù)據(jù)作為模型的輸入也能夠?qū)崿F(xiàn)路口通行功能[10],但是此時(shí)模型的特征提取網(wǎng)絡(luò)就需要重新設(shè)計(jì),而且隨著后續(xù)功能擴(kuò)展和輸入數(shù)據(jù)增加,模型結(jié)構(gòu)還需要不斷調(diào)整。本文將圖像化后的局部導(dǎo)航地圖作為端到端自動(dòng)駕駛決策模型的輸入,主要是考慮到模型輸入信息的一致性以及模型的可擴(kuò)展性。下一步還可以在圖像中增加限速和紅綠燈等信息,由于局部導(dǎo)航地圖的尺度是固定的,因此不需要修改原先網(wǎng)絡(luò)的結(jié)構(gòu)。
結(jié)合自身實(shí)際需求以及現(xiàn)實(shí)世界的交通規(guī)則,本文在采集數(shù)據(jù)集時(shí)將依據(jù)如下原則:
1)車輛以平穩(wěn)的速度在仿真環(huán)境中采集數(shù)據(jù),車速保持在40 km/h 及以下,不存在急加速或急減速的情況;
2)鑒于障礙物和交叉路口的類型多樣化,為了證明所提出的端到端決策模型的有效性,仿真環(huán)境下設(shè)置的障礙物主要是靜止停放的車輛及行人,交叉路口主要為Y 字型交叉路口;
3)為避免訓(xùn)練數(shù)據(jù)的不平衡,即避障與轉(zhuǎn)彎數(shù)據(jù)過(guò)少,導(dǎo)致車輛趨向于直線行駛[10],實(shí)際搭建駕駛場(chǎng)景時(shí)將在行駛路段適當(dāng)增加彎道、障礙物以及交叉路口等場(chǎng)景的頻率,提高數(shù)據(jù)集的平衡性,避免過(guò)擬合現(xiàn)象;
4)由于較高的采樣率將導(dǎo)致數(shù)據(jù)集包含高度相似的圖像,并不能提供較為有效的監(jiān)督信息,因此數(shù)據(jù)集的采樣頻率設(shè)置為10 Hz[19]。
此外,Y 字型交叉路口的向左側(cè)和右側(cè)轉(zhuǎn)向的兩個(gè)分岔口分別命名為分岔口M 和分岔口N。在Dataset-C采集時(shí),數(shù)據(jù)采集車輛所途徑的M 和 N 類型的分岔口數(shù)量分別為16 和11,以避免訓(xùn)練后的網(wǎng)絡(luò)模型出現(xiàn)過(guò)擬合現(xiàn)象。
值得注意的是,真實(shí)汽車的駕駛場(chǎng)景豐富多樣,難以窮盡,為了驗(yàn)證所提出的端到端自動(dòng)駕駛模型的有效性,本文只針對(duì)每個(gè)功能設(shè)計(jì)了具有代表性的測(cè)試場(chǎng)景。若要進(jìn)一步提高模型的適應(yīng)能力和泛化性能,還需要獲取更多駕駛場(chǎng)景下的訓(xùn)練數(shù)據(jù)。
在駕駛員認(rèn)知中,車輛在行駛時(shí)是不應(yīng)該偏離車道的[20],因此在采集常規(guī)數(shù)據(jù)集時(shí),車輛盡量維持在車道中心,不會(huì)出現(xiàn)無(wú)故偏離車道的情形。然而,這樣的數(shù)據(jù)集缺乏錯(cuò)誤樣本,進(jìn)而導(dǎo)致使用該數(shù)據(jù)集訓(xùn)練后的模型可能缺乏糾錯(cuò)能力,即當(dāng)車輛由于累積誤差出現(xiàn)偏離車道時(shí)無(wú)法自我調(diào)節(jié),回到車道中心附近位置。
為了解決該問(wèn)題,需要向數(shù)據(jù)集中增加糾錯(cuò)樣本集。所采用的方法是:將車輛隨機(jī)初始化在偏離車道中心的某處位置,并調(diào)整其朝向(如圖6 所示,左側(cè)示例車輛航向角θ為10°,右側(cè)為-10°,航向角取值范圍為[-30°,30°]),然后使用Pure Pursuit 算法使車輛回到車道中心附近,從而獲得糾錯(cuò)樣本集。
圖6 車輛初始化偏離車道中心
Pure Pursuit 算法是根據(jù)車輛的幾何位置關(guān)系來(lái)推算車輛的控制參數(shù),在中低速情形時(shí)具有較好的路徑跟蹤控制性能,圖7 展示了Pure Pursuit 算法的跟蹤模型。
由圖7,可得
圖7 Pure Pursuit 算法跟蹤模型
根據(jù)Ackerman 轉(zhuǎn)向原理,車輛軸距L、轉(zhuǎn)向半徑R與前輪轉(zhuǎn)角δf有以下關(guān)系:
Pure Pursuit 算法的前輪轉(zhuǎn)向角為
綜上所述,基于Prescan 在仿真環(huán)境下搭建數(shù)據(jù)采集場(chǎng)景,采集程序在收集相機(jī)圖像、激光雷達(dá)俯視圖和局部導(dǎo)航圖等數(shù)據(jù)的同時(shí),還同步保存方向盤轉(zhuǎn)角作為標(biāo)簽數(shù)據(jù)。
最終,Dataset-C 共獲得3 萬(wàn)余個(gè)樣本,其轉(zhuǎn)向角頻數(shù)(Nδ)分布情況如圖8 所示,其中 [-50°,50°] 的轉(zhuǎn)向角占比約為25.67%,處于較為合理的比例,避免車輛趨向于直線行駛。Dataset-A/B 的轉(zhuǎn)角分布情況與Dataset-C 類似,此處不再贅述。
圖8 Dataset-C 轉(zhuǎn)向角統(tǒng)計(jì)
模型訓(xùn)練的深度學(xué)習(xí)框架為TensorFlow 2.1 版本,編程環(huán)境為Python 3.7.0,CUDA 版本為10.1;GPU 為NVIDIA GTX 2060Ti、內(nèi) 存 為32 GB;CPU 為Intel Core i7-8700 (六核十二線程)。
顯然,從圖像中預(yù)測(cè)方向盤轉(zhuǎn)向角屬于一種回歸問(wèn)題[21],為此選用均方根誤差RMSE 作為評(píng)價(jià)指標(biāo),其表達(dá)式為
式中:yp為方向盤轉(zhuǎn)向角的預(yù)測(cè)值,Nb為圖像批量大小,取Nb=64。
使用TensorFlow 加載數(shù)據(jù)集Dataset-A/B/C,并將LiDAR 俯視圖尺寸放縮至110×220,其他輸入尺寸保持不變,并按照80%和20%的比例分別將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,測(cè)試集將通過(guò)RMSE 來(lái)實(shí)時(shí)評(píng)價(jià)網(wǎng)絡(luò)的優(yōu)化過(guò)程。以Model-C 為例,其訓(xùn)練過(guò)程示意圖如圖9 所示。
圖9 Model-C 模型訓(xùn)練過(guò)程示意圖
作為對(duì)比,NVIDIA 提出的含有5 層特征提取網(wǎng)絡(luò)的PilotNet 網(wǎng)絡(luò)將一同參與模型訓(xùn)練,其訓(xùn)練所用的數(shù)據(jù)集為Dataset-A。經(jīng)過(guò)50 個(gè)迭代次數(shù)(N)的epoch訓(xùn)練,Model-C 的Loss 變化曲線如圖10 所示。
圖10 Model-C 模型訓(xùn)練Loss 變化曲線
各個(gè)模型在不同數(shù)據(jù)集訓(xùn)練下均呈現(xiàn)收斂,并沒(méi)有出現(xiàn)明顯的波動(dòng)現(xiàn)象。為了定量分析不同模型之間性能的差異,以各模型在測(cè)試集上最后5 個(gè)Epoch 的平均值來(lái)對(duì)比分析,如表2 所示。從RMSE 值對(duì)比可以看出,Model-A/B/C 的表現(xiàn)要明顯優(yōu)于PilotNet 模型。此外,相比Model-A 的RMSE 值,Model-B/C 出現(xiàn)逐漸增大趨勢(shì),可以認(rèn)為這是由于局部避障和交叉路口通行數(shù)據(jù)相比車道保持?jǐn)?shù)據(jù)有著更大的轉(zhuǎn)向角差異性,即RMSE 值的增加是由于網(wǎng)絡(luò)分支增加所帶來(lái)的合理現(xiàn)象,屬于可接受范圍。
表2 不同模型的性能對(duì)比
針對(duì)各模型的車道保持性能驗(yàn)證,設(shè)計(jì)了圖11 所示的測(cè)試場(chǎng)景,包含直行車道、S 形彎道以及大曲率彎道。
圖11 車道保持驗(yàn)證場(chǎng)景
通過(guò)Prescan 與MATLAB 聯(lián)合仿真來(lái)驗(yàn)證Model-A 與PilotNet 在車道保持方面的表現(xiàn),而參照的基礎(chǔ)模型則為Prescan 自帶的預(yù)瞄控制器的轉(zhuǎn)向角預(yù)測(cè)曲線,對(duì)比結(jié)果如圖12 所示。顯然,Model-A 與基礎(chǔ)模型的重合度較高,且較為穩(wěn)定;而PilotNet 網(wǎng)絡(luò)在部分彎道存在明顯的波動(dòng)現(xiàn)象,這進(jìn)一步表明了所建立的Model-A 模型具有較好的學(xué)習(xí)與表達(dá)能力。
圖12 基礎(chǔ)模型/Model-A/PilotNet 轉(zhuǎn)向角預(yù)測(cè)
為了驗(yàn)證Model-B/C 額外網(wǎng)絡(luò)分支加入對(duì)車道保持的影響,在同樣的測(cè)試場(chǎng)景上測(cè)試Model-B/C 模型,并結(jié)合Model-A 預(yù)測(cè)結(jié)果,構(gòu)成了圖13 所示的對(duì)比圖。顯然,Model-B/C 模型的預(yù)測(cè)曲線與Model-A 模型的預(yù)測(cè)曲線有著高度重合,且均較為平滑,抖動(dòng)幅度較小,Model-B/C 模型僅在部分彎道處存在些許的明顯波動(dòng)。可見(jiàn),額外網(wǎng)絡(luò)分支的加入,并沒(méi)有明顯改變?cè)心P蛯?duì)相機(jī)圖像輸入的特征提取能力。
圖13 Model-A/B/C 轉(zhuǎn)向角預(yù)測(cè)
由于本文所設(shè)計(jì)的端到端自動(dòng)駕駛模型主要目的是為了擴(kuò)展傳統(tǒng)端到端模型自動(dòng)駕駛功能,因此模型輸入沒(méi)有考慮車速等汽車狀態(tài)數(shù)據(jù)。為了提高模型在不同車速下的車道保持性能,一個(gè)可行的改進(jìn)方法是將汽車車速、側(cè)向加速度、縱向加速度等狀態(tài)量輸入給端到端自動(dòng)駕駛模型。
針對(duì)車輛自主換道避障功能的驗(yàn)證,本文目前僅考慮較為簡(jiǎn)單的情況,即雙向兩車道,障礙物為靜止的車輛和行人障礙物,且當(dāng)主車避障到左側(cè)車道時(shí),左側(cè)車道無(wú)干擾車輛。具體設(shè)置的驗(yàn)證場(chǎng)景如圖14 所示。
圖14 避障驗(yàn)證場(chǎng)景圖
車輛和行人障礙物場(chǎng)景下,模型Model-A/B/C 控制的主車行駛軌跡如圖15 所示。從圖15a 可知:Model-A 未能控制車輛完成局部避障,這是由于數(shù)據(jù)集Dataset-A 中并沒(méi)有相關(guān)避障數(shù)據(jù),因此Model-A僅關(guān)注車道線信息;而Model-B/C 均能順利完成局部避障,這充分表明模型已從數(shù)據(jù)集中學(xué)習(xí)到對(duì)障礙物的識(shí)別能力。與Model-A 相比,Model-B 的表現(xiàn)也從側(cè)面說(shuō)明了LiDAR俯視圖的加入能夠?qū)崿F(xiàn)避障的作用。從圖15b 可知:在行人障礙物場(chǎng)景下Model-B/C 依然能夠有效完成避障行駛,相比車輛障礙物場(chǎng)景,此時(shí)主車的換道行駛距離要短一些。
圖15 避障場(chǎng)景下Model-A/B/C 的車輛軌跡
考慮到Model-A 和Model-B 訓(xùn)練所用的數(shù)據(jù)集并不是同一個(gè)數(shù)據(jù)集,其避障表現(xiàn)結(jié)果并不能直接驗(yàn)證LiDAR 俯視圖對(duì)于擴(kuò)大感知視野的作用。為此,這里使用數(shù)據(jù)集Dataset-B 再次訓(xùn)練Model-A,并將其測(cè)試結(jié)果與Model-B 對(duì)比,可得圖16 所示的軌跡。
圖16 車輛障礙物場(chǎng)景下基于Dataset-B 的Model-A/B 的車輛軌跡
從圖16 可知:基于Dataset-B 訓(xùn)練的Model-A 依舊未能完成預(yù)期的避障轉(zhuǎn)向行為,但相比基于Dataset-A的Model-A 卻有著明顯變化。對(duì)于Model-A 控制下的車輛自動(dòng)轉(zhuǎn)向一段距離后折返的現(xiàn)象,通過(guò)觀察攝像頭的實(shí)時(shí)輸入狀況發(fā)現(xiàn):車輛的異常行為發(fā)生在攝像頭視野中丟失障礙物車輛信息后。然而,作為對(duì)比分析的Model-B 模型所控制的主車并沒(méi)有發(fā)生此異常行為,而是成功完成了避障轉(zhuǎn)向行為。
結(jié)合2.4 小節(jié)提到的基于路徑跟蹤模型的數(shù)據(jù)增強(qiáng)以及Model-B 的LiDAR 俯視圖輸入,可以分析出:Model-A 的這一現(xiàn)象是由于視野丟失障礙物信息后,Model-A 認(rèn)為車輛存在偏離預(yù)期車道行駛的跡象,因此開(kāi)始控制車輛返回原車道;而Model-B 在LiDAR 俯視圖的影響下始終沒(méi)有丟失障礙物信息,因而能夠順利完成局部避障行為??梢?jiàn),圖16 的軌跡對(duì)比不僅直接驗(yàn)證了加入LiDAR 俯視圖分支的有效性,而且側(cè)面驗(yàn)證了增強(qiáng)數(shù)據(jù)集能夠幫助可能偏離車道的車輛維持車道保持的穩(wěn)定。
對(duì)于交叉路口驗(yàn)證場(chǎng)景,這里主要探索Y 字型交叉路口,以盡快驗(yàn)證所提方法的有效性。驗(yàn)證場(chǎng)景設(shè)計(jì)如圖17 所示。以左側(cè)的S 點(diǎn)作為主車的起點(diǎn),在隨后的路段分別設(shè)置了A、B、C、D共4 個(gè)Y字型交叉路口,E、F、G分別為3 條道路的終點(diǎn)位置。圖18 展示了2 條用于測(cè)試模型的全局導(dǎo)航地圖行駛路徑(命名為nav-1 和nav-2),分別經(jīng)過(guò)S-A-B-E和S-A-C-D-F。
圖17 交叉路口驗(yàn)證場(chǎng)景
圖18 全局導(dǎo)航路徑nav-1 和nav-2
交叉路口場(chǎng)景的測(cè)試重點(diǎn)在于驗(yàn)證局部導(dǎo)航地圖的加入是否對(duì)Model-C 在Y 字型交叉路口的選擇中起到了關(guān)鍵作用。因此,可直接將Model-C 與Model-B的驗(yàn)證結(jié)果進(jìn)行對(duì)比分析,以便能夠直觀體現(xiàn)出局部導(dǎo)航地圖加入的作用。模型Model-B/C 控制下主車的運(yùn)動(dòng)軌跡如圖19 所示。
圖19 Model-B/C 預(yù)測(cè)的車輛行駛軌跡對(duì)比
結(jié)合導(dǎo)航地圖與驗(yàn)證場(chǎng)景可知:對(duì)于nav-1 的導(dǎo)航地圖,Model-C 選擇了S-A-B-E線路,與設(shè)定導(dǎo)航地圖相符;對(duì)于nav-2 的導(dǎo)航地圖,Model-C 則選擇了S-AC-D-F線路,同樣與其全局導(dǎo)航地圖相符;而沒(méi)有導(dǎo)航地圖網(wǎng)絡(luò)分支的Model-B 則選擇了S-A-C-G線路,與設(shè)定的nav-1 和nav-2 導(dǎo)航路徑均發(fā)生了分歧。顯然,Model-C 與Model-B 選擇的不同已充分表明了局部導(dǎo)航地圖網(wǎng)絡(luò)分支的加入對(duì)模型在交叉路口的選擇起到了關(guān)鍵作用。對(duì)于Model-B 這一現(xiàn)象,通過(guò)觀察其所途徑的交叉路口可知:Model-B 由于缺乏導(dǎo)航地圖,在交叉路口無(wú)法做出正確的判斷,因此只能選擇始終沿著車道線行駛,而右側(cè)車道線始終沒(méi)有發(fā)生中斷,這就是為什么Model-B會(huì)在路口朝著右側(cè)轉(zhuǎn)向的緣故。可見(jiàn),Model-B 模型對(duì)車道線的依賴進(jìn)一步說(shuō)明了局部導(dǎo)航地圖在交叉路口處道路選擇時(shí)的作用。
此外,根據(jù)Dataset-C 中車輛所通過(guò)的交叉路口統(tǒng)計(jì)可知:M 型分岔口即為通往車道線發(fā)生中斷的那條道路;N 型分岔口即為通往右側(cè)車道線未發(fā)生中斷的那條道路。顯然,統(tǒng)計(jì)信息表明了車輛既有通過(guò)M 型分岔口,也有N 型分岔口,且N 型占據(jù)了40.7%的比例,這充分排除了Model-C 存在對(duì)M 型分岔口過(guò)擬合的可能。可見(jiàn),端到端自動(dòng)駕駛模型引入局部導(dǎo)航地圖的設(shè)想是可行的,即通過(guò)增加額外的局部導(dǎo)航地圖網(wǎng)絡(luò)分支的方法,能夠使得決策模型具備在Y 字型交叉路口選擇正確車道的能力。
綜上所述,所涉及的端到端決策模型經(jīng)歷了從PilotNet、Model-A,再到Model-B,最后到Model-C的改進(jìn),其功能表現(xiàn)也隨之逐漸提升,如表3 所示,清晰地展示了各模型間能力的不同。表3 中,模型處理時(shí)間“t”是指在本驗(yàn)證平臺(tái)環(huán)境下,MATLAB 深度學(xué)習(xí)架構(gòu)對(duì)不同模型單個(gè)輸入數(shù)據(jù)的平均處理時(shí)間,以衡量各模型對(duì)平臺(tái)算力的需求。
表3 不同模型間的功能表現(xiàn)對(duì)比
顯然,網(wǎng)絡(luò)層數(shù)的加深以及網(wǎng)絡(luò)分支的增加必然會(huì)增加額外的模型處理時(shí)間,但考慮到控制程序20 Hz的更新頻率要求和帶來(lái)的模型能力提升,模型處理時(shí)間的犧牲是可接受的。
為進(jìn)一步驗(yàn)證所設(shè)計(jì)的端到端自動(dòng)駕駛決策模型的有效性,以某款具備主動(dòng)驅(qū)動(dòng)、轉(zhuǎn)向和制動(dòng)功能的電動(dòng)汽車搭建實(shí)車道路測(cè)試驗(yàn)證平臺(tái)如圖20 所示。車載設(shè)備包括Velodyne 16 線激光雷達(dá)、單目攝像頭、全球定位系統(tǒng)(global positioning system,GPS) 組合定位導(dǎo)航、高性能工控機(jī)和控制器局域網(wǎng)總線(CANBUS)等,軟件環(huán)境為Python 3.7.0。
圖20 智能駕駛電動(dòng)汽車試驗(yàn)平臺(tái)
鑒于真實(shí)場(chǎng)景下Y 字型交叉路口較少,且驗(yàn)證平臺(tái)行駛區(qū)域限定,不易采集真實(shí)數(shù)據(jù)。而T 字型交叉路口與Y 字型本質(zhì)上是相同的,且在特征方面有較多的相似性。因此,根據(jù)遷移學(xué)習(xí)任務(wù)轉(zhuǎn)移的理論,可通過(guò)采集一定的T 字型交叉路口數(shù)據(jù)構(gòu)建數(shù)據(jù)集后遷移訓(xùn)練Model-C,并驗(yàn)證其在真實(shí)場(chǎng)景下的表現(xiàn),從而驗(yàn)證LiDAR 俯視圖與局部導(dǎo)航地圖網(wǎng)絡(luò)分支的可行性。
真實(shí)場(chǎng)景數(shù)據(jù)及驗(yàn)證在某一園區(qū)進(jìn)行,如圖21 所示為園區(qū)道路俯視圖。由圖21 可見(jiàn):該園區(qū)內(nèi)有多個(gè)T 字型交叉路口、直道和彎道可供數(shù)據(jù)采集。傳感器經(jīng)過(guò)組合調(diào)試后,由熟練駕駛員在園區(qū)內(nèi)駕駛實(shí)車完成真實(shí)場(chǎng)景數(shù)據(jù)采集。攝像頭采集的道路圖像照片示例如圖22 所示。
圖21 園區(qū)道路俯視圖及測(cè)試路線
圖22 真實(shí)場(chǎng)景道路圖像示例
為了安全著想,利用真實(shí)場(chǎng)景數(shù)據(jù)對(duì)Model-C 進(jìn)行遷移訓(xùn)練后,在園區(qū)內(nèi)以10 km/h 的車速進(jìn)行實(shí)車驗(yàn)證。圖23 展示了人類駕駛員與無(wú)人駕駛的Model-C 的轉(zhuǎn)向角對(duì)比。
由圖23 可知:盡管經(jīng)過(guò)真實(shí)數(shù)據(jù)訓(xùn)練后的Model-C 在轉(zhuǎn)向角預(yù)測(cè)方面存在較為明顯的波動(dòng),但整體上車輛并沒(méi)有偏離目標(biāo)路線,仍完成了預(yù)期任務(wù),即:完成了直道與彎道車道保持控制、主動(dòng)避障行駛以及交叉路口通行。實(shí)車道路測(cè)試結(jié)果進(jìn)一步驗(yàn)證了本文所提出的融合多源傳感器與導(dǎo)航地圖的端到端自動(dòng)駕駛決策模型的可行性。
圖23 人類駕駛員與Model-C 的轉(zhuǎn)向角對(duì)比
本文提出了一種融合多源傳感器和導(dǎo)航地圖信息的端到端自動(dòng)駕駛決策模型,該模型以單目前視攝像頭、多線激光雷達(dá)俯視圖以及局部導(dǎo)航地圖作為輸入,通過(guò)特征融合后,能夠?qū)崿F(xiàn)對(duì)車輛轉(zhuǎn)向角的預(yù)測(cè),克服了單攝像頭視野不足以及交叉路口無(wú)法通行的問(wèn)題。此外,針對(duì)訓(xùn)練數(shù)據(jù)集缺乏糾偏能力的問(wèn)題,提出了應(yīng)用車輛不同初始化位置與純跟蹤算法結(jié)合的方式,構(gòu)建了增強(qiáng)數(shù)據(jù)集。軟件仿真和實(shí)車道路試驗(yàn)結(jié)果表明,經(jīng)過(guò)訓(xùn)練后的端到端決策模型在車道保持、主動(dòng)避障、交叉路口通行方面都表現(xiàn)出良好的性能。
然而,由于所提出的決策模型并沒(méi)有考慮其他障礙物的運(yùn)動(dòng)狀態(tài)以及自身的縱向速度控制等,因此無(wú)法應(yīng)用于更為復(fù)雜的駕駛場(chǎng)景。考慮到速度與轉(zhuǎn)向具有不同的屬性,未來(lái)的工作將更多集中于通過(guò)增加額外網(wǎng)絡(luò)分支來(lái)賦予模型車速控制能力以及多障礙物場(chǎng)景下的端到端決策等方面,使得模型能夠適應(yīng)更加復(fù)雜的路況并提高車輛的行駛安全性。