導讀:今天,我們來了解一下谷歌的自動駕駛汽車Waymo是怎么做的。與其他自動駕駛汽車一樣,Waymo通過4個主要步驟來實施:感知(perception)、定位(localization)、規劃(planning)和控制(control)。這篇文章中,不討論控制相關的內容。對于Waymo來說,預測(這是規劃的一部分)是另一個核心支柱,文中將單獨介紹,我們將首先從感知開始。
Waymo在超過25個城市的公共道路上行駛了超過2000萬英里。他們還在模擬環境中行駛了數百億英里(文章后面會介紹)。此外,Waymo正在美國經營出租車服務,真正地在沒有司機的情況下運送乘客。
一、感知
大多數機器人系統的核心組件是感知任務。在Waymo的案例中,感知包括對障礙物的估計和自動駕駛汽車的定位。
1、傳感器和任務
Waymo的感知系統使用了攝像頭、激光雷達和雷達的組合。由于Waymo的大部分工作都是使用4個LiDAR完成的,可以將其視為與特斯拉完全相反的系統。
以下是Waymo自動駕駛復雜任務的視圖——只是為了讓您了解其計算機視覺系統需要感知的所有事物。
如您所見,對障礙物的信息水平要求非常高:
汽車被分類為常規汽車、警車、救護車、消防車和校車;
如果遇到特種車輛,系統可以觀察警報器和燈光并根據此進行操作;
每個檢測到的障礙物都有一個狀態:移動、停車等;
如您所見,感知系統會考慮“狀態”并將其提供給預測系統。然而,這種感知系統很快就會遇到一些特別棘手的情況。下面是一個例子:
反射問題
上面的反射問題遠不是唯一的棘手問題。再如:人們可以偽裝,躺在卡車車頂上,帶著STOP標志走路 等。我們可能會想象出更多的邊緣情況,我們應該了解系統可能遇到的問題。
Waymo筆記:
但是,在過去幾年中,上述許多問題都得到了解決。
由于激光雷達,反射問題可以得到解決。反射不會出現在激光雷達中;只有點云顯示了真正障礙物的形狀(這里是一輛公共汽車)。
由于地圖,“帶有停車標志人”的問題已得到解決。第一步是檢測 STOP 標志;第二步將這些信息與地圖和先驗知識相匹配。每當 Waymo 檢測到一個標志時,將會查詢“地圖在這里是否包含 STOP 標志?如果沒有,是否正在施工?如果沒有,就沒有理由停下來!”
2、架構
最近在討論Tesla計算機視覺架構時,我探索了HydraNet 架構。它是一種旨在同時運行多個神經網絡的架構?!癏ydra”這個詞意味著一個有多個頭的系統。Waymo沒有談論HydraNets,但有一些關于其視覺系統的事情。
第一件可能會讓你感到驚訝的事是,Waymo的架構并不是固定的,而是估計的。這是一個神經網絡架構搜索(NAS)單元。
這是類似于ResNet的大型神經網絡中的構建塊。這種想法已經在AutoML中采用了。AutoML的思想是神經網絡架構必須由算法估計。
這些架構是使用NAS單元構建的,最佳組合獲勝。測試10,000個架構,預選100個模型,然后選出1個最終獲勝者。獲勝的標準是準確性和推理成本。
3、數據集和模型
Google正在使用一種稱為主動學習的過程。主動學習的思想如下:
對于每條未標記的數據,將其發送給模型進行預測;
如果模型對其預測非常確定,我們得到一個自動標簽;
如果不確定,則將數據發送給人工標注員。這樣,人工標注員只標注難例數據,其余的都是自動標注。
Waymo使用主動學習來訓練模型,利用TPU(Tensor Processing Units)和谷歌的深度學習框架TensorFlow。與特斯拉類似,這是一個閉環。
圖中的描述已經比較清晰;從底部的“Releases”開始,然后向左移動。
* 當模型發布完成之后,數據收集就開始了。
* 一些數據被選中并由神經網絡和人工標注員進行標注。
* 然后標注過的數據集被發送到AutoML架構搜索,評估最佳模型。
* 最佳模型經過驗證、測試并部署。
然后重新開始新的迭代……這些用于感知的機器學習模型的目標是準確估計3D世界。
二、定位
定位意思是得到車輛在1-3厘米精度內的位置。一些公司使用了GPS,有些又添加了攝像頭和激光雷達信息,但是……Waymo使用了地圖、激光雷達和GPS來定位車輛。
Google還利用了從Google地圖獲得的經驗。
多年來,谷歌地圖團隊一直致力于使用激光雷達、攝像頭和GPS進行高精地圖繪制。這些是用于自動駕駛汽車的精確傳感器。
Waymo筆記:
雖然Waze和Google Maps都沒有參與Waymo及其定位模塊,但在地圖上積累的經驗非常有益。
谷歌幾乎已經繪制了整個世界的地圖。如果從相對位置檢測到您看到了2號街道,就可以準確地知道您在哪里。這就是他們過去二十年一直在努力的事情。
Waymo的定位模塊由地圖、攝像頭、GPS和算法組成,可在全世界范圍內準確定位車輛。Waymo還在其模塊中使用了大量冗余,以使其更加健壯和可靠。
三、預測
1、行為預測
Waymo自動駕駛汽車最重要的特點是行為預測。谷歌無法像特斯拉那樣利用車隊的力量。特斯拉利用其客戶數十萬輛汽車收集數據。Waymo無法做到這一點;然而,他們擁有自己的車隊,近年來可能會增長很多。
在自動駕駛汽車中,最終想要的是了解人類行為并預測它們,這就是所謂的行為預測。這些行為預測是使用循環神經網絡進行的:它們使用過去的信息來預測未來的行為。因此,可以確切地知道要做什么,并且可以衡量預測的置信度。
行為預測類似于以下內容:
如果車輛觀察到有行人注視著它,則發生事故的風險很低。
如果觀察到行人不注意就跑,風險會更高。
Waymo的系統知道這一點。怎么做到的呢?在其模型中輸入專家偏見。其預測系統是一個混合體:結合了機器學習和人類知識。人類知識還包括交通法規和不可能的事情(如:人類行走或者跑步的速度不可能達到50公里/小時)。
2、仿真
Waymo駕駛了很多,但也模擬了很多。Waymo構建了一個模擬器,該模擬器將真實世界數據作為輸入并輸出新場景。
以現實生活中發生的情況為例?,F在,使用模擬器修改它。想象一下有一輛車超過了人類司機的情景,再想象一下沒有超過人類司機。這類似于電影《Next》,其中尼古拉斯·凱奇 (Nicolas Cage) 有能力想象每一種可能的場景并選擇他能幸存的場景。
Waymo可以實時前后回放,還可以模擬行為??梢詷嫿ㄍ暾男≌f,并查看算法是如何表現的。模擬器可以發揮真正的力量。事實上,Waymo平均每天 24*7小時運行25,000輛虛擬汽車,并且在這些模擬中每天行駛10,000,000英里。
看看下面的圖片:在右側,可以看到一分為二的黃線。
這不是Dominic Toretto和Brian O'Connor的告別。這兩條線是對車輛可能做的事情的預測。對這輛車的信息掌握的越多,預測就越準確和自信。直到剩下一個……
為了模擬更多場景,Waymo正在使用DeepMind和深度強化學習來創建代理和駕駛策略。
在強化學習中,策略是一種行為。Waymo可以模擬一個憤怒的司機試圖在某人面前危險地切入,或者一個粗心的踏板車司機。每次,他們都會查看算法的行為和正確性。
當對駕駛員進行了準確且訓練有素的預測,就可以生成要采取的軌跡。這也稱為決策和軌跡生成。Waymo的駕駛模型稱為ChauffeurNet。
軌跡是一系列(x,y,z)點組成的
規劃模塊的目標是生成在安全性、速度和可行性方面誤差最低的軌跡。
下面來看看Waymo的完整規劃模塊:
這可能看起來很復雜,但別擔心,這就是我寫這篇文章的原因。
讓我們從頂部開始,將“特征網絡”視為感知、定位和預測的輸出。
在左側,可以看到“Agent RNN”。這實際上是一個為自主車輛生成軌跡的網絡。這些軌跡將考慮航向(可行性)、速度(交通規則)、航路點(長度)和代理(可行性、幾何形狀等)。Agent RNN 的目標是模擬一個可行的、現實的軌跡。
然后在右側,可以看到 Road Mask Net。這是一個網絡,如果它生成的軌跡不在路上,就會受到很高的懲罰。Waymo 通過這種方式確保我們不在人行道上開車。
最后,在最右側,是 Perception RNN。這是一個懲罰與其他車輛的碰撞和互動的網絡。例如,當我們距離車輛 1 米的損失會高于距離 1.5 米時的損失。
總之,網絡生成了一條可行的軌跡,保持在路上,避免碰撞。最后,軌跡還考慮了排斥器和吸引器。我們想留在車道的中心,并且想避開路障并跟隨中心。
生成適當軌跡的過程還使用了一種稱為逆強化學習的技術。
在逆強化學習中,我們嘗試著眼于真實的人類軌跡(真實值),并確定是什么使這條軌跡成為一個好的軌跡。這改進了生成的軌跡并使其更逼真。
四、總結
* 感知是檢測障礙物、交通燈和道路的。Waymo 使用主動學習收集數據,使用 AutoML 生成架構并選擇更高效的架構(準確性和推理時間)。
* 定位主要是找到您所在位置的感知任務。Waymo 利用谷歌地圖的知識來做到這一點。
* 預測是在模擬器中使用循環神經網絡和強化學習來訓練他們的代理來很好地估計軌跡。
* 規劃是根據可行性生成軌跡,保持在路上,避免碰撞。這些車輛還向人工標注員學習,以生成更逼真的軌跡。
Waymo的系統是在自動駕駛汽車上11年研究和實驗的成果。在自動駕駛技術世界中,他們制造汽車的方式有一些阻礙,因為人們表達了對特斯拉系統的偏好,并意識到路上的經驗非常寶貴。
不管你的意見是什么,都不可否認谷歌和Waymo在他們的自動駕駛汽車方面投入了瘋狂的工作和技術。
Waymo還有很長的路要走:
Waymo的主要問題之一是其使用地圖的方式:Waymo不能沒有地圖就開車??梢愿_地繪制整個世界,但對規?;瘉碚f這是一個巨大的挑戰。
Waymo的主要視覺系統由激光雷達組成,實際上這也是一個很大的問題,激光雷達在雪、雨或霧中完全失明。
因此,Waymo經常在亞利桑那州的鳳凰城或加利福尼亞州的舊金山等地方行駛,那里的條件永遠干燥且陽光充足。
Waymo筆記:
最近,Waymo開始在非常潮濕的密歇根州、暴風雨的邁阿密和多雨的華盛頓州行駛。
如果你看看特斯拉,其已經在紐約市中心和巴黎開過自動駕駛汽車。由于特斯拉的司機們,其已經了解了這些地方。規模化可能要容易得多,畢竟依賴激光雷達可能是一個問題。Waymo是特斯拉在L5級自動駕駛競賽中的直接競爭對手!
來源:汽車電子與軟件,作者Alan