国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度學(xué)習(xí)在自動駕駛領(lǐng)域應(yīng)用綜述

2021-12-31 08:23:22段續(xù)庭周宇康田大新鄭坤賢周建山孫亞夫
無人系統(tǒng)技術(shù) 2021年6期
關(guān)鍵詞:決策神經(jīng)網(wǎng)絡(luò)自動

段續(xù)庭,周宇康,田大新,鄭坤賢,周建山,孫亞夫

(1.北京航空航天大學(xué)交通科學(xué)與工程學(xué)院車路協(xié)同與安全控制北京市重點(diǎn)實(shí)驗(yàn)室,北京 102206; 2.綜合交通大數(shù)據(jù)應(yīng)用技術(shù)國家工程實(shí)驗(yàn)室,北京 100191;3.北京千方科技股份有限公司,北京 100085)

1 引 言

近年來,自動駕駛技術(shù)從概念設(shè)計階段向?qū)嶋H應(yīng)用階段快速邁進(jìn)。也有越來越多的企業(yè)和研究人員進(jìn)入自動駕駛賽道,投身到自動駕駛領(lǐng)域的研究中來。

自動駕駛已有數(shù)十年的歷史,但自動駕駛行業(yè)最初并未受到廣泛關(guān)注。20 世紀(jì)80年代,無人車Naclab-1 完成了無人駕駛行駛試驗(yàn),該型號無人車由美國卡耐基梅隆大學(xué)在雪佛蘭廂式貨車的基礎(chǔ)上研制。這之后許多為無人車開放道路實(shí)驗(yàn)的法律法規(guī)相繼出臺。后續(xù)數(shù)年中對自動駕駛的研究逐漸流行開來,2009年,自動駕駛汽車的雛形圖片被曝光,自動駕駛開始受到廣泛關(guān)注。鑒于計算機(jī)工作的高穩(wěn)定性與合邏輯性,可以預(yù)見自動駕駛技術(shù)一旦能夠付諸應(yīng)用,將極大減少目前因駕駛員因素造成的交通事故量,與之配套的車輛與基礎(chǔ)設(shè)施互聯(lián)技術(shù)也將通過車云交互極大減輕交通擁堵。為此,各個工業(yè)強(qiáng)國紛紛出臺政策,為自動駕駛的發(fā)展提供便利。我國于2015年發(fā)布《中國制造2025》[1],強(qiáng)調(diào)智能制造、高端制造對產(chǎn)業(yè)升級的意義。2019年,我國發(fā)布《汽車產(chǎn)業(yè)中長期發(fā)展規(guī)劃》[2],明確提出我國產(chǎn)業(yè)轉(zhuǎn)型升級的一個重要方向是智能網(wǎng)聯(lián)汽車。在人工智能方面,美國于2016年發(fā)布《國家人工智能研究與發(fā)展戰(zhàn)略規(guī)劃》,表明美國將持續(xù)對人工智能領(lǐng)域投資。2017年,國務(wù)院發(fā)布《新一代人工智能發(fā)展規(guī)劃》[3],提出我國人工智能發(fā)展的戰(zhàn)略目標(biāo)與總體部署。2018年,科技部啟動“新一代人工智能”重大項目申報[4],進(jìn)一步推動了人工智能產(chǎn)學(xué)研結(jié)合、與傳統(tǒng)行業(yè)融合的趨勢。

自動駕駛技術(shù)包括環(huán)境感知、行為決策與控制執(zhí)行3 個主要模塊。感知系統(tǒng)對多種類型傳感器所感知的數(shù)據(jù)進(jìn)行處理,通過多種定位設(shè)備與高精度地圖實(shí)現(xiàn)精準(zhǔn)定位,并利用高精度地圖獲取路徑與交通信號燈等固定信息,最終綜合種種信息實(shí)現(xiàn)對當(dāng)下行駛場景的場景理解。決策系統(tǒng)負(fù)責(zé)路線規(guī)劃和行車動作決策,根據(jù)感知模塊所傳輸?shù)膱鼍靶畔⒆龀鲆?guī)則允許下實(shí)現(xiàn)乘客收益最大化的決策,除了車輛自身的軟硬件系統(tǒng)外,以上功能的實(shí)現(xiàn)往往還需要車聯(lián)網(wǎng)技術(shù)的支持??刂葡到y(tǒng)多與汽車底盤相關(guān),負(fù)責(zé)執(zhí)行決策模塊做出的運(yùn)動指令,控制車輛加減速、轉(zhuǎn)向或剎車等。

自動駕駛技術(shù)的推廣面臨著許多問題,如感知系統(tǒng)中,為數(shù)眾多的傳感器會產(chǎn)生大量不同類型的數(shù)據(jù)交由主控電腦識別整理,去蕪存菁;決策系統(tǒng)中,汽車在行進(jìn)過程中的每個多樣化情境都需要做出合理決策,既要高效快速,又要保證安全,對于決策問題,現(xiàn)行的解決方案包括基于規(guī)則的方法(如有限狀態(tài)機(jī)法)和基于學(xué)習(xí)的方法(深度學(xué)習(xí)方法及決策樹等機(jī)器學(xué)習(xí)方法)。有限狀態(tài)機(jī)法的優(yōu)點(diǎn)是邏輯清晰、實(shí)用性強(qiáng),但在駕駛場景較復(fù)雜時,有限狀態(tài)機(jī)的狀態(tài)劃分將變得繁瑣,狀態(tài)轉(zhuǎn)移條件也將變得更加復(fù)雜。近年 來,隨著深度學(xué)習(xí)方法在決策支持、圖像處理等領(lǐng)域大放異彩,自動駕駛各模塊中也越來越多地應(yīng)用了深度學(xué)習(xí)算法。目前,已有一些工作對無人駕駛場景深度學(xué)習(xí)的應(yīng)用進(jìn)行總結(jié)與闡述,張新鈺等[5]對基于深度學(xué)習(xí)的自動駕駛領(lǐng)域目標(biāo)檢測與識別、任務(wù)輔助等技術(shù)的研究現(xiàn)狀進(jìn)行了介紹,王玉龍等[6]對自動駕駛決策系統(tǒng)的擬人化決策算法進(jìn)行了綜述,這也是深度學(xué)習(xí)在決策系統(tǒng)應(yīng)用的一個重要分支。Grigorescu 等[7]綜述了深度學(xué)習(xí)在自動駕駛中的應(yīng)用現(xiàn)狀,并重點(diǎn)論述了自動駕駛系統(tǒng)面臨的信息安全問題。此外,F(xiàn)ayyad等[8]針對自動駕駛感知與定位中的傳感器融合問題,介紹了當(dāng)前自動駕駛領(lǐng)域使用深度學(xué)習(xí)融合算法進(jìn)行感知和定位的研究現(xiàn)狀。Ni 等[9]介紹了自動駕駛汽車的發(fā)展歷程,并綜述了深度學(xué)習(xí)方法在自動駕駛所面臨的幾項主要問題中的應(yīng)用,如障礙物檢測、場景理解、車道檢測與路徑規(guī)劃等。Gwak 等[10]對自動駕駛軟件模塊中包含的車道跟蹤、圖像識別、激光雷達(dá)檢測等算法進(jìn)行了綜述,并重點(diǎn)介紹了其中的深度學(xué)習(xí)方法。然而現(xiàn)有的文獻(xiàn)綜述或只針對自動駕駛的單個功能模塊進(jìn)行介紹,而不涉及其他模塊或全局性能的討論,或僅基于問題進(jìn)行綜述,論述深度學(xué)習(xí)算法在自動駕駛所面臨的幾項典型問題中的應(yīng)用,既不夠全面也不夠系統(tǒng)(并且往往不包含決策問題)。本文從自動駕駛的技術(shù)路徑出發(fā),以自動駕駛的感知、決策、控制3 大模塊及端到端式解決方案作為章節(jié)劃分的依據(jù),在每一模塊下介紹自動駕駛汽車所需要解決的問題及深度學(xué)習(xí)算法在其中的應(yīng)用,并進(jìn)一步探討了兩類自動駕駛?cè)纸鉀Q方案——端到端式和分解式解決方案的優(yōu)劣。

2 深度學(xué)習(xí)算法

深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域中的一項子內(nèi)容。依靠深層結(jié)構(gòu)和強(qiáng)大的特征學(xué)習(xí)機(jī)制,深度學(xué)習(xí)系列算法不僅在計算機(jī)科學(xué)方面表現(xiàn)出色,還極大地促進(jìn)了其他科學(xué)領(lǐng)域的研究[11]。在自動駕駛領(lǐng)域,深度學(xué)習(xí)廣泛用于解決感知、決策、控制算法中面臨的難題,以提高自動駕駛系統(tǒng)的智能化水平。

機(jī)器學(xué)習(xí)作為實(shí)現(xiàn)人工智能的一種方式,其對人類神經(jīng)網(wǎng)絡(luò)的深入研究和模擬催生了人工神經(jīng)網(wǎng)絡(luò)。人工神經(jīng)網(wǎng)絡(luò)能夠進(jìn)行簡單的特征學(xué)習(xí),學(xué)到給定任務(wù)數(shù)據(jù)集上的特征,尋找到任務(wù)數(shù)據(jù)的內(nèi)在結(jié)構(gòu),輸出解決方案。然而,傳統(tǒng)淺層神經(jīng)網(wǎng)絡(luò)由于參數(shù)和超參數(shù)較少,對復(fù)雜任務(wù)的學(xué)習(xí)能力有限,難以滿足任務(wù)需求。后來研究人員發(fā)現(xiàn),增加網(wǎng)絡(luò)深度可以提升神經(jīng)網(wǎng)絡(luò)對復(fù)雜數(shù)據(jù)的表征能力,提高準(zhǔn)確性,但是因?yàn)橐走^擬合,訓(xùn)練速度慢,且層次較少(<4)時并不比其他方法更優(yōu)等原因而不受重視。2006年,Hinton 等[12]在實(shí)踐中采用逐層調(diào)整和微調(diào)的方法成功訓(xùn)練了深度學(xué)習(xí)網(wǎng)絡(luò),證明深度學(xué)習(xí)模型是可以訓(xùn)練的。此外,其他研究人員也提出ReLU 和dropout 等方案來解決其過擬合的問題,提升了模型的泛化能力,深度學(xué)習(xí)的學(xué)習(xí)機(jī)制得以進(jìn)一步完善。

深度學(xué)習(xí)通過多層的前饋或者循環(huán)網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)多層網(wǎng)絡(luò)中大量的參數(shù)學(xué)習(xí),最終實(shí)現(xiàn)對所需要的輸入–輸出間復(fù)雜映射的逼近[13]。此外,深度學(xué)習(xí)能夠有效地從低級原始數(shù)據(jù)中學(xué)得低級特征,存儲在網(wǎng)絡(luò)前部的結(jié)構(gòu)中,并通過不同的后部結(jié)構(gòu)完成特征提取、分類、結(jié)果輸出等任務(wù)。深度學(xué)習(xí)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)之間的區(qū)別在于其深層性與層間連接的多樣性。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)層數(shù)一般在3 層左右,層間一般采用全連接方式,而深層神經(jīng)網(wǎng)絡(luò)可達(dá)上千層。連接方式包括全連接、延時連接與隨機(jī)連接等。含1 個隱藏層的深度學(xué)習(xí)模型如圖1 所示。

圖1 含1 個隱藏層的深度學(xué)習(xí)模型Fig.1 A deep learning model with one hidden layer

深度學(xué)習(xí)常用的方法包括卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)和深度置信網(wǎng)絡(luò)(Deep Belief Nets,DBN)等。其中,卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用最為廣泛。

2.1 卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一個分支,也是應(yīng)用最廣泛的一類人工神經(jīng)網(wǎng)絡(luò)。它通常由一層輸入層,多于一層的隱藏層(包含卷積層與池化層)以及一層全連接層和一層輸出層組成,基本結(jié)構(gòu)如圖2 所示[9]。

圖2 CNN 的基本結(jié)構(gòu)[9]Fig.2 Basic structure of CNN[9]

卷積層是CNN 的核心組成部分。卷積核與輸入圖像的局部區(qū)域卷積。即[9]

式中,運(yùn)算符*為二維離散卷積運(yùn)算;w為濾波器矩陣,b為偏置參數(shù);x為輸入要素圖,y為要素圖的輸出。卷積核通常被初始化為3×3 或5×5 的小矩陣。在網(wǎng)絡(luò)的訓(xùn)練過程中,卷積核將通過學(xué)習(xí)不斷更新,并最終獲得合理的權(quán)重。激活函數(shù)運(yùn)行時激活神經(jīng)網(wǎng)絡(luò)中某一部分神經(jīng)元,激活函數(shù)在神經(jīng)網(wǎng)絡(luò)中加入了非線性因素,使得神經(jīng)網(wǎng)絡(luò)能夠在解決非線性問題時獲得滿意的輸出。

主要的激活函數(shù)有以下幾種[9]:

卷積神經(jīng)網(wǎng)絡(luò)采用權(quán)值共享機(jī)制,大大降低了網(wǎng)絡(luò)參數(shù)數(shù)量和計算量,同時采取網(wǎng)絡(luò)局部連接機(jī)制限制隱藏層節(jié)點(diǎn)數(shù)。這在輸入與要求輸出間為復(fù)雜映射關(guān)系時尤其有效,極大地提高了計算效率。卷積神經(jīng)網(wǎng)絡(luò)廣泛應(yīng)用于圖像處理等領(lǐng)域。

2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

有關(guān)循環(huán)神經(jīng)網(wǎng)絡(luò)的研究起源于20 世紀(jì)80年代,并在21 世紀(jì)初發(fā)展為深度學(xué)習(xí)的典型算法之一。典型的循環(huán)神經(jīng)網(wǎng)絡(luò)包括雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional RNN,Bi-RNN)和長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory Networks,LSTM)。RNN 的基本結(jié)構(gòu)如圖3 所示。圖中X、S、O都是向量,分別表示輸入層、隱藏層和輸出層的值;U是輸入層到隱藏層的權(quán)重矩陣,V是隱藏層到輸出層的權(quán)重矩陣。循環(huán)神經(jīng)網(wǎng)絡(luò)的隱藏層的值St不僅僅取決于當(dāng)前輸入X,還取決于上一次輸入時隱藏層的值St-1。權(quán)重矩陣W就是上一次隱藏層的值作為此次輸入時的權(quán)重。

圖3 RNN 的基本結(jié)構(gòu)[14]Fig.3 Basic structure of RNN

RNN 的一般公式表示如下:

CNN 的狀態(tài)僅依賴于當(dāng)前輸入,與前后輸入無關(guān),而RNN 的狀態(tài)還與網(wǎng)絡(luò)上一時刻的狀態(tài)有關(guān),因而可以處理前后輸入相關(guān)的問題,RNN被廣泛應(yīng)用于自然語言處理領(lǐng)域,例如語音識別、語言建模、機(jī)器翻譯等問題中。

2.3 生成對抗網(wǎng)絡(luò)

Goodfellow 等[15]在2014年提出了生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)的概念,GAN 使用無監(jiān)督學(xué)習(xí)方式,同時訓(xùn)練生成模型和判別模型。生成模型的目的是產(chǎn)生盡可能消除生成樣本與真實(shí)樣本的差別,判別模型的目的是將生成樣本與真實(shí)樣本區(qū)分開,生成網(wǎng)絡(luò)一般包含逆卷積層,而判別網(wǎng)絡(luò)一般是CNN。GAN就是通過兩個模塊的不斷博弈產(chǎn)生需要的結(jié)果。GAN 的基本結(jié)構(gòu)如圖4 所示。

圖4 GAN 的基本結(jié)構(gòu)[15]Fig.4 Basic structure of GAN

2.4 深度強(qiáng)化學(xué)習(xí)

強(qiáng)化學(xué)習(xí)的特點(diǎn)是在“試錯”中學(xué)習(xí),即在與外部環(huán)境的互動中根據(jù)當(dāng)前行動獲得的獎勵不斷調(diào)整行動策略。強(qiáng)化學(xué)習(xí)不需要對訓(xùn)練集進(jìn)行標(biāo)注,側(cè)重在線學(xué)習(xí),因此多用于解決無法嚴(yán)格標(biāo)注“對錯”的問題,如自動駕駛汽車的決策問題。機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)、監(jiān)督學(xué)習(xí)與深度學(xué)習(xí)之間的關(guān)系如圖5 所示。

圖5 各種機(jī)器學(xué)習(xí)方式與深度學(xué)習(xí)的關(guān)系[16]Fig.5 Relationships among deep learning and several machine learning methods

強(qiáng)化學(xué)習(xí)框架如圖6 所示,標(biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)智能體框架由3 個模塊組成:輸入模塊I、強(qiáng)化模塊R和策略模塊P,輸入模塊讀取外部輸入,強(qiáng)化模塊確定智能體所要達(dá)到的目標(biāo),一般是使其獲得的最終獎勵最大,策略模塊根據(jù)當(dāng)前狀態(tài)與強(qiáng)化目標(biāo)選擇智能體所要采取的動作。

圖6 強(qiáng)化學(xué)習(xí)框架Fig.6 Framework of reinforcement learning

強(qiáng)化學(xué)習(xí)的策略(Policy,P)是智能體在給定狀態(tài)S下,對所要做出的動作的選擇,定義為

生成模型是用于產(chǎn)生指定分布數(shù)據(jù)的模型,生成模型將對網(wǎng)絡(luò)輸入數(shù)據(jù)的特征通過極大似然估計轉(zhuǎn)化為指定的生成樣本。

目前,GAN 主要應(yīng)用于圖像生成領(lǐng)域,如創(chuàng)建超分辨率圖像、語義分割、文本到圖像轉(zhuǎn)換和人臉合成、圖像修復(fù)等。 π。獎勵是每次智能體與環(huán)境進(jìn)行交互后環(huán)境給予的反饋,智能體的目標(biāo)是使整個行動過程中的累計獎勵最大。價值函數(shù)指一個狀態(tài)在給定的策略π 下長期期望獎勵的高低。環(huán)境是對真實(shí)世界的模擬。

強(qiáng)化學(xué)習(xí)具有解決決策問題的能力, 但學(xué)習(xí)復(fù)雜特征的能力較弱;而深度學(xué)習(xí)模型廣泛應(yīng)用于感知領(lǐng)域,能夠?qū)W習(xí)復(fù)雜的抽象特征,但缺乏解決決策問題的能力。因此,結(jié)合兩者優(yōu)勢的深度強(qiáng)化學(xué)習(xí)為復(fù)雜系統(tǒng)的決策問題提供了解決辦法[17]。深度強(qiáng)化學(xué)習(xí)引入神經(jīng)網(wǎng)絡(luò)來解決強(qiáng)化學(xué)習(xí)的容量限制的問題,如將卷積神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)結(jié)合,典型例子是深度 Q 網(wǎng)絡(luò)(Deep Q Network,DQN)利用深度神經(jīng)網(wǎng)絡(luò)來映射動作和狀態(tài)的關(guān)系;或?qū)⒀h(huán)神經(jīng)網(wǎng)絡(luò)與強(qiáng)化學(xué)習(xí)相結(jié)合,典型例子是深度遞歸Q 網(wǎng)絡(luò)(Deep Recurrent Q Network,DRQN)。DQN 使用CNN 作為函數(shù)近似器,權(quán)重θ作為Q 網(wǎng)絡(luò),如下所示:

2.5 深度學(xué)習(xí)與自動駕駛技術(shù)

深度學(xué)習(xí)具有傳統(tǒng)算法所不具有的種種優(yōu)勢,近年來被廣泛應(yīng)用于自動駕駛技術(shù)中。深度學(xué)習(xí)應(yīng)用的核心目標(biāo)就是讓智能車輛能夠像人一樣從已有的道路交通資料及規(guī)章中學(xué)習(xí)駕駛技術(shù),最終達(dá)到能夠獨(dú)立安全處理車輛行駛過程中所面臨的各類問題的層次。自動駕駛按技術(shù)流程可被分為分解式和端到端式兩種解決方案,分解式解決方案包括感知、決策、控制3 個主要模塊,是一個3 個功能模塊互相聯(lián)系、分工協(xié)作的綜合系統(tǒng)。感知模塊接收車載傳感器和V2X 通信獲得的環(huán)境信息并對其進(jìn)行處理,包括圖像、點(diǎn)云識別與高精度定位等,最終實(shí)現(xiàn)對車輛行駛環(huán)境的場景理解。決策模塊接收感知模塊傳來的環(huán)境信息,結(jié)合乘客乘車需求(如時間最短等),規(guī)劃車輛行駛路徑,并進(jìn)行行駛過程中的行為決策。控制模塊則接收決策模塊傳來的控制指令,實(shí)現(xiàn)對車輛的運(yùn)動控制。而端到端式方案則多使用深度學(xué)習(xí)技術(shù)由所輸入的傳感器數(shù)據(jù)直接輸出控制指令。兩種解決方案的一般技術(shù)路徑如圖7 所示。自動駕駛分解式方案的架構(gòu)及特點(diǎn)如圖 8所示。

圖7 兩種自動駕駛解決方案Fig.7 Two plans of autonomous driving

圖8 自動駕駛分解式架構(gòu)Fig.8 Decomposed architecture for autonomous driving

在控制執(zhí)行方面,深度學(xué)習(xí)技術(shù)用于學(xué)習(xí)控制系統(tǒng),以控制對象和環(huán)境交互的特性,改善控制性能;在規(guī)劃決策方面,深度學(xué)習(xí)技術(shù)被用于解讀感知模塊信息,并進(jìn)一步利用感知信息解決無人汽車的路徑規(guī)劃與行為決策問題,主要解決汽車如何走的問題;在環(huán)境感知方面,深度學(xué)習(xí)算法廣泛應(yīng)用于車載傳感器目標(biāo)檢測與識別,旨在從多種車載傳感器數(shù)據(jù)中(一般為視覺傳感器與激光雷達(dá))準(zhǔn)確檢測識別出各類環(huán)境信息,如車道線、分隔柵欄、交通信號等。為系統(tǒng)決策和控制提供依據(jù),是整個自動駕駛系統(tǒng)的基礎(chǔ),主要解決環(huán)境(外部條件)是如何的問題。

自動駕駛分解式方案感知、決策、控制的分工架構(gòu)使其可解釋性更強(qiáng)、駕駛規(guī)則更嚴(yán)謹(jǐn),但同時也極大地增加了系統(tǒng)的復(fù)雜度和計算量,從而大大提高了系統(tǒng)的開發(fā)難度與對車載硬件的要求(包括算力、體積、功耗等)。對于其決策模塊而言,由于自動駕駛車輛需要能夠適應(yīng)和處理各類復(fù)雜極端環(huán)境,因此其行駛規(guī)則庫構(gòu)建難度很大,目前仍存在許多難以用規(guī)則描述的環(huán)境,使得系統(tǒng)不能實(shí)現(xiàn)對駕駛場景的覆蓋與處理。端到端自動駕駛方案通過直接進(jìn)行傳感器數(shù)據(jù)到控制指令的映射來實(shí)現(xiàn)車輛的自動駕駛,不需要感知、決策等中間模塊,避開了感知算法融合、駕駛規(guī)則庫構(gòu)建等難題,極大地降低了系統(tǒng)復(fù)雜度,具有開發(fā)難度小、硬件要求低的優(yōu)點(diǎn)。但中間模塊的去除使得這種方案的可靠性、靈活性很差,幾乎不具有解釋分析性,安全性難以保證。

3 深度學(xué)習(xí)在自動駕駛中的應(yīng)用

3.1 自動駕駛環(huán)境感知中的深度學(xué)習(xí)

環(huán)境感知位于自動駕駛系統(tǒng)和復(fù)雜的外界環(huán)境之間,是自動駕駛系統(tǒng)進(jìn)行決策的核心和前提,其主要功能是為自動駕駛系統(tǒng)提供可靠的外部環(huán)境判斷,判斷自身所處位置和周邊駕駛態(tài)勢。自動駕駛環(huán)境感知包括障礙物檢測、交通信號燈識別與車道線檢測等,其基礎(chǔ)技術(shù)主要是目標(biāo)檢測和語義分割等。目前,自動駕駛系統(tǒng)所使用的傳感器主要包括攝像頭、毫米波雷達(dá)、超聲波雷達(dá)、激光雷達(dá)等[18]。

3.1.1 主要的傳感硬件

常見的攝像頭分為單目[19]和雙目[20]兩類。單目攝像機(jī)結(jié)構(gòu)簡單,相機(jī)標(biāo)定也簡單,但單張照片難于確定物體的真實(shí)大小,只有在移動的情況下,才能推測深度信息。雙目攝像機(jī)利用兩架攝像機(jī)定位。對于物體上某個點(diǎn),只需知道兩個相機(jī)的準(zhǔn)確位置,就可以知道該特征點(diǎn)在統(tǒng)一的同一個坐標(biāo)系中的坐標(biāo)值,即特征點(diǎn)的位置。視覺傳感器安裝簡單,獲取信息量巨大,算法多樣,但易受光照和氣象條件的影響。

激光雷達(dá)多用于三維目標(biāo)檢測,相比攝像機(jī)所獲得的二維圖像,它還能獲得所處環(huán)境的深度信息。同時,它具有極高的分辨率和距離探測精度,最高可達(dá)厘米級[21],因此幾乎所有自動駕駛傳感器系統(tǒng)都包括激光雷達(dá)。激光雷達(dá)使用激光束進(jìn)行探測,是激光技術(shù)與現(xiàn)代光電技術(shù)結(jié)合的高精度探測設(shè)備。毫米波雷達(dá)是指波長在毫米級別的雷達(dá),主要工作頻段在24 GHz、77 GHz、60 GHz[22]。24 GHz 用于短距防撞預(yù)警和盲點(diǎn)檢測,77 GHz 具有更好的距離分辨力,能夠提高道路上的測距精度。毫米波雷達(dá)不受天氣影響,它的探測距離較遠(yuǎn),性能穩(wěn)定,距離分辨率較高且成本低[23],其缺點(diǎn)在于行人感知能力較弱,對建筑物無法建模,角度分辨率比較差。深度學(xué)習(xí)方法較多用于從2D 圖像(由攝像頭獲得)和3D 點(diǎn)云(由激光雷達(dá)等獲得)中檢測和識別對象。

在自動駕駛中,三維感知主要基于激光雷達(dá)傳感器,激光雷達(dá)數(shù)據(jù)以三維點(diǎn)云的形式供自動駕駛感知系統(tǒng)處理。三維目標(biāo)探測精度由傳感器的分辨率決定,目前先進(jìn)的激光雷達(dá)已經(jīng)能夠提供2~3 cm 的精度[24]。激光雷達(dá)和視覺傳感器各有優(yōu)缺點(diǎn),雷達(dá)即使在黑暗中也具有高分辨率和精確感知能力,但易受惡劣天氣條件(如大雨)的影響,并且涉及移動部件。相比之下,相機(jī)成本更低,但感知效果受光照影響較大。此外,照相機(jī)對惡劣天氣也很敏感。

除了以上傳感器外,自動駕駛汽車還使用了其他雷達(dá)和超聲波傳感器以進(jìn)一步增強(qiáng)感知能力。例如,除了5 個激光雷達(dá)傳感器外,Waymo還使用了4 個毫米波雷達(dá)和8 個攝像頭,而Tesla汽車配備了8 個攝像頭、12 個超聲波傳感器和1個毫米波雷達(dá)[7]。Mobileye 公司的自動駕駛汽車上一共有12 個攝像頭(前方3 個,角落2 個,朝前2 個,朝后2 個,朝側(cè)3 個,用作停車),目前各類自動駕駛汽車的傳感器使用情況如表1 所示[10]。

表1 各類自動駕駛車輛的傳感器使用情況Table 1 Sensors of various autonomous vehicles

3.1.2 傳感器目標(biāo)檢測

自動駕駛汽車能夠檢測的物體包括各類交通參與者、車道線、交通信號燈,障礙物等。傳統(tǒng)的目標(biāo)檢測算法包括HOG、SVM 等,其流程為:(1)感興趣區(qū)域提??;(2)區(qū)域內(nèi)目標(biāo)特征提??;(3)分類器設(shè)計(AdaBoost/SVM 等)[25]。傳統(tǒng)方法的區(qū)域提取復(fù)雜度高,窗口冗余,且其目標(biāo)特征需要手動構(gòu)造,不能覆蓋自動駕駛可能面臨的全部場景。相比之下,深度學(xué)習(xí)算法不需要手動構(gòu)造特征,簡化了識別過程,在識別精度和速度上都有很大提升。

二維圖像檢測包含單級式和雙級式兩大類方法。單級式:直接輸入圖片,回歸出含有特定目標(biāo)的概率和目標(biāo)的具體位置(4 個坐標(biāo)),主要算法包括YOLO 算法和SSD 算法,直接用一個端到端的網(wǎng)絡(luò)得出結(jié)果;雙級式:雙級式是基于區(qū)域的算法,先提取出可能包含物體的區(qū)域,再進(jìn)行BoundBox 的回歸,回歸出物體在圖像中的具體位置,包括 R-CNN、Fast R-CNN、Faster R-CNN、Mask-RCNN、RFCN 等目標(biāo)檢測算法,圖9 為使用YOLOv3 進(jìn)行目標(biāo)檢測的示例。單級檢測方法的準(zhǔn)確率不如雙級算法,但速度更快。

圖9 YOLO 目標(biāo)檢測示例Fig.9 An example of YOLO target detection

Redmon 等[26]提出的YOLO 算法,速度快,但精度較低,直接進(jìn)行端到端回歸,回歸出來的結(jié)果是4 個坐標(biāo)以及各種物體和背景的概率。YOLO 系列算法包括YOLOv1[27]、YOLOv2[26]、YOLOv3[28]、YOLOv4[29]、YOLOv5 等。Liu 等[30]提出的SSD算法,使用多尺度的特征圖檢測結(jié)果可以檢測大 物體與小物體,同時對于每個中心點(diǎn)設(shè)置不同尺度和長寬比的Prior boxes,得到概率值和錨點(diǎn)(Anchor Offset)。SSD 系列算法包括R-SSD[31]、DSSD[32]、ASSD[33]、FSSD[34]、RetinaNet[35]等。張婷婷等[36]與黃健[37]、羅元[38]等比較了幾種主要單級目標(biāo)檢測算法的性能,結(jié)果如表2 所示,VOC2007、2010、2012 與MS COCO 是用于目標(biāo)檢測的4 種不同數(shù)據(jù)集,目標(biāo)檢測精確度的度量標(biāo)準(zhǔn)為平均準(zhǔn)確度(Mean Average Precision,MAP)。

表2 單級式算法性能對比Table 2 Performance comparison of single-stage algorithms

Grishick 等[40]提出了R-CNN 算法。算法分為三步:第一步為確定候選區(qū)域,之后運(yùn)用選擇性搜索算法,不斷合并最相似的區(qū)域,最后選出符合條件的感興趣區(qū)域;第二步將每個候選區(qū)域的尺寸改變?yōu)楣潭ù笮?,送入CNN 模型中提取特征向量;第三步利用多類別SVM 分類器進(jìn)行目標(biāo)分類。Grishick[41]提出Fast R-CNN,對R-CNN進(jìn)行改進(jìn),提出了空間金字塔池化網(wǎng)絡(luò),通過共享計算加速R-CNN,消除了許多重復(fù)計算。Ren等[42]提出了Faster R-CNN,對以上算法進(jìn)行了進(jìn)一步改進(jìn),用RPN 進(jìn)行區(qū)域候選,用滑動窗口生成參考框的坐標(biāo)值和存在檢測客體的概率,并將這個值傳給后續(xù)回歸部分。Faster R-CNN 實(shí)現(xiàn)了端到端,能夠?qū)⑺羞\(yùn)算都用CNN 實(shí)現(xiàn)。He 等[43]提出了 Mask-RCNN,改進(jìn)了感興趣區(qū)域池化過程,將池化過程中的取整操作取消,改為通過雙線性插值填補(bǔ)非整數(shù)位置,解決了池化過程中可能出現(xiàn)小數(shù)導(dǎo)致誤差的問題,因?yàn)椴逯蹈倪M(jìn)了檢測過程的像素精度,Mask-RCNN 也可用于圖像分割。Dai 等[44]提出了R-FCN,目標(biāo)檢測面臨著平移不變性與敏感性間的矛盾,因此需要將位置信息加入感興趣區(qū)域池化,并引入位置敏感得分圖的概念,得到類別與位置信息。不同雙級式算法在VOC2007、2012 及COCO 測試集上的性能對比如表3 所示。

表3 雙級式算法性能對比Table 3 Performance comparison of two-stage algorithms

3.1.3 圖像語義分割

圖像語義分割是對圖像中的每個像素點(diǎn)進(jìn)行分類,為它確定一個標(biāo)簽,從而對整幅圖像中不同類別的對象進(jìn)行分類。圖像語義分割技術(shù)已經(jīng)廣泛應(yīng)用于自動駕駛可行駛區(qū)域檢測、車輛及障礙物檢測等任務(wù)中。深度學(xué)習(xí)在語義分割中取得了巨大成功,圖10 為應(yīng)用深度學(xué)習(xí)技術(shù)進(jìn)行車輛可行駛區(qū)域語義分割的結(jié)果示例。目前,應(yīng)用于圖像語義分割領(lǐng)域的深度學(xué)習(xí)方法主要是全監(jiān)督學(xué)習(xí)與弱監(jiān)督學(xué)習(xí)[48],常用的語義分割模型包括以下幾種:語義分割FCN、反卷積網(wǎng)絡(luò)(Deconvolution Network, DeconvNet)、DeepLab、Refine Net、ResNet 和PSPNet 等。

圖10 街道可行駛區(qū)域圖像語義分割結(jié)果Fig.10 Semantic segmentation results of street drivable area

FCN 將CNN 最后的全連接層換成了卷積層,這是兩者的主要區(qū)別。輸入FCN 的圖像可以是任意尺寸的,它將生成與之具有相同尺寸的分割圖像,目前使用的深度學(xué)習(xí)語義分割模型基本都由FCN 發(fā)展而來。2015年,Long 等[49]首次提出了端到端訓(xùn)練的FCN,并將其用于圖像分割。FCN是使用深度學(xué)習(xí)進(jìn)行語義分割的先驅(qū),但它有種種缺陷,包括不考慮上下文信息、實(shí)時性差以及不完全適用于非結(jié)構(gòu)化數(shù)據(jù)等。

2015年,在FCN 的基礎(chǔ)上,Vijay 等[50]發(fā)表Segnet 模型,它采用編碼器-解碼器對稱結(jié)構(gòu),所完成的語義分割任務(wù)能夠達(dá)到像素級別。相比于FCN,Segnet 的體量更小,采樣過程中特征圖及空間信息的損失也更小。DeepLab-v1 是Google團(tuán)隊研發(fā)的一種圖像分割網(wǎng)絡(luò),是目前語義分割性能最好的模型之一。DeepLab 仍然采用了FCN的全卷積化結(jié)構(gòu),但它通過“Hole”算法引入空洞卷積[51],能夠擴(kuò)大感受野,保持分辨率,同時不增加模型的參數(shù)。DeepLab 還在后處理中引入全連接條件隨機(jī)場,對FCN 圖像細(xì)節(jié)較差的缺陷進(jìn)行了改進(jìn)。但引入空洞卷積的后果是計算量極大增加,需要大量內(nèi)存。之后,Google 團(tuán)隊對DeepLab 進(jìn)行了更新,在DeepLab-v2 中提出空洞空間卷積池化金字塔[52],以此提取多尺度特征。DeepLab-v3 對所提出的空洞金字塔進(jìn)行了進(jìn)一步改進(jìn)[53]。針對DeepLab 空洞卷積計算代價大,并且需要大量的內(nèi)存的問題,DeepLab 的做法是只預(yù)測原始輸入的1/8。2016年,Lin[54]提出了一種高精度語義分割網(wǎng)絡(luò)RefineNet,該網(wǎng)絡(luò)將以往丟棄的低層細(xì)節(jié)特征融入到分隔任務(wù)中,輔助高層粗糙特征實(shí)現(xiàn)高精度的分類。RefineNet 在PASCAL VOC 2012 數(shù)據(jù)集上獲得了截至其發(fā)表時各語義分割模型的最好成績。表4 顯示了幾種圖像語義分割方法準(zhǔn)確率對比。

表4 幾種圖像語義分割方法準(zhǔn)確率對比Table 4 Comparison of the accuracy of several image semantic segmentation methods

3.1.4 高精度定位

定位算法的目的是獲得車輛的實(shí)時位置及姿態(tài)。目前,主流的定位方式是GPS/IMU 融合,這類算法精度可以達(dá)到米級。自動駕駛要求厘米級定位精度,目前使用GPS/IMU/LiDAR/HD Map融合的定位方案已經(jīng)能夠在無遮擋區(qū)域達(dá)到此要求。汽車在自動駕駛過程中大多通過實(shí)時與高精度地圖比對來獲得高精度定位[59]。但在存在高樓或隧道遮擋的情況下,以上系統(tǒng)的定位精度遠(yuǎn)遠(yuǎn)不能滿足自動駕駛要求。深度學(xué)習(xí)在定位系統(tǒng)中主要應(yīng)用于視覺定位(Visual Odometry,VO)與激光雷達(dá)定位,兩者的原理都是通過相鄰兩幀的圖像或者雷達(dá)數(shù)據(jù)估計本車的運(yùn)動軌跡,從而估算當(dāng)下狀態(tài)相對于初始狀態(tài)的位置。

(1)視覺里程計

根據(jù)所用相機(jī)的類型,視覺里程計可分為基于單目、立體或RGB-D 圖像的VO 系統(tǒng),按照所用方法,可分為特征點(diǎn)法及直接法VO 系統(tǒng)[60]。特征法從圖像中提取一些特征進(jìn)行跟蹤和匹配計算,計算量小、計算速度快、魯棒性與穩(wěn)定性強(qiáng),其一般流程如圖11 所示。直接法不使用特征點(diǎn),直接利用像素梯度計算相機(jī)位姿,直接法的計算量很大,目前主流的VO 系統(tǒng)大多使用特征點(diǎn)法。

圖11 特征點(diǎn)法視覺里程計的一般流程Fig.11 Process of visual odometer using feature point method

視覺定位通過匹配相鄰兩幀圖像間的特征點(diǎn)來估計相機(jī)的運(yùn)動,同時重建當(dāng)前環(huán)境。研究人

員已經(jīng)證明,相比傳統(tǒng)的車輪里程與航位推算技術(shù),VO 的定位精度更高,成本也更低[61]?;谏疃葘W(xué)習(xí)的視覺里程計無須傳統(tǒng)方法的特征提取和復(fù)雜計算,有效降低了定位運(yùn)算量[62]。Konda等[63]最先將深度學(xué)習(xí)與VO 系統(tǒng)結(jié)合起來,使用CNN 學(xué)習(xí)從視頻到運(yùn)動情況的映射。Liu 等[64]提出了一種基于深度學(xué)習(xí)的單目視覺里程計,以無監(jiān)督的端到端方式訓(xùn)練,僅采用單眼圖像作為輸入,并直接以絕對比例生成姿態(tài),RCNN-VO與 SMFLearning 的輸入分辨率為 416×128,VISO2-MONO 與VISO2-Stereo 輸入的圖像分辨率為1242×376。在KITTI 數(shù)據(jù)集上的實(shí)驗(yàn)表示,該系統(tǒng)在平移和旋轉(zhuǎn)精度方面優(yōu)于其他單眼VO系統(tǒng),由于SMFLearning 依賴于地面真實(shí)姿態(tài)進(jìn)行比例恢復(fù),測試中對其結(jié)果進(jìn)行了后處理,以進(jìn)行比較,表5 中顯示了該算法與傳統(tǒng)算法的性能對比情況。Wang 等[65]使用深度學(xué)習(xí)技術(shù)讀取原始RGB 圖像(視頻)序列并輸出相應(yīng)姿態(tài),該系統(tǒng)所使用的網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN),這種網(wǎng)絡(luò)的架構(gòu)是端到端的,它不依賴于傳統(tǒng)VO 算法中的任何模塊(甚至是相機(jī)校準(zhǔn))。

表5 基于RCNN 的VO 算法與傳統(tǒng)VO 算法定位精度比較[64] Table 5 Comparison of positioning accuracy between VO algorithm based on RCNN and traditional VO algorithm

深度學(xué)習(xí)視覺定位能夠有效降低定位計算量,并且可以通過端到端的方式極大簡化視覺定位的中間過程,如參數(shù)標(biāo)定、頻率匹配等。但它也有一些明顯的缺點(diǎn),如模型可解釋性差,解的精度較低,不具備泛化性等。Wang 等[65]提出的利用RCNN 的端到端VO 系統(tǒng)在精度上已經(jīng)可以和傳統(tǒng)VO 方法相比,但文章也指出,基于深度學(xué)習(xí)的VO 目前只能作為傳統(tǒng)VO 的補(bǔ)充。

(2)激光里程計

激光里程計采集激光雷達(dá)掃描周圍環(huán)境產(chǎn)生的三維點(diǎn)云作為數(shù)據(jù)輸入進(jìn)行車輛的位置識別。Jo 等[66]提出了使用Lidar 和相機(jī)結(jié)合的定位方法,并將其成功應(yīng)用于移動機(jī)器人定位。

目前,深度學(xué)習(xí)LIDAR 定位已經(jīng)具有能夠滿足應(yīng)用要求的定位精度及計算速度,但也具有可解釋性差、依賴樣本質(zhì)量、數(shù)量等缺點(diǎn)。此外,激光雷達(dá)在雨雪等極端天氣下掃描效果很差,且LIDAR 定位具有漂移誤差,因此大多都用于配合先驗(yàn)性地圖及其他傳感器共同定位。

3.2 自動駕駛決策規(guī)劃中的深度學(xué)習(xí)

3.2.1 路徑/軌跡規(guī)劃

路徑規(guī)劃是自動駕駛汽車根據(jù)地圖及傳感數(shù)據(jù),在起點(diǎn)和終點(diǎn)之間生成行駛路線的能力。簡單地說,就是給定環(huán)境、汽車模型指定規(guī)劃目標(biāo)(如無碰撞等),自動搜索出車輛運(yùn)動路徑。路徑規(guī)劃分全局規(guī)劃和局部規(guī)劃,全局路徑規(guī)劃基于先驗(yàn)地圖與環(huán)境信息,屬于靜態(tài)規(guī)劃(離線規(guī)劃),局部路徑規(guī)劃基于實(shí)時傳感器信息,屬于動態(tài)規(guī)劃(在線規(guī)劃)[67]。目前,深度學(xué)習(xí)技術(shù)主要用于局部路徑規(guī)劃。常用的路徑搜索算法包含Dijkstra、Floyd-Warshall、人工勢場法、蟻群算法等。常用的路徑規(guī)劃算法流程如圖12 所示。

圖12 路徑規(guī)劃算法流程[68]Fig.12 Process of path planning algorithm

深度學(xué)習(xí)路徑規(guī)劃的一個方向是基于傳感器、目標(biāo)和地圖的端到端路徑規(guī)劃。這部分算法大多采用深度強(qiáng)化學(xué)習(xí)方式,因?yàn)閺?qiáng)化學(xué)習(xí)可以從與環(huán)境的交互“試錯”中學(xué)習(xí),這種學(xué)習(xí)方式最接近人類思考過程,能夠較好地解決無法簡單標(biāo)注對錯的問題。該類算法的特點(diǎn)是只需制定規(guī)劃目標(biāo),之后通過實(shí)際環(huán)境試驗(yàn)或仿真訓(xùn)練更新模型即可[67]。Grigorescu 等[69]基于神經(jīng)網(wǎng)絡(luò)提出了NeuroTrajectory,該方法能夠從占用柵格和相應(yīng)的駕駛命令中學(xué)習(xí)車輛局部狀態(tài)軌跡。針對車輛所處的實(shí)際城市路網(wǎng)環(huán)境,肖浩等[70]基于深度 Q 學(xué)習(xí)和深度預(yù)測網(wǎng)絡(luò)技術(shù)進(jìn)行自動駕駛車輛的最短時間全局路徑規(guī)劃,與 Dijstra 算法、A*等靜態(tài)算法相比,該算法行車時間最高減少17.97%。

深度學(xué)習(xí)路徑規(guī)劃的另一個方向是將深度學(xué)習(xí)技術(shù)與傳統(tǒng)路徑規(guī)劃方法相結(jié)合,以提升傳統(tǒng)算法性能。CL-RRT 算法可以考慮到復(fù)雜交通情況下車輛運(yùn)動的多種約束,因此搜索出的最佳路徑具有較高的安全性,但它的計算量大、計算時間過長。Chaulwar 等[71]使用3D-CNN 預(yù)測關(guān)鍵交通場景中的適合加速曲線,從而減少了 CL-RRT的計算時間。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)CL-RRT 方法相比,該方法將路徑規(guī)劃平均時間由5.05 s 降為0.62 s,而基本沒有損害安全性(無碰撞路徑率由100%降為99.63%)。深度學(xué)習(xí)于路徑規(guī)劃應(yīng)用研究案例如表6 所示。

表6 深度學(xué)習(xí)路徑規(guī)劃應(yīng)用研究案例Table 6 Examples of deep learning methods in path-planning problems

自動駕駛車輛存在路徑與軌跡的區(qū)分,可以認(rèn)為軌跡是同時考慮空間和時間因素的路徑。當(dāng)路徑規(guī)劃過程要滿足車輛運(yùn)動的縱向和橫向動力學(xué)約束時,就成為軌跡規(guī)劃。自動駕駛車輛縱向速度規(guī)劃與時間密切相關(guān),而車輛橫向動力學(xué)對縱向速度的影響較大。軌跡規(guī)劃的輸入包括拓?fù)涞貓D、障礙物及障礙物的預(yù)測軌跡、交通信號燈的狀態(tài),以及車輛定位、導(dǎo)航、車輛狀態(tài)等信息。輸出則是一個軌跡,即一個時間到位置的函數(shù)。傳統(tǒng)車輛軌跡規(guī)劃的方法主要有:基于狀態(tài)空間的軌跡規(guī)劃方法、基于參數(shù)化曲線的軌跡規(guī)劃方法、針對系統(tǒng)特征的規(guī)劃方法和基于滾動窗口的軌跡規(guī)劃等[73]。

深度學(xué)習(xí)技術(shù)的快速發(fā)展為軌跡規(guī)劃提供了更多可能,基于深度學(xué)習(xí)的軌跡規(guī)劃算法大多屬于端到端類方法,根據(jù)所輸入的信息直接產(chǎn)生車輛運(yùn)動軌跡。上述算法的一個分支是利用深度神經(jīng)網(wǎng)絡(luò)。Pfeiffer 等[74]使用一個端到端的卷積神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)從2D 激光測距結(jié)果與目標(biāo)位置到轉(zhuǎn)向命令的映射。仿真結(jié)果顯示,該運(yùn)動計劃器的內(nèi)容略優(yōu)于完全了解地圖的專家計劃器。Lin 等[75]使用深度學(xué)習(xí)模型從人類駕駛員泊車軌跡中學(xué)習(xí)車輛動力學(xué)指標(biāo)與所處地圖環(huán)境同車輛控制動作間的關(guān)系,意在使該模型用于人類駕駛員駕車的高級駕駛輔助系統(tǒng)。

利用深度學(xué)習(xí)進(jìn)行軌跡規(guī)劃的另一分支是深度強(qiáng)化學(xué)習(xí)。Yu 等[76]提出了一種基于深度強(qiáng)化學(xué)習(xí)的路徑規(guī)劃方法,該方法訓(xùn)練的路徑規(guī)劃模型可以根據(jù)傳感器數(shù)據(jù)及舊動作直接輸出控制動作和軌跡序列。Du 等[77]使用深度強(qiáng)化學(xué)習(xí)進(jìn)行智能車輛自動泊車軌跡規(guī)劃,仿真結(jié)果顯示泊車成功率超越90%,泊車時長根據(jù)所用計算平臺不同在11~97 s 間波動。

目前,深度學(xué)習(xí)在路徑規(guī)劃與軌跡規(guī)劃領(lǐng)域應(yīng)用較少,因?yàn)槭褂蒙窠?jīng)網(wǎng)絡(luò)規(guī)劃路徑/軌跡的整體效果并不理想,原因在于規(guī)劃環(huán)境復(fù)雜多變,而神經(jīng)網(wǎng)絡(luò)的泛化能力差,可解釋性不足。但相比傳統(tǒng)算法,神經(jīng)網(wǎng)絡(luò)算法的學(xué)習(xí)能力與魯棒性更強(qiáng)。深度學(xué)習(xí)算法通過學(xué)習(xí)大量駕駛數(shù)據(jù)集,在測評中顯示出較低的誤差率,但由于數(shù)據(jù)集中極端情況數(shù)據(jù)缺乏(如越野駕駛、車輛碰撞等),使得模型在面對未知數(shù)據(jù)時的響應(yīng)不確定。

3.2.2 行為決策

這里的自動駕駛的決策模塊是指狹義的決策系統(tǒng),其根據(jù)車輛感知系統(tǒng)所獲得的環(huán)境與車輛狀態(tài)信息,發(fā)出合理的行駛指令(加/減速和轉(zhuǎn)向等),并將指令傳遞給控制執(zhí)行模塊。目前,自動駕駛決策系統(tǒng)主要分為兩類,分別是基于規(guī)則的決策系統(tǒng)和基于機(jī)器學(xué)習(xí)的決策系統(tǒng)?;谝?guī)則的決策系統(tǒng)需要建立龐大的駕駛規(guī)則庫,對本車可能面臨的駕駛場景選擇對策。該方法的缺點(diǎn)在于不能應(yīng)對陌生場景,只適用于幾種簡單情況。研究人員提出了許多基于深度學(xué)習(xí)的決策模塊。Loiacono 等[78]提出了一種使用深度Q 網(wǎng)絡(luò)(Deep Q Network, DQN)的自動駕駛汽車超車策略,DQN的算法流程如圖13 所示。作者考慮直線/大轉(zhuǎn)彎或急轉(zhuǎn)彎兩種情況下車輛的超車決策問題,并在TORCS 中進(jìn)行了仿真實(shí)驗(yàn),表明該算法能夠進(jìn)行合理超車決策。Sun 等[79]針對自適應(yīng)巡航狀況下的重型商用車輛,提出了一種用于確定不同曲率道路中車輛巡航目標(biāo)的深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法。通過合理設(shè)計強(qiáng)化學(xué)習(xí)參數(shù),大大縮短了Agent 的訓(xùn)練時間,并解決了傳統(tǒng)基于規(guī)則算法在復(fù)雜陌生環(huán)境中無法解決的問題。Zheng 等[80]根據(jù)仿真數(shù)據(jù),建立了基于強(qiáng)化學(xué)習(xí)的自動駕駛決策系統(tǒng),將車輛決策過程建模為馬爾科夫決策過程(Markov Decision Process, MDP),并使用強(qiáng)化學(xué)習(xí)改進(jìn)MDP 的性能。高速環(huán)路環(huán)境下的仿真測試表明了該方法的有效性,表7 中總結(jié)了近年來部分應(yīng)用深度學(xué)習(xí)技術(shù)進(jìn)行自動駕駛車輛決策的研究。其中,文獻(xiàn)[81]為數(shù)值仿真方式測試,未說明具體仿真平臺。

圖13 DQN 算法流程[82]Fig.13 Process of DQN algorithm

表7 部分深度學(xué)習(xí)決策研究Table 7 Examples of deep learning methods in decision-making problems

以上都是針對特定場景的決策研究,但自動駕駛的應(yīng)用要求決策系統(tǒng)能夠解決汽車行駛過程中所面臨的幾乎所有問題,目前有些使用深度學(xué)習(xí)技術(shù)構(gòu)建的決策系統(tǒng)已經(jīng)被應(yīng)用于無人駕駛車輛。Mobileye 公司[86]使用基于深度強(qiáng)化學(xué)習(xí)的駕駛決策系統(tǒng),并將其置入“感知—決策—控制”的傳統(tǒng)自動駕駛架構(gòu)中,實(shí)現(xiàn)了3 個主要模塊的協(xié)同性。Waymo 的自動駕駛決策系統(tǒng)使用深度學(xué)習(xí)技術(shù)來進(jìn)行場景理解,并且能夠預(yù)測行人或車輛下一步的動作,并判斷該動作對自身車輛行駛的影響,最終做出合理的決策。

基于深度學(xué)習(xí)的自動駕駛決策系統(tǒng)目前已經(jīng)能解決一些駕駛場景下的決策問題,并表現(xiàn)出了卓越的數(shù)據(jù)學(xué)習(xí)能力。但深度學(xué)習(xí)決策模型的性能受樣本情況及算法結(jié)構(gòu)影響較大,如果樣本數(shù)量不足、質(zhì)量較低,會導(dǎo)致決策模型對場景了解不足,不能做出有效決策。如果算法過于復(fù)雜,會導(dǎo)致決策時間過長,訓(xùn)練復(fù)雜,不能滿足對決策時間的限制。對深度學(xué)習(xí)決策模型,一方面要保證樣本質(zhì)量和數(shù)量,一方面要采取合適的算法結(jié)果,合理確定神經(jīng)網(wǎng)絡(luò)層數(shù)。

3.3 自動駕駛控制執(zhí)行中的深度學(xué)習(xí)

根據(jù)接受到的傳感器數(shù)據(jù),實(shí)現(xiàn)無人車輛的自主運(yùn)動控制是自動駕駛最基本的任務(wù)之一。深度學(xué)習(xí)在此模塊中的應(yīng)用有兩種方向,其中之一是利用深度學(xué)習(xí)進(jìn)行控制器構(gòu)建,即根據(jù)已有駕駛和環(huán)境數(shù)據(jù)來訓(xùn)練模型,使模型參數(shù)更精確,魯棒性和適應(yīng)性更強(qiáng);另一個是基于深度學(xué)習(xí)的端到端控制系統(tǒng),利用深度學(xué)習(xí)進(jìn)行控制器構(gòu)建,直接從傳感器輸入數(shù)據(jù)中學(xué)習(xí),輸出車輛方向盤轉(zhuǎn)角等控制量。在自動駕駛的業(yè)界領(lǐng)域,除具備車輛底盤部件研發(fā)能力的傳統(tǒng)車企外,大部分研發(fā)企業(yè)都只做到規(guī)劃決策水平,而將執(zhí)行控制的部分交給供應(yīng)商。

傳統(tǒng)汽車使用底盤控制器(Central Power Control,CPC)來根據(jù)駕駛?cè)说膭幼鲌?zhí)行相應(yīng)的轉(zhuǎn)向與速度指令。傳統(tǒng)控制器通過規(guī)定控制器模型參數(shù)的方式實(shí)現(xiàn)汽車運(yùn)動精確控制。但標(biāo)準(zhǔn)控制器往往只針對一般場景和近似汽車模型實(shí)現(xiàn)參數(shù)擬合,當(dāng)面對惡劣環(huán)境(如泥濘、雨雪、多石路段等)或汽車運(yùn)動模塊受損(如輪胎損壞、剎車不靈等)時,傳統(tǒng)模型無法適應(yīng)以上變化,而從已有數(shù)據(jù)中學(xué)習(xí)可以解決這類問題。

深度學(xué)習(xí)控制器的一個研究方向是從已有控制器的輸入輸出數(shù)據(jù)中學(xué)習(xí),從而構(gòu)建適應(yīng)性更強(qiáng)的控制器模型。Ostafew 等[87]提出了一種基于學(xué)習(xí)的非線性預(yù)測控制(Nonlinear Model Predictive Control,NMPC)算法。該算法適用于戶外越野機(jī)器人,利用實(shí)際經(jīng)驗(yàn)來減少路徑跟蹤錯誤,而不是預(yù)先編程目標(biāo)地形下的輪–地作用,形成地形拓?fù)浠驒C(jī)器人動力學(xué)的精確分析模型。

深度學(xué)習(xí)還與模型預(yù)測控制(Model Predictive Control, MPC)相結(jié)合,模型預(yù)測控制是一種通過求解優(yōu)化問題來計算控制行為的控制策略。深度學(xué)習(xí)與其結(jié)合從數(shù)據(jù)中學(xué)習(xí)不同駕駛風(fēng)格,并依據(jù)不同風(fēng)格輸出轉(zhuǎn)向和速度命令[88]。Chen等[89]提出了一種輸入凸的神經(jīng)網(wǎng)絡(luò)(Input Convex Recurrent Neural Network,ICRNN)用于系統(tǒng)建模,并將系統(tǒng)模型嵌入到MPC 框架中,求解其最優(yōu)控制值。這一類控制策略為了獲得車輛運(yùn)動中的最優(yōu)約束,使用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)MPC中的車輛非線性動力學(xué)以更好地預(yù)測控制指令對車輛運(yùn)動的影響。

深度學(xué)習(xí)控制器的主要優(yōu)勢在于其能夠?qū)⑸疃葘W(xué)習(xí)技術(shù)與傳統(tǒng)控制理論結(jié)合起來。這樣不僅能發(fā)揮傳統(tǒng)控制理論的優(yōu)點(diǎn),還能利用已有成果進(jìn)行控制器設(shè)計和穩(wěn)定性分析。但目前將深度學(xué)習(xí)用于控制領(lǐng)域的研究和應(yīng)用都較少,原因在于神經(jīng)網(wǎng)絡(luò)控制模型需要面臨兩個問題,一是神經(jīng)網(wǎng)絡(luò)的可解釋性問題,控制模塊作為汽車最底層的執(zhí)行模塊,需要滿足對汽車安全性和可解釋性的要求;二是模型的泛化能力問題,所訓(xùn)練的模型需要能夠應(yīng)用于不同車輛、不同場景,以降低開發(fā)成本。此外,一般來說,深度神經(jīng)網(wǎng)絡(luò)的優(yōu)化求解過程中包含很多局部最優(yōu)點(diǎn),所以很容易陷入局部最優(yōu)解[89]。而很多控制問題的求解對穩(wěn)定性有極高的要求,如航空航天系統(tǒng)控制、車輛運(yùn)動控制等,這在一定程度上限制了深度學(xué)習(xí)在實(shí)際控制問題中的應(yīng)用。

3.4 端到端自動駕駛

基于傳統(tǒng)“感知—決策—控制”流程的自動駕駛系統(tǒng)的優(yōu)勢在于技術(shù)積累深厚,路線清晰可解釋性強(qiáng)。但也存在著許多問題,如硬件要求高,并且分解式系統(tǒng)往往十分龐大,系統(tǒng)復(fù)雜度極高。為了解決以上問題,研究人員開始將端到端深度學(xué)習(xí)用于自動駕駛。端到端自動駕駛系統(tǒng)直接從傳感數(shù)據(jù)映射到轉(zhuǎn)向命令[90],能夠大幅降低系統(tǒng)的各項成本。

1989年,卡耐基梅隆大學(xué)的Pomerleau 等[91]利用單隱藏層全連接網(wǎng)絡(luò),以手中的駕駛樣本對其訓(xùn)練得到了第1 個端到端駕駛系統(tǒng),這也是端到端自動駕駛系統(tǒng)的起源。因神經(jīng)網(wǎng)絡(luò)層數(shù)及樣本數(shù)量的限制,該系統(tǒng)所表現(xiàn)出的駕駛效果差強(qiáng)人意。但在之后的數(shù)十年中,端到端駕駛系統(tǒng)發(fā)展迅速,得益于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的突破,目前端到端自動駕駛系統(tǒng)所用的神經(jīng)網(wǎng)絡(luò)層數(shù)大大增加,Nvidia 的端到端自動駕駛系統(tǒng)所使用的深度學(xué)習(xí)網(wǎng)絡(luò)層數(shù)達(dá)到了9 層(歸一化層1 個,卷積層5 個,全連接層3 個)[92]。在大數(shù)據(jù)時代,所能用于訓(xùn)練的數(shù)據(jù)量也大大增加,Lecun 等[93]使用10 萬張圖像訓(xùn)練駕駛模型,并使其具有了避障能力,并通過訓(xùn)練使車輛獲得了避障能力。LSTM網(wǎng)絡(luò)具有時序記憶功能,一些研究將其和 CNN的數(shù)據(jù)處理能力結(jié)合,組成混合模型應(yīng)用于端到端駕駛系統(tǒng)。Eraqi 等[94]提出了一種復(fù)合神經(jīng)網(wǎng)絡(luò),用于估計方向盤的角度。該網(wǎng)絡(luò)包括一個CNN 和一個 LSTM 網(wǎng)絡(luò),使用相機(jī)作為輸入,CNN 用于逐幀處理相機(jī)圖像。CNN 提取駕駛場景的特征,然后將其傳遞到LSTM 層的堆棧中。這些功能的時間依賴性可以通過 LSTM 網(wǎng)絡(luò)了解。最后,轉(zhuǎn)向角預(yù)測由輸出層執(zhí)行。

強(qiáng)化學(xué)習(xí)具有強(qiáng)大的試錯學(xué)習(xí)能力,能夠從環(huán)境互動和錯誤中學(xué)習(xí)最優(yōu)策略。Sallab 等[95]提出了一個使用深度強(qiáng)化學(xué)習(xí)的自主駕駛框架。基于TORCS 的仿真測試表明,該系統(tǒng)在能夠較好地完成車輛在復(fù)雜道路中的轉(zhuǎn)彎決策。表8 總結(jié)了目前業(yè)界和學(xué)術(shù)界幾種端到端自動駕駛方法及其優(yōu)劣勢。

表8 幾種端到端自動駕駛方法及其優(yōu)劣勢Table 8 Several end-to-end autonomous driving plans and their advantages and disadvantages

目前深度學(xué)習(xí)端到端自動駕駛系統(tǒng)多處于理論及實(shí)驗(yàn)階段,Comma.ai 公司將端到端自動駕駛系統(tǒng)應(yīng)用于其無人車輛,該類型無人車已經(jīng)行駛約1.35×106km,累計行駛時間約22000 h[96],但其最終因?yàn)榘踩[患被美國交通部叫停。

英國自動駕駛企業(yè)Wayve 的端到端無人駕駛車輛實(shí)現(xiàn)了社區(qū)道路自主行駛,并發(fā)布了Demo視頻。此外,Nvidia 的端到端自動駕駛系統(tǒng)架構(gòu)如圖14 所示,但其車輛并未進(jìn)行路測。

圖14 NVIDIA 端到端自動駕駛學(xué)習(xí)框架Fig.14 NVIDIA end-to-end learning framework of autonomous driving

相比于傳統(tǒng)基于規(guī)則的系統(tǒng),端到端自動駕駛系統(tǒng)的復(fù)雜度和算力要求更低,所需傳感器成本也更低,但其缺點(diǎn)也有很多,包括:(1)不能利用車輛動力學(xué)模型[25],遷移性差,對于不同的車輛與傳感器,端到端系統(tǒng)需要進(jìn)行重新校準(zhǔn);(2)現(xiàn)實(shí)世界中對于同一駕駛場景,不同駕駛員 可能做出不同的反應(yīng),端到端的學(xué)習(xí)可能隨之也出現(xiàn)不穩(wěn)定現(xiàn)象,從而變成一個不適定問題;(3)以表8 中TORCS-DRL[95]為代表的強(qiáng)化學(xué)習(xí)式端到端自動駕駛系統(tǒng)面臨虛擬仿真環(huán)境到實(shí)際道路環(huán)境的遷移問題,以FCN-LSTM[94]為代表的監(jiān)督學(xué)習(xí)式端到端自動駕駛系統(tǒng)面臨數(shù)據(jù)需求量過大、對低占比樣本不能有效學(xué)習(xí)的問題;(4)目前端到端自動駕駛系統(tǒng)大多基于圖像數(shù)據(jù)進(jìn)行訓(xùn)練,但在惡劣天氣下視覺傳感器的可靠性將大打折扣,影響行駛安全。

4 基于深度學(xué)習(xí)的自動駕駛平臺

4.1 北京航空航天大學(xué)研發(fā)的自動駕駛平臺

目前,自動駕駛高效的研發(fā)流程是,先在計算機(jī)軟件上通過仿真測試技術(shù)升級算法,確保它在虛擬環(huán)境中可以運(yùn)行成功,再進(jìn)行硬件在環(huán)測試,接著在封閉場地測試,最后再進(jìn)行道路測試。北京航空航天大學(xué)車路協(xié)同北京市重點(diǎn)實(shí)驗(yàn)室立 足自動駕駛技術(shù)虛擬仿真測試及實(shí)車驗(yàn)證需求,研發(fā)聯(lián)合TORCS 與Torch7 的仿真測試平臺及基于ROS 的實(shí)車驗(yàn)證平臺。

4.1.1 自動駕駛端到端強(qiáng)化學(xué)習(xí)仿真訓(xùn)練開發(fā)平臺

如圖15(a)所示,仿真平臺底層基于TORCS游戲引擎生成虛擬道路場景,基于Torch7 機(jī)器學(xué)習(xí)庫構(gòu)建基于深度學(xué)習(xí)框架的端到端自動駕駛模型,TORCS 與Torch7 之間通過ubuntu 的共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)互傳,游戲引擎將生成的視覺圖像信息傳給Torch7 中的端到端自動駕駛模型以生成控制指令,之后再通過共享內(nèi)存回傳控制指令,控制虛擬場景中的自動駕駛車輛在道路上行駛。仿真平臺對所測試的端到端自動駕駛模型從5 個方面展開定量評價,包括最初性能、收斂步數(shù)、

圖15 自動駕駛端到端強(qiáng)化學(xué)習(xí)仿真平臺及模型Fig.15 Autonomous driving end-to-end reinforcement learning simulation platform and the model

最優(yōu)性能、最終性能和總體性能,如圖15(b)所示。各指標(biāo)的具體定義如下。

(1)最初性能:被訓(xùn)練模型在強(qiáng)化學(xué)習(xí)階段第一次獲得的平均獎勵;

(2)收斂步數(shù):被訓(xùn)練模型在強(qiáng)化學(xué)習(xí)階段某一訓(xùn)練步數(shù)后連續(xù)5×106 個訓(xùn)練步獲得的平均獎勵標(biāo)準(zhǔn)差不超過500 時,此訓(xùn)練步數(shù)為收斂步數(shù);

(3)最優(yōu)性能:被訓(xùn)練模型在強(qiáng)化學(xué)習(xí)階段獲得的最高平均獎勵;

(4)最終性能:被訓(xùn)練模型在強(qiáng)化學(xué)習(xí)階段的最終學(xué)習(xí)效果,為訓(xùn)練結(jié)束時獲得的平均獎勵;

(5)總體性能:模型訓(xùn)練過程中累計的總獎勵(即學(xué)習(xí)曲線下的面積(AUC))。我們使用梯形法則來逼近AUC:

式中,f(xs)是第s訓(xùn)練步數(shù)時的獎勵;Δxs=是估算步長。

4.1.2 自動駕駛軟件開發(fā)平臺

如圖16 所示,實(shí)車驗(yàn)證軟件平臺聯(lián)合ROS、Apollo、Autoware 與Torch7 搭建而成,其中ROS作為軟件平臺的底層框架主要支持各個模塊之間松耦合通信;基于百度Apollo 研發(fā)適配其他車型的CANBus 模塊,反饋無人車當(dāng)前的狀態(tài)(航向,角度,速度等信息),并且發(fā)送控制命令到無人車線控底盤;基于Autoware 深度研發(fā)高精度地圖與組合定位結(jié)合的自適應(yīng)定位算法,向上層基于Torch7 的端到端自動駕駛模型提供必要信息;基于Torch7 研發(fā)學(xué)習(xí)驅(qū)動的自動駕駛模型,在底層各個模塊提供的信息基礎(chǔ)上,深度神經(jīng)網(wǎng)絡(luò)得到最佳車輛駕駛動作并交由CANBus 模塊傳達(dá)線控底盤執(zhí)行。

圖16 自動駕駛軟件開發(fā)平臺Fig.16 Autonomous driving software development platform

在系統(tǒng)的內(nèi)部功能模塊之外,針對自動駕駛系統(tǒng)設(shè)計的人機(jī)交互問題,本文所提軟件平臺還開發(fā)了如圖17 所示的圖形操作界面。圖形操作界面意在以良好的可視化界面提供車輛實(shí)時動態(tài)、周圍環(huán)境動態(tài)、程序算法狀態(tài)等信息,從而更方便用戶操作與觀察當(dāng)前系統(tǒng)開發(fā)情況。

圖17 系統(tǒng)可視化界面Fig.17 Visualization interface of auto-driving software platform

4.1.3 百度Apollo 自動駕駛教學(xué)開發(fā)平臺

本文所提實(shí)車驗(yàn)證平臺將其軟件平臺部署于如圖18 所示的百度Apollo 開發(fā)者套件。在各類駕駛環(huán)境下(十字交叉口、丁字路口、雨雪天氣) 測試算法的性能,以驗(yàn)證所開發(fā)軟件系統(tǒng)的智能性與安全性。

圖18 百度Apollo 開發(fā)者套件Fig.18 Baidu autonomous driving develop kit (Apollo D-kit)

4.1.4 實(shí)車線控底盤教學(xué)開發(fā)平臺

百度Apollo 開發(fā)者套件能夠?qū)崿F(xiàn)對自動駕駛系統(tǒng)感知、規(guī)劃等模塊的效果檢驗(yàn)與即時調(diào)試,但是開發(fā)者套件的底盤同實(shí)車的線控底盤還有較大差別,要想讓自動駕駛系統(tǒng)真正落地,還需要在實(shí)車拆卸下的線控底盤(如圖19)中對CANBus模塊進(jìn)行測試,使其能夠適配乘用車的線控系統(tǒng)。

圖19 實(shí)車線控底盤Fig.19 Vehicle wire control chassis

4.2 Nvidia 自動駕駛平臺

2017年9月,Nvidia 發(fā)布其端到端自動駕駛平臺Nvidia DRIVE,產(chǎn)品涵蓋車載計算平臺、開源軟件堆棧。

4.2.1 車載計算平臺

2019年12月,Nvidia 發(fā)布了其全新自動駕駛芯片Drive AGX Orin,該類型芯片每秒可運(yùn)行200 萬億次計算,相較于上一代 Xavier 的性能,提升了7 倍。Orin 可處理在自動駕駛汽車和機(jī)器人中同時運(yùn)行的大量應(yīng)用和深度神經(jīng)網(wǎng)絡(luò),并且達(dá)到了ISO 26262 ASIL-D 等級系統(tǒng)安全標(biāo)準(zhǔn)。自此,Nvidia 形成了其包含NVIDIA DRIVE AGX XAVIER、NVIDIA DRIVE AGX PEGASUS 與NVIDIA DRIVE AGX ORIN 的NVIDIA DRIVE AGX 自動駕駛計算平臺系列。NVIDIA DRIVE AGX 系列嵌入式計算平臺能夠處理來自攝像頭、普通雷達(dá)和激光雷達(dá)傳感器的數(shù)據(jù),以感知周圍環(huán)境、在地圖上確定汽車的位置,以及規(guī)劃和執(zhí)行安全的行車路線。這款A(yù)I 平臺支持自動駕駛、駕駛室功能和駕駛員監(jiān)控,以及其他安全功能[97]。Nvdia 各型號計算平臺的性能對比如表9 所示。

表9 Nvidia DRIVE AGX 各型號計算平臺性能對比Table 9 Performance comparison of Nvidia DRIVE AGX computing platforms

4.2.2 開源軟件

Nvidia 自動駕駛開源軟件堆棧包括自動駕駛安全操作系統(tǒng)DRIVE OS、自動駕駛軟件開發(fā)套件DriveWorks SDK、自動駕駛感知、控制、規(guī)劃應(yīng)用層 DRIVE AV 與艙內(nèi)感知應(yīng)用平臺DRIVE IX。

DRIVE OS 操作系統(tǒng)包括處理傳感器數(shù)據(jù)的NvMedia、Nvidia CUDA 庫、NVIDIA TensorRT等,可滿足汽車最高安全等級ASIL-D。DRIVE OS為應(yīng)用程序提供了安全的執(zhí)行環(huán)境,例如安全啟動、安全服務(wù)、防火墻和無線更新。另外,它提供了帶有實(shí)時操作系統(tǒng)(Real Time Operating System,RTOS)和服務(wù)質(zhì)量管理程序的實(shí)時環(huán)境。

NVIDIA DRIVE 開源軟件堆棧的架構(gòu)如圖20所示。

圖20 Nvidia DRIVE 軟件堆棧的架構(gòu)[98]Fig.20 Architecture of Nvidia DRIVE software stack

4.3 百度Apollo 平臺

2017年4月,百度發(fā)布“Apollo”,為自動駕駛領(lǐng)域的研究人員和業(yè)界需求提供一個開放式軟件平臺[99]。同年7月,百度開放Apollo1.0。截至目前,Apollo 平臺已經(jīng)更新至5.5 版本,平臺架構(gòu)涵蓋云端、軟件與硬件,具體架構(gòu)如圖21 所示。

圖21 百度Apollo 平臺架構(gòu)[100]Fig.21 Structure of Baidu Apollo platform

4.3.1 開源軟件平臺

如圖21 所示,Apollo 的開源軟件平臺包括自動駕駛的感知、規(guī)劃與控制部分。感知模塊提供基于毫米波雷達(dá)/激光雷達(dá)點(diǎn)云數(shù)據(jù)對障礙物的檢測,基于相機(jī)的紅綠燈檢測識別,對車輛進(jìn)行多種傳感器融合的高精度定位和基于運(yùn)動的跟蹤。Apollo Cyber RT 是為Apollo 自動駕駛一系列功能模塊定制的開源運(yùn)行框架,Apollo Cyber RT采用高度集成的并行計算模型,能夠?qū)崿F(xiàn)任務(wù)執(zhí)行的高并發(fā)、低延遲以及高吞吐量。針對自動駕駛業(yè)務(wù)場景的定制開發(fā),使其能夠滿足自動駕駛解決方案的高性能要求[100]。Apollo 規(guī)劃模塊能夠根據(jù)車輛通過傳感器及V2X 通信獲得環(huán)境信息,結(jié)合乘客乘車需求規(guī)劃路徑,進(jìn)行行為決策。其控制模塊能夠適配不同路況、不同車速、不同車型和不同的底盤交互協(xié)議[100]。RTOS 由 Ubuntu 14.04+ApolloAuto/apollo-kernel 組成。

4.3.2 開源硬件平臺

Apollo 開源硬件平臺涵蓋各類自動駕駛傳感器(GPS/IMU、毫米波雷達(dá)、激光雷達(dá)等)、汽車人機(jī)接口設(shè)備、傳感器單元、擴(kuò)展單元與車載計算單元等。其中,傳感器單元負(fù)責(zé)收集車載傳感器信息,并可通過與工控機(jī)通信實(shí)現(xiàn)對車輛的控制;擴(kuò)展單元允許使用者插入其他插件來增強(qiáng)Apollo 的性能;車載計算單元是整車實(shí)現(xiàn)功能的核心,具有CAN 總線接口和百兆以太網(wǎng)接口,負(fù)責(zé)完成對自動駕駛各任務(wù)的計算。

5 深度學(xué)習(xí)應(yīng)用挑戰(zhàn)及發(fā)展方向

5.1 自動駕駛領(lǐng)域深度學(xué)習(xí)應(yīng)用挑戰(zhàn)

近年來,深度學(xué)習(xí)迅速發(fā)展,在圖像處理、大數(shù)據(jù)分析、復(fù)雜博弈問題決策等問題中取得了一系列成果。然而,由于車輛行駛環(huán)境變化多樣,面臨的問題復(fù)雜且難以量化,自動駕駛領(lǐng)域中深度學(xué)習(xí)的應(yīng)用還面臨著以下挑戰(zhàn)。

5.1.1 系統(tǒng)計算速度與可靠性挑戰(zhàn)

汽車在道路上的行駛速度限制了自動駕駛系統(tǒng)從感知到?jīng)Q策的時間,要求自動駕駛系統(tǒng)的感知、決策和執(zhí)行各個模塊能夠?qū)λ杉母黝愋畔⑦M(jìn)行實(shí)時處理。但隨著自動駕駛軟件系統(tǒng)的升級,其計算量已經(jīng)達(dá)到了10~1000TOPS(每秒萬億次操作)級別,這對車載硬件的計算性能提出了很高的要求。而當(dāng)前的車載硬件不能在性能、體積、噪聲與散熱問題上同時達(dá)到要求。媒體人在體驗(yàn)百度無人車時,曾提到其位于車后部的計算設(shè)備的噪音與散熱問題。因此,要讓自動駕駛汽車的安全性與舒適性都滿足要求,還需進(jìn)一步提升車載硬件的性能。

5.1.2 信息安全挑戰(zhàn)

信息安全是指保證計算機(jī)信息的完整性、保密性以及可用性等。深度學(xué)習(xí)系統(tǒng)中的信息安全風(fēng)險包括:(1)數(shù)據(jù)傳遞階段的入侵,在深度學(xué)習(xí)系統(tǒng)不同模塊間數(shù)據(jù)的傳輸過程中添加干擾,造成傳遞信息的失真;(2)利用“對抗樣本”現(xiàn)象,對原始數(shù)據(jù)添加微小擾動,造成深度學(xué)習(xí)模型輸出的明顯轉(zhuǎn)變;(3)侵犯深度學(xué)習(xí)系統(tǒng)的模型與數(shù)據(jù)隱私等。在使用中,深度學(xué)習(xí)系統(tǒng)需要滿足保證用于駕駛的模型安全及數(shù)據(jù)隱私,確保系統(tǒng)運(yùn)行正??煽?。值得一提的是,將區(qū)塊鏈技術(shù)應(yīng)用于車聯(lián)網(wǎng)系統(tǒng)中以保證信息安全是當(dāng)前的一個熱門研究方向[101]。

5.1.3 傳統(tǒng)自動駕駛系統(tǒng)的復(fù)雜性挑戰(zhàn)

傳統(tǒng)的自動駕駛框架包括感知、決策、控制3 個子系統(tǒng),每個系統(tǒng)內(nèi)又包括許多不同的功能模塊,如目標(biāo)檢測、語義分割、融合定位等,這使得其算法架構(gòu)龐大臃腫。此外,傳統(tǒng)自動駕駛系統(tǒng)的層級架構(gòu)使其在場景遍歷廣度上存在瓶頸,難以處理復(fù)雜情況。

5.1.4 深度學(xué)習(xí)技術(shù)的可解釋性挑戰(zhàn)

可解釋性是指解決某個問題的過程中獲得足夠可理解信息的能力[99]。具體到人工智能領(lǐng)域,可解釋性指深度模型能夠給出每一個預(yù)測結(jié)果的決策依據(jù)[102]。深度學(xué)習(xí)技術(shù)在圖像識別、語義分割及自然語言處理等領(lǐng)域獲得了廣泛應(yīng)用,并表現(xiàn)出了卓越的性能。然而深度學(xué)習(xí)技術(shù)的卓越表現(xiàn)更多依賴于模型高度的非線性和調(diào)參技術(shù),而其模型內(nèi)部的學(xué)習(xí)進(jìn)展及決策歷程不可探知[103]。也就是說,模型的輸出幾乎是不可解釋的。為了提高深度學(xué)習(xí)模型的可解釋性,需要探明黑盒結(jié)構(gòu)的運(yùn)行原理。目前,提出的可解釋性算法主要有以下幾類[103-104]。

(1)內(nèi)部可視化方法。

內(nèi)部可視化方法是對模型內(nèi)部學(xué)習(xí)的權(quán)重參數(shù)、神經(jīng)網(wǎng)絡(luò)的神經(jīng)元或者特征檢測器等進(jìn)行可視化的方法。這類方法能夠?qū)⒛P偷倪\(yùn)算過程直觀地展示出來,但對可解釋性的提高較小。Castanon 等[105]采取將網(wǎng)絡(luò)特征圖在輸入圖像中可視化的方法,觀察圖像的哪些部分會影響識別結(jié)果。

(2)數(shù)據(jù)擾動測試方法。

基于魯棒性擾動的方法嘗試通過對輸入數(shù)據(jù)添加擾動元素,觀察模型輸出結(jié)果的變化情況,分析擾動部分在模型處理過程中的重要程度。Koh 等[106]提出了影響函數(shù)的概念,以影響函數(shù)定量地表示樣本添加擾動后對結(jié)果的影響,從而理解深度學(xué)習(xí)模型行為。

(3)建立可解釋學(xué)習(xí)模型的方法。

近年來,一些研究人員嘗試通過改進(jìn)深度學(xué)習(xí)模型的構(gòu)建方法或通過在其運(yùn)行過程中遷入輔助解釋模型的方式,來提高模型本身的可解釋性。Sabour 等[107]在2017年提出一種名為“膠囊”的張量神經(jīng)元,并使用一組該神經(jīng)元代替神經(jīng)網(wǎng)絡(luò)的一層,“膠囊”所輸出向量的長度表征了某個實(shí)例(物體,視覺概念或者它們的一部分)出現(xiàn)的概率,其方向表征了物體的某些圖形屬性。該網(wǎng)絡(luò)采取協(xié)議路由機(jī)制,每個膠囊能夠編碼一個特定語義的概念,從而可以清晰地知道每一個“膠囊”所做的工作,一定意義上增強(qiáng)了模型的可解釋性[104]。

5.1.5 深度學(xué)習(xí)模型的魯棒性挑戰(zhàn)

研究表明,盡管具有卓越的初始性能,深度學(xué)習(xí)模型卻很容易對添加很小的擾動的樣本(即對抗樣本)產(chǎn)生誤判。這大大限制了深度學(xué)習(xí)模型的應(yīng)用范圍與場景,同時也影響了其安全性。目前的模型魯棒性分析方法主要分為兩大類:精確方法可以獲得精確的魯棒性邊界,但其計算復(fù)雜度很高,只能用于小規(guī)模的神經(jīng)網(wǎng)絡(luò)。一個典型算法是基于混合整數(shù)非線性規(guī)劃(Mixed Integer Nonlinear Programming, MINLP)的方法,Cheng等[108]將魯棒性邊界定為可容忍的最大輸入或傳感器擾動,通過啟發(fā)式算法與并行化技術(shù)大大減少了MINLP 問題的計算量,并使用此算法計算了多個神經(jīng)網(wǎng)絡(luò)的魯棒性邊界;近似方法無法獲得精確的魯棒性邊界,大多采取計算其下界的方式,近似方法的計算量較小,典型算法有基于區(qū)間傳播的方法、基于概率的方法和基于控制論的方法等。

目前,提升模型魯棒性的方法主要有以下幾種:改變神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如改變網(wǎng)絡(luò)的深度、構(gòu)成或損失函數(shù)等;添加外部模塊,借助具有所需功能的外部模塊來提升網(wǎng)絡(luò)的魯棒性。但是,在現(xiàn)階段,實(shí)現(xiàn)深度學(xué)習(xí)模型的完全魯棒性是很困難的,以上幾種方法都不能完全滿足要求。

5.1.6 法律適用挑戰(zhàn)

目前,在無人駕駛汽車法律規(guī)制方面我國的相關(guān)法規(guī)剛剛起步,無人汽車行駛的法規(guī)依據(jù)始終不明,存在國內(nèi)對無人駕駛汽車上路合法化的法規(guī)依據(jù)問題,在我國法律“人–物”二分原則下無人駕駛汽車的歸屬認(rèn)定問題[109],同時這也是對現(xiàn)行汽車保險制度的挑戰(zhàn)[110]。事實(shí)上,自動駕駛汽車定責(zé)的法律問題相當(dāng)復(fù)雜,不僅涉及到設(shè)計、制造、用戶等之間的多重法律關(guān)系,還需要理清包括合同責(zé)任、侵權(quán)責(zé)任、產(chǎn)品責(zé)任等在內(nèi)的一系列問題[111]。

5.2 深度學(xué)習(xí)應(yīng)用未來發(fā)展方向

深度學(xué)習(xí)的自動駕駛領(lǐng)域應(yīng)用面臨著許多挑戰(zhàn),但它也給車輛的智能化、網(wǎng)聯(lián)化進(jìn)程帶來了巨大的機(jī)遇。Google 研發(fā)的無人汽車在汽車的感知、決策、控制系統(tǒng)中都廣泛應(yīng)用了深度學(xué)習(xí)算法。自動駕駛的快速發(fā)展不僅能實(shí)現(xiàn)巨大的經(jīng)濟(jì)與社會效益,釋放人力,避免人為事故,大大緩解交通擁堵,還將深刻改變汽車行業(yè)的布局,并推動其他領(lǐng)域人工智能的應(yīng)用,如智慧城市、廣泛物聯(lián)網(wǎng)等。在未來,深度學(xué)習(xí)技術(shù)在自動駕駛領(lǐng)域的應(yīng)用方面將具有如下發(fā)展趨勢。

5.2.1 無監(jiān)督/半監(jiān)督學(xué)習(xí)

目前應(yīng)用的深度學(xué)習(xí)模型大多采用監(jiān)督學(xué)習(xí)方式進(jìn)行訓(xùn)練,監(jiān)督學(xué)習(xí)的方法需要對數(shù)據(jù)做出標(biāo)簽,為算法規(guī)定出一組“標(biāo)準(zhǔn)答案”,這不僅會大大增加人工成本,也嚴(yán)重依賴人為因素。而自動駕駛車輛所處的行車環(huán)境復(fù)雜多樣,此外,受限于“長尾效應(yīng)”,訓(xùn)練符合要求的自動駕駛系統(tǒng)所需的帶標(biāo)簽數(shù)據(jù)量是巨大的。與此同時,在現(xiàn)代社會,大數(shù)據(jù)時代的到來使尋找大量數(shù)據(jù)變得越來越容易,因此標(biāo)簽依賴性低的無監(jiān)督/半監(jiān)督學(xué)習(xí)將是深度學(xué)習(xí)技術(shù)未來的發(fā)展趨勢之一。

5.2.2 深度學(xué)習(xí)模型的并行化計算

深度學(xué)習(xí)可以提取材料中的抽象特征,完成之前只能人工完成的任務(wù),如語音識別、圖像識別和檢測等。傳統(tǒng)避免過擬合的方法不能充分發(fā)揮硬件性能,這導(dǎo)致隨著模型復(fù)雜度的提高訓(xùn)練時間會迅速增長。因此通過并行化計算加快深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練將是未來的發(fā)展方向,包括數(shù)據(jù)并行與模型并行。數(shù)據(jù)并行是指對訓(xùn)練數(shù)據(jù)做切割,使用多個模型同時使用所切分開的各個數(shù)據(jù)分塊進(jìn)行訓(xùn)練,數(shù)據(jù)并行需要參數(shù)交換器進(jìn)行參數(shù)交換;而模型并行是指對訓(xùn)練模型進(jìn)行切分,同時進(jìn)行訓(xùn)練,當(dāng)模型分塊間出現(xiàn)數(shù)據(jù)交換時,產(chǎn)生通信開銷。由于通信開銷的存在,多數(shù)情況下,模型并行帶來的速度收益低于數(shù)據(jù)并行。目前,多數(shù)選擇是同時通過數(shù)據(jù)并行和模型并行加快訓(xùn)練。Google 的Distbelief 系統(tǒng)、百度的Paddle平臺、騰訊的Mariana 平臺等都是這一探索的典型代表。不過,數(shù)據(jù)并行和模型并行都有并行數(shù)量的限制,如果并行數(shù)量太多,同步消耗和通信開銷將急劇增加,使并行收益下降。

5.2.3 全自動神經(jīng)網(wǎng)絡(luò)

深度學(xué)習(xí)依靠深層神經(jīng)網(wǎng)絡(luò)自主擬合輸入與輸出間的映射關(guān)系,神經(jīng)網(wǎng)絡(luò)中各層的參數(shù)通過對訓(xùn)練集的學(xué)習(xí)獲得。但神經(jīng)網(wǎng)絡(luò)的超參數(shù)依然需要人工調(diào)試,如神經(jīng)網(wǎng)絡(luò)的層數(shù)、每層神經(jīng)元個數(shù)、學(xué)習(xí)率高低等。這些參數(shù)的選擇對最終學(xué)習(xí)效果影響很大,然而這部分工作沒有放之四海而皆準(zhǔn)的規(guī)則,大多數(shù)時候依賴研究者的經(jīng)驗(yàn)來完成。未來的深度神經(jīng)網(wǎng)絡(luò)應(yīng)當(dāng)也能夠?qū)W習(xí)網(wǎng)絡(luò)本身的超參數(shù),如DeepMind 提出的Learning to Learn 算法[112],神經(jīng)網(wǎng)絡(luò)能夠同時學(xué)習(xí),從而能更快收斂到理想精度。

5.2.4 量子計算與深度學(xué)習(xí)

量子計算是一種遵循量子力學(xué)規(guī)律調(diào)控量子信息單元進(jìn)行計算的新型計算模式。量子計算機(jī)與傳統(tǒng)計算機(jī)在所解決問題上并無不同,但量子力學(xué)疊加性的存在使其得計算效率大大提升,2020年12月,中國科學(xué)技術(shù)大學(xué)的研究人員使用量子計算機(jī)在200 s 內(nèi)求解出了傳統(tǒng)超級計算機(jī)需要耗費(fèi)數(shù)十億年才能完成的“高斯玻色取樣”問題的計算。量子計算與深度學(xué)習(xí)的結(jié)合方式包括:(1)利用量子計算強(qiáng)大的計算能力將深度學(xué)習(xí)中受限于計算能力的問題變?yōu)榭赡?;?)將量子理論的并行性于深度學(xué)習(xí)算法結(jié)合,建立一類量子深度學(xué)習(xí)模型,提高學(xué)習(xí)效率與準(zhǔn)確度。不過,對量子計算的研究目前距離通用化實(shí)用化還有很大距離,在通用量子計算機(jī)研究成功之前,量子計算與深度學(xué)習(xí)的結(jié)合都將處于早期探索階段。

5.2.5 5G 車云協(xié)同與車路協(xié)同

2018年10月23日,湖南湘江新區(qū)智能系統(tǒng)測試區(qū)進(jìn)行了基于5G 的車路協(xié)同及車車協(xié)同的V2X 應(yīng)用測試,測試內(nèi)容包括前向碰撞預(yù)警、逆向超車預(yù)警、緊急制動預(yù)警、變更車道盲區(qū)預(yù)警和緊急車輛提醒等多項場景。在自動駕駛等高級應(yīng)用場景下,車聯(lián)網(wǎng)要求網(wǎng)絡(luò)時延在10 ms 以下且可靠性達(dá)到99.999%,4G 網(wǎng)絡(luò)因其技術(shù)限制,無法滿足以上要求。而5G 網(wǎng)絡(luò)快速且穩(wěn)定的數(shù)據(jù)通信能力能夠極大增強(qiáng)智能車輛與交通系統(tǒng)的數(shù)據(jù)交流能力,5G 網(wǎng)絡(luò)能夠?yàn)檐囕v提供毫秒級時延,最高10 GB/s 的傳輸速率,99.999%的可靠性,以及106/km2的超多連接數(shù)[113]和容忍500 km/h的移動,從而有效實(shí)現(xiàn)車路協(xié)同,擴(kuò)大車輛的探測感知范圍,有效彌補(bǔ)車輛傳感器的不足,同時降低因傳感器故障導(dǎo)致事故的概率,保障行駛的安全性。

自動駕駛與深度學(xué)習(xí)技術(shù)都處于快速發(fā)展成熟階段,汽車駕駛是一個涉及人工智能、圖像識別、機(jī)器視覺與模糊決策的綜合應(yīng)用場景,其發(fā)展方向必將受到以上多領(lǐng)域技術(shù)發(fā)展的深刻影響。但總的方向是解決深度學(xué)習(xí)算法在不同車型、不同駕駛風(fēng)格、多樣行駛問題下的多場景適配問題、硬件要求問題與算法穩(wěn)定性、可解釋性問題,實(shí)現(xiàn)汽車自動駕駛系統(tǒng)的安全性、穩(wěn)定性、即時性與智能化。

6 結(jié)束語

得益于深度學(xué)習(xí)的助力,過去幾年中自動駕駛技術(shù)快速發(fā)展,進(jìn)一步向?qū)嵱没~進(jìn)。深度學(xué)習(xí)方法的應(yīng)用不僅體現(xiàn)在傳統(tǒng)自動駕駛感知—規(guī)劃—執(zhí)行方案的完善,還催生了能夠直接從傳感器數(shù)據(jù)映射到駕駛操作的端到端自動駕駛系統(tǒng)。但汽車自動駕駛系統(tǒng)是一個需要兼顧效率、成本與安全的復(fù)雜系統(tǒng),深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用還面臨著許多挑戰(zhàn),包括可解釋性、信息安全問題、訓(xùn)練數(shù)據(jù)集構(gòu)建等。深度學(xué)習(xí)在自動駕駛中的應(yīng)用具有廣闊的發(fā)展空間,但其技術(shù)走向成熟,實(shí)現(xiàn)大規(guī)模應(yīng)用尚需時日。目前,不論是深度學(xué)習(xí)算法,還是自動駕駛技術(shù)都處于快速發(fā)展階段,需要持續(xù)不斷深入研究與應(yīng)用驗(yàn)證。但毋庸置疑的是,在當(dāng)今社會智能化網(wǎng)聯(lián)化的趨勢以及5 G 網(wǎng)絡(luò)普及化的背景下,自動駕駛汽車具有巨大的發(fā)展?jié)摿εc光明的前景。本文對深度學(xué)習(xí)技術(shù)在自動駕駛感知、規(guī)劃、控制模塊與端到端駕駛系統(tǒng)中的應(yīng)用進(jìn)行了介紹,為基于深度學(xué)習(xí)的自動駕駛系統(tǒng)的進(jìn)一步研究提供了參考。

猜你喜歡
決策神經(jīng)網(wǎng)絡(luò)自動
為可持續(xù)決策提供依據(jù)
自動捕盜機(jī)
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
決策為什么失誤了
基于STM32的自動喂養(yǎng)機(jī)控制系統(tǒng)
電子測試(2018年10期)2018-06-26 05:53:36
關(guān)于自動駕駛
汽車博覽(2016年9期)2016-10-18 13:05:41
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
Stefan Greiner:我們?yōu)槭裁葱枰詣玉{駛?
基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
梅河口市| 芦山县| 宁强县| 沁源县| 宁乡县| 普格县| 潞西市| 瓮安县| 寻乌县| 佛教| 江门市| 张掖市| 德保县| 临沭县| 灵璧县| 新乡县| 堆龙德庆县| 湖州市| 贵溪市| 遂平县| 吉安市| 平武县| 顺义区| 灵石县| 昌图县| 鹿邑县| 宁海县| 万荣县| 剑川县| 高淳县| 北川| 通江县| 泰宁县| 西乌珠穆沁旗| 辰溪县| 富川| 兰溪市| 渑池县| 神农架林区| 琼海市| 合川市|