Tesla自動駕駛的前世今生
【本文近一萬字,預計閱讀時間30分鐘,圖片50張,請盡量連接WIFI,歡迎閱讀,提前感謝,本文已授權部分轉載自ifanr】
前言——自動駕駛還是自動輔助駕駛?在說自動駕駛前,我們不妨先回到課堂,來說一點這方面的背景知識,在很多Tesla的宣傳材料中會有這麼一句:
在比較新的Tesla的Model S和Model X車上搭載了他們Autopilot 自動輔助駕駛系統。
很多媒體喜歡把Autopilot翻譯成自動駕駛,其實Autopilot 這個詞來源於飛機、列車、輪船領域的輔助駕駛系統,引用維基百科的定義:
An autopilot is a system used to control the trajectory of a vehicle without constant "hands-on" control by a human operator being required. [1]
Autopilot一個用來控制載具軌道而無須人工一直干預的系統
而我們常說的自動駕駛汽車,無人駕駛,其實是另一個單詞:Autonomous car,引用維基百科的定義:
An autonomous car (driverless car, self-driving car, robotic car) is a vehicle that is capable of sensing its environment and navigating without human input.[2]
自動駕駛車(無人駕駛車,自駕駛車,機器人車)是能自動感應周圍環境並且無需人干預而自動導航的載具
所以前者Autopilot在業界(航空,火車,輪船等)早有習慣對其定義是一種輔助駕駛系統,主要目的是節省駕駛員精力,在無須駕駛員連續干預的情況下,自主完成既定的部分航線。
而後者則是指載具能自主完成航線規劃以及行進。兩者很主要的區別是人的參與度,前者需要人參與,而後者完全不需要人參與。
現在的問題是這兩個完全不同意義和背景的單詞,被翻譯成中文都成了「自動駕駛」。所以人們的誤解先從這裡開始,在英語國家看來Autopilot指的就是飛機上那種輔助系統,但是到了中國,就變成了無需人而自動上路的車。也無外乎在一個月前,Tesla 官方把翻譯從自動駕駛換成了自動輔助駕駛:
雖然兩者在中文環境都能翻譯成自動駕駛,顯然自動輔助駕駛比自動駕駛更能表明Autopilot這個系統的實際用途,否則也不會有這次中文改名了:
所以現在我們統一了對自動駕駛的定義,我們來看看Tesla的這個自動輔助駕駛系統Autopilot背後究竟是什麼技術,為了不引起困擾,我會在後文中分別用對應的自動輔助駕駛來指代Tesla的Autopilot,用自動駕駛來指代業界對無人駕駛的定義。Autopilot 1.0 —— 借水行舟的Tesla
說到Tesla這個自動輔助駕駛,就必須先說目前第一代Autopilot背後的功臣:Mobileye
在Mobileye的演示視頻中可以看到他們通過對攝像頭採集的數據進行分析和處理可以識別道路:[5]
這個演示中,Mobileye識別出不同車的位置以及形狀,前後(綠線)或者側面(黃線):[6]
這裡是標記出行進中障礙物的位置以及可用空間:[5]
所以把上述技術綜合到一起就是下圖這樣:
包括車的形狀,位置,前後都能一一識別
以及行人,障礙物,還有路牌,紅綠燈都能辨別出來
道路的方向,可用的空間都被一一記錄下來
所以綜合上面幾種技術,Mobileye獨到之處在於:- 自由空間標記
- 啟發式路徑尋找
- 道路避障
- 路牌識別
所以由於Mobileye的技術在其領域內非常獨到,也無怪乎上面一眾車上都找上門來使用其技術和晶元。在這個視頻中,他們甚至還調侃NVIDIA去年發布的Drive PX車用電腦使用了Mobileye eyeQ3晶元但是沒有說明出處:[5]
NVIDIA官方的Drive PX官方宣傳圖:[7]
當然現在已經更新到Drive PX2,使用Tegra Pascal晶元
由於Mobileye的視覺識別晶元被廣泛應用於汽車領域,所以Tesla找上Mobileye採購專用視覺識別晶元並不意外,但是有意思的是Tesla並沒有完全採用Mobileye的軟體,而是通過自己的軟體結合Mobileye以及NVIDIA硬體來實現了自己的自動輔助駕駛Autopilot,為什麼會這樣?在下面這些線索裡面我們可能會找到答案:
1. 在 What goes into sensing for autonomous driving? 這個視頻中,Mobileye的Amnon博士在32分鐘的時候提到了Tesla的自動輔助駕駛,稱其使用了一部分EyeQ3的計算能力:[6]
Tesla的自動輔助駕駛使用了一部分(EyeQ3)的潛力...
他的話間接證實了Tesla的自動輔助駕駛只是使用了其硬體EyeQ3,但是搭配的是自己的軟體。因為如果是使用的Mobileye的完整解決方案,是不可能只使用某個局部功能的,例如紅綠燈識別,無中間黃線的雙行道識別等並沒有被Tesla用上。
2. 第二個證據,我們首先從一個悲劇開始:今年5月,Josh Brown駕駛的Tesla Model S在佛羅里達一條未封閉的高速上因為與橫穿馬路的大卡車相撞而喪命,這起看似普通的交通事故卻引起了廣泛關注,原因便是這是第一起在自動輔助駕駛中發生的車禍。
我們先來回顧一下Mobileye以及Tesla官方對這次事件的回復:
在Josh Brown車禍發生時,Mobileye的發言人首先出來澄清說自己的系統不能勝任這樣的碰撞檢測:
Dan Galves, Mobileye』s Chief Communications Officer:
「We have read the account of what happened in this case. Today』s collision avoidance technology, or Automatic Emergency Braking (AEB) is defined as rear-end collision avoidance, and is designed specifically for that. This incident involved a laterally crossing vehicle, which current-generation AEB systems are not designed to actuate upon. Mobileye systems will include Lateral Turn Across Path (LTAP) detection capabilities beginning in 2018, and the Euro NCAP safety ratings will include this beginning in 2020.」
我們的緊急剎系統主要應對於追尾導致的碰撞,對於這次車禍中的橫穿車輛,我們目前的系統沒法準確處理。類似的情況會在2018年左右的新系統中解決。
Tesla 很快對Mobileye的評論進行了回應,解釋了Tesla雖然也是使用了Mobileye的晶元,但是技術上已經涵蓋了這種碰撞處理,只是由於當時環境條件導致失誤,沒能阻止慘劇發生:
「Tesla』s autopilot system was designed in-house and uses a fusion of dozens of internally- and externally-developed component technologies to determine the proper course of action in a given scenario. Since January 2016, Autopilot activates automatic emergency braking in response to any interruption of the ground plane in the path of the vehicle that cross-checks against a consistent radar signature. In the case of this accident, the high, white side of the box truck, combined with a radar signature that would have looked very similar to an overhead sign, caused automatic braking not to fire.」
Tesla的自動輔助駕駛是我們自己開發的,綜合使用了內外部各種設備和技術來處理這樣的情況。從2016年1月開始,我們的緊急制動就會在這種類似的車輛橫穿中生效。但是在這次事故中,高大,白色的卡車車廂,被攝像頭捕捉後被誤判成橫跨馬路的路牌,才是導致問題的原因。
知乎上關於這次車禍的問題提了很多,但是可惜的是很多媒體還是缺乏基本的常識,為了騙個眼球取了一個駭人聽聞的標題《無人駕駛第一起命案——特斯拉製造》[10]
個人意見,這個標題犯了兩個錯誤:
1. 自動輔助駕駛不是無人駕駛(Autopilot vs Autonomous)
2. 自動輔助駕駛沒能避免的車禍 vs 自動輔助駕駛導致的車禍
你說:第一條我還能理解,前面已經詳細說明和對比了自動輔助駕駛和無人駕駛的區別,
但是第二條不是文字遊戲嗎?
還真不是。
在統計學中有兩個重要概念:False Positive 和 False Negative,翻譯過來就是「誤報」和「漏報」:誤報就是指明明是正確的東西,被報告成錯誤;漏報則是明明是錯誤的東西,卻漏過了。
打個比方,就好比你有一個殺毒軟體,漏報就是有個病毒沒發現,被漏過了,這在靠病毒關鍵詞數據去尋找病毒的方式非常常見——一個新病毒很容易就感染成千上萬台電腦。而誤報則是把用戶的正常文件當成病毒給刪除了,這會導致嚴重的信任問題。因為誤報行為相對漏報而言更加明顯,容易被用戶感知到,且一旦出現,可能會造成較大的影響,賽門鐵克的誤殺事件就是一個典型的例子。
同樣在自動駕駛領域這是非常嚴肅的區別,繼續借用Amnon Shashua 博士的Mobileye例子來說明為什麼有區別:[5]
漏報False Negative:系統失靈,系統延遲生效,不準確的測量等
誤報False Positive:錯誤的緊急剎車,錯誤的轉彎,跨過黃線逆行等
Amnon博士說自動駕駛的漏報就像殺毒軟體漏報一樣是不可能完全避免的,實現世界中總會有極端的邊界狀況出現,去挑戰已有的技術,讓技術失效,但是系統每次更新都會加強和完善,去修復錯誤,變得越來越好。說完了漏報,他接著強調了誤報對自動駕駛是個更加嚴重的問題:輕則召回,重則損失上億還得背負罵名,甚至一蹶不起。例如最近沸沸揚揚的高田安全氣囊召回:豐田因安全氣囊隱患在美新召回158萬輛汽車中華人民共和國商務部網站 就是誤報導致本該救人的設備反而成了致命兇手。想像一下你在正常自動駕駛行駛時汽車感應到前面一個小石頭當成一面牆,然後緊急剎車會事什麼狀況?或者自動駕駛時車突然開到對面逆行車道會是什麼情況?
如果舉例來說,自動駕駛的漏報可能是車前面有1000種不同大小,材質,形狀的路障。測試時發現999個都順利剎車,有1種失敗,這1種就是漏報;而誤報可能是車偵測到前方有一個小易拉罐,確誤認為是無法通過的路障,緊急剎車導致追尾乃至嚴重事故。所以在自動駕駛領域,漏報是可以理解的,沒有任何系統可議做到100%完美,但是誤報往往就是人命關天的大事,說明系統本身有缺陷,輕則召回,重則廠商會承擔嚴重的法律責任。那麼我們來看這次Josh Brown的事故是哪種呢?
正是漏報(False Negative),Tesla的自動輔助駕駛把橫向而過的卡車當成了爬坡路上的路牌,以為車輛能順利通過,結果車從卡車底部穿過,Josh Brown當場喪命,作為一次致死的事故,在高速上轉頭的卡車司機理所當然承擔所有責任:
所以前面說媒體喜歡標題黨,本來是一次自動輔助駕駛未能避免的車禍,被說成是自動輔助駕駛導致的車禍,一字之差,實際內容相差十萬八千里。
在Tesla當時的自動輔助駕駛軟體看來,卡車的車廂就像是這個下潛隧道的橋面,遠看似乎能通過,實際是不行的:
所以我們對這起事故已經有了定性:
這是Tesla自動輔助駕駛時,由於系統沒能正確識別橫向來的卡車,自動輔助駕駛中的緊急剎車功能沒能正常啟用導致的。而緊急剎車沒有啟用是因為自動駕駛系統沒有發送開啟指令,自動駕駛系統沒有發送指令是因為給予當時攝像頭採集的畫面,誤判橫行而過的卡車是橫在路上的路牌。
這裡面暴露了Mobileye技術的幾個不足:
- Mobileye的攝像頭接受的是光的反射,如果攝像頭效果受影響,例如在黑暗場景中沒有了光線,那麼識別能力大打折扣。
- Mobileye的攝像頭獲得的是2D平面數據,需要圖像識別的加工才能得到有價值的3D場景。
- Mobileye的攝像頭方案對道路場景的變化反應有限,全靠即時的系統自主判定。
- Mobileye的攝像頭數據獲取是一種被動的方式,它搜集的數據都是已經發生的事,並且還有延遲
所以這起車禍時,攝像頭剛好遇到太陽下山時強烈的背光導致識別能力不足,收集到的數據不完備,而這不完備的2D數據又經過圖像識別加工成錯誤的3D場景,讓車誤判了前方的路況,從而釀成慘禍。
所以從根本上說,這次車禍是在一個非常極端的情況下,各種負面因素累加而成的結果。雖然技術上來說一次漏報並不足以對整個自動輔助駕駛系統判死刑,但是不能不說這次事故不夠警醒,這裡面的教訓讓Tesla 延遲了計劃中的 8.0系統的發布,直接加速雷達主導的自動輔助駕駛時代的來臨。
從這次嚴重的事故至今已經過去了有小半年,Tesla在路上行駛的的車更多了,使用自動輔助駕駛的車也更多,但是並沒有再發生類似的事故,一定程度上也佐證了那次事故的唯一性和漏報特徵——因為如果這是一次誤報的話,類似的事情應該隨著用戶的增加而層出不窮才對。就像現被報道的某廠熱門手機,由於電池的故障導致充電可能自燃,全球召回耗資10億不說還得承擔巨大的信譽損失。
Tesla自動駕駛1.0——是遊刃有餘還是如履薄冰?
說完了Tesla自動輔助駕駛技術的來源,我們現在來看看Tesla的自動輔助駕駛是怎樣一種技術,又是如何煉成的:
首先,我們不妨回顧一下目前業界對車自動駕駛等級的定義:
參照美國的標準,其中NHTSA是美國國家公路交通安全管理局,SAE是美國汽車工程師協會
圖片來源:http://www.cheyun.com/content/10421目前Tesla的自動輔助駕駛Autopilot達到了第二級,部分實現了第三級功能,在向完整實現第三級乃至第四級邁進。
同時目前業界和學術界對自動駕駛的實現方法來說主流是攝像頭和Lidar,雷達都是作為輔助信號。
Lidar,攝像頭,雷達之間有什麼區別呢?對此非專業研究自動駕駛的筆者只能簡單介紹一下:
Lidar,俗稱的激光雷達:
攝像頭,以Mobileye舉例就是特殊定製的單色攝像頭,位於車頂玻璃上方:
而雷達,則是分布於車四周以及前方的雷達探測點:
在很多自動駕駛開發平台上,往往是綜合運用這三者,然後通過相應的軟體演算法去處理這些設備收集而來的數據
雷達穿透力很強,不受雨霧等環境影響,也不受限於光線,但是生成的3D環境圖在Tesla 8.0自動輔助駕駛公布之前並沒有多少實際應用範例Lidar穿透力其次,可以生成3D影像圖,但是成本巨大,甚至達到整車的成本,同時體積也是個需要解決的問題,多為學術界和研究時的標配,在量產路上還需要很長的時間,此外Lidar由於是可見光域,所以也受到雨,塵埃,霧的影響,同時反射效果並不強。
攝像頭沒有穿透力,需要光線,只能獲取2D圖像,3D環境建模只能靠演算法理解,一旦獲取的圖形有誤差,會極大的影響最終分析結果,好處當然是成本非常低,而且技術普遍被工業界研究,例如Mobileye,NVIDIA等圖像識別巨擎。
簡單分析完三種技術的優劣,我們來看Tesla的自動駕駛方案,下面的截圖來自於Tesla 自動駕駛部門負責人Sterling Anderson在2016年5月於MIT的演講:[8]
Sterling一上台就開門見山的說Tesla為什麼要搞自動駕駛:
為了「更快的推進世界向可持續能源前進」,這個願景被轉化成兩個目標:
- 讓我們的交通資源更高效
- 讓我們更高效的使用目前的交通資源
第二條便是對應的自動駕駛系統,正是目前低效的駕駛系統和各種人為失誤導致每年單在美國就有3萬3千人喪生,55億個小時被堵車浪費掉,同時還需要2740平方公里用來作停車場。
Tesla 目前在Model S和Model X上面採用的自動輔助駕駛系統集成了12個超聲波感測器,用來識別周圍環境:
一個前置攝像頭,用來辨識前方物體:一個前置雷達,用來辨識前方物體:
以及衛星高精度地圖:
接下來的部分便十分有趣,Tesla雖然在所有車上面內置了自動輔助駕駛的硬體,但是真正把完整的自動輔助駕駛交給用戶其實是一個不短的過程,而這其中促成這一切的關鍵是OTA空中更新——最初的Tesla只是擁有道路輔助警告,依靠每一輛Tesla都擁有免費的無線3G/4G LTE網路,通過OTA來獲取最新的軟體和功能進一步擴展輔助駕駛的潛力:
- 2014年10月在所有Tesla車型上面安裝自動輔助駕駛硬體(6.0系統)
- 2014年11月開啟道路偏離警告和速度提示(通過攝像頭讀取路邊車速牌)
- 2014年12月開啟自適應定速巡航系統以及前方碰撞預警
- 2015年3月開啟自動緊急剎車和盲點預警
- 2015年10月開啟自動方向盤接管,側方位碰撞躲避和一字位自動停車,真正意義上實現了自動輔助駕駛功能(正式啟用7.0系統)
- 2016年1月開啟十字位停車,彎道車速適應以及召喚進出車庫(7.1系統)
接下來的內容更加有趣,這張關於車隊學習幻燈片介紹了幾個重要數據:
從自動輔助駕駛硬體開始收集道路數據開始到2016年5月,Tesla收集了12億五千萬公里的數據
從自動輔助駕駛激活到2016年5月,Tesla收集了1億6千萬公里的自動駕駛數據
車隊每天會記錄420萬公里里程數據(現在這個數據已經擴大到500萬公里),只需要大約6小時便可以收集100萬公里數據
Tesla非常聰明的一點是在2014年10月之後的車身上全面安裝了自動輔助駕駛硬體,即便是你沒有花錢激活自動輔助駕駛功能,你的車一樣會在路上搜集數據。
這是個什麼概念?Google的自動駕駛汽車,從立項到現在4年一共也就積累了不到250萬公里的數據。[9] Tesla只需要15個小時便達到了...... 這指數級的差別註定了對後面Tesla 8.0更新的大換血埋下了伏筆。
Sterling專門舉例說Tesla的自動輔助駕駛性能從最初不如人工駕駛到目前遠超人工駕駛全靠一步一步的通過真實數據去對比和學習。下面是Tesla 自動輔助駕駛一個月中的數據對比:自動輔助駕駛時,Tesla可以更長時間保持在道路中心,對比人工駕駛只有不到1/3的時間能做到完全居中,差別非常顯著。
說完了理論依據,我們再看看實際上路的表現,這裡附上外媒對Tesla 自動輔助駕駛和其他車商類似自動輔助駕駛的對比和評測:
1. The War For Autonomous Driving: 2017 Mercedes-Benz E-Class VS. 2017 Tesla Model S
2. Semi-Autonomous Cars Compared! Tesla vs. BMW, Mercedes, and Infiniti
3. Hands off
4. Testing (Semi) Autonomous Cars With Tesla, Cadillac, Hyundai, and Mercedes
上述測試中翔實的測試數據和結論足夠我再寫一篇長文分析了,由於時間原因,只作部分摘錄和翻譯:
在上面autofil的測試中,測試者發現賓士E200的自動輔助駕駛有非常嚴重的漂移現象:
在過一個大彎的途中:
賓士在自動輔助駕駛中越過了道路中央的黃線,並且跑到了逆行車道,我們不得不人工把車調回來,因為車完全沒意識到自己已經逆向行駛。
Tesla始終保持在黃線內測,無需人工干預。
小彎道:
賓士在行駛中滑出了道路白線,並且完全沒有修正企圖。
Tesla很輕鬆就保持在道路中心。
下一個彎道中,賓士繼續滑出了黃線,而Tesla繼續保持領先
最後我們高速通過彎道:我們放開讓汽車自己控制,不出意外,賓士繼續滑出了黃線,奔向了逆行車道。
Tesla雖然有點擦線,但是它依然保持在道內並且減速後順利通過了彎道,我們沒有人工干預。
對比全程的結論:
Steering Wheel warning:車輛發出的掌握方向盤預警
Driver input:手工干預次數
thedrive的結論:Benz Drive Pilot: The only good thing about Drive Pilot is that your Mercedes will protect you from it. Did I trust it? Only at a crawl. Did I understand it? I don』t understand how Mercedes-Benz could release this to the public. I hated literally everything about it. It drove like a drunk ten year old, fighting for the wheel with a drunk fourteen year old. It was, in most conditions, dangerous.
賓士Drive Pilot:唯一值得一提的是這系統會想方設法保護你不要用它... 我能否信任它?一丟丟而已。我能否理解它?我完全無法理解賓士怎麼能把這樣一個系統發布給公眾。基本從頭到尾都讓人厭惡,它開起來就像一個喝醉酒的10歲小屁孩,跟一個10歲的醉酒小青年搶方向盤。在大多數情況中,它開得太危險。Autopilot: I loved it. A few hours in and one begins to learn a dance between looking out the window, looking at the display and using the stalk to manage speed. Once mastered, the pedals become largely unnecessary. It drives like a very good second year teenage license holder who really wants impress, and is getting better all the time.It"s definitely safer than a human driver alone, assuming you use it as intended. Without a doubt, it is the best ADAS system on the market. It』s incredible Level 2, but also a facsimile of Level 3 without sufficient advance warnings, which is where problems have risen. Ignore the warnings like a child and you will be disappointed, or worse. Heed the warnings like an adult, and it』s the best thing on the market.
Tesla的Autopilot: 我喜歡它,嘗試幾個小時後就能享受它帶來的便捷:看著窗外的風景,調節調節駕駛參數。一旦掌握了要點,油門變得不再那麼重要。它開起來就像是一個有著良好駕駛培訓的少年非常想讓你感到印象深刻,也確實開得越來越好。如果在正確環境下使用,它確實比單純人工開車感到安全。在目前ADAS市場上,是無需質疑的最佳系統。它達到了無人駕駛第二級水準,擁有部分第三級的潛力。但是由於預警信息還不完全到位,最好別期望能完全達到第三級。作為一個成年人去合理甄別這些提示信息,你會發現這是市場上最好的系統,
在此就用一張圖來總結,請自行腦補:
8.0時代的Autopilot ——通向未來之路
今天上午,Elon Musk發布了關於Tesla 8.0升級中的Autopilot 的情況,第一次看到這個消息,我很震驚,但是細細一想又覺得合情合理,這裡不妨一步一步分析:[11]
Autopilot自動輔助駕駛再升級:通過雷達看世界
那次Josh Brown的車禍確實是8.0系統中更新Autopilot的催化劑,但是真正讓8.0的Autopilot大換血的其實是前面提到的車隊學習而帶來的,其實在上一個月的財報上,Elon Musk 說了這麼一句話:[12]
「It blows me away the progress we are making. And if it blows me away, it』s really going to blow away other people too when they see it for the first time.」
(Tesla)目前自動駕駛技術的進展簡直讓我目瞪口呆。如果這能讓我目瞪口呆,絕壁讓其他人呆若木雞。
很多人以為Elon談的是未來完全自動駕駛的汽車,其實Elon指的就是 8.0裡面的Autopilot:
在我們即將向特斯拉車主推送的8.0版本軟體中,最顯著的就是Autopilot自動輔助駕駛升級。我們通過使用車輛搭載的雷達,採用更先進的信號處理,生成一幅世界的影像。該雷達是Autopilot自動輔助駕駛配套硬體的組成部分,全部2014年10月之後出廠的特斯拉車型都搭載了這一雷達。一直以來,該雷達一直是主攝像頭以及圖像處理系統的輔助感測器。
所以如果我們把7.0時代的Autopilot稱之為Autopilot 1.0,那麼8.0裡面的Autopilot 稱之為2.0毫不為過,它根本不是對於之前1.0的修補,而是徹底重寫了整個自動輔助駕駛:
- Autopilot 1.0 基於Mobileye的圖像識別技術,主要數據來自於車頂的Mobileye攝像頭,車首的雷達和周邊雷達只是提供輔助信息。
- 而Autopilot 2.0則是基於雷達識別環境,主要數據來源於車身上的雷達,而輔助數據則來源於車隊學習的高精度地圖和白名單。
所以我們之前的分析就派上用場了,通過雷達來成像主要難點就是如何解決誤報False Positive,正是因為雷達成像的特殊性,一個很小的金屬物體可能會被識別成一堵牆,所以人們才不費周折的去用高成本Lidar,但是Tesla確通過自己的技術巧妙解決了。
Tesla專門用三段來描述這個例子:
特定波長的光子可以輕易地穿越霧、粉塵、雨、雪,然而金屬物品看起來如同鏡子。雷達可以看見人體,但是他們被顯示為部分透明。木製品和塗色塑料製品這些對人類而言顯而易見的物品,對雷達而言,幾乎都像玻璃一樣透明。
另一方面,任何凹型的金屬表面不僅僅會反光,更會將反射信號放大數倍。比如,一個丟棄在公路上的易拉罐,如果凹狀瓶底朝向車頭,就會被顯示成為一個大型的危險障礙物,但這時候,你一定不想猛踩剎車而避過這個易拉罐。
因此,如何避免由於錯誤報警而導致車輛停止行進,是使用雷達帶來的一個大問題。在車輛即將撞上大型物體時,剎車是必要的 ---- 但不應該是為了避開一個易拉罐。這些不必要的剎車行為,輕則令人不快,重則導致駕駛員受傷。
所以Tesla想說的就是:
我們解決雷達的誤報問題了!看到這裡的讀者是否會會心一笑呢?Amnon博士口中自動駕駛最難攻克的難關就這樣被技術馴服了。
接下來就是講為什麼他們會採用雷達替換掉圖像識別技術:
為了解決誤識別障礙物從而導致頻繁剎車制動問題的第一部分,是擁有更為詳細的點雲數據。空中升級8.0系統對現有硬體進一步挖掘,讓雷達可以探測到的周邊的物體(數量)達到以前的六倍,並且有能力在每一個物體上獲得更多細節信息。
減少誤識別的第二部分包括整合每隔0.1秒獲取的雷達快照,彙編成為現實場景的"3D"影像。(通常)通過單一影像幀,很難知道物體是移動的,靜止的,或者只是反光造成的虛像。通過比較包含車輛速度、預期軌跡信息的連續影像幀,車輛可以分辨前方物體是否是真實的,同時預估發生碰撞的概率。
一句話來說就是:
我們的工程師解決了雷達的成像問題!不再需要攝像頭主唱了
那麼雷達下的世界會是什麼樣呢?目前我們只能瞎想了,借用Google 自動駕駛時的Lidar數據圖,在Tesla的雷達眼裡會不太一樣:
最後一個重點,通過車隊學習的高精度數據去對比雷達探測的實景來白名單過濾:
第三部分就更加複雜。當行駛中的車輛正在接近一個高速公路上坡時視線上方的路標,或當車輛在通過帶有交通標誌的橋下,這種視覺上的落差,經常看起來像是將要發生碰撞。而導航和高精準GPS都不足以判定車輛是否能從此物體下方安全通過或發生碰撞。到車輛接近,道路坡度改變時,再剎車為時已晚。
這種情況下,車隊學習功能便派上用場。一開始,車隊不會採取任何行動,而只是識別出路標、橋樑和其他靜止的物體,並通過雷達繪製地圖。車載計算機系統在後台將預計是否應該剎車,並與駕駛員的實際行為進行比較,並將這些數據上傳至特斯拉資料庫。如果一些車輛安全通過被雷達標定的物體,無論Autopilot自動輔助駕駛是否開啟,這個物體將被加入地理編碼的白名單(被標註安全)。
如果雷達探測到前方障礙物,而且特斯拉資料庫顯示該地點因誤判而導致剎車行為的幾率很小,即使在光學攝像頭沒有探測到前方障礙物的情況下,車輛仍然會採取輕度制動。隨著系統置信度不斷提升,當雷達確定99.99%發生碰撞的可能性時,剎車強度將會逐步提升至全力制動。或許這不能徹底地避免碰撞的發生,但明顯的減速,會使車上乘客受到嚴重傷害的機率大大降低。
這不正是直面Josh Brown那次車禍嗎?就差沒說名字了
還記得上面我們提到的車隊學習:
雷達本身還不夠,車隊學習的大數據來輔助判斷你探測到的一草一木是真的「草」還是「木」。
所以大量跑在路上的Tesla就是一雙雙「眼睛」和「手」在你駕駛的同時,它們就在默默的更新資料庫,為了下一個通過此地的人的安全。
如果我們再次回顧Josh Brown事件,新的自動輔助駕駛系統會有非常不一樣的處理流程,下面的話摘自Tesla發布8.0系統後答記者問部分,來源於http://electrek.co 整理錄音:[13]
Elon Musk – Tesla CEO
These things cannot be said with absolute certainty, but we believe it is very likely that yes, it would have. The reason is that it would see a large metal object across the road and knowing that there』s no road sign, there』s no overhead road sign, in that position, therefore it would not be a whitelisted situation and probability would be assessed as high and so it would brake.
(Josh Brown事件)沒有百分百的確定,當時我們相信在類似的情況下,緊急剎車會正確啟用。因為在新的系統看來(卡車)是一個巨大的金屬物體橫在道路中間,同時從車隊數據中得知該路段並沒有這樣的圖牌,因此它不會認為這是一個安全的物體,從而會因為高碰撞可能性而緊急制動。
如此浩大的一個工程,Tesla竟然用一年的時間完成了(上一次發布Autopilot是2015年10月),不得不說正是大量路上的 Tesla 產生的數據給他們以激勵,才讓雷達為主的自動輔助駕駛時代到來,而那次車禍不過是讓它早早提上日程的催化劑。
對此Elon Musk解釋道:[13]
It』s both the data and the way that data is use by the car. What algorithms we use with the data? Those things are both improving rapidly over time.They have a multiplying effect. It』s sort of like the data multiply by the quality of the algorithms and the data is increasing rapidly and the quality of algorithms increase rapidly so it ends up the area under the curve of those two things. It』s really quite dramatic over time.
在數據和演算法上面的顯著進步促成了這次8.0以雷達為主的自動輔助駕駛,這是一個乘法效應,數據x演算法最後得到自動駕駛的質量。通過車隊學習我們獲得了大量的駕駛數據,再輔以快速進步的演算法使得駕駛質量進一步提升
在未來是否使用Lidar上,Musk堅決的回答No:[15]
...we do not anticipate using lidar. Just to make it clear, lidar essentially is active photon generator in the visible spectrum – radar is active photon generation in essentially the radio spectrum. But lidar doesn』t penetrate intrusions so it does not penetrate rain, fog, dust and snow, whereas a radar does. Radar also bounces and lidar doesn』t bounce very well.
我們不會使用Lidar,Lidar工作在可見光頻率,雷達工作在不可見光頻率。Lidar穿透性不強,無法穿透雨霧,塵埃和雪等雷達擅長的環境,雷達的反射效果也好於Lidar。
不過這次8.0的發布也意味著Tesla與Mobileye正式分道揚鑣:
Elon Musk – Tesla CEO
This is all developed in-house. I prefer not to comment specifically on the Mobileye relationship, but this was all done in-house. This is all Tesla software.
所有的開發都是Tesla自己完成的。我不想評價我們和Mobileye的合作關係,但是這次8.0系統的自動輔助駕駛是完全由Tesla自己開發的軟體。
另外在此筆者不妨大膽假設一下Tesla之所以可以在兩年前的Tesla上面更新這套系統,估計與Model X發布時,內部CPU Tegra 3進行了一部分升級:[15]
Tesla的主CPU使用了NVIDIA的VCM介面,如下圖右下方的模組:
單獨拆下來便是2011-2013年的Model S在MCU部分所採用的Tegra 3主CPU VCM模組:
這是Tesla在儀錶盤部分使用的Tegra 2 VCM模組:
基於NVIDIA的VCM模組是一個通用的可升級模塊,只需要更換這部分即可獲取最新的CPU/GPU而無需大改整個硬體系統。我們可以大膽假設這次更新所需的CPU資源便是來源於升級後的VCM模組,推測是使用了NVIDIA Tegra K1主晶元。當然這只是我的猜測,具體是否使用K1隻能通過拆解才能發現,目前暫時沒有拆解照片來驗證。在NVIDIA的官方網站我們可以找到這樣一個有趣的頁面:http://www.nvidia.com/object/visual-computing-module.html
上面標註的部分就是K1的VCM模組以及Tesla的駕駛儀錶盤。
Tesla的自動輔助駕駛模組攝像頭部分:[17]可以清晰看見拆解後的模組上面使用的Mobileye EyeQ3晶元:車前端的雷達和超聲波感測器:
駕駛中超聲波感測器可以實時反饋信息,確定車與周邊障礙物的距離:Tesla採用雷達而放棄主流的攝像頭以及Lidar(激光雷達)的做法看似非常激進。個人對其也是頗多懷疑和好奇,最終這樣做的實際效果如何還得經過實踐檢驗,好在兩周後具備Autopilot的Tesla車隊就能收到8.0的OTA更新。從個人Autopilot的駕駛體驗來看,我對8.0是非常期待,在此引用一下我在另一篇關於自動輔助駕駛體驗部分的結論:
自動輔助駕駛並非完美,目前的版本依然需要人為控制變道信號以及進出匝道等,對道路的需求也限制在高速和城市,而且一旦遇到稀有的特殊情況,加上人的疏忽大意,可能造成生命財產的損失。 所以作為駕駛者,在享受科技帶來的便利性的同時一定要負責的合理使用,而不是濫用。筆者以為無論什麼技術,安全是首要目的,但是無論技術本身如何安全,用戶都需要:1. 相信這個技術2. 懂得怎麼去使用這個技術3. 想要使用這個技術而Tesla的自動輔助駕駛Autopilot 成功的在這三點上面說服了筆者,據Tesla官方的數據,開啟了自動輔助駕駛的Tesla每天積累的里程是500萬公里(特斯拉宏圖之第二篇章),所以顯然筆者的選擇並不孤單,因為有千萬的用戶跟筆者一樣天天在使用自動輔助駕駛。同時啟動輔助駕駛就跟開啟自動巡航一樣簡單:只需要向駕駛員方向快速撥動撥桿就能啟用,往前撥動撥桿,轉動方向盤或者剎車都會自動取消自動輔助駕駛。在使用之前,筆者詳細的閱讀了使用教程非常明確該系統的能力以及局限性,所以按照Tesla的要求,規範的去使用。最開始的幾分鐘是最驚恐的:看著車的方向盤自己轉動,反射性的想去控制;看著前車減速,不自覺的把腳伸向剎車;看著車自己變道,超車,心裡無不捏著一把汗...但是隨著使用時間的增加,筆者慢慢的放鬆了緊張,更多的時候是在享受。隨著車自己一次又一次在不同環境下證明自己,筆者越來越離不開自動輔助駕駛了,有時候哪怕是很短一段路,我都想依靠自動輔助駕駛。這種感覺就像是第一次使用iPhone的指紋識別touch ID,在其以前我用過很多帶指紋識別的設備,最後無比因為粗劣的用戶體驗而放棄。突然在iPhone上面手指往home鍵一放,直接進入桌面,那種識別率和識別方式的質變直接把用戶體驗上升到新的高度:聊天軟體不再紀錄冗長的密碼,銀行app不再需要簡訊驗證碼,ApplePay輕觸一下掃描指紋就能完成支付... 而Tesla的自動輔助駕駛的體驗就是這樣:上手簡單,功能易用,效果出色。而頻繁的正向反饋又促使樓主進一步去探索和挖掘他的潛力,直到再也離不開自動輔助駕駛。對很多公司來說,自動駕駛是個先有蛋,還是先有雞的問題:「沒有足夠的數據,無法做到完美的自動駕駛」,但是,光靠實驗室和研究人員有限的室外測試,數據來得又太慢,技術又無法進步。這個問題上,Elon帶領下的Tesla選擇了先向公眾開放,再逐步完善的辦法,因為Elon相信目前的自動駕駛安全性已經超過人類,既然能救命何不開放給公眾?此外另一個有意思的數據是,Elon在昨天的問答環節提到了目前自動輔助駕駛可能導致的潛在事故中,絕大部分是老用戶疏忽大意犯下的:[14]
Elon Musk:
One of the ironies that we』ve seen is counter intuitive and a lot of people on the consumer watchdog sites and in some cases on regulatory sites have assumed that Autopilot accidents are more likely for new users. In fact, it is the opposite. Autopilot accidents are far more likely for expert users. It is not the neophytes. It』s the experts.
我們覺得非常諷刺的事情是:很多消費者觀察網站密切關注著Tesla自動輔助駕駛的一舉一動,認為自動輔助駕駛中出現的問題更多是針對新手用戶。但事實上正好相反,自動輔助駕駛中的事故絕大部分都是來自於專業用戶。
They get very comfortable with it and repeatedly ignore the car』s warnings. It』s like a reflex. The car will beep at them, they tug the wheel, the car will beep at them, they tug the wheel, and it becomes an unconscious reflex action. So we will see half a dozen or more, sometimes as many as 10 warning in one hour continuously ignored by the driver. We really want to avoid that situation.
他們非常習慣於自動輔助駕駛帶來的便利並且主動忽略掉車的警告和提示。就想產生了習慣反射,每次車產生報警要求他們手握方向盤,他們就搖動一下方向盤瞞過感測器,然後繼續做其他事情,久而久之就變成了肌肉反射。所以我們觀察到這些用戶往往可以在一小時內激活6到10次的「請手握方向盤」警告。我們需要改變這種危險的行為。
下圖中正是Tesla在自動駕駛中發出警告提示駕駛員手握方向盤:
所以筆者反對那些在自動輔助駕駛評測和體驗中不負責任和不顧安全的行為。應該在充分知曉自動輔助駕駛性能和限制的前提下,合理使用自動輔助駕駛,同時希望Tesla繼續改良自動輔助駕駛,使其更加完善,直到真正的自動駕駛實現。所以回到最上面的問題,究竟是Google式的閉門造車一口氣實現Level 4的自動駕駛好,還是Tesla式的從Level 2一路向Level 4自動駕駛循序漸進好?
如果用Elon Musk自己的話來說:
我們目前的自動輔助駕駛已經被證明能提供比手動駕駛安全性,在道路致死率上面是世界平均水平的1/3。即便是退一萬步來講,我們的系統只比人工好1%,那麼一年車禍導致的120萬人裡面,我們也能拯救1萬2千人。
所以我覺得如果你有這樣一個提高安全的技術,僅僅因為怕輿論或者法律起訴就雪藏起來,這在道德上是錯誤的。
謝謝閱讀!
後記:
一個多月前寫下這個標題就有點後悔,畢竟距離上一次寫嚴肅點的文章有段時間了,真不敢誇海口去談一個不是自己專業的題目,但是今天看到Elon Musk公布Tesla 8.0 系統專門對自動輔助駕駛進行了大換血,又覺得自己這篇拖了很久的文章不完成確實對不住自己搜尋資料的日日夜夜,所以在此先感謝各位閱讀本文的讀者,希望這篇文章能給你們帶來一點點關於Tesla自動駕駛項目的啟示。
最後一點私貨:身為特斯拉車主是怎樣的體驗? - Ryan Woo 的回答
以及:親歷Tesla Gigafactory超級工廠開幕典禮 - Ryan Woo的文章 - 知乎專欄
引用來源:
1.Wikipedia: Autopilot
2.Wikipedia: Autonomous car
3.ADAS: Advanced driver assistance systems
4. Mobileye: Mobileye - ????????
5. The Future of Computer Vision and Automated Driving by Prof. Amnon Shashua: https://www.youtube.com/watch?v=kp3ik5f3-2c&index=16&list=PLfRhbwKVVeYihDR6_WenpyrEMkyD__6MF
6. What goes into sensing for autonomous driving? https://www.youtube.com/watch?v=GCMXXXmxG-I&list=PLfRhbwKVVeYihDR6_WenpyrEMkyD__6MF&index=18
7. NVIDIA Drive PX: http://www.nvidia.com/object/drive-px.html
8.Delivering on the Promise of Autonomous Vehicles (2016.5.24)Delivering on the Promise of Autonomous Vehicles
9. Google self-driving car :Google self-driving car
10. 無人駕駛第一起命案——特斯拉製造
11. Autopilot自動輔助駕駛再升級:通過雷達看世界
12. Elon Musk on Tesla fully autonomous car: 『What we』ve got will blow people』s minds, it blows my mind… it』ll come sooner than people think』
13. Tesla發布8.0 答記者問4: Transcript: Elon Musk』s press conference about Tesla Autopilot under v8.0 update [Part 4]
14. Tesla發布8.0 答記者問2: Transcript: Elon Musk』s press conference about Tesla Autopilot under v8.0 update [Part 2]
15. Exclusive: The Tesla AutoPilot
16. Transcript: Elon Musk』s press conference about Tesla Autopilot under v8.0 update [Part 5]
17. Autopilot Module Tear Down
推薦閱讀:
※【乾貨】擁有神秘技能,讓你成為自動駕駛領域的香餑餑
※如何評價GTC China 2016?
TAG:特斯拉汽车TeslaMotors | 自动驾驶 | TeslaModelS |