深度學習技術在自動駕駛中的應用
在過去的十年里,自動駕駛汽車技術取得了越來越快的進步,主要得益于深度學習和人工智能領域的進步。作者就自動駕駛中使用的深度學習技術的現(xiàn)狀以及基于人工智能的自驅(qū)動結構、卷積和遞歸神經(jīng)網(wǎng)絡、深度強化學習范式進行了詳細的闡述。并對這些方法在自動駕駛場景感知、路徑規(guī)劃、行為仲裁和運動控制算法進行綜述,同時就目前自動駕駛設計中使用人工智能體系結構所遇到的挑戰(zhàn),如安全性、訓練數(shù)據(jù)源和計算硬件進行了詳細的闡述,本文將從以下腦圖結構內(nèi)容展開。
圖-1 目錄結構
1.簡介
深度學習和人工智能成為計算機視覺、機器人和自然語言處理(NLP)等領域取得重大突破的主要技術。它們在當今學術界和工業(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輛車都沒有完成比賽。斯坦利等人利用機器學習技術在非結構化環(huán)境中進行了導航,這是自動駕駛汽車發(fā)展的一個轉(zhuǎn)折點,從此機器學習和人工智能在自動駕駛的核心組成部分中開始被探索,這一轉(zhuǎn)折點在本調(diào)查報告中也很明顯,因為大多數(shù)調(diào)查工作都是在2005年以后進行的。
2.自動駕駛系統(tǒng)
自動駕駛是一種自主決策系統(tǒng),它處理來自不同車載來源的觀測流,如照相機、雷達、激光雷達、超聲波傳感器、GPS裝置和/或慣性傳感器。這些觀察結果被汽車的計算機用來做駕駛決定。人工智能汽車的基本框圖如圖1所示。
圖1:基于深度學習的自動駕駛汽車。該體系結構可以實現(xiàn)為一個順序感知規(guī)劃動作管道(a),也可以實現(xiàn)為一個終端系統(tǒng)(b)。在順序流水線的情況下,可以使用人工智能和深度學習方法設計組件,也可以基于經(jīng)典的非學習方法設計組件。End2End學習系統(tǒng)主要基于深度學習方法。通常設計一個安全監(jiān)視器來確保每個模塊的安全。
決策是在模塊化的感知(圖1(a))中計算的,或者是在第2終端學習方式(圖1(b))中計算的,其中感知信息直接映射到控制輸出。模塊化流水線的組件可以基于人工智能和深度學習方法設計,也可以使用經(jīng)典的非學習方法設計。圖1(a)中的模塊化流水線被分層分解為四個組件,可以使用深度學習和人工智能方法或經(jīng)典方法進行設計。這些組件包括:
感知和定位、高級路徑規(guī)劃、行為仲裁或低級路徑規(guī)劃、運動控制器。
自動駕駛汽車的首要任務是了解周圍環(huán)境并使其本地化。在此基礎上,規(guī)劃了一條連續(xù)的路徑,并通過行為仲裁系統(tǒng)確定了汽車的未來行為。最后,運動控制系統(tǒng)反應性地校正在執(zhí)行所計劃的運動時產(chǎn)生的誤差。有關這四個組件的經(jīng)典非人工智能設計方法的回顧,請參見(Paden等人,2016)。接下來將介紹自動駕駛中使用的深度學習和人工智能技術,以及設計上述分層決策過程所使用的不同方法,此外該論文還概述了end2end學習系統(tǒng)。
3. 深度學習技術綜述
在卷積神經(jīng)網(wǎng)絡的基礎上進行視覺的感知是自動駕駛系統(tǒng)中最常用的方法,本文就關鍵的深度強化學習進行闡述,對最初的DQN算法進行了一些獨立的改進(mnih等人,2015)。DeepMind提供了一項關于如何將這些改進與深度強化學習相結合的研究,其中名為Rainbow的組合算法能夠優(yōu)于獨立競爭的方法。DeepMind(Hessel等人,2017年)提出了對DQN基礎的六個擴展,每個擴展都解決了一個明顯的問題:
雙Q學習解決了高估偏差問題,并使行動的選擇和評估脫鉤;
從需要學習信息的數(shù)據(jù)中更頻繁地對重播樣本進行優(yōu)先排序;
決斗網(wǎng)絡旨在提高基于價值的RL;
多步驟學習用于提高訓練速度;
分布rl改進了bellman方程中的目標分布;
噪聲網(wǎng)絡提高了網(wǎng)絡忽略噪聲輸入的能力,并允許狀態(tài)條件探測。
以上所有的補充性改進都在ATARI2600挑戰(zhàn)賽上進行了測試。關于自動駕駛車輛的一個好的實現(xiàn)應該從所述的DQN擴展開始?紤]到深度強化學習的進展,該算法的直接應用仍然需要一個訓練過程,在該過程中,人們應該模擬和建模所需的自動駕駛汽車的行為。智能體無法直接訪問模擬的環(huán)境狀態(tài)。相反,傳感器讀數(shù)提供了關于環(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(光探測和測距)設備獲取的2d圖像和3d點云中檢測和識別對象。在自動駕駛中,三維感知主要基于激光雷達傳感器,它以三維點云的形式提供對周圍環(huán)境的直接三維表示。激光雷達的性能是根據(jù)視場、距離、分辨率和旋轉(zhuǎn)/幀速率來衡量的。3D傳感器,如Velodyne?通常具有360度水平視野。為了高速行駛,一輛自動駕駛汽車至少需要200米的行駛距離,使汽車能夠及時對路況的變化作出反應,三維目標檢測精度取決于傳感器的分辨率,最先進的激光雷達能夠提供3cm的精度。攝像機則是對獲取的圖像通過深度學習方法進行處理,其主要依賴于分辨率的高度和算法的精準程度。
4.2駕駛場景理解
一輛自動駕駛汽車應該能夠檢測到交通參與者和可行駛區(qū)域,特別是在城市地區(qū),那里可能出現(xiàn)各種各樣的物體外觀和遮擋。基于深度學習的感知,特別是卷積神經(jīng)網(wǎng)絡(CNN)成為目標檢測和識別的事實標準,在ImageNet大規(guī)模視覺識別挑戰(zhàn)賽等比賽中取得顯著成績。不同的神經(jīng)網(wǎng)絡結構用于檢測二維感興趣區(qū)域或圖像中的像素分割區(qū)域,3DLidar點云中的邊界盒以及組合相機Lidar數(shù)據(jù)中對象的三維表示。場景感知結果的示例如圖3所示。圖像數(shù)據(jù)信息豐富,更適合于目標識別任務。然而,由于在將成像場景投影到成像傳感器上時丟失了深度信息,因此必須估計被檢測對象的真實3d位置。
4.2.1邊界盒型目標探測器
圖像中最常用的二維目標檢測結構是單級和雙級檢測器。流行的單級探測器有“你只看一次”(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)絡主要是具有像素級分類層的編碼器-解碼器架構。它們基于一些常見網(wǎng)絡拓撲的構建塊。圖5顯示了基于城市景觀數(shù)據(jù)集的四個關鍵語義分割網(wǎng)絡的測試結果。其中每類平均交集是指多類分割,每個像素被標記為屬于特定的對象類,而每類是指前景(對象)-背景(非對象)分割。輸入樣本的大小為480px320px。
4.2.3 定位
定位算法的目的是計算自主車輛導航時的姿態(tài)(位置和方向)。這可以通過GPS等系統(tǒng)來實現(xiàn),但在下面的文章中將重點介紹基于視覺定位的深度學習技術。視覺定位,也稱為視覺里程計(vo),通常是通過匹配連續(xù)視頻幀中的關鍵點標記來確定的。給定當前幀,這些關鍵點用作透視N點映射算法的輸入,用于計算車輛相對于前一幀的姿態(tài)。深度學習可以直接影響關鍵點檢測的精度,從而提高精度。此外,隨著攝像機姿態(tài)的計算,環(huán)境的結構可以逐步映射。這些方法屬于同步定位與映射(slam)領域。為了安全地在駕駛現(xiàn)場導航,一輛自動駕駛的汽車應該能夠估計周圍環(huán)境的運動,也稱為場景流。以往基于激光雷達的場景流估計技術主要依賴于人工設計的特征。本文注意到一種趨勢,即用能夠自動學習場景流的深度學習體系結構取代這些經(jīng)典方法。在占用網(wǎng)格上訓練編碼深度網(wǎng)絡,以在連續(xù)時間步之間找到匹配或不匹配的位置。雖然在基于深度學習的定位領域已經(jīng)取得了很多進展,但是該技術仍然以經(jīng)典的關鍵點匹配算法為主,并結合慣性傳感器提供的加速度數(shù)據(jù)。這主要是因為關鍵點檢測器計算效率高,可以很容易地部署在嵌入式設備上。
4.3使用Occupancy Maps感知
Occupancy Maps也稱為占用網(wǎng)格,它是將駕駛空間劃分為一組單元并計算每個單元的占用概率的環(huán)境表示。圖6示出了幾個Occupancy Maps數(shù)據(jù)樣本。
深度學習用于Occupancy Maps的上下文中,用于動態(tài)對象檢測和跟蹤,車輛周圍占用圖的概率估計或用于推導駕駛場景上下文。在后一種情況下,Occupancy Maps是通過隨著時間的推移積累數(shù)據(jù)來構建的,而深層神經(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)境中存在的所有可能障礙物,并計算沿無碰撞路線的軌跡。一般的認為自動駕駛是一種多智能體設置,在這種設置中,當車輛在超車、讓路、合流、左轉(zhuǎn)和右轉(zhuǎn)時,以及在非結構化城市道路上行駛時,宿主車輛必須與其他道路使用者應用復雜的談判技巧。文獻研究結果指出,一個非瑣碎的策略。本文提出的解決方案是構造一個由可學習部分和非可學習部分組成的策略函數(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)建模,或支持向量回歸。學習技術通常用于學習動力學模型,該模型反過來改進了迭代學習控制(ILC)中的先驗系統(tǒng)模型和模型預測控制(MPC)。迭代學習控制(ilc)是一種控制重復工作系統(tǒng)的方法,例如自動駕駛汽車的路徑跟蹤。它已成功應用于越野地形的導航、自動泊車和自動賽車轉(zhuǎn)向動力學建模。這些方法使用學習機制來識別非線性動力學,用于mpc的軌跡成本函數(shù)優(yōu)化,其使得人們能夠更好地預測干擾和車輛的行為,從而獲得應用于控制輸入的最佳舒適性和安全性約束。此外,學習控制器的一個主要優(yōu)點是,它能將傳統(tǒng)的基于模型的控制理論與學習算法最佳地結合起來。這使得仍然可以使用已建立的控制器設計和穩(wěn)定性分析方法,以及應用于系統(tǒng)辨識和預測級別的魯棒學習組件。
6.2終端學習控制
在自主駕駛的背景下,末端學習控制被定義為從感覺數(shù)據(jù)到控制命令的直接映射。輸入通常來自高維特征空間(如圖像或點云)。如圖1(b)所示,這與傳統(tǒng)的處理過程相反,在傳統(tǒng)的處理過程中,首先在輸入圖像中檢測對象,然后規(guī)劃路徑,最后執(zhí)行計算出的控制值。表1總結了一些最受歡迎的End2End學習系統(tǒng)。
end2end學習也可以表示為一種擴展到復雜模型的反向傳播算法。這種模式最早出現(xiàn)在20世紀90年代,當時在一個神經(jīng)網(wǎng)絡系統(tǒng)中建立了自主陸地車輛。在過去的幾年里,計算機硬件的技術進步促進了end2end學習模型的使用。在并行圖形處理單元(gpu)上實現(xiàn)了深度網(wǎng)絡中梯度估計的反向傳播算法。這種處理允許訓練大型和復雜的網(wǎng)絡體系結構,而這又需要大量的訓練樣本。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ù)的基礎上增加人工移位和旋轉(zhuǎn)來豐富數(shù)據(jù)。一般的,評估分為兩個階段:第一階段是模擬,第二階段是測試車。自主性能指標表示神經(jīng)網(wǎng)絡驅(qū)動汽車的時間百分比:
當模擬車輛偏離中心線超過1米時,假設6秒是人類重新控制車輛并將其恢復到所需狀態(tài)所需的時間,則認為發(fā)生了干預。從Holmdel到美國新澤西州大西洋高地的20公里車程實現(xiàn)了98%的自主性,其中重點是確定輸入交通圖像中哪些元素對網(wǎng)絡的轉(zhuǎn)向決策影響最大。基于drl的控制的下一個趨勢似乎是包含了經(jīng)典的基于模型的控制技術。經(jīng)典控制器提供了一個穩(wěn)定的、確定性的模型,在此基礎上對神經(jīng)網(wǎng)絡的策略進行了估計。這樣,模型系統(tǒng)的硬約束就轉(zhuǎn)化為神經(jīng)網(wǎng)絡策略
7.自動駕駛中的深度學習安全
自動駕駛中的深度學習安全意味著沒有導致系統(tǒng)危險的條件,而系統(tǒng)的安全性在很大程度上取決于技術類型和應用程序上下文。因此,關于深度學習技術的安全性的推理需要:
?理解可能的故障的影響;
?理解更廣泛的系統(tǒng)中的上下文;
?定義關于系統(tǒng)上下文和可能使用它的環(huán)境的假設;
?定義安全行為的含義,包括非功能約束。
8.用于訓練自動駕駛系統(tǒng)的數(shù)據(jù)源
不可否認,使用真實世界的數(shù)據(jù)是訓練和測試自動駕駛組件的關鍵要求。這些組成部分的發(fā)展階段需要大量數(shù)據(jù),這使得在公共道路上收集數(shù)據(jù)成為一項有價值的活動。為了獲得對駕駛場景的全面描述,用于數(shù)據(jù)采集的車輛配備了多種傳感器,如雷達、激光雷達、GPS、攝像機、慣性測量單元(IMU)和超聲波傳感器。傳感器設置因車輛而異,具體取決于數(shù)據(jù)的計劃使用方式。圖7中示出了用于自主車輛的公共傳感器設置。
下表是目前公開可用的最相關數(shù)據(jù)集以及相關的顯著特征。
9.計算硬件和部署
在目標邊緣設備上部署深度學習算法并不是一項簡單的任務,在車輛方面的主要限制是價格、性能問題和功耗。因此,嵌入式平臺由于其可移植性、多功能性和節(jié)能性成為集成汽車內(nèi)人工智能算法的關鍵。Nvidia是為在自主汽車內(nèi)部署深度學習算法提供硬件解決方案的市場領導者。drive-px(nvidia,b)是一款人工智能汽車計算機,旨在使汽車制造商能夠直接專注于自主汽車的軟件。最新版本的drivepx架構基于兩個tegra x2(nvidia,f)片上系統(tǒng)(socs)。每個soc包含兩個denve核、4個arm a57核和一個pascal圖形計算單元(gpu)。nvidia驅(qū)動器px能夠執(zhí)行實時環(huán)境感知、路徑規(guī)劃和定位。它結合了深度學習、傳感器融合和環(huán)繞視覺來改善駕駛體驗。此外,現(xiàn)場可編程門陣列(FPGA)是另一種可行的解決方案,在深度學習應用中,它在性能和功耗方面都有很大的提高。FPGA適用于深度學習算法,其適用性可以從四個主要方面進行分析:效率和功率、原始計算能力、靈活性和功能安全性。此外,由微軟和Xilinx等制造商提出的研究表明,在計算復雜度相同的算法時,GPU可以消耗比FPGA多十倍的功率,這表明FPGA可以更適合于汽車領域的深學習應用。
圖片新聞
最新活動更多
推薦專題
- 項目經(jīng)理(汽車內(nèi)飾&汽車電子) 伯恩光學(惠州)有限公司
- 結構工程師-汽車電子事業(yè)部(J10116) 深圳奧尼電子股份有限公司
- 產(chǎn)品工程師(汽車) 易思維(杭州)科技股份有限公司
- 銷售總監(jiān)-汽車電子方向 深圳市智立方自動化設備股份有限公司
- IE工程師(汽車智聯(lián)) 惠州碩貝德無線科技股份有限公司
- 銷售經(jīng)理(汽車新能源行業(yè)) 廣州瑞松智能科技股份有限公司
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結構工程師 廣東省/深圳市