今天,我們來了解一下谷歌的自動駕駛汽車Waymo是怎麼做的。
Waymo在超過25個城市的公共道路上行駛了超過2000萬英里。他們還在模擬環境中行駛了數百億英里(文章後面會介紹)。此外,Waymo正在美國經營計程車服務,真正地在沒有司機的情況下運送乘客。
由於Waymo的快速增長,下午將深入介紹Waymo的技術,以便您瞭解這個巨頭背後的實際情況。
與其他自動駕駛汽車一樣,Waymo透過4個主要步驟來實施:感知(perception)、定位(localization)、規劃(planning)和控制(control)。
這篇文章中,不討論控制相關的內容。對於Waymo來說,預測(這是規劃的一部分)是另一個核心支柱,文中將單獨介紹。
我們首先從感知開始
感知
大多數機器人系統的核心元件是感知任務。在Waymo的案例中,感知包括對障礙物的估計和自動駕駛汽車的定位。
感測器和任務
Waymo的感知系統使用了攝像頭、鐳射雷達和雷達的組合。由於Waymo的大部分工作都是使用4個LiDAR完成的,可以將其視為與特斯拉完全相反的系統。
以下是Waymo自動駕駛複雜任務的檢視——只是為了讓您瞭解其計算機視覺系統需要感知的所有事物。
如您所見,對障礙物的資訊水平要求非常高:
汽車被分類為常規汽車、警車、救護車、消防車和校車。
如果遇到特種車輛,系統可以觀察警報器和燈光並根據此進行操作。
每個檢測到的障礙物都有一個狀態:移動、停車等
如您所見,感知系統會考慮“狀態”並將其提供給預測系統。
然而,這種感知系統很快就會遇到一些特別棘手的情況。下面是一個例子:
反射問題
上面的反射問題遠不是唯一的棘手問題。再如:人們可以偽裝,躺在卡車車頂上,帶著STOP標誌走路 等。我們可能會想象出更多的邊緣情況,我們應該瞭解系統可能遇到的問題。
Waymo筆記:
但是,在過去幾年中,上述許多問題都得到了解決。
由於鐳射雷達,反射問題可以得到解決。反射不會出現在鐳射雷達中;只有點雲顯示了真正障礙物的形狀(這裡是一輛公共汽車)。瞭解更多的鐳射雷達資訊。
由於地圖,“帶有停車標誌人”的問題已得到解決。第一步是檢測STOP標誌;第二步將這些資訊與地圖和先驗知識相匹配。每當Waymo檢測到一個標誌時,將會查詢“地圖在這裡是否包含STOP標誌?如果沒有,是否正在施工?如果沒有,就沒有理由停下來!”
架構
最近在討論Tesla計算機視覺架構時,我探索了HydraNet 架構。它是一種旨在同時執行多個神經網路的架構。“Hydra”這個詞意味著一個有多個頭的系統。
Waymo沒有談論HydraNets,但有一些關於其視覺系統的事情。
第一件可能會讓你感到驚訝的事是,Waymo的架構並不是固定的,而是估計的。
這是一個神經網路架構搜尋(NAS)單元。
這是類似於ResNet的大型神經網路中的構建塊。這種想法已經在AutoML中採用了。AutoML的思想是神經網路架構必須由演算法估計。
這些架構是使用NAS單元構建的,最佳組合獲勝。
測試10,000個架構,預選100個模型,然後選出1個最終獲勝者。獲勝的標準是準確性和推理成本。
資料集和模型
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還在其模組中使用了大量冗餘,以使其更加健壯和可靠。
預測
行為預測
Waymo自動駕駛汽車最重要的特點是行為預測。谷歌無法像特斯拉那樣利用車隊的力量。特斯拉利用其客戶數十萬輛汽車收集資料。Waymo無法做到這一點;然而,他們擁有自己的車隊,近年來可能會增長很多。
在自動駕駛汽車中,最終想要的是瞭解人類行為並預測它們。這就是所謂的行為預測。
這些行為預測是使用迴圈神經網路進行的:它們使用過去的資訊來預測未來的行為。因此,可以確切地知道要做什麼,並且可以衡量預測的置信度。
行為預測類似於以下內容:
如果車輛觀察到有行人注視著它,則發生事故的風險很低。
如果觀察到行人不注意就跑,風險會更高。
Waymo的系統知道這一點。怎麼做到的呢?在其模型中輸入專家偏見。其預測系統是一個混合體:結合了機器學習和人類知識。人類知識還包括交通法規和不可能的事情(如:人類行走或者跑步的速度不可能達到50公里/小時)。
模擬
Waymo駕駛了很多,但也模擬了很多。Waymo構建了一個模擬器,該模擬器將真實世界資料作為輸入並輸出新場景。
以現實生活中發生的情況為例。現在,使用模擬器修改它。想象一下有一輛車超過了人類司機的情景,再想象一下沒有超過人類司機。
這類似於電影《Next》,其中尼古拉斯·凱奇 (Nicolas Cage) 有能力想象每一種可能的場景並選擇他能倖存的場景。
next
Waymo可以實時前後回放,還可以模擬行為。可以構建完整的小說,並檢視演算法是如何表現的。模擬器可以發揮真正的力量。事實上,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不能沒有地圖就開車。可以更精確地繪製整個世界,但對規模化來說這是一個巨大的挑戰。
Waymo的主要視覺系統由鐳射雷達組成,實際上這也是一個很大的問題,鐳射雷達在雪、雨或霧中完全失明。
因此,Waymo經常在亞利桑那州的鳳凰城或加利福尼亞州的舊金山等地方行駛,那裡的條件永遠乾燥且陽光充足。
Waymo筆記:
最近,Waymo開始在非常潮溼的密歇根州、暴風雨的邁阿密和多雨的華盛頓州行駛。
如果你看看特斯拉,其已經在紐約市中心和巴黎開過自動駕駛汽車。由於特斯拉的司機們,其已經瞭解了這些地方。規模化可能要容易得多,畢竟依賴鐳射雷達可能是一個問題。
Waymo是特斯拉在L5級自動駕駛競賽中的直接競爭對手!
寫在最後
行業轉型交流群
交流轉型遇到的困難、分享轉型過程中的心得,可掃描右方二維碼新增工作人員微信,並提供一下名片和個人簡歷,然後拉您入群。
注:加微信時務必備註您的真實姓名、公司、現崗位
以及意向崗位等資訊,謝謝!
關於投稿
如果您有興趣給《九章智駕》投稿(“轉型經歷總結”及“知識積累整理”兩個方向),請掃描右方二維碼,新增工作人員微信。
注:加微信時務必備註您的真實姓名、公司、現崗位
以及意向崗位等資訊,謝謝!
“知識積累”類稿件質量要求:
A:資訊密度高於絕大多數券商的絕大多數報告,不低於《九章智駕》的平均水平;
B:資訊要高度稀缺,需要80%以上的資訊是在其他媒體上看不到的,如果基於公開資訊,需要有特別牛逼的獨家觀點才行。多謝理解與支援。