天天看點

研究自動駕駛技術的算法需要哪些知識?

自動駕駛系統包括環境感覺和定位,行為預測和規劃控制。作為自動駕駛感覺算法工程師,我這裡就隻說說環境感覺方面需要的知識吧。

本文主要關注自動駕駛中的環境感覺任務,内容包括感覺技術的起源,現狀以及最新的發展趨勢。感覺任務大多涉及算法設計,是以專欄的介紹也以算法為主線,特别是深度學習的算法。此外也會涉及一些資料采集,系統測試,算法部署以及量産感覺系統的分析。

自動駕駛中的環境感覺包含了自動駕駛和環境感覺兩個概念。首先,什麼是自動駕駛呢?下面是維基百科上對自動駕駛汽車的定義。

自動駕駛汽車,又稱無人駕駛車、電腦駕駛車、無人車、自駕車,為一種需要駕駛員輔助或者完全不需操控的車輛。作為自動化載具,自動駕駛汽車可以不需要人類操作即能感測其環境及導航。

上述定義裡有幾個關鍵詞。首先是汽車,我們這裡所說的自動駕駛技術涉及的是汽車,而不是飛機火車之類的交通工具。其次是感覺環境和導航,也就是說自動駕駛汽車可以自主的采集和了解周邊環境資訊,并根據設定的目的地進行決策和行進。最後是需要駕駛員輔助或者完全不需操控,這裡涉及到自動駕駛系統的分級,是一個非常重要的概念,下面稍微展開說一下。

自動駕駛技術不是從0到1的質變,而是一個漸變疊代的過程。關于自動駕駛系統的分級,目前最常用的标準是由SAE(美國汽車工程師學會)制定的。不同機構制定的标準會略有不同,但是基本的概念是一緻的。下表對L0(人工駕駛)到L5(完全自動駕駛)六個級别進行了總結。這些定義可能有些難懂,但是與車輛上不同的功能結合起來就容易了解了。比如說,汽車中現在标配的防抱死制動系統(ABS)和車身電子穩定系統(ESP)就都屬于L1級别。此外,定速巡航、自适應巡航(ACC)以及車道保持輔助 (LKA)也屬于L1級别的範疇,因為它們隻能在一個方向上(橫向或縱向)操控車輛。如果同時實作了 ACC和LKA,那麼這輛車就來到了L2級别。對于L2及其以下級别的系統來說,車輛的駕駛員都需要監控周圍環境并随時做好接管的準備。這一點非常關鍵,這也是很多L2級别的車輛出現交通事故的主要原因,也就是駕駛員對系統期望過高,在駕駛過程中沒有時刻保持對周邊環境的關注。如果一個車輛配備了某種Pilot系統,比如Traffic Jam Pilot,那麼就達到了L3級别。這就意味着,在某些特定的場景下(比如高速公路,堵車等),駕駛員不需要時刻監控目前路況,可以松手,松腳,松眼,隻需要在系統提示時接管車輛即可。在這種限定的情況下,駕駛員已經成為了乘客。對于L4級别的系統,目前隻存在于示範車輛中。我們平時看到的諸如“某廠家的車輛在某道路上實作了XX小時無人工接管的自動行駛”,這都屬于L4級别的範疇,與L3最大的差別是不需要人工接管了,在限定場景下可以實作車輛的完全自主行駛。L5級别就是把“限定場景”這個條件也去掉了。這個級别的車輛最大的特點就是沒有方向盤了,所有人都是乘客,車輛的所有操控權都屬于系統。

了解了自動駕駛是什麼以後,我們再來看看自動駕駛系統是怎麼實作的。一般來說,自動駕駛系統包含感覺,決策和控制這三個主要子產品。粗略來說,這三個子產品對應生物系統的眼睛,大腦和四肢。感覺系統(眼睛)負責了解周圍障礙物和道路的資訊,決策系統(大腦)根據周圍的環境以及設定的目标決定下一步需要執行的動作,而控制系統(四肢)則負責執行這些動作,比如轉向,加速,刹車等。進一步來說,感覺系統裡又包括了環境感覺和車輛定位兩個任務。環境感覺負責檢測各種移動和靜止的障礙物(比如車輛,行人,建築物等),以及收集道路上的各種資訊(比如可行駛區域,車道線,交通标志,紅綠燈等),這裡需要用到的主要是各種傳感器(比如攝像頭,雷射雷達,毫米波雷達等)。車輛定位則根據環境感覺得到的資訊來确定車輛在環境中所處位置,這裡需要高精度地圖,以及慣性導航(IMU)和全球定位系統(GPS)的輔助。

本專欄主要關注環境感覺系統,重點會介紹攝像頭,雷射雷達和毫米波雷達這三種主要的傳感器,以及它們的融合。不同的傳感器有着不同的特性,各自都有優缺點,是以也适用于不同的任務。攝像頭是感覺系統中最常用的傳感器,優勢在于能夠提取豐富的紋理和顔色資訊,是以适用于目标的分類。但是其缺點在于對于距離的感覺能力較弱,并且受光照條件影響較大。雷射雷達在一定程度上彌補了攝像頭的缺點,可以精确的感覺物體的距離和形狀,是以适用于中近距的目标檢測和測距。但是其缺點在于成本較高,量産難度大,感覺距離有限,而且同樣受天氣影響較大。毫米波雷達具有全天候工作的特點,可以比較精确的測量目标的速度和距離,感覺距離較遠,價格也相對較低,是以适用于低成本的感覺系統或者輔助其它的傳感器。但是缺點在于高度和橫向的分辨率較低,對于靜止物體的感覺能力有限。

研究自動駕駛技術的算法需要哪些知識?

環境感覺系統中的多種傳感器

技術概覽

上一節中提到了,環境感覺系統的硬體基礎是多種傳感器以及它們的組合,而軟體方面的核心則是感覺算法。總的來說,感覺算法要完成兩個主要的任務:物體檢測和語義分割。前者得到的是場景中重要目标的資訊,包括位置,大小,速度等,是一種稀疏的表示;而後者得到的是場景中每一個位置的語義資訊,比如可行駛,障礙物等,是一種稠密的表示。這兩個任務的結合被稱為全景分割,這也是自動駕駛和機器人領域最近興起的一個概念。對于物體目标(比如車輛,行人),全景分割輸出其分割Mask,類别和執行個體ID;對于非物體目标(比如道路,建築物),則隻輸出其分割Mask和類别。環境感覺系統的終極目标就是要得到車輛周邊三維空間中全景分割結果。當然對于不同級别,不同場景下的自動駕駛應用來說,需要的感覺輸出不也盡相同。

自動駕駛駕駛技術這一輪的爆發很大程度上來源于深度學習在計算機視覺領域取得的突破,而這個突破首先是從圖像分類和圖像中的物體檢測開始的。在自動駕駛環境感覺中,深度學習最先取得應用的任務是單張二維圖像中的物體檢測。這個領域中的經典算法,比如Faster R-CNN,YOLO,CenterNet等都是不同時期視覺感覺算法的主流。但是,車輛不能僅僅依靠一張二維圖像上的檢測結果來行駛。是以,為了滿足自動駕駛應用的需求,這些基礎的算法還需要進行進一步的擴充,其中最重要的就是融合時序資訊和三維資訊。前者衍生出了物體跟蹤算法,後者衍生出了單目/雙目/多目的三維物體檢測算法。以此類推,語義分割包含了圖像語義分割,視訊語義分割,稠密深度估計。

為了得到更加精确的三維資訊,雷射雷達也一直是自動駕駛感覺系統的重要組成部分,尤其是對于L3/4級别的應用。雷射雷達的資料是相對稀疏的點雲,這與圖像稠密的網格結構差别非常大,是以圖像領域常用的算法需要經過一定的改動才能應用到點雲資料。點雲感覺的任務也可以按照物體檢測和語義分割來劃分,前者輸出三維的物體邊框,而後者輸出點雲中每個點的語義類别。為了利用圖像領域的算法,點雲可以轉換為鳥瞰視圖(Bird's Eye View)或者前視圖(Range View)下的稠密網格結構。此外,也可以改進深度學習中的卷積神經網絡(Convolutional Neural Network, CNN),使其适用于稀疏的點雲結構,比如PointNet或者Graph Neural Network。

毫米波雷達由于其全天候工作,測速準确,以及低成本的特點,也被廣泛的用于自動駕駛感覺系統中,不過一般應用在L2級别的系統中,或者在L3/4級系統中作為其它傳感器的輔助。毫米波雷達的資料一般來說也是點雲,但是比雷射雷達的點雲更為稀疏,空間分辨率也更低。相比于攝像頭和雷射雷達,毫米波雷達的資料密度非常低,是以一些傳統方法(比如聚類和卡爾曼濾波)表現的并不比深度學習差很多,而這些傳統方法的計算量相對較低。最近幾年來,開始有研究者從更底層的資料出發,用深度學習代替經典的雷達信号處理,通過端對端的學習取得了近似雷射雷達的感覺效果。

單個傳感器的感覺能力總是有限的,如果把系統成本先放在一邊,多傳感器融合的方案自然更好的選擇。一般來說,攝像頭是感覺系統的必備的傳感器,為了得到深度資訊和360度的視場,可以采用雙目或者多目融合的方案。為了更準确的獲得三維和運動資訊,攝像頭也可以與雷射雷達和毫米波雷達進行融合。這些傳感器的坐标系不同,資料形式不同,甚至采集頻率也不同,是以融合算法的設計并不是一件簡單的任務。粗略來說,融合可以在決策層(融合不同傳感器的輸出)或者資料層(融合不同傳感器的資料或者中間結果)來進行。資料層融合理論上說是更好的方法,但是對傳感器之間的空間和時間對齊要求會更高。

以上大緻介紹了環境感覺中所涉及的算法部分,算法部分的其它一些内容,比如多目相機的融合,多傳感器的空間和時間對齊,後續也會進行介紹。

除了核心算法設計以外,感覺系統中其它重要的部分還包括資料的采集和标注,算法的測試和疊代,以及系統的部署等,這些内容之後專欄中也會推出系列文章進行分析。

行業現狀

了解了感覺系統中所包含的技術之後,下一步我們來看看這些傳感器在目前的量産或者示範車輛中的應用現狀。

粗略來說,自動駕駛公司可以分為兩大類别。一類是傳統的車企(比如國外的大衆,寶馬,通用,豐田等,國内的長城,吉利等),新能源車企(比如特斯拉,蔚來,小鵬等)和Tier1(比如國外老牌的博世,大陸,安波福)等,以及國内新興的華為,大疆等)。這類公司的首要目标是量産,一般以L2級别方案為主,目前也在向L3級别擴充。另外一類是一些方案提供商或者初創公司(比如Waymo,Mobileye,Pony.AI,Momenta,TuSimple等)。這些公司緻力于發展L4級别的自動駕駛技術,面向的是諸如Robotaxi,Robotruck和Robobus之類的應用。

對于不同的自動駕駛級别,不同的應用場景,傳感器的配置方案也不盡相同。對于L2級别的應用,比如緊急制動和自适應巡航,可以隻采用前視單目攝像頭或者前向毫米波雷達。如果需要變道輔助功能,則需要增加傳感器對相鄰車道進行感覺。常用的方案是在車頭和車尾增加多個角雷達,以實作360度的目标檢測能力。對于L3級别的應用,需要在特定場景下實作車輛的完全自主駕駛,是以需要擴充車輛對周邊環境的感覺能力。這時就需要增加雷射雷達,側視和後視的攝像頭和毫米波雷達,以及GPS,IMU和高精度地圖來輔助車輛定位。到了L4級别以後,由于在特定場景下不需要人工接管了,傳感器就不僅需要高精确度,還需要高可靠性。這就需要增加傳感器的備援性,也就是說需要備用系統。

下面我們來看幾個具體的案例。

首先是特斯拉近期推出的純視覺方案。雖然一提起自動駕駛,很多人腦子裡最先想到的就是特斯拉,但是特斯拉其實也隻是L2級别(或者說進階L2)的自動駕駛系統,因為還是需要駕駛員随時準備好接管車輛。如果你隻在L2級别的系統裡橫向對比,那麼特斯拉的方案還是很有競争力的。這個系統隻采用了視覺傳感器,包括了安裝在車身不同位置,多種焦距和視野範圍的攝像頭。這些攝像頭可以覆寫360度的視野,并且有一定的備援性。特斯拉在AI Day上展示的基于深度學習的的多攝像頭融合算法,個人覺得還是非常值得研究一下的,後續也會推出文章進行詳細分析。

研究自動駕駛技術的算法需要哪些知識?

特斯拉的純視覺傳感器配置(L2級别)

2017年夏天,奧迪釋出了第四代A8,其中最大的亮點就是搭載了Traffic Jam Pilot(TJP)系統。前文提到了,TJP系統已經屬于L3的範疇,是以奧迪A8可以說是全球首個“量産”的L3級系統。為什麼加上引号呢,這是因為該功能在傳遞的車輛中一直沒有開啟,使用者隻能在奧迪自己的示範車中體驗。奧迪官方的解釋是法規方面的問題,但其實最核心的原因還是技術方面的,也就是L3中的所謂的“接管悖論”問題。在60公裡時速以下的結構化道路堵車場景中,TJP系統允許駕駛員低頭玩手機或者睡覺。這時如果出現突發狀況,可能就會出現接管不及的情況。雖然奧迪在2019年底取消了L3級自動駕駛項目,但是這個探索也為後續的L4和各種進階L2系統的研發提供了寶貴的經驗。更多的細節這裡就不展開說了,我們下面來看看這套系統中傳感器方案。奧迪A8全車共有12個超音波傳感器、4個全景攝像頭、1個前置攝像頭、4個中程雷達、1個遠端雷達、1個紅外錄影機。此外,奧迪A8首次搭載了一個4線的車規級雷射雷達,并且配備中央駕駛輔助系統控制單元(zFAS),這些都是L3級自動駕駛系統的必備選項。

研究自動駕駛技術的算法需要哪些知識?

奧迪A8的傳感器配置(L3級别)

從L2到L3,再到L4,傳感器方面最大的變化就是增加了雷射雷達,而且數量逐漸增加。比如,在Waymo的傳感器方案中,除了前向的雷射雷達外,還增加了後向和車頂的360度雷射雷達。而且雷射雷達的線束數量顯著提高,可以達到300米左右的感覺範圍。除了Waymo,其它各家公司的L4系統都不可避免的包含了一個或者多個雷射雷達。從目前的技術發展趨勢來看,實作L4級别的自動駕駛主要還是靠增加傳感器,進而大幅提升對駕駛路況和環境的感覺能力,而這其中最重要的就是雷射雷達。到了L4級别,車輛在限定場景下完全自主行駛,這時99%的準确度就不夠了,而需要的是99.99999%的準确度,而雷射雷達就是小數點後幾位的保障。這種保障來自雷射雷達與其它各種傳感器之間的配合,而不僅僅是簡單的堆疊,是以高效精确的傳感器融合在L4級别的系統中起到至關重要的作用。

研究自動駕駛技術的算法需要哪些知識?

Waymo的傳感器配置(L4級别)

轉載自網絡,文中觀點僅供分享交流,不代表本公衆号立場,如涉及版權等問題,請您告知,我們将及時處理。

-- END --

繼續閱讀