用資工的角度看特斯拉的自動駕駛(FSD Beta)上 #4
用資工的角度看特斯拉的自動駕駛(FSD Beta)上 #4

用資工的角度看特斯拉的自動駕駛(FSD Beta)上 #4

contributed by <Tim096>

前言

感謝大家對於上一篇《用資工的角度看特斯拉、小鵬汽車隔空吵架,自動駕駛未來誰更強?#3》的熱愛,敲碗下一集的人比筆者想像中多。如果沒有看過,筆者已經放好超連結了,可以看一下〈特斯拉的十個問題?〉再來看這篇,會更好了解喔~

用資工的角度看特斯拉的自動駕駛(FSD Beta)上 #4

本文開始之前,筆者在網路上找了很多資料,發現一個有趣的現象,特斯拉的車主們根本就是特斯拉的測試員,各種幫特斯拉蒐集測試資料,以及找出哪部分會出錯。這一現象真的很特別,而在中國也有 NIO 的車主幫 NIO 進行銷售,仿佛讓筆者看見了賈伯斯(Steve Jobs)在蘋果賣 iPhone 的那一個年代,明明就是消費者,不是在嫌東嫌西,而是瘋狂的吹捧。或許大家現在多少還是會質疑電動車,但 iPhone 剛出來的時候不也被質疑嗎?

2020 年 10 月 22 日,特斯拉的 FSD(Full Self-Driving)Beta 範圍推送,就已經引起了熱烈的話題,就讓我們一起來看看這東西到底有什麼厲害的吧~

以下分成 9 大點來討論

1. UI 的變化?
2. 車上強大的算力,怎麼來?
3. 為何特斯拉堅持採用 Camera?
4. 這多顆 Camera 之間是如何溝通的呢?
5. 特斯拉的 Software 2.0 是什麼?
6. 神經網絡又是什麼?是如何幫助訓練 AI 的?
7. 神經網絡下讓特斯拉看得更遠?
8. 特斯拉是怎麼讓車子和人一樣,軟硬體都不更新的情況下,學習並進步?
9. 特斯拉詳細是透過何種方式,利用車主來幫忙訓練 AI 的?

UI 的變化?

變化 1:左側儀表區域變大。

第一個變化非常明顯,左側顯示車輛資訊的儀表區域面積變大,之前儀表和導航區域的比例大概 3:7,現在更新之後比例已經接近 4:6 了。隨著 FSD 的推送,特斯拉的可視化界面資訊量越來越大,而且自動輔助駕駛能力越來越強,看導航的需求沒有那麼高了,但在實現 Level 5 的自動駕駛以前,可視化交互窗口還是很重要的。

特斯拉新介面

變化 2:車輛模型及動畫優化。

停車狀態下儀表中的車輛模型和動畫效果更加精緻、逼真了,打開車門及前備廂的動畫效果,絲般順滑,而且顯示的內容非常逼真,車門開閉、車窗開閉、充電口開閉都可以在屏幕上顯示出來。

特斯拉新動畫

變化 3:儀表部分顯示內容位置變化。

主要的變化有兩個,一個是檔位顯示,從原來的橫向佈局,改成了縱向佈局,和去年 Cybertruck 發佈時候的風格非常相似;另一個是,由於儀表的寬度增加,底部 Dock 欄在原來車控、音樂和相機的基礎上增加雨刷控制按鍵,對於第一次開特斯拉的朋友來說這個調整非常友好了,就像是操控平板電腦一樣。

特斯拉新UI

為何要講 UI?

一定會有人想說,UI 對於資工來說是一個最不重要的且沒有技術含量的東西,這樣說只說對了一半,因為 UI 代表著工程師,想要使用者如何來看待這一系統。說回特斯拉的部分。
1. 從修復車輛的模型和動畫中可以明顯看出,特斯拉希望透過這一次改變,讓車主把車子當成一台電動遙控車來看。
2. 從平板所顯示的資訊改變可以看出,特斯拉希望未來,車主對 FSD 自動駕駛的介入可以越來越少。
3. 從儀表部分顯示內容位置變化可以看出,特斯拉可以漸漸的把以前油車的習慣,變成特斯拉的習慣,筆者認為這對於特斯拉來說多少會有一點品牌護城河的作用。

UI 的小結

從以上可以看見特斯拉的企圖心,有以下 3 大點
1. 做出自己的特色 UI
2. 往自動駕駛更前進
3. 更人性化

車上強大的算力,怎麼來?

首先科普一下何謂算力?在機率上,擁有的算力越大,就可能越快找到相同問題的解答。算力就像是人類的大腦一樣,所謂的算力越強,就像是大腦可以越快速地解決一樣的問題,也就是說算力越強,能夠應付的情境就越複雜。
相信現在大家的生活中常常聽到 AI、自動駕駛等,一些很新潮的技術,但是幾乎一切的技術背後都需要一個強大的硬體去支持,才能有大家看到的成果,而特斯拉的硬體呢?

p.s. 這邊額外提到一件事,若你的特斯拉是 2019 年前買的,即使未來 FSD 正式上路,你也不能使用,似乎有購買 FSD 的顧客特斯拉會幫你回廠升級,詳細資訊還請家裡有特斯拉的大大,和筆者說XD

特斯拉-HW3.0

2019 年 4 月 22 日,特斯拉在自動駕駛日上公佈了自家的 HW 3.0 自動駕駛晶片,硬體參數中最耀眼的莫過於兩顆神經網絡處理器帶來的 72 TOPS 的算力。

1 TOPS(Tera Operations Per Second):代表處理器每秒可以進行一兆次的操作。也就是說特斯拉的 HW 3.0 每秒可以進行 144 兆次的操作。

硬體介紹中,提到在神經網絡的加速運算下,這塊 HW 3.0 晶片圖像處理能力為 2,100 FPS,對比之下浮點運算能力為 600 GFLOPS 的 GPU 僅能做到 17 FPS,神經網絡處理器加速運算下的圖像處理優勢一目了然。這樣說大家可能沒什麼感覺,大概等於 5 個 NVIDIA Titan V 這麼強,相信這樣大家會好理解一些。

特斯拉-HW3.0

特斯拉 SoC 的核心-HW 3.0

它實際上是一個完整的系統(SoC)。特斯拉把一個 CPU,一個 GPU,兩個神經網絡處理器 NPU,以及一堆你可能甚至不知道的、但是存在於這片芯片上的其他東西。 特斯拉的 SoC 可以處理每秒 60 幀的速度輸入 8 塊 1080P 螢幕的數據,如此龐大的資訊,當然需要大師級的人物來研發。

為了做出一塊業界最強的自動駕駛晶片,特斯拉在研發準備期間先後請來了數位大師級人物。 HW 3.0 這個業界,首塊為神經網絡運算而打造的車規級自動駕駛晶片始於 2016 年。在那一年,特斯拉聘用了在半導體行業從業 40 年、主導研發了 iPhone 5S 上首個 64 位架構移動端處理器的前蘋果晶片架構師 Pete Bannon。而在更早的 2015 年,傳奇晶片架構師 Jim Keller 也離開 AMD 加入了特斯拉。 但其實 SoC 剛做好的時候並沒有馬上迎來光明的未來,原因就是沒有專門配合的軟體,因此才有了最近轟動市場的 FSD Beta 的出現,特斯拉才真正迎來脫胎換骨的蛻變。

成本的妥協

大家都知道 Elon Musk 對於成本管控是出了名的厲害,甚至還為此睡過一個禮拜工廠,筆者真的深感佩服。特斯拉 HW 2.5 成本為 280 美元,但換成自行設計的 FSD 後,HW 3.0 成本就降到了 190 美元,假設自主研晶片會花費 1.5 億美元,而一年產量能達到 40 萬塊的話,四年時間就能回本了。特斯拉自行預估 2030 年,年產量可以高達 2000 萬輛。如果真的到那時,特斯拉的現在所做的努力可以說是一筆划算到不行的努力。而且重點是,這是一塊專門為了神經網絡打造的晶片,對於軟體會有著極大影響,後面會提到。

對於算力的小結

沒有之前的鋪墊、積累,是不可能有現在的 FSD Beta 的出現,這邊順便說一下上一代 HW 2.0 只有 21 TOPS,而業內一般認為,實現 L2 自動駕駛需要的計算力在 10 TOPS 左右,L3 需要的計算力為30~60 TOPS,L4 需要的計算力大於 100 TOPS,L5 需要的計算力至少為 1000 TOPS。筆者在看這些的數據時,總有種手機行業的既視感,每一年的發表會都要說一下自己「處理器」,又進步了多少,這邊就可以看到台積電對於未來的世界到底有多重要了(傳言 HW 4.0 會採用台積電的 7nm 製程)。大家可以理解成沒有算力,未來是不會到來的。

自動駕駛分級

為何特斯拉堅持採用 Camera?

Camera 與 LiDAR 依靠光飛行的時間來判斷各個像素間距離的方法不同,人類測距靠的是大腦,那特斯拉呢?相較於其他廠商的技術,特斯拉顯然走的更極端。這邊講到一個特斯拉的核心理念「For human, by human」,2019 年的特斯拉自動駕駛日上,特斯拉 AI 高級總監 Andrej Karpathy 說:「我想強調一下,駕車至此的在座各位,你們靠的是視覺與神經網絡的協同運作,而非眼中發射激光束來感知路況」。馬斯克也說:「全世界的道路都是為人類駕駛而設計的」其實可以感受到一層隱含的意思:駕駛是人類行為,道路是為人類設計,如果能具備和人類一樣的感知與駕駛邏輯,那這就是一套「通用」的自動駕駛方案。甚至現在也有研究表明了 Camera 經過各種優化過後,其實和 LiDAR 的精度上的差距已經基本可以忽略了。作為視覺感知方案上配置最複雜也是路線最為激進的企業,多顆 Camera 之間是如何溝通的呢?

這多顆 Camera 之間是如何溝通的呢?

首先,由車輛各個 Camera 獲取道路環境的 2D 圖像,然後圖像被送至特徵提取部分,即「Backbone」。然後在 2D 的像素空間下,再對特徵進行識別區分以及道路環境預測。

用資工的角度看特斯拉的自動駕駛(FSD Beta)上 #4 1

在此基礎上,特斯拉做出了「Bird’s Eye View」。依然還是靠 Camera,捕捉的依然是 2D 圖像。只不過這次,特斯拉動用了 5 個方向的鏡頭,並將捕獲的 2D 圖像轉化為 3D 素材,而這些模擬出的 3D 素材在一個叫「Occupency Tracker」(大概意思是建模器)的部分進行拼接,完成拼接後最後自上而下投影出來,如同鳥瞰圖一般。

Camera 如何感知距離 ?

上面有說,測量距離對於 Camera 來說是個很大的硬傷,對此其他家電動車的做法是將距離交由其他傳感器,例如 LiDAR 來做,再將感知數據融合。
而特斯拉的解決辦法是通過影像來「模仿」LiDAR,具體來說:(Pseudo-LiDAR)

Pseudo-LiDAR
Pseudo-LiDAR

首先,特斯拉將計算機視覺提升到了前所未有的水平,不僅能夠分析圖像,而且還能夠分析圖像中的單個像素。再來就要提到最近的很多論文了,大家可能以為 Pseudo-LiDAR 是特斯拉自己的想法,其實目前已經很多論文,佐證 Pseudo-LiDAR ,其實已經可以做到真正的 LiDAR 絕大部分的功能了,詳細的論文和 GitHub 我都放在超連結了,有興趣的人可以去看看。

簡單可以理解成就像是 iPhone 的手機,現在也可以拍出景深的效果,也是通過演算法完成的。而特斯拉也用差不多的方法。因此我們也可以看到,這兩家廠商做出許多相似之舉
1. 自主研發 SoC
2. 都在 SoC 上強調了神經網絡的性能
3. 熱衷於自主研發

下集預告

最強大腦有了,還要學東西,接下來就資工精彩的一些神操作,來實現上述的理論了,9 大問題上集回答了 4 個問題,希望大家會喜歡,這一篇真的比較難入口,願意看到這邊的讀者,真的很謝謝大家耐心,由於篇幅的關係,筆者會分成上下集來和大家繼續介紹這一套系統。留個下集的預告。「一輛自動駕駛汽車每天將產生 4TB 的數據」特斯拉如何讓這麼龐大的資料,用在下一次的更新軟體呢?難道每一台特斯拉每天上傳 4TB 的數據嗎?

5. 特斯拉的 Software 2.0 是什麼?
6. 神經網絡又是什麼?是如何幫助訓練 AI 的?
7. 神經網絡下讓特斯拉看得更遠?
8. 特斯拉是怎麼讓車子和人一樣,軟硬體都不更新的情況下,學習並進步?
9. 特斯拉詳細是透過何種方式,利用車主來幫忙訓練 AI 的?

Gooaye AI 推薦閱讀機器學習中: