侵權(quán)投訴
訂閱
糾錯
加入自媒體

深度學習技術(shù)在自動駕駛中的應用

在過去的十年里,自動駕駛汽車技術(shù)取得了越來越快的進步,主要得益于深度學習和人工智能領(lǐng)域的進步。作者就自動駕駛中使用的深度學習技術(shù)的現(xiàn)狀以及基于人工智能的自驅(qū)動結(jié)構(gòu)、卷積和遞歸神經(jīng)網(wǎng)絡、深度強化學習范式進行了詳細的闡述。并對這些方法在自動駕駛場景感知、路徑規(guī)劃、行為仲裁和運動控制算法進行綜述,同時就目前自動駕駛設(shè)計中使用人工智能體系結(jié)構(gòu)所遇到的挑戰(zhàn),如安全性、訓練數(shù)據(jù)源和計算硬件進行了詳細的闡述,本文將從以下腦圖結(jié)構(gòu)內(nèi)容展開。

圖-1 目錄結(jié)構(gòu)

1.簡介

深度學習和人工智能成為計算機視覺、機器人和自然語言處理(NLP)等領(lǐng)域取得重大突破的主要技術(shù)。它們在當今學術(shù)界和工業(yè)界也產(chǎn)生了重大影響。自動駕駛汽車開始從實驗室開發(fā)和測試條件轉(zhuǎn)向在公共道路上駕駛。它的部署將減少了道路事故和交通擁堵,并改善了我們在擁擠城市中的流動性!白詣玉{駛”的名稱似乎不言而喻,但實際上有五個SAE級別用于定義自動駕駛。SAE J3016標準(SAE委員會,2014年)引入了一個從0到5的汽車自動化分級標準。較低的SAE級別具有基本的駕駛員輔助功能,而較高的SAE級別則向無需任何人工交互的車輛移動。5級車不需要人工輸入,甚至不需要方向盤或腳踏板。盡管大多數(shù)駕駛場景可以用經(jīng)典的感知、路徑規(guī)劃和運動控制方法相對簡單地解決,但剩余的未解決場景是傳統(tǒng)方法失敗的案例。

上世紀80年代,恩斯特·迪克曼開發(fā)了第一批自動汽車,這為Prometheus等旨在開發(fā)全功能自主汽車的新研究項目鋪平了道路。1994年,這輛無人駕駛汽車成功地行駛了1600公里,其中95%是自主駕駛的。同樣,在1995年,CMU Navlab演示了6000公里的自主駕駛,98%的人是自主駕駛的。自主駕駛的另一個重要里程碑是2004年和2005年的DARPA大挑戰(zhàn)賽,以及2007年的DARPA城市挑戰(zhàn)賽。目標是讓無人駕駛汽車在沒有人為干預的情況下,盡可能快地駛過一條越野路線。2004年,15輛車都沒有完成比賽。斯坦利等人利用機器學習技術(shù)在非結(jié)構(gòu)化環(huán)境中進行了導航,這是自動駕駛汽車發(fā)展的一個轉(zhuǎn)折點,從此機器學習和人工智能在自動駕駛的核心組成部分中開始被探索,這一轉(zhuǎn)折點在本調(diào)查報告中也很明顯,因為大多數(shù)調(diào)查工作都是在2005年以后進行的。

2.自動駕駛系統(tǒng)

自動駕駛是一種自主決策系統(tǒng),它處理來自不同車載來源的觀測流,如照相機、雷達、激光雷達、超聲波傳感器、GPS裝置和/或慣性傳感器。這些觀察結(jié)果被汽車的計算機用來做駕駛決定。人工智能汽車的基本框圖如圖1所示。

圖1:基于深度學習的自動駕駛汽車。該體系結(jié)構(gòu)可以實現(xiàn)為一個順序感知規(guī)劃動作管道(a),也可以實現(xiàn)為一個終端系統(tǒng)(b)。在順序流水線的情況下,可以使用人工智能和深度學習方法設(shè)計組件,也可以基于經(jīng)典的非學習方法設(shè)計組件。End2End學習系統(tǒng)主要基于深度學習方法。通常設(shè)計一個安全監(jiān)視器來確保每個模塊的安全。

決策是在模塊化的感知(圖1(a))中計算的,或者是在第2終端學習方式(圖1(b))中計算的,其中感知信息直接映射到控制輸出。模塊化流水線的組件可以基于人工智能和深度學習方法設(shè)計,也可以使用經(jīng)典的非學習方法設(shè)計。圖1(a)中的模塊化流水線被分層分解為四個組件,可以使用深度學習和人工智能方法或經(jīng)典方法進行設(shè)計。這些組件包括:

感知和定位、高級路徑規(guī)劃、行為仲裁或低級路徑規(guī)劃、運動控制器。

自動駕駛汽車的首要任務是了解周圍環(huán)境并使其本地化。在此基礎(chǔ)上,規(guī)劃了一條連續(xù)的路徑,并通過行為仲裁系統(tǒng)確定了汽車的未來行為。最后,運動控制系統(tǒng)反應性地校正在執(zhí)行所計劃的運動時產(chǎn)生的誤差。有關(guān)這四個組件的經(jīng)典非人工智能設(shè)計方法的回顧,請參見(Paden等人,2016)。接下來將介紹自動駕駛中使用的深度學習和人工智能技術(shù),以及設(shè)計上述分層決策過程所使用的不同方法,此外該論文還概述了end2end學習系統(tǒng)。

3. 深度學習技術(shù)綜述

在卷積神經(jīng)網(wǎng)絡的基礎(chǔ)上進行視覺的感知是自動駕駛系統(tǒng)中最常用的方法,本文就關(guān)鍵的深度強化學習進行闡述,對最初的DQN算法進行了一些獨立的改進(mnih等人,2015)。DeepMind提供了一項關(guān)于如何將這些改進與深度強化學習相結(jié)合的研究,其中名為Rainbow的組合算法能夠優(yōu)于獨立競爭的方法。DeepMind(Hessel等人,2017年)提出了對DQN基礎(chǔ)的六個擴展,每個擴展都解決了一個明顯的問題:

雙Q學習解決了高估偏差問題,并使行動的選擇和評估脫鉤;

從需要學習信息的數(shù)據(jù)中更頻繁地對重播樣本進行優(yōu)先排序;

決斗網(wǎng)絡旨在提高基于價值的RL;

多步驟學習用于提高訓練速度;

分布rl改進了bellman方程中的目標分布;

噪聲網(wǎng)絡提高了網(wǎng)絡忽略噪聲輸入的能力,并允許狀態(tài)條件探測。

以上所有的補充性改進都在ATARI2600挑戰(zhàn)賽上進行了測試。關(guān)于自動駕駛車輛的一個好的實現(xiàn)應該從所述的DQN擴展開始?紤]到深度強化學習的進展,該算法的直接應用仍然需要一個訓練過程,在該過程中,人們應該模擬和建模所需的自動駕駛汽車的行為。智能體無法直接訪問模擬的環(huán)境狀態(tài)。相反,傳感器讀數(shù)提供了關(guān)于環(huán)境真實狀態(tài)的線索。為了解真實的環(huán)境狀態(tài),僅映射傳感器讀數(shù)的一個快照是不夠的。時間信息也應該包含在網(wǎng)絡的輸入中,因為環(huán)境的狀態(tài)會隨著時間而改變。對于自動駕駛汽車,離散動作將轉(zhuǎn)換為離散命令,例如左轉(zhuǎn)、右轉(zhuǎn)、加速或中斷。上述DQN方法已擴展到基于策略梯度估計的連續(xù)行動空間,它描述了一種無模型的actor-critic算法,其能夠直接從原始像素輸入中學習不同的連續(xù)控制任務。盡管使用日間行車燈進行連續(xù)控制是可能的,但在自動駕駛中,日間行車燈最常見的策略是基于離散控制。這里的主要挑戰(zhàn)是訓練,因為智能體必須探索其環(huán)境

4駕駛場景感知與定位深度學習

4.1傳感硬件:攝像機與激光雷達之爭

深度學習方法特別適合于從攝像機和lidar(光探測和測距)設(shè)備獲取的2d圖像和3d點云中檢測和識別對象。在自動駕駛中,三維感知主要基于激光雷達傳感器,它以三維點云的形式提供對周圍環(huán)境的直接三維表示。激光雷達的性能是根據(jù)視場、距離、分辨率和旋轉(zhuǎn)/幀速率來衡量的。3D傳感器,如Velodyne?通常具有360度水平視野。為了高速行駛,一輛自動駕駛汽車至少需要200米的行駛距離,使汽車能夠及時對路況的變化作出反應,三維目標檢測精度取決于傳感器的分辨率,最先進的激光雷達能夠提供3cm的精度。攝像機則是對獲取的圖像通過深度學習方法進行處理,其主要依賴于分辨率的高度和算法的精準程度。

4.2駕駛場景理解

一輛自動駕駛汽車應該能夠檢測到交通參與者和可行駛區(qū)域,特別是在城市地區(qū),那里可能出現(xiàn)各種各樣的物體外觀和遮擋;谏疃葘W習的感知,特別是卷積神經(jīng)網(wǎng)絡(CNN)成為目標檢測和識別的事實標準,在ImageNet大規(guī)模視覺識別挑戰(zhàn)賽等比賽中取得顯著成績。不同的神經(jīng)網(wǎng)絡結(jié)構(gòu)用于檢測二維感興趣區(qū)域或圖像中的像素分割區(qū)域,3DLidar點云中的邊界盒以及組合相機Lidar數(shù)據(jù)中對象的三維表示。場景感知結(jié)果的示例如圖3所示。圖像數(shù)據(jù)信息豐富,更適合于目標識別任務。然而,由于在將成像場景投影到成像傳感器上時丟失了深度信息,因此必須估計被檢測對象的真實3d位置。

4.2.1邊界盒型目標探測器

圖像中最常用的二維目標檢測結(jié)構(gòu)是單級和雙級檢測器。流行的單級探測器有“你只看一次”(Yolo)、單點多盒探測器(固態(tài)硬盤)。雙級檢測器,如RCNN、Faster RCNN或R-FCN,其將目標檢測過程分為兩部分:感興趣區(qū)域候選方案和邊界框分類。一般來說,單級探測器的性能不如雙級探測器,但速度要快得多。圖4根據(jù)Pascal VOC 2012數(shù)據(jù)集和測量的平均精度(MAP)對上述目標檢測器進行了比較,交叉超過并集(IOU)值分別為50和75。

4.2.2語義和實例分割

駕駛場景的理解也可以通過語義分割來實現(xiàn),表示圖像中每個像素的分類標記。在自動駕駛環(huán)境中,像素可以用分類標簽來標記,代表可駕駛區(qū)域、行人、交通參與者、建筑物等,這是一項高級任務。其中Segnet、ICnet、ENET、Adapnet或Mask R-CNN等語義分割網(wǎng)絡主要是具有像素級分類層的編碼器-解碼器架構(gòu)。它們基于一些常見網(wǎng)絡拓撲的構(gòu)建塊。圖5顯示了基于城市景觀數(shù)據(jù)集的四個關(guān)鍵語義分割網(wǎng)絡的測試結(jié)果。其中每類平均交集是指多類分割,每個像素被標記為屬于特定的對象類,而每類是指前景(對象)-背景(非對象)分割。輸入樣本的大小為480px320px。

4.2.3 定位

定位算法的目的是計算自主車輛導航時的姿態(tài)(位置和方向)。這可以通過GPS等系統(tǒng)來實現(xiàn),但在下面的文章中將重點介紹基于視覺定位的深度學習技術(shù)。視覺定位,也稱為視覺里程計(vo),通常是通過匹配連續(xù)視頻幀中的關(guān)鍵點標記來確定的。給定當前幀,這些關(guān)鍵點用作透視N點映射算法的輸入,用于計算車輛相對于前一幀的姿態(tài)。深度學習可以直接影響關(guān)鍵點檢測的精度,從而提高精度。此外,隨著攝像機姿態(tài)的計算,環(huán)境的結(jié)構(gòu)可以逐步映射。這些方法屬于同步定位與映射(slam)領(lǐng)域。為了安全地在駕駛現(xiàn)場導航,一輛自動駕駛的汽車應該能夠估計周圍環(huán)境的運動,也稱為場景流。以往基于激光雷達的場景流估計技術(shù)主要依賴于人工設(shè)計的特征。本文注意到一種趨勢,即用能夠自動學習場景流的深度學習體系結(jié)構(gòu)取代這些經(jīng)典方法。在占用網(wǎng)格上訓練編碼深度網(wǎng)絡,以在連續(xù)時間步之間找到匹配或不匹配的位置。雖然在基于深度學習的定位領(lǐng)域已經(jīng)取得了很多進展,但是該技術(shù)仍然以經(jīng)典的關(guān)鍵點匹配算法為主,并結(jié)合慣性傳感器提供的加速度數(shù)據(jù)。這主要是因為關(guān)鍵點檢測器計算效率高,可以很容易地部署在嵌入式設(shè)備上。

4.3使用Occupancy Maps感知

Occupancy Maps也稱為占用網(wǎng)格,它是將駕駛空間劃分為一組單元并計算每個單元的占用概率的環(huán)境表示。圖6示出了幾個Occupancy Maps數(shù)據(jù)樣本。

深度學習用于Occupancy Maps的上下文中,用于動態(tài)對象檢測和跟蹤,車輛周圍占用圖的概率估計或用于推導駕駛場景上下文。在后一種情況下,Occupancy Maps是通過隨著時間的推移積累數(shù)據(jù)來構(gòu)建的,而深層神經(jīng)網(wǎng)絡則用于將環(huán)境標記為駕駛上下文類,例如高速公路駕駛、停車場或市中心駕駛。Occupancy Maps代表一個車內(nèi)虛擬環(huán)境,以更適合路徑規(guī)劃和運動控制的形式集成感知信息。深度學習在估計中起著重要作用,因為用于填充網(wǎng)格單元的信息是從使用場景感知方法處理圖像和lidar數(shù)據(jù)中推斷出來的。

5.深入學習路徑規(guī)劃和行為仲裁

自動駕駛汽車在兩個點(即起始位置和所需位置)之間找到路線的能力表示路徑規(guī)劃。根據(jù)路徑規(guī)劃過程,自動駕駛汽車應考慮周圍環(huán)境中存在的所有可能障礙物,并計算沿無碰撞路線的軌跡。一般的認為自動駕駛是一種多智能體設(shè)置,在這種設(shè)置中,當車輛在超車、讓路、合流、左轉(zhuǎn)和右轉(zhuǎn)時,以及在非結(jié)構(gòu)化城市道路上行駛時,宿主車輛必須與其他道路使用者應用復雜的談判技巧。文獻研究結(jié)果指出,一個非瑣碎的策略。本文提出的解決方案是構(gòu)造一個由可學習部分和非可學習部分組成的策略函數(shù)。可學習的策略試圖最大化獎勵功能(包括舒適性、安全性、超車機會等)。同時,不可學習策略遵循功能安全的硬約束,同時保持可接受的舒適度。用于路徑規(guī)劃的il和drl都有其優(yōu)缺點。然而,在拐角情況下(例如,駛離車道、車輛碰撞等),這些數(shù)據(jù)是稀缺的,使得訓練網(wǎng)絡在遇到不可見數(shù)據(jù)時的響應是不確定的。另一方面,盡管DRL系統(tǒng)能夠在模擬世界中探索不同的駕駛情況,但這些模型在移植到現(xiàn)實世界時往往會有偏差行為。

6.基于人工智能的自動駕駛汽車運動控制器

運動控制器負責計算車輛的縱向和橫向轉(zhuǎn)向指令。學習算法既可以作為學習控制器的一部分,在圖1(a)的運動控制模塊中使用,也可以作為完整的末端控制系統(tǒng),直接將感覺數(shù)據(jù)映射到轉(zhuǎn)向命令,如圖1(b)所示。

6.1學習控制器

傳統(tǒng)的控制器利用由固定參數(shù)組成的先驗模型。當機器人或其他自治系統(tǒng)被用于復雜的環(huán)境,如駕駛時,傳統(tǒng)的控制器無法預見系統(tǒng)必須處理的所有可能情況。與具有固定參數(shù)的控制器不同,學習控制器利用訓練信息隨時間學習其模型。隨著每一批訓練數(shù)據(jù)的積累,真實系統(tǒng)模型的近似變得更加精確,從而使模型靈活性、一致性、不確定性估計和預期在部署之前無法建模。在以前的工作中,學習控制器已被引入基于簡單函數(shù)逼近,如高斯過程(GP)建模,或支持向量回歸。學習技術(shù)通常用于學習動力學模型,該模型反過來改進了迭代學習控制(ILC)中的先驗系統(tǒng)模型和模型預測控制(MPC)。迭代學習控制(ilc)是一種控制重復工作系統(tǒng)的方法,例如自動駕駛汽車的路徑跟蹤。它已成功應用于越野地形的導航、自動泊車和自動賽車轉(zhuǎn)向動力學建模。這些方法使用學習機制來識別非線性動力學,用于mpc的軌跡成本函數(shù)優(yōu)化,其使得人們能夠更好地預測干擾和車輛的行為,從而獲得應用于控制輸入的最佳舒適性和安全性約束。此外,學習控制器的一個主要優(yōu)點是,它能將傳統(tǒng)的基于模型的控制理論與學習算法最佳地結(jié)合起來。這使得仍然可以使用已建立的控制器設(shè)計和穩(wěn)定性分析方法,以及應用于系統(tǒng)辨識和預測級別的魯棒學習組件。

6.2終端學習控制

在自主駕駛的背景下,末端學習控制被定義為從感覺數(shù)據(jù)到控制命令的直接映射。輸入通常來自高維特征空間(如圖像或點云)。如圖1(b)所示,這與傳統(tǒng)的處理過程相反,在傳統(tǒng)的處理過程中,首先在輸入圖像中檢測對象,然后規(guī)劃路徑,最后執(zhí)行計算出的控制值。表1總結(jié)了一些最受歡迎的End2End學習系統(tǒng)。

end2end學習也可以表示為一種擴展到復雜模型的反向傳播算法。這種模式最早出現(xiàn)在20世紀90年代,當時在一個神經(jīng)網(wǎng)絡系統(tǒng)中建立了自主陸地車輛。在過去的幾年里,計算機硬件的技術(shù)進步促進了end2end學習模型的使用。在并行圖形處理單元(gpu)上實現(xiàn)了深度網(wǎng)絡中梯度估計的反向傳播算法。這種處理允許訓練大型和復雜的網(wǎng)絡體系結(jié)構(gòu),而這又需要大量的訓練樣本。End2End控制文件主要使用在現(xiàn)實世界和/或合成數(shù)據(jù)上離線訓練的深層神經(jīng)網(wǎng)絡或在模擬中訓練和評估的深度強化學習(DRL)系統(tǒng)。Nvidia?在過去幾年中推廣了End2End方法。方法是訓練一個CNN,它將原始像素從一個正面攝像頭直接映射到轉(zhuǎn)向命令。訓練數(shù)據(jù)由在不同燈光和天氣條件下以及在不同道路類型上執(zhí)行的駕駛場景中收集的圖像和轉(zhuǎn)向命令組成。在訓練之前,通過增加數(shù)據(jù),在原始數(shù)據(jù)的基礎(chǔ)上增加人工移位和旋轉(zhuǎn)來豐富數(shù)據(jù)。一般的,評估分為兩個階段:第一階段是模擬,第二階段是測試車。自主性能指標表示神經(jīng)網(wǎng)絡驅(qū)動汽車的時間百分比:

當模擬車輛偏離中心線超過1米時,假設(shè)6秒是人類重新控制車輛并將其恢復到所需狀態(tài)所需的時間,則認為發(fā)生了干預。從Holmdel到美國新澤西州大西洋高地的20公里車程實現(xiàn)了98%的自主性,其中重點是確定輸入交通圖像中哪些元素對網(wǎng)絡的轉(zhuǎn)向決策影響最大。基于drl的控制的下一個趨勢似乎是包含了經(jīng)典的基于模型的控制技術(shù)。經(jīng)典控制器提供了一個穩(wěn)定的、確定性的模型,在此基礎(chǔ)上對神經(jīng)網(wǎng)絡的策略進行了估計。這樣,模型系統(tǒng)的硬約束就轉(zhuǎn)化為神經(jīng)網(wǎng)絡策略

7.自動駕駛中的深度學習安全

自動駕駛中的深度學習安全意味著沒有導致系統(tǒng)危險的條件,而系統(tǒng)的安全性在很大程度上取決于技術(shù)類型和應用程序上下文。因此,關(guān)于深度學習技術(shù)的安全性的推理需要:

?理解可能的故障的影響;

?理解更廣泛的系統(tǒng)中的上下文;

?定義關(guān)于系統(tǒng)上下文和可能使用它的環(huán)境的假設(shè);

?定義安全行為的含義,包括非功能約束。

8.用于訓練自動駕駛系統(tǒng)的數(shù)據(jù)源

不可否認,使用真實世界的數(shù)據(jù)是訓練和測試自動駕駛組件的關(guān)鍵要求。這些組成部分的發(fā)展階段需要大量數(shù)據(jù),這使得在公共道路上收集數(shù)據(jù)成為一項有價值的活動。為了獲得對駕駛場景的全面描述,用于數(shù)據(jù)采集的車輛配備了多種傳感器,如雷達、激光雷達、GPS、攝像機、慣性測量單元(IMU)和超聲波傳感器。傳感器設(shè)置因車輛而異,具體取決于數(shù)據(jù)的計劃使用方式。圖7中示出了用于自主車輛的公共傳感器設(shè)置。

下表是目前公開可用的最相關(guān)數(shù)據(jù)集以及相關(guān)的顯著特征。

9.計算硬件和部署

在目標邊緣設(shè)備上部署深度學習算法并不是一項簡單的任務,在車輛方面的主要限制是價格、性能問題和功耗。因此,嵌入式平臺由于其可移植性、多功能性和節(jié)能性成為集成汽車內(nèi)人工智能算法的關(guān)鍵。Nvidia是為在自主汽車內(nèi)部署深度學習算法提供硬件解決方案的市場領(lǐng)導者。drive-px(nvidia,b)是一款人工智能汽車計算機,旨在使汽車制造商能夠直接專注于自主汽車的軟件。最新版本的drivepx架構(gòu)基于兩個tegra x2(nvidia,f)片上系統(tǒng)(socs)。每個soc包含兩個denve核、4個arm a57核和一個pascal圖形計算單元(gpu)。nvidia驅(qū)動器px能夠執(zhí)行實時環(huán)境感知、路徑規(guī)劃和定位。它結(jié)合了深度學習、傳感器融合和環(huán)繞視覺來改善駕駛體驗。此外,現(xiàn)場可編程門陣列(FPGA)是另一種可行的解決方案,在深度學習應用中,它在性能和功耗方面都有很大的提高。FPGA適用于深度學習算法,其適用性可以從四個主要方面進行分析:效率和功率、原始計算能力、靈活性和功能安全性。此外,由微軟和Xilinx等制造商提出的研究表明,在計算復雜度相同的算法時,GPU可以消耗比FPGA多十倍的功率,這表明FPGA可以更適合于汽車領(lǐng)域的深學習應用。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

文章糾錯
x
*文字標題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號