胡學(xué)敏,童秀遲,郭 琳,張若晗,孔 力
(湖北大學(xué)計(jì)算機(jī)與信息工程學(xué)院,武漢 430062)
(*通信作者電子郵箱10837330@qq.com)
作為人工智能的主要研究領(lǐng)域之一,自動(dòng)駕駛技術(shù)能夠有效地減少交通事故的發(fā)生,合理利用交通資源,緩解交通壓力。傳統(tǒng)的基于規(guī)則式的自動(dòng)駕駛方法一般分為感知系統(tǒng)、決策系統(tǒng)和控制系統(tǒng)三大模塊[1],其優(yōu)點(diǎn)在于各個(gè)模塊分工明確,可解釋性強(qiáng),系統(tǒng)穩(wěn)定性高。但是由于這類方法在做決策時(shí)強(qiáng)烈依賴于設(shè)定的規(guī)則,因此不具備自主學(xué)習(xí)的能力。此外,基于規(guī)則式的方法中預(yù)處理的過(guò)程較多,做出決策和控制需要處理的任務(wù)也較為繁瑣,并且需要諸多昂貴的傳感器,其硬件成本較高。而基于深度學(xué)習(xí)的端到端自動(dòng)駕駛,將決策過(guò)程視為一個(gè)黑箱,利用神經(jīng)網(wǎng)絡(luò)建立輸入到輸出的映射。通過(guò)模仿人類駕駛行為,輸入圖像信息,輸出汽車轉(zhuǎn)向角等控制信號(hào)。相比傳統(tǒng)的基于規(guī)則式的方法,端到端的方法具備強(qiáng)大的學(xué)習(xí)能力,能夠更有效降低硬件設(shè)備成本和減少預(yù)處理步驟,因此研究端到端的自動(dòng)駕駛模型具有重要的學(xué)術(shù)意義和商業(yè)價(jià)值。
近年來(lái),研究人員在端到端的自動(dòng)駕駛方面做了大量的工作。Chen等[2]使用AlexNet網(wǎng)絡(luò),利用12 h的模擬駕駛數(shù)據(jù)訓(xùn)練,實(shí)現(xiàn)多車道高速公路的自動(dòng)駕駛,該方法在高速公路數(shù)據(jù)集上表現(xiàn)良好,但是沒(méi)有考慮輸入圖像前后幀之間的時(shí)間特征,在復(fù)雜路況數(shù)據(jù)集上測(cè)試結(jié)果不穩(wěn)定。NVIDIA 公司提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[3]的端到端自動(dòng)轉(zhuǎn)向模型,實(shí)現(xiàn)了真實(shí)道路的自動(dòng)駕駛路測(cè)[4],在多種道路上取得了相對(duì)滿意的結(jié)果,但同樣沒(méi)有利用連續(xù)幀的信息,駕駛指令預(yù)測(cè)準(zhǔn)確性有限。文獻(xiàn)[5]提出利用CNN 和長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[6]構(gòu)成的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)從圖像到方向盤轉(zhuǎn)角的端到端的自動(dòng)駕駛,該方法利用了車輛行駛過(guò)程中的時(shí)間信息,性能有所改進(jìn),但是網(wǎng)絡(luò)體量大,模型訓(xùn)練需要的迭代次數(shù)多。加州大學(xué)伯克利分校構(gòu)建了一種FCN-LSTM(Fully Convolutional Network-Long Short-Term Memory)分支網(wǎng)絡(luò)結(jié)構(gòu)[7],并引入語(yǔ)義分割方法增強(qiáng)對(duì)駕駛場(chǎng)景的理解能力,預(yù)測(cè)離散或連續(xù)的駕駛行為。北京大學(xué)提出的ST-Conv+ConvLSTM+LSTM 網(wǎng)絡(luò)[8],利用時(shí)空卷積、多尺度殘差聚合、卷積長(zhǎng)短記憶網(wǎng)絡(luò)和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)等搭建技巧或模塊,預(yù)測(cè)無(wú)人車的橫向和縱向控制。另一方面,由于深度強(qiáng)化學(xué)習(xí)在許多傳統(tǒng)游戲中取得了超越人類的成績(jī),其在自動(dòng)駕駛方面的應(yīng)用開(kāi)始受到越來(lái)越多的關(guān)注。Mobileye 將在指定環(huán)境中進(jìn)行安全的多智能體規(guī)劃決策應(yīng)用于自動(dòng)駕駛,使用策略梯度迭代的方法求解最優(yōu)策略,將學(xué)習(xí)目標(biāo)劃分為可學(xué)習(xí)和不可學(xué)習(xí)部分保障系統(tǒng)安全,并引入有向無(wú)環(huán)圖降低了模型的復(fù)雜度[9]。El Sallab 等[10]采用深度確定性策略梯度算法在開(kāi)源賽車模擬器TORCS(The Open Racing Car Simulator)中訓(xùn)練智能體。深度強(qiáng)化學(xué)習(xí)方法在模擬環(huán)境下取得不錯(cuò)效果,是具有潛力的自動(dòng)駕駛研究方法之一。
現(xiàn)有基于深度神經(jīng)網(wǎng)絡(luò)的端到端自動(dòng)駕駛方法往往利用CNN 提取視覺(jué)圖像中所有像素點(diǎn)的特征,但是沒(méi)有考慮圖像中冗余信息,存在設(shè)計(jì)的網(wǎng)絡(luò)層數(shù)多、計(jì)算量大等問(wèn)題。反觀人類在駕駛時(shí)能夠通過(guò)快速掃描前方,獲取需要重點(diǎn)關(guān)注的目標(biāo)區(qū)域,也就是注意力焦點(diǎn),而后對(duì)這一區(qū)域投入更多注意力資源,以獲取更多所需要關(guān)注目標(biāo)的細(xì)節(jié)信息,而抑制其他無(wú)用信息,這一過(guò)程稱為生物視覺(jué)注意力機(jī)制[11]。近年來(lái)隨著深度學(xué)習(xí)的不斷發(fā)展,視覺(jué)注意力機(jī)制的概念被引入這一領(lǐng)域[12-14]。文獻(xiàn)[15]中將視覺(jué)注意力機(jī)制分為軟注意力機(jī)制和硬注意力機(jī)制。軟注意力機(jī)制為每一個(gè)輸入分配一個(gè)注意力權(quán)值,其選擇的信息是所有輸入信息在注意力權(quán)值分布下的期望。軟注意力機(jī)制平滑可微,可以被嵌入模型中直接訓(xùn)練,通過(guò)梯度下降法反向傳播至模型其他部分。硬注意力機(jī)制使用最大采樣或隨機(jī)采樣選取信息,只關(guān)注某一輸入向量,其損失函數(shù)與注意力分布之間的函數(shù)關(guān)系不可導(dǎo),因此難以使用反向傳播算法進(jìn)行訓(xùn)練。此外,Google 機(jī)器翻譯團(tuán)隊(duì)提出自注意力模型,一種將單個(gè)序列的不同位置聯(lián)系起來(lái)搜索序列內(nèi)部的隱藏關(guān)系的注意力機(jī)制,并將其應(yīng)用于學(xué)習(xí)文本表示[16]。由于在駕駛過(guò)程中駕駛員會(huì)重點(diǎn)關(guān)注車道線和交通燈等信息,而給予天空、路邊的建筑物和植物等背景較少的關(guān)注[17],而CNN 在提取圖像特征時(shí)對(duì)待每個(gè)像素均無(wú)差別,存在大量的信息冗余,降低處理效率和準(zhǔn)確性。因此,在端到端自動(dòng)駕駛模型中加入視覺(jué)注意力機(jī)制,能夠選擇性提取重要信息,減少模型層數(shù)和提高駕駛指令預(yù)測(cè)的準(zhǔn)確性。
針對(duì)現(xiàn)有端到端自動(dòng)駕駛方法中存在的駕駛指令預(yù)測(cè)準(zhǔn)確性不高、模型結(jié)構(gòu)體量大和信息冗余等問(wèn)題,本文提出一種基于深度視覺(jué)注意神經(jīng)網(wǎng)絡(luò)的端到端自動(dòng)駕駛方法。首先提出一種深度視覺(jué)注意神經(jīng)網(wǎng)絡(luò)(Deep Visual Attention Neural Network,DVANN),該網(wǎng)絡(luò)由CNN 層、視覺(jué)注意層和LSTM 層構(gòu)成,分別用于提取單個(gè)輸入序列的重要空間特征、關(guān)注有用信息并減少信息冗余和提取連續(xù)序列之間的時(shí)間特征。此外,基于DVANN,提出一種端到端的自動(dòng)駕駛方法,利用前向車載相機(jī)獲取連續(xù)的駕駛序列圖像,預(yù)測(cè)車輛的方向盤轉(zhuǎn)角。實(shí)驗(yàn)結(jié)果表明,本文方法不僅提高了端到端自動(dòng)駕駛中動(dòng)作指令預(yù)測(cè)的準(zhǔn)確度,減少了模型層數(shù),同時(shí)也為視覺(jué)注意力機(jī)制的應(yīng)用提供了新的思路。
本文提出的基于視覺(jué)注意機(jī)制的端到端自動(dòng)駕駛模型如圖1 所示,模型輸入為前向車載相機(jī)的序列圖像,經(jīng)過(guò)網(wǎng)絡(luò)后輸出為當(dāng)前預(yù)測(cè)的方向盤轉(zhuǎn)角。DVANN 模型由CNN 層、視覺(jué)注意層和LSTM 層三部分組成:CNN 層用于對(duì)每一幀圖像提取空間特征;視覺(jué)注意層的作用旨在判別圖像的注意力權(quán)重,區(qū)分圖像中各個(gè)像素點(diǎn)的視覺(jué)重要性;LSTM 層用于提取連續(xù)幀圖像的時(shí)間特征。最后輸出層為1 個(gè)節(jié)點(diǎn),即方向盤轉(zhuǎn)向角的預(yù)測(cè)結(jié)果。

圖1 基于深度視覺(jué)注意神經(jīng)網(wǎng)絡(luò)的自動(dòng)駕駛模型整體結(jié)構(gòu)Fig.1 Overall structure of autonomous driving model based on deep visual attention neural network
在圖像特征提取過(guò)程中,CNN 能夠利用卷積運(yùn)算操作對(duì)原始圖像進(jìn)行高低不同層次的特征表達(dá)[18],在諸多領(lǐng)域特別是圖像識(shí)別等相關(guān)任務(wù)上表現(xiàn)優(yōu)異,因此本文設(shè)計(jì)一個(gè)CNN層網(wǎng)絡(luò)來(lái)提取駕駛場(chǎng)景的靜態(tài)圖像特征。
與現(xiàn)有端到端的自動(dòng)駕駛方法類似,本文采用CNN 提取圖像空間特征,將高維的輸入數(shù)據(jù)編碼成一系列低維的、抽象的特征表達(dá)。現(xiàn)有方法要實(shí)現(xiàn)準(zhǔn)確的駕駛指令預(yù)測(cè),需要設(shè)計(jì)復(fù)雜且深的CNN。本文利用注意力機(jī)制,減少CNN 對(duì)網(wǎng)絡(luò)深度的依賴,設(shè)計(jì)了一個(gè)輕量級(jí)的CNN。文獻(xiàn)[19]中提出了一個(gè)輕量CNN 來(lái)實(shí)現(xiàn)智能體在游戲中與環(huán)境交互,并且取得了較好的成果,因此本文以文獻(xiàn)[19]為基礎(chǔ)來(lái)設(shè)計(jì)本文的CNN層網(wǎng)絡(luò)結(jié)構(gòu)。如圖2所示,該網(wǎng)絡(luò)由3個(gè)卷積層構(gòu)成。
原始的單幀RGB 圖像首先通過(guò)數(shù)據(jù)預(yù)處理轉(zhuǎn)換成灰度圖,并將尺寸縮放為84×84 像素。為快速提取不同尺度的特征,本文采用大卷積核的方式,將三個(gè)卷積層的卷積核尺寸分別設(shè)計(jì)為8×8、4×4和3×3,步長(zhǎng)分別為4、2和1,卷積核個(gè)數(shù)分別為32、64 和64,每個(gè)卷積層后使用修正線性單元作為激活函數(shù),因此輸出為7×7 像素、64 通道的特征向量,作為當(dāng)前幀駕駛場(chǎng)景的空間圖像特征。最后,為將空間特征輸入視覺(jué)注意層和LSTM 層,將特征向量的形狀改變?yōu)?×49×64 的區(qū)域向量。

圖2 CNN層結(jié)構(gòu)Fig.2 Structure of CNN layer
本文使用CNN 層結(jié)構(gòu)能夠有效提取輸入圖像的空間特征,然而自動(dòng)駕駛?cè)蝿?wù)的輸入不是單幀圖像,而是前后關(guān)聯(lián)的圖像序列,因此需要提取圖像前后幀的時(shí)間特征。LSTM是循環(huán)神經(jīng)網(wǎng)絡(luò)的一種變體,可以學(xué)習(xí)長(zhǎng)期依賴信息[20],故本文采用LSTM 作為端到端自動(dòng)駕駛模型的時(shí)間特征提取層。圖3中虛線矩形框展示了LSTM 單元內(nèi)部結(jié)構(gòu),其中xt表示t時(shí)刻LSTM 單元的輸入;ct表示細(xì)胞狀態(tài),記錄隨時(shí)間傳遞的信息;it表示輸入門確定xt輸入多少信息給當(dāng)前細(xì)胞狀態(tài)ct;ft表示遺忘門決定上一時(shí)刻細(xì)胞狀態(tài)ct-1保留多少信息給ct;ot表示輸出門控制ct傳遞多少信息給當(dāng)前狀態(tài)的輸出ht;ht-1表示t-1時(shí)刻的輸出;mt為狀態(tài)候選值。LSTM通過(guò)門控單元控制細(xì)胞狀態(tài)。首先,遺忘門根據(jù)上一時(shí)刻輸出ht-1和當(dāng)前輸入xt通過(guò)sigmoid 層產(chǎn)生遺忘概率ft,決定從細(xì)胞狀態(tài)中丟棄什么信息。然后分兩步產(chǎn)生更新細(xì)胞狀態(tài)的新信息,第一步輸入門通過(guò)sigmoid 層決定需要更新的信息it,第二步用一個(gè)tanh 層生成狀態(tài)候選值mt。將上一時(shí)刻的細(xì)胞狀態(tài)乘以ft再加上it⊙mt得到新的細(xì)胞狀態(tài)ct。最后決定輸出信息,首先輸出門通過(guò)sigmoid 層得到初始輸出ot,然后將新的細(xì)胞狀態(tài)ct通過(guò)tanh函數(shù)處理后與ot相乘得到當(dāng)前輸出ht,其工作原理如式(1)~(6)所示:

其中:W與b分別表示對(duì)應(yīng)門控單元的權(quán)重向量與偏移量;σ(·)表示sigmoid 激活函數(shù);tanh(·)表示雙曲正切激活函數(shù);⊙表示點(diǎn)乘。
本文設(shè)計(jì)的LSTM 網(wǎng)絡(luò)層結(jié)構(gòu)如圖3所示。LSTM 單元的輸入xt代表捕捉了特定區(qū)域視覺(jué)信息的空間特征矢量,這個(gè)量由視覺(jué)注意層計(jì)算得到,將在1.3節(jié)中詳細(xì)介紹。連續(xù)的T幀圖片經(jīng)過(guò)CNN 層和視覺(jué)注意層,輸出T個(gè)在不同時(shí)間關(guān)注在不同圖片區(qū)域的空間特征矢量xt。在時(shí)刻t,將空間特征矢量xt,上一個(gè)LSTM 單元的輸出ht-1和上一時(shí)刻的細(xì)胞狀態(tài)ct-1輸入LSTM 單元,得到當(dāng)前時(shí)刻的輸出ht,再通過(guò)一個(gè)全連接(Fully Connected,F(xiàn)C)層得到當(dāng)前方向盤轉(zhuǎn)向角的預(yù)測(cè)值。T為歷史數(shù)據(jù)長(zhǎng)度,本文中T=10,為經(jīng)驗(yàn)值。
在圖像特征提取過(guò)程中,由于CNN 提取特征時(shí)無(wú)差別對(duì)待每個(gè)像素,沒(méi)有考慮視覺(jué)冗余情況,造成提取的特征重點(diǎn)模糊,對(duì)于復(fù)雜的圖像則需要通過(guò)加大網(wǎng)絡(luò)深度來(lái)改善網(wǎng)絡(luò)性能[21]。與之相反,人類視覺(jué)系統(tǒng)在感知圖像信息時(shí),能快速定位重要的目標(biāo)區(qū)域并進(jìn)行細(xì)致的分析。在駕駛過(guò)程中,人類往往更關(guān)注車道線、道路邊緣、前方車輛和行人等障礙物、交通標(biāo)志、信號(hào)燈等,而給予天空、路邊建筑物等較少的關(guān)注,甚至是忽略。如果對(duì)CNN 提取的駕駛場(chǎng)景圖像特征的不同位置給予不同的權(quán)重,讓網(wǎng)絡(luò)更加關(guān)注車道線、障礙物等高重要度特征的區(qū)域,則可以更有效提取駕駛場(chǎng)景的圖像特征,減少視覺(jué)冗余,從而更準(zhǔn)確預(yù)測(cè)車輛的動(dòng)作指令。

圖3 LSTM層結(jié)構(gòu)Fig.3 Structure of LSTM layer
在自動(dòng)駕駛場(chǎng)景中,注意力機(jī)制主要用于判斷圖像不同位置的視覺(jué)重要性而不是內(nèi)部的隱藏關(guān)系,駕駛員也不能完全忽略圖像某一部分的信息只關(guān)注重點(diǎn)信息。由于軟注意力機(jī)制平滑可微,可以被嵌入模型中直接訓(xùn)練,通過(guò)梯度下降法反向傳播至模型其他部分,因此本文采用軟注意力機(jī)制設(shè)計(jì)深度視覺(jué)注意神經(jīng)網(wǎng)絡(luò)。本文的視覺(jué)注意層結(jié)構(gòu)如圖4 所示。為了能夠更好地描述局部目標(biāo),本文針對(duì)第三個(gè)卷積層輸出的特征,通過(guò)軟注意力機(jī)制實(shí)現(xiàn)LSTM 在預(yù)測(cè)轉(zhuǎn)向角的不同時(shí)刻關(guān)注不同的圖像區(qū)域,進(jìn)而更準(zhǔn)確地輸出轉(zhuǎn)向角。因此,視覺(jué)注意層的設(shè)計(jì)有兩個(gè)關(guān)鍵的量:一個(gè)是上一時(shí)刻LSTM 層產(chǎn)生的隱藏狀態(tài)ht-1,與時(shí)間相關(guān);另一個(gè)是區(qū)域向量,對(duì)應(yīng)圖像的一個(gè)區(qū)域。假設(shè)CNN 層網(wǎng)絡(luò)輸出區(qū)域向量為vt:

其中D為第三個(gè)卷積層生成的特征矢量的維度,每個(gè)向量都對(duì)應(yīng)圖像一個(gè)區(qū)域,表示該區(qū)域像素點(diǎn)對(duì)應(yīng)的D維特征矢量。依據(jù)上文CNN層的介紹,L=49,D=64。
基于軟注意力機(jī)制的理論,在時(shí)刻t,為輸入序列的每個(gè)區(qū)域計(jì)算出一個(gè)權(quán)重,其中第i個(gè)區(qū)域的權(quán)重為:

其中fFC表示一個(gè)節(jié)點(diǎn)數(shù)為64 的全連接層函數(shù),Wv和Wh表示視覺(jué)注意層網(wǎng)絡(luò)中待優(yōu)化的權(quán)值。采用Softmax 函數(shù)使輸入序列的各個(gè)區(qū)域的權(quán)重歸一化,如式(9)所示:



圖4 視覺(jué)注意層結(jié)構(gòu)Fig.4 Structure of visual attention layer
由于本文的預(yù)測(cè)輸出值只有轉(zhuǎn)向角這一個(gè)連續(xù)的參數(shù),故模型的輸出節(jié)點(diǎn)數(shù)設(shè)定為1。在訓(xùn)練過(guò)程中為了解決梯度消失和梯度爆炸的問(wèn)題,將方向盤轉(zhuǎn)角值進(jìn)行線性變換到40~60(經(jīng)驗(yàn)值)。50代表直行,60和40分別代表向右和向左打滿方向盤。本文中為了清晰直觀地顯示實(shí)驗(yàn)結(jié)果,對(duì)測(cè)試結(jié)果進(jìn)行歸一化:0 代表直行,1 和-1 分別代表向右和向左打滿方向盤。為了訓(xùn)練神經(jīng)網(wǎng)絡(luò)擬合連續(xù)值訓(xùn)練樣本,本文采用L2范數(shù)作為損失函數(shù),如式(11)所示:

其中:pg和p分別表示轉(zhuǎn)向角的真實(shí)值和預(yù)測(cè)值;w為網(wǎng)絡(luò)中的參數(shù)集合。為了求解損失函數(shù)的最小值,本文使用Adam優(yōu)化算法[22]。因此,本文設(shè)計(jì)的目標(biāo)函數(shù)更新方法如式(12):

其中:w*為優(yōu)化的目標(biāo)網(wǎng)絡(luò)權(quán)值;n為訓(xùn)練批次大小,本文取值為24。迭代總次數(shù)設(shè)置為5 000,學(xué)習(xí)率為0.000 1。網(wǎng)絡(luò)的訓(xùn)練停止條件為訓(xùn)練的輸出誤差收斂到9.0。
本文實(shí)驗(yàn)使用Python 語(yǔ)言編寫程序,深度學(xué)習(xí)框架采用TensorFlow;硬件CPU 為Intel Core i7-7700K(四核4.2 GHz)、GPU為NVIDA GTX 1080Ti、內(nèi)存為32 GB。
由于自動(dòng)駕駛訓(xùn)練風(fēng)險(xiǎn)高,以及需要在多種道路上測(cè)試,考慮到安全性問(wèn)題,本文使用模擬駕駛場(chǎng)景數(shù)據(jù)集。歐洲卡車模擬器具有逼真的畫面和豐富的駕駛場(chǎng)景,因此本文使用的數(shù)據(jù)集是從該模擬器中采集到的約8 h的駕駛數(shù)據(jù),幀率為30 幀/s,圖像的像素尺寸為1 853×1 012。數(shù)據(jù)集共有約40 萬(wàn)幅包含多種駕駛場(chǎng)景的圖像,包含了鄉(xiāng)村路、高速路、隧道和山路四種駕駛場(chǎng)景,除了采集前向攝像機(jī)的視頻幀以外,還采集同步的方向盤轉(zhuǎn)向角作為車輛的動(dòng)作指令。測(cè)試時(shí),額外針對(duì)每種場(chǎng)景的道路采集一段視頻,且測(cè)試場(chǎng)景路段未包含在訓(xùn)練集中,四種路段測(cè)試集中包含的幀數(shù)分別為5 697、6 606、4 909和2 439。
本文旨在構(gòu)建端到端的自動(dòng)駕駛模型,利用監(jiān)督學(xué)習(xí)的方法讓模型從人類駕駛的數(shù)據(jù)集進(jìn)行學(xué)習(xí)。從圖像中預(yù)測(cè)駕駛指令本質(zhì)上是一個(gè)回歸問(wèn)題,因此預(yù)測(cè)數(shù)據(jù)跟真實(shí)數(shù)據(jù)的偏差是衡量預(yù)測(cè)模型好壞的重要標(biāo)準(zhǔn)。本文參照文獻(xiàn)[4,6-7]等,采用均方根誤差(Root Mean Square Error,RMSE)作為模型準(zhǔn)確性評(píng)價(jià)指標(biāo),計(jì)算方法如式(13)所示:

其中:RMSE表示均方根誤差,pg(t)和p(t)分別為時(shí)刻t方向盤轉(zhuǎn)向角的真實(shí)值和預(yù)測(cè)值,N為測(cè)試數(shù)據(jù)幀數(shù)。轉(zhuǎn)向角為歸一化后的結(jié)果。此外,本文利用注意力機(jī)制在提高駕駛指令預(yù)測(cè)的同時(shí),減小網(wǎng)絡(luò)體量,因此將網(wǎng)絡(luò)的深度和模型收斂所需的訓(xùn)練時(shí)間和迭代次數(shù)作為網(wǎng)絡(luò)體量的衡量標(biāo)準(zhǔn)。
為體現(xiàn)本文方法的有效性,將NVIDIA 公司提出的自動(dòng)駕駛模型[4],以及文獻(xiàn)[5]中提出的VGG(Visual Geometry Group)和LSTM 構(gòu)成的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)(Deep Cascaded Neutral Network,DCNN)進(jìn)行對(duì)比。圖5、表1~3分別為測(cè)試實(shí)驗(yàn)結(jié)果圖、均方根誤差對(duì)比結(jié)果、網(wǎng)絡(luò)深度對(duì)比結(jié)果、訓(xùn)練時(shí)間和迭代次數(shù)對(duì)比結(jié)果。根據(jù)實(shí)驗(yàn)結(jié)果,可得出如下結(jié)論:
1)本文提出的基于DVANN 的端到端自動(dòng)駕駛方法能在不同場(chǎng)景都準(zhǔn)確預(yù)測(cè)駕駛的方向盤轉(zhuǎn)向角。本文方法采用CNN 和LSTM 的結(jié)構(gòu)能夠提取不同駕駛場(chǎng)景序列圖像的空間和時(shí)間特征,并且視覺(jué)注意力機(jī)制能夠針對(duì)不同場(chǎng)景自適應(yīng)地提取對(duì)駕駛有幫助的特征,故能夠在不同場(chǎng)景對(duì)轉(zhuǎn)向角做出準(zhǔn)確預(yù)測(cè)。從圖5 可以看出,與其他兩種方法相比,本文的預(yù)測(cè)曲線與真實(shí)曲線最為接近。從表1 可知在四個(gè)場(chǎng)景中本文方法的均方誤差均低于文獻(xiàn)[4]的NVIDIA 的方法和文獻(xiàn)[5]的DCNN 方法,特別是對(duì)于圖像特征最不明顯的隧道場(chǎng)景(如圖5(c)所示),本文方法在準(zhǔn)確性方面與其他兩種方法相比具有明顯的優(yōu)勢(shì)。

表1 均方根誤差對(duì)比結(jié)果Tab.1 Comparison results of RMSE
2)本文方法能夠在提取自動(dòng)駕駛圖像特征的時(shí)候關(guān)注對(duì)駕駛更有用的信息。視覺(jué)注意力機(jī)制根據(jù)區(qū)域特征和上一時(shí)刻LSTM 的隱藏狀態(tài)給各個(gè)圖像區(qū)域賦予不同權(quán)重,對(duì)需要關(guān)注的部分給予較高的權(quán)重,對(duì)不需要關(guān)注的部分給予較低的權(quán)重。從圖5 的視覺(jué)注意力分布中可以觀察出,本文方法能夠提取自動(dòng)駕駛圖像中車道線、車輛、轉(zhuǎn)彎、指示牌等重要信息。比如鄉(xiāng)村路由于車道線是重要關(guān)注點(diǎn),山路需要重點(diǎn)關(guān)注轉(zhuǎn)彎處,如圖5(a)的ta2時(shí)刻、圖5(d)的td1時(shí)刻視覺(jué)注意力分布圖所示,車道線和轉(zhuǎn)彎處被賦予較高權(quán)重。
3)本文方法能夠有效減少端到端自動(dòng)駕駛中深度神經(jīng)網(wǎng)絡(luò)的層數(shù),提高模型收斂速度。由于視覺(jué)注意力機(jī)制重點(diǎn)關(guān)注特征向量中一個(gè)較小的位置區(qū)域,即使較淺層的卷積神經(jīng)網(wǎng)絡(luò)也能夠提取有效的視覺(jué)特征,因此在設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)時(shí),減少了卷積層的數(shù)量和模型的權(quán)重參數(shù),加快了模型收斂。表2為各模型的網(wǎng)絡(luò)深度,表3為訓(xùn)練時(shí)間和迭代次數(shù)。雖然DVANN 增加了視覺(jué)注意層,但是本文所采用的模型的網(wǎng)絡(luò)總層數(shù)相較于文獻(xiàn)[4]和文獻(xiàn)[5]明顯減少,模型收斂迭代次數(shù)也大幅度降低,僅為文獻(xiàn)[5]的2.5%。輕量級(jí)的模型不僅降低了對(duì)硬件條件的要求,而且有效地縮短了訓(xùn)練時(shí)間,節(jié)省計(jì)算資源和成本。

表2 網(wǎng)絡(luò)深度對(duì)比結(jié)果Tab.2 Comparison results of network depth

表3 訓(xùn)練時(shí)間和迭代次數(shù)對(duì)比結(jié)果Tab.3 Comparison results of training time and iteration number

圖5 測(cè)試實(shí)驗(yàn)結(jié)果圖與代表性場(chǎng)景的視覺(jué)注意分布圖Fig.5 Testing result diagrams and visual attention distribution maps of representative scenes
本文提出了一種深度視覺(jué)注意神經(jīng)網(wǎng)絡(luò),并基于該網(wǎng)絡(luò),利用前向車載相機(jī)的序列圖像作為輸入,實(shí)現(xiàn)對(duì)自動(dòng)駕駛車輛方向盤轉(zhuǎn)向角的預(yù)測(cè)。在設(shè)計(jì)深度視覺(jué)注意網(wǎng)絡(luò)時(shí),以軟注意力機(jī)制為原型,將CNN 提取的圖像特征輸入設(shè)計(jì)的視覺(jué)注意層,提取對(duì)自動(dòng)駕駛重要的特征,并將經(jīng)過(guò)視覺(jué)注意層加權(quán)后的特征輸入LSTM 提取時(shí)間關(guān)聯(lián)性。注意力機(jī)制的引入,不僅能夠讓模型更關(guān)注和駕駛相關(guān)的特征,提高駕駛指令預(yù)測(cè)的準(zhǔn)確度,并且能夠有效降低CNN 的層數(shù),減少網(wǎng)絡(luò)的冗余,提高模型訓(xùn)練速度,節(jié)省計(jì)算資源。實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)大量數(shù)據(jù)的訓(xùn)練,該網(wǎng)絡(luò)在對(duì)轉(zhuǎn)向角預(yù)測(cè)的準(zhǔn)確性、網(wǎng)絡(luò)總層數(shù)、訓(xùn)練時(shí)間和收斂迭代次數(shù)方面相比其他模型有明顯的優(yōu)勢(shì)。然而,由于本文方法沒(méi)有考慮復(fù)雜的交通規(guī)則和全局路徑規(guī)劃,因此無(wú)法應(yīng)用于城市道路。而且由于數(shù)據(jù)集中缺乏偶然事件樣本,本文模型對(duì)偶然事件的處理能力不強(qiáng)。未來(lái)的工作將集中在如何將交通規(guī)則和全局路徑規(guī)劃融入模型,讓模型能夠適用于更復(fù)雜的道路以及如何提高駕駛的安全性。