王軍茹,陳子岐,王軍平
(1.北京信息科技大學(xué) 自動(dòng)化學(xué)院,北京 100192;2.中國(guó)科學(xué)院 自動(dòng)化研究所,北京 100190)
從全人類駕駛到全自動(dòng)駕駛的過(guò)程被國(guó)際汽車工程學(xué)會(huì)(Society of Automotive Engineers,SAE)分為6級(jí),即SAE Level 0級(jí)別至SAE Level 5級(jí)別。目前大概處于2.5~3級(jí)。無(wú)人駕駛的研究方法有4種:1)閉門測(cè)試:即簡(jiǎn)單測(cè)試場(chǎng)單車測(cè)試;2)蠻力測(cè)試:即讓無(wú)人駕駛汽車在實(shí)際道路網(wǎng)上行駛數(shù)百萬(wàn)英里;3)測(cè)試場(chǎng)綜合測(cè)試:即在包含高速公路、隧道、鄉(xiāng)間小路、城市交叉口等各種各樣的道路形式上進(jìn)行測(cè)試;4)交通仿真+測(cè)試場(chǎng)聯(lián)合測(cè)試:即先采取模擬的方式進(jìn)行測(cè)試,基于此開(kāi)展各種各樣復(fù)雜場(chǎng)景的測(cè)試研究,再進(jìn)行測(cè)試場(chǎng)測(cè)試?!敖煌ǚ抡?測(cè)試場(chǎng)聯(lián)合測(cè)試”是當(dāng)前最領(lǐng)先的測(cè)試研究方法,也是各研究機(jī)構(gòu)和高校在無(wú)人駕駛領(lǐng)域研究的熱點(diǎn)[1]。
近幾年來(lái)由于深度學(xué)習(xí)的興起,人工智能的飛速發(fā)展,傳感器的更新?lián)Q代,以及機(jī)器視覺(jué)的應(yīng)用,自動(dòng)駕駛成為人工智能領(lǐng)域最熱門的研究方向之一。自動(dòng)駕駛高速發(fā)展的同時(shí),也面臨著高精度傳感器的標(biāo)準(zhǔn)化,通信、大數(shù)據(jù)處理以及立法問(wèn)題等諸多挑戰(zhàn)。近幾年隨著通用處理器(general processing unit,GPU)的飛速發(fā)展,云機(jī)算力呈指數(shù)性提高,使得模擬環(huán)境的仿真程度與真實(shí)環(huán)境相差無(wú)幾。面對(duì)諸多挑戰(zhàn)以及關(guān)系到行車人員的生命財(cái)產(chǎn)安全,基于無(wú)人駕駛模型的模擬仿真具有極其重要的意義[2]。
深度學(xué)習(xí)是推動(dòng)人工智能革命最重要的技術(shù)之一,從圖像分類到文本識(shí)別,基于深度神經(jīng)網(wǎng)絡(luò)的模型在實(shí)驗(yàn)中不斷被證實(shí)明顯優(yōu)于傳統(tǒng)模型。實(shí)現(xiàn)車輛自動(dòng)駕駛需要大量標(biāo)簽數(shù)據(jù)進(jìn)行訓(xùn)練,而深度學(xué)習(xí)領(lǐng)域的發(fā)展為收集和維護(hù)這些數(shù)據(jù)集提供了便利條件[3-4]?;谝曨l攝像頭拍攝和感知駕駛周圍環(huán)境,進(jìn)而產(chǎn)生駕駛車輛所需控制信號(hào),進(jìn)行無(wú)人駕駛模擬仿真是目前無(wú)人輔助駕駛的主要研究方向[5-7]。無(wú)人駕駛模擬仿真中目前還存在著復(fù)雜場(chǎng)景的數(shù)據(jù)難以融合、動(dòng)態(tài)環(huán)境下建模困難和穩(wěn)定性差及精度低等問(wèn)題。深度強(qiáng)化學(xué)習(xí)不僅能利用現(xiàn)有數(shù)據(jù),還可以通過(guò)對(duì)環(huán)境的探索獲得新數(shù)據(jù),并循環(huán)往復(fù)地更新迭代現(xiàn)有模型。因此目前在無(wú)人駕駛研究中深度學(xué)習(xí)適合于已知場(chǎng)景特征數(shù)據(jù)下的模擬仿真,而深度強(qiáng)化學(xué)習(xí)更適合于現(xiàn)實(shí)場(chǎng)景動(dòng)態(tài)變化情況下的訓(xùn)練和測(cè)試[8-11]。
本文主要研究在深度學(xué)習(xí)框架下無(wú)人駕駛模型對(duì)周圍復(fù)雜場(chǎng)景的感知、圖像識(shí)別,并在行進(jìn)狀態(tài)下對(duì)模擬仿真控制決策的傳統(tǒng)算法進(jìn)行改良,在卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的基礎(chǔ)上對(duì)圖像主要識(shí)別區(qū)域進(jìn)行重新劃分,以達(dá)到匹配硬件條件來(lái)減少訓(xùn)練時(shí)間和提高訓(xùn)練精度的目的,對(duì)無(wú)人駕駛模型在行進(jìn)狀態(tài)下決策控制做出適應(yīng)環(huán)境變化的調(diào)整以達(dá)到?jīng)Q策的準(zhǔn)確性。
本文設(shè)計(jì)的無(wú)人駕駛模擬仿真方案分為3個(gè)部分:復(fù)雜場(chǎng)景的特征感知及訓(xùn)練數(shù)據(jù)融合到動(dòng)態(tài)環(huán)境中;無(wú)人駕駛模型的建立和訓(xùn)練;最后于AirSim平臺(tái)進(jìn)行自適應(yīng)仿真測(cè)試對(duì)模型保真度進(jìn)行分析。模型的保真度是對(duì)模型與真實(shí)對(duì)象間差別的描述,保真度越高越接近真實(shí)的對(duì)象,無(wú)人駕駛仿真模型的保真度就是仿真與真實(shí)無(wú)人駕駛車輛行進(jìn)控制的接近程度。系統(tǒng)整體設(shè)計(jì)方案如圖1所示。
圖1 整體設(shè)計(jì)方案
從場(chǎng)景圖像處理開(kāi)始,采用AirSim平臺(tái)作為模擬器,使用微軟在2018年采集的山地場(chǎng)景圖像數(shù)據(jù)集作為復(fù)雜場(chǎng)景的初始圖像數(shù)據(jù)集。從版本 1.2 開(kāi)始,AirSim 能夠支持多載具,允許創(chuàng)建多個(gè)汽車來(lái)控制它們,但多個(gè)車輛控制非常復(fù)雜。本文研究復(fù)雜地形環(huán)境下單個(gè)汽車無(wú)人駕駛仿真控制。
本文采用在機(jī)器視覺(jué)和圖像處理中使用頻率最高的關(guān)注區(qū)域(region of interest,ROI)技術(shù),勾勒出需要處理的區(qū)域(路面場(chǎng)景),并對(duì)場(chǎng)景圖像進(jìn)行不同駕駛策略的分析。在處理數(shù)據(jù)集方面采用matplotlib函數(shù)對(duì)復(fù)雜場(chǎng)景數(shù)據(jù)集進(jìn)行分類歸納,最終分析數(shù)據(jù)點(diǎn)的分布并對(duì)缺少的訓(xùn)練數(shù)據(jù)進(jìn)行補(bǔ)齊和數(shù)據(jù)融合,將最后得到的數(shù)據(jù)集進(jìn)行整合用于模型訓(xùn)練和測(cè)試。
在場(chǎng)景圖像數(shù)據(jù)集建立完成后,進(jìn)行基于Anaconda平臺(tái)的Python3.5語(yǔ)言的算法編程,采用Keras API的深度學(xué)習(xí)框架作為前端,與之匹配的TensorFlow作為后端架構(gòu),并采用在深度學(xué)習(xí)無(wú)人駕駛領(lǐng)域表現(xiàn)良好的CNN結(jié)構(gòu)進(jìn)行模型的構(gòu)建,在本地進(jìn)行多個(gè)周期的模型訓(xùn)練和測(cè)試,得出不同損失值的模型。
采集和處理場(chǎng)景數(shù)據(jù)是無(wú)人駕駛模擬仿真的第一步,首先需要對(duì)場(chǎng)景數(shù)據(jù)進(jìn)行ROI區(qū)域增強(qiáng)。場(chǎng)景數(shù)據(jù)中,除去與駕駛策略相關(guān)的路面情況外,還有諸多干擾因素,如天空、飛鳥和遠(yuǎn)處的山脈等。故如果針對(duì)整張圖像進(jìn)行處理,會(huì)大大增加處理時(shí)間,且由于天空光照的存在,也勢(shì)必會(huì)對(duì)路面造成影響。matplotlib函數(shù)中原算法ROI區(qū)域劃分較大,除囊括了行駛道路以外,還包括了一部分遠(yuǎn)端相對(duì)模糊的路面和部分無(wú)關(guān)環(huán)境要素(樹(shù)木、山坡等)。如圖2顯示的是原算法策略ROI區(qū)域增強(qiáng)效果。本文舍棄原算法中對(duì)更遠(yuǎn)處場(chǎng)景做出預(yù)處理來(lái)提高后期模型訓(xùn)練的長(zhǎng)時(shí)策略;針對(duì)于匹配小數(shù)據(jù)量的訓(xùn)練集對(duì)其進(jìn)行改進(jìn),專注于短期路程的即時(shí)策略。
圖2 原算法策略ROI區(qū)域增強(qiáng)
改良算法策略ROI區(qū)域增強(qiáng)效果如圖3所示。算法改良后雖然處理場(chǎng)景數(shù)據(jù)時(shí)減少了對(duì)更遠(yuǎn)距離場(chǎng)景的長(zhǎng)久規(guī)劃能力,但卻在短距離的即時(shí)策略中能保證更高的精確度,綜合設(shè)計(jì)硬件條件,減小ROI區(qū)域能最優(yōu)化處理速度和精度。從圖2和圖3對(duì)比可以看出,改良后的ROI更偏重當(dāng)前路面的復(fù)雜情況,同時(shí)少量兼顧未來(lái)路況,在節(jié)省算力的同時(shí),能更精確提取當(dāng)前環(huán)境特征,提高了在山路中山石、坡路、急彎等復(fù)雜路況的魯棒性。
圖3 改良算法策略ROI區(qū)域增強(qiáng)
本文中駕駛策略分為正常行駛策略(normal)和轉(zhuǎn)向策略(swerve)兩種,分別對(duì)應(yīng)駕駛中直行策略和轉(zhuǎn)彎策略。不同策略下行駛情況如圖4所示。
圖4 不同駕駛策略數(shù)據(jù)點(diǎn)分布
從圖4可以看出,兩種不同的行駛策略存在明顯差異:實(shí)線表示正常行駛的駕駛策略,從數(shù)據(jù)中可以直觀發(fā)現(xiàn)其轉(zhuǎn)向角基本為零,這就能保證汽車可以正常沿直線行駛而不至于偏離正常車道過(guò)多;虛線代表的是轉(zhuǎn)向策略,很容易發(fā)現(xiàn)其轉(zhuǎn)向角在一個(gè)很大范圍內(nèi)不斷波動(dòng),而將此策略代入汽車模型中,就會(huì)出現(xiàn)汽車在道路上左右搖擺的狀況,導(dǎo)致汽車行駛狀態(tài)不穩(wěn)繼而引發(fā)安全問(wèn)題。
將圖4中不同行駛策略下的場(chǎng)景數(shù)據(jù)點(diǎn)數(shù)量進(jìn)行匯總計(jì)算,其中有25.51%(11 925個(gè))的數(shù)據(jù)點(diǎn)為轉(zhuǎn)向策略,有74.49%(34 814個(gè))的數(shù)據(jù)點(diǎn)為正常行駛策略,轉(zhuǎn)向策略可供使用的場(chǎng)景數(shù)據(jù)較少,會(huì)導(dǎo)致訓(xùn)練不完整。本文設(shè)計(jì)的模型完全依靠場(chǎng)景數(shù)據(jù)集來(lái)提供訓(xùn)練信息和測(cè)試數(shù)據(jù)。為了能處理模型最終遇到的所有可能出現(xiàn)的急轉(zhuǎn)彎,并在偏離道路時(shí)能進(jìn)行自我修正,需要想辦法來(lái)解決轉(zhuǎn)向數(shù)據(jù)點(diǎn)不足的問(wèn)題。本文采用了垂直翻轉(zhuǎn)公差方法解決轉(zhuǎn)向數(shù)據(jù)點(diǎn)不足,具體方法是:對(duì)于搜集到的有效數(shù)據(jù)點(diǎn),把圖像繞Y軸翻轉(zhuǎn),同時(shí)將轉(zhuǎn)向角的符號(hào)也取反。這樣可實(shí)現(xiàn)可用的數(shù)據(jù)點(diǎn)數(shù)量的翻倍,進(jìn)行簡(jiǎn)單的數(shù)據(jù)融合就可以將其全部編入訓(xùn)練集中。
最后使用matplotlib對(duì)搜集到的場(chǎng)景數(shù)據(jù)進(jìn)行匯總和觀察。正常策略和轉(zhuǎn)向策略轉(zhuǎn)向角分布分別如圖5和圖6所示。圖中橫坐標(biāo)為歸一化的角度,縱坐標(biāo)為轉(zhuǎn)向角歸一化處理后單位時(shí)間(1s)內(nèi)在正常策略和轉(zhuǎn)向策略下轉(zhuǎn)向角出現(xiàn)的次數(shù),即出現(xiàn)的頻率。從圖中可以看出,正常行駛策略中,方向盤的角度幾乎總是為0,而在模型仿真行駛過(guò)程中,如果這部分沒(méi)有被降采樣的話,會(huì)導(dǎo)致模型總是將轉(zhuǎn)向角預(yù)測(cè)為0,導(dǎo)致汽車將無(wú)法轉(zhuǎn)彎;而在轉(zhuǎn)彎策略中,汽車出現(xiàn)了急轉(zhuǎn)彎策略而不是出現(xiàn)在正常行駛策略中,也正驗(yàn)證了上文中對(duì)可用數(shù)據(jù)點(diǎn)場(chǎng)景圖像Y軸翻轉(zhuǎn)獲得新數(shù)據(jù)點(diǎn)的操作可行。
圖5 正常策略轉(zhuǎn)向角分布
圖6 轉(zhuǎn)向策略轉(zhuǎn)向角分布
在此基礎(chǔ)之上,需要將原始場(chǎng)景數(shù)據(jù)合并為適合訓(xùn)練的壓縮數(shù)據(jù)文件。本文使用h5py函數(shù)生成.h5文件,此格式支持大型數(shù)據(jù)集而無(wú)需一次性將所有數(shù)據(jù)讀入內(nèi)存,且可以與Keras無(wú)縫對(duì)接。
系統(tǒng)模型由輸入層、3個(gè)卷積與池化層、2個(gè)全連接層和輸出層構(gòu)成。整個(gè)系統(tǒng)的輸入是感知的場(chǎng)景特征數(shù)據(jù)和汽車的狀態(tài)參數(shù),輸出的是汽車的轉(zhuǎn)向角,其中汽車的狀態(tài)參數(shù)包括轉(zhuǎn)向角、油門和剎車的狀態(tài)以及圖像初始緩沖和初始位置等,通過(guò)狀態(tài)Input函數(shù)輸入模型。此次設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)如圖7所示。
圖7 卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)
Keras中的Conv2D是最常用的二維卷積層,可對(duì)二維的輸入進(jìn)行卷積訓(xùn)練。在第一層“convolution0”時(shí)設(shè)定其輸入的“input_shape”參數(shù)為樣本圖像訓(xùn)練集里的參數(shù)。img_stack=Conv2D(16,(3,3),name=“convolution0”,padding=‘same’,activation = activation) (pic_input),在第一層卷積“convolution0”中,設(shè)定其卷積核的數(shù)目即輸出的維度為16,且卷積層大小為(3,3)。padding為Keras中Conv2D的補(bǔ)0策略:padding =‘valid’表示只進(jìn)行有效卷積而不對(duì)邊界數(shù)據(jù)進(jìn)行補(bǔ)0,即不處理邊界數(shù)據(jù);padding = ‘same’則與之相反。在卷積神經(jīng)網(wǎng)絡(luò)中補(bǔ)0是最為常見(jiàn)的操作,且在無(wú)人駕駛的圖像識(shí)別方面,不對(duì)邊界數(shù)據(jù)進(jìn)行處理很容易造成圖像處理不完全,導(dǎo)致汽車駕駛過(guò)程中出現(xiàn)無(wú)法判斷的局面,故此選擇補(bǔ)0策略。其部分結(jié)構(gòu)具體如圖8所示。
圖8 部分卷積層與池化層結(jié)構(gòu)
使用MaxPooling2D函數(shù)進(jìn)行池化層的添加。當(dāng)輸入經(jīng)過(guò)卷積層時(shí),若感受視野比較小,步長(zhǎng)stride比較小,得到的特征圖(feature map)比較大,可以通過(guò)池化層來(lái)對(duì)每一個(gè)feature map進(jìn)行降維處理,輸出的深度不變,依然為feature map的個(gè)數(shù)。池化層也有一個(gè)池化視野(filter)來(lái)對(duì)feature map矩陣進(jìn)行掃描,對(duì)池化視野中的矩陣值進(jìn)行計(jì)算,MaxPooling即為取池化視野中矩陣的最大值。模型中的全連接層通過(guò)Dense函數(shù)來(lái)進(jìn)行添加,全連接層起著將所有參數(shù)匯總整理并從所有參數(shù)中選出最具代表性的參數(shù)的作用。
由AriSim平臺(tái)收集到的數(shù)據(jù)為三通道的RGB圖像。待優(yōu)化參數(shù)過(guò)多易導(dǎo)致模型過(guò)擬合,為避免這種現(xiàn)象,先對(duì)原始圖像進(jìn)行卷積特征提取,把提取到的特征導(dǎo)入全連接層網(wǎng)絡(luò),再使用全連接網(wǎng)絡(luò)計(jì)算出分類評(píng)估值。在卷積層末尾和全連接層中采用dropout函數(shù),目的在于舍棄一部分?jǐn)?shù)據(jù)而防止過(guò)擬合現(xiàn)象發(fā)生。圖7中兩個(gè)全連接層具體設(shè)計(jì)如圖9所示,圖中從“第二層結(jié)點(diǎn)”(6 948個(gè))到“fiter全連接層結(jié)點(diǎn)”(64個(gè))進(jìn)行一次全連接,從“fiter全連接層結(jié)點(diǎn)”到第三層結(jié)點(diǎn)(10個(gè))進(jìn)行第二次全連接,主要作用是對(duì)數(shù)據(jù)進(jìn)行降維操作。
圖9 全連接層結(jié)構(gòu)
模型訓(xùn)練結(jié)果和損失值如表1所示,表中為兩組訓(xùn)練結(jié)果。從訓(xùn)練過(guò)程中可以看出模型兩輪訓(xùn)練分別在第5次和第3次損失值驟降,而大多數(shù)損失值超過(guò)0.001的模型則基本由于損失值過(guò)大而無(wú)法使用。經(jīng)過(guò)多輪對(duì)比和篩選后,最終擬選用損失值在0.000 8以下的模型進(jìn)行模擬仿真環(huán)境下的測(cè)試。
表1 兩組已訓(xùn)練模型與損失值
無(wú)人駕駛車輛仿真在動(dòng)態(tài)環(huán)境下首先需要一個(gè)網(wǎng)絡(luò)攝像頭進(jìn)行環(huán)境量的輸入,即場(chǎng)景獲??;其次要導(dǎo)入上一步訓(xùn)練好的模型;之后在設(shè)定汽車初試狀態(tài)后,進(jìn)行車輛行進(jìn)狀態(tài)控制。
自動(dòng)駕駛汽車初始狀態(tài)的設(shè)定如表2所示,即轉(zhuǎn)向角為0,油門和剎車均處于關(guān)閉狀態(tài);圖像緩沖初始為一個(gè)可填入59×255的3通道RGB圖像數(shù)組的numpy的0數(shù)組;初始位置則返回一個(gè)1行4列的0數(shù)組用來(lái)為后續(xù)實(shí)時(shí)位置更新填補(bǔ)。
表2 汽車初始狀態(tài)設(shè)定
原始前端測(cè)試算法并未對(duì)自動(dòng)駕駛汽車動(dòng)態(tài)環(huán)境下的行進(jìn)狀態(tài)進(jìn)行控制,在針對(duì)處理的圖像進(jìn)行靜態(tài)建模后,對(duì)動(dòng)態(tài)行進(jìn)僅僅設(shè)定了一個(gè)初始速度,并無(wú)動(dòng)態(tài)環(huán)境中的行進(jìn)控制,這種參數(shù)設(shè)定方式在動(dòng)態(tài)環(huán)境下自動(dòng)駕駛汽車模型極易在行進(jìn)過(guò)程中失控,導(dǎo)致出現(xiàn)事故。
本文將算法進(jìn)行改進(jìn),添加了對(duì)汽車車速過(guò)低或超速時(shí)的控制來(lái)應(yīng)變復(fù)雜的道路場(chǎng)景,算法流程如圖10所示。當(dāng)車速低于3.5 m/s進(jìn)行加速,車速高于5.5 m/s時(shí)進(jìn)行減速處理,即將車速控制在3.5 m/s和5.5 m/s之間。系統(tǒng)中原算法對(duì)汽車行進(jìn)狀態(tài)控制僅有最低速度限制(車速低于5 m/s時(shí)踩下油門控制汽車前進(jìn)),而針對(duì)地勢(shì)復(fù)雜且急彎較多的山間路況,原來(lái)設(shè)定的最低速度不能滿足復(fù)雜路況的行車需要。在經(jīng)過(guò)多次仿真實(shí)驗(yàn)之后,原算法的最低車速5 m/s調(diào)整為3.5 m/s,同時(shí)為了保證汽車在下坡路段以及突遇急彎不會(huì)造成速度過(guò)快從而導(dǎo)致汽車方向失控,在多次模擬實(shí)驗(yàn)后確定了一個(gè)最高限速值5.5 m/s。經(jīng)多次模擬實(shí)驗(yàn)測(cè)試結(jié)果顯示,此速度控制在多個(gè)模型下行駛狀態(tài)良好,可作為行進(jìn)狀態(tài)的參數(shù)設(shè)置參考。
圖10 動(dòng)態(tài)環(huán)境狀態(tài)控制算法流程
在兩組訓(xùn)練好的模型中分別取損失值在0.000 8以下的模型進(jìn)行測(cè)試,其表現(xiàn)大致分為4種情況:
1) 受干擾多,下坡路表現(xiàn)差(損失值在0.000 381 3~0.000 873 8之間);
2) 表現(xiàn)最好,直行策略完美且失誤極少(損失值0.000 331 1);
3) 出現(xiàn)過(guò)擬合情況但不嚴(yán)重,可正常行駛但表現(xiàn)不穩(wěn)定,行駛路程最遠(yuǎn)(損失值0.000 223 9);
(4) 過(guò)擬合情況嚴(yán)重且無(wú)法正常行駛,直線路段“S”形行駛過(guò)多(損失值在0.000 223 9~0.000 381 3之間)。
以下對(duì)自適應(yīng)推斷測(cè)試的4種結(jié)果進(jìn)行詳細(xì)分析。
1) 損失值處于0.000 381 3~0.000 873 8之間的模型在測(cè)試中表現(xiàn)不盡如人意,盡管其損失值相比表現(xiàn)最好的模型差了0.000 5左右,但在實(shí)際測(cè)試中受到外界干擾過(guò)多(光照,砂石,橋梁等),出現(xiàn)難以在轉(zhuǎn)彎時(shí)正確判斷轉(zhuǎn)向角度而導(dǎo)致車輛發(fā)生沖出車道外的情況。同時(shí)測(cè)試模型優(yōu)劣的第一個(gè)關(guān)鍵點(diǎn)就是在相對(duì)平穩(wěn)路面行駛速度稍快的第一個(gè)下坡路段,而此損失值范圍內(nèi)的模型在測(cè)試過(guò)程中無(wú)一例外在第一個(gè)下坡路段速度過(guò)快,且不好把控方向而沖出車道外無(wú)法正常駕駛,如圖11所示。
圖11 沖出車道無(wú)法正常行駛狀態(tài)
2) 經(jīng)多次測(cè)試,保真度最高的模型為第二組中一個(gè)訓(xùn)練了9次、損失值為0.000 331 1的模型,也驗(yàn)證了微軟官方給出的最終損失值應(yīng)維持在0.000 3左右最佳的情況。此模型在多次測(cè)試中幾乎無(wú)失誤,直線行駛無(wú)擺動(dòng)且能長(zhǎng)時(shí)間保持在車道中間靠右側(cè)的方位行駛,順利通過(guò)第一個(gè)下坡路段的評(píng)判點(diǎn)后,于第二個(gè)下坡急轉(zhuǎn)彎表現(xiàn)優(yōu)異。
3) 第一組訓(xùn)練15次且損失值達(dá)到了early stopping的最低值0.000 223 9的模型是眾多過(guò)擬合模型中保真度較高的一個(gè)模型。因其訓(xùn)練次數(shù)過(guò)多且損失值較低,使其具備了一定程度上的學(xué)習(xí)能力。此學(xué)習(xí)能力并非機(jī)器自主學(xué)習(xí)后對(duì)完全未觀察過(guò)的場(chǎng)景進(jìn)行識(shí)別,而是在原有路面信息的基礎(chǔ)上擁有一定識(shí)別未添加入訓(xùn)練集的路面的能力,并能行駛約1.5倍完美擬合模型的行駛距離,但該模型不能作為最終模型。無(wú)人駕駛涉及駕駛和乘車人員的生命財(cái)產(chǎn)安全,相對(duì)于橫向性能優(yōu)越性的高低,應(yīng)更側(cè)重于穩(wěn)定性的提升。在面對(duì)未知路面時(shí),如果技術(shù)不夠成熟,應(yīng)選擇穩(wěn)妥的駕駛方式保證安全性,而非一味追求性能而忽略安全,這也是許多國(guó)家沒(méi)有對(duì)無(wú)人駕駛汽車進(jìn)行明確立法的原因之一。
4) 其他過(guò)擬合模型(損失值在0.000 223 9~0.000 381 3之間)過(guò)度的敏感性導(dǎo)致其在直線路段行駛時(shí)過(guò)多矯正行進(jìn)路線,出現(xiàn)直行路段走“S”形線路的情況,不僅乘坐舒適度大大降低,在偶遇轉(zhuǎn)彎路段時(shí)也會(huì)因車頭在直線路段中剛好偏向另一側(cè)而出現(xiàn)急打方向盤現(xiàn)象發(fā)生,容易造成安全事故。同時(shí)過(guò)擬合模型在通過(guò)下坡急轉(zhuǎn)彎路段時(shí),會(huì)由于過(guò)度躲避道路上的巖石而產(chǎn)生急轉(zhuǎn)彎車身失控情況,嚴(yán)重時(shí)可如圖12所示以高速?zèng)_出車道外造成危險(xiǎn)。
圖12 過(guò)擬合時(shí)汽車以高速?zèng)_出車道狀態(tài)
對(duì)無(wú)人駕駛模型進(jìn)行訓(xùn)練、測(cè)試和優(yōu)化后,最終可觀察到車輛在道路上行駛平穩(wěn)且大部分時(shí)間是處于居中靠右的車道行駛,在處理急轉(zhuǎn)彎和有可能出現(xiàn)偏離的道路時(shí)會(huì)做出相應(yīng)的減速處理。然而,在行駛一段時(shí)間后,汽車最終會(huì)偏離道路并且與路面發(fā)生相撞,這是因?yàn)閿?shù)據(jù)集過(guò)小汽車模型無(wú)法訓(xùn)練到更遠(yuǎn)的場(chǎng)景圖像數(shù)據(jù)集。圖13所示為汽車正常無(wú)人駕駛狀態(tài)的4個(gè)特征位置點(diǎn)的行駛狀態(tài)。
圖13 正常無(wú)人駕駛汽車行駛狀態(tài)
本文完成了復(fù)雜場(chǎng)景下無(wú)人駕駛模型的建立、訓(xùn)練和測(cè)試,對(duì)無(wú)人駕駛領(lǐng)域起到了一定的參考作用,具有實(shí)際意義。
在建模、訓(xùn)練和測(cè)試過(guò)程中,盡管訓(xùn)練集和測(cè)試集來(lái)自于相同的環(huán)境,但數(shù)據(jù)集之間的差異導(dǎo)致了模型的保真度出現(xiàn)了差異,而衡量保真度高低的重要指標(biāo)則為訓(xùn)練時(shí)的損失值。本文研究總結(jié)如下:
1) 針對(duì)初始數(shù)據(jù)的處理方法進(jìn)行改良,舍棄原本范圍過(guò)大的ROI區(qū)域劃分,針對(duì)原算法改良后雖然處理場(chǎng)景數(shù)據(jù)時(shí)減少了對(duì)更遠(yuǎn)距離的場(chǎng)景的長(zhǎng)久規(guī)劃能力,但卻在短距離的即時(shí)策略中保證更高的精確度,綜合設(shè)計(jì)硬件條件,減小ROI區(qū)域能最優(yōu)化處理速度和精度,在后期的模型訓(xùn)練中表現(xiàn)也最為出色;
2) 針對(duì)動(dòng)態(tài)環(huán)境下建模困難的問(wèn)題,在原本靜態(tài)建模基礎(chǔ)上對(duì)其動(dòng)態(tài)行進(jìn)過(guò)程中的參數(shù)進(jìn)行優(yōu)化和補(bǔ)充,使其在動(dòng)態(tài)環(huán)境下能保證足夠的穩(wěn)定性,面對(duì)不同的場(chǎng)景和地貌地形能做出正確的判斷和行動(dòng);
3) 對(duì)模型保真度進(jìn)行多次評(píng)估,在多次訓(xùn)練中對(duì)模型的損失值進(jìn)行評(píng)估和總結(jié),匯總訓(xùn)練結(jié)果后對(duì)其保真度進(jìn)行基于多次訓(xùn)練的匯總結(jié)果評(píng)估,尋找出最優(yōu)損失值的范圍。