10⽉1⽇,⼀年⼀度的科技春晚,特斯拉AI Day 來了。
整場發佈會⾮常硬核,⼲貨也很多。
FSD、Dojo、Tesla Bot超級計算機是這次發佈會的三⼤看點。
不過,我們主要關注的,還是特斯拉在FSD ⽅⾯的新進展。
此前,絕⼤部分⻋⼚都循着特斯拉的步伐,⾛上漸進式⾃動駕駛發展之路。
但是隨着能⼒參差以及對⾃動駕駛理解不同,特斯拉與⼀眾⻋企分道揚鑣。
特斯拉⾛上了純視覺路線,其他⻋企則開始投⼊激光雷達懷抱。但是,對於⼤多數⻋⼚來說,特斯拉依然是⻛向標。
他們也都很好奇:特斯拉純視覺⾃動駕駛究竟有何進展?
聊進展之前,還是先了解⼀下,特斯拉FSD 的基本框架。
01 FSD框架
先說測試規模,2021 ⼤概有2000 位「勇⼠」參與到FSD Beta 的測試, 今年,這個數字增加到160000 位。
從去年到現在,FSD 進⾏過35 個版本迭代,訓練了 7.5萬 個神經⽹絡模型,基本上8 分鐘訓練1 個,並推送了35個版本更新。
⽬前FSD Beta 在⼀定程度上已經可以實現從⼀個停⻋場導航到另⼀個停⻋場,可以⾃動完成識別紅綠燈並通⾏、通過⼗字路⼝、轉彎等操作。
來看看特斯拉FSD基本框架。
所有的⼀切完全依靠單⻋智能實現。通過⻋上運⾏神經⽹絡的攝像頭⽣成環境模型,⽽後基於此模型進⾏⻋輛的規劃和控制。
這是⼀個多攝像頭神經⽹絡,系統通過收到的圖像來推測物理世界各個坐標都有什麼東⻄。
沒錯,推測。雖然我們看到的是圖⽚,但是在攝像頭看來,它看到的就是其實是⼆維⽹格,需要進⾏轉換和編碼。
⽽後通過不斷的模型訓練,才能識別出圖像中的物體到底是什麼,譬如樹⽊、牆壁、汽⻋。
當然,識別的內容不⽌這些,還有各種語義層,包括各種⻋道線、交通信號燈、停⻋線等。
⽽在識別物體之後,系統會得出這些物體現在的狀態坐標,並預測這些物體接下來的運動。
對於典型計算機視覺技術來說,處理這些內容⾮常困難,所以特斯拉在不斷深⼊到語⾔技術領域,然後從其他領域提取最先進的技術,融合進來。
但是,很多物體還是⽆法被探測到或者被準確識別,這⾥就需要對數據進⾏標註,特斯拉已經擁有⾃⼰的⾃動標註系統。
此外,特斯拉利⽤⾃⼰的仿真系統來構建圖像,通過數據引擎管道,⽤⼀些數據訓練模型,然後把它放到⻋上,看是否可⾏。
如果發⽣故障,⻋隊會進⾏分析,並提供當前標籤並將數據添加⼤訓練集,這個過程系統地解決了問題。
為了訓練這些新的⼤規模神經⽹絡,特斯拉今年把訓練基礎設施擴展了40%-50%,今年特斯拉在美國訓練集群已搭載⼤約14000 個GPU。
同時,特斯拉還開發了⾃⼰的⼈⼯智能編譯器,⽀持這些神經⽹絡所需的新操作,並將它們映射到特斯拉最好的底層硬件上。
⽬前,特斯拉推理引擎能夠將單個神經⽹絡的執⾏分佈在芯⽚上的兩個獨⽴系統上。本質上其實就是連接在同⼀台⾃動駕駛計算機中的獨⽴計算機。
其實就是同⼀神經⽹絡在兩塊FSD芯⽚都進⾏運算,為此,必須嚴格控制新系統端到端的延遲。
為此,特斯拉布局了很多新的代碼,所有這些在⻋⾥運⾏的新⽹絡,產⽣向量空間。
進⽽在汽⻋周圍建⽴起新的模型,規劃系統在此基礎上得出運⾏軌跡。通過基於模型的神經⽹絡的組合,特斯拉FSD 正在⻜速成⻓。
02 交叉路口規控策略
⽆保護左轉,是⾃動駕駛的⼀⼤難題。
⾃動駕駛⻋輛在進⾏決策規劃的時候就會涉及到多種變量,需要梳理不同變量之間的關係,進⽽推演出最合理的通⾏⽅式。
下⾯這個就是⼀個很有代表性的場景:⽆保護左轉還遇到通過的⾏⼈。
這基本上可以歸結為解決多智能體在⾃我和所有其他智能體軌跡上的精確規劃問題。
這就需要系統能夠在很短時間內釐清出各個對象之間的關係,然後推導出最合理的通⾏策略。
別忘了,系統還要預測這些對象接下來的運動,相關交互組合的數量會爆炸式增⻓。
這個計算量⾮常⼤,⽽規劃者需要每50 毫秒做⼀個決定。
很多⼚商都不太能做好這個場景。包括⽆⼈駕駛Robotaxi 公司。那麼,特斯拉是怎麼做的呢?
特斯拉采⽤⼀種名為Interaction Search(⾳譯交互搜索)的框架,對⼀系列運動物體進⾏研究。
這⾥的狀態空間對應於⾃我的運動狀態,其他主體的運動狀態,多模型未來預測,以及場景中所有的靜態實體。
可以使⽤⼀組物體運動軌跡來看場景中不同交互決策,同時也可以加⼊新的變量,來獲得更多決策優化。
⽐如還是剛剛的過⼗字路⼝案例。我們從⼀系列視覺測量開始。
1、被看⻅的物體。⽐如⻋道、移動物體、其他不可動實體,這些元素為潛在特徵。
2、構建路徑。我們⽤它從⾮結構化區域的⻋道⽹絡中來創造最優通⾏路徑。
3、路徑推演。以此來創建項⽬樹,使⽤來⾃客戶群的數據進⾏訓練。與此同時就會⽣成多種不同決策結果,我們也能從中找到最優解。
4、引⼊新變量,再次尋求最優。在這個最優解之上,你也可以加⼊新的變量,⽐如加⼊右側駛來的⻋輛,這樣就會產⽣新的決策樹,新的分⽀,然後再從中選出其中的最優解。
就像剛剛說的這個運算量⾮常巨⼤。
所以特斯拉選擇構建輕量級⽹絡來進⾏軌跡⽣成。結果就是:把每個動作的運⾏時間縮短到100 微秒。對⽐之下,此前每個動作需要1-5 毫秒。
這個提升,⾮常明顯。
此外,特斯拉還會有⼀項「軌跡評分」標準,此舉是為了提升FSD⽤戶使⽤舒適度。
說⼈話就是:FSD 不僅要能夠做到,還要能夠做好,讓⻋開起來像⼀個⽼司機⼀樣穩健。
在這⾥,特斯拉會運⾏兩個可變神經⽹絡,可以相互增強。
其中⼀套是FSD Beta,這讓我們知道在接下來的⼏秒鐘內,⼀個⼈受到⼲預的可能性有多⼤。
第⼆套源⾃⼈類駕駛數據,給FSD系統的表現評分,可以幫助特斯拉更好的優化FSD 的體驗。
特斯拉表示:「這個架構最酷的地⽅在於,它允許我們在數據驅動的⽅法之間創建⼀個很酷的融合,沒有那麼多⼿⼯成本,但結果的核查檢驗依然是基於現實。」
這⼀part簡⾔之就是:特斯拉⾃動駕駛規劃決策所需時間變短、能⼒更強、體驗更好。
03 3D建模
特斯拉所有感知都要靠這8 個攝像頭。
特斯拉依靠攝像頭獲取圖像信息,然後⽤算法,取得類激光雷達3D 成像的效果(從 image space 到 vector space )。
現在FSD UI 中展示的只是所渲染的空間向量中的⼀部分:
但是在精度上還是⽆法與真正的激光雷達相⽐。
⽐如,當有⻋輛經過時,⽆法準備識別該物體。這也是去年難到特斯拉的⼀個⼤問題:
對於采⽤激光雷達⽅案的公司來說,可以⾮常精準且輕鬆的檢測到物體並捕捉物體的移動。
但是視覺想要做到這⼀點,並不容易。
特斯拉運⽤⼏何占⽤率了解視覺3D 中的遮擋⼤⼩。
下⾯這個占⽤神經⽹絡(the occupancy network)就是他們的成果。這⾥看到的是來⾃系統內部第⼆層的規則⽹絡輸出。
(這個3D 建模並沒有出現在⽬前特斯拉推送給⽤戶的可視化UI 中,但也很酷)
具體來說,占⽤⽹絡將8 個攝像頭的視頻流作為輸⼊,在⽮量空間中直接為所有汽⻋周圍的每個三維位置⽣成統⼀的體積精度,然後預測該地點被⼤量占⽤的概率。
與此同時,聯繫輸⼊的視頻上下⽂,它還會預測即將可能被遮擋的障礙物。
在每個位置,它都會⽣成⼀組語義,⽐如⻢路⽛⼦、汽⻋等,然後⽤不顏⾊標註。
於是就有了下圖的建模:
與此同時,對於運動中的佔有率情況也可以進⾏預測。
由於該模型是⼀個⼴義⽹絡,它沒有區分靜態和動態對象,也能夠建模隨機運動。
⽬前,這個⽹絡正在所有特斯拉FSD計算機上,⽽且⾮常⾼效,使⽤特斯拉新的加速器,⼤概每10 毫秒運算⼀次。
所以,這就是特斯拉在純視覺取代激光雷達上所做的⼀點⼯作。
除了⽴體像素,占⽤⽹絡還能輸出路⾯相關信息,⽐如它的路⾯⼏何情況(⽐如坡度),還有路⾯語義。
這會對系統規控有很⼤的幫助。
直接上案例吧。看這⾥的這張圖,坡道三維信息也被很很好的預測出來,有了這樣的信息輸⼊,後續系統可以決定接下來是否要減速⾏駛。
如果這件事交給直接采⽤⾼精地圖⽅案的公司來說,這⼀步就很簡單。
因為⾼精地圖公司已經將這些道路信息包括坡度、彎道曲率等信息錄⼊地圖,當⻋輛⾏駛到這⾥,⻋輛可以提前根據這些已知做出預判和控制。
所以,這就是特斯拉在替代⾼精地圖上取得了不錯的進展。
04 具體怎麼實現的?
⾸先,攝像頭提取圖像數據並校正,然後采⽤RegNets和BiFPNS 來提取圖像特徵,構建3D 位置查詢,所有圖像以及特徵都有其⾃⼰的鍵和值。
通過這些鍵和值,你可以知道前⽅是什麼物體,亦或者是某個部分被遮擋的物體。
這些內容再通過注意⼒模塊輸出⾼維空間特徵,這些空間特徵⼀致。然後使⽤⻋輛瞬時測程推導運動軌跡。
將這些時空特性通過反卷積神經⽹絡,推出最終的占⽤率和占⽤流,形成固定尺⼨的盒⼦。
但是這對於規劃和控制來說精度可能不是很夠。
為了獲得更⾼分辨率,特斯拉還⽣成每個像素形狀映射,你就當做是⼀個個坐標,然後把這些坐標和 3D 空間點查詢送⼊給MLP(多重感知機),以獲得任意點的位置和語義。
很多⼈看到這⾥可能就暈了,來看看這個案例:
特斯拉在不斷⾏駛,前⽅的⼤巴被識別為「L」的紅⾊盒⼦,當⻋輛逐漸靠近,巴⼠也在移動,⻋頭直接從紅⾊變成了藍⾊。
隨着時間推移,整個巴⼠都變成了藍⾊,你甚⾄可以看到這個⽹絡預測巴⼠向左運動時的精確曲率。
對於傳統⽬標檢測⽹絡來說,這是⼀個⾮常複雜的問題,可能會⽤⼀個或者兩個⻓⽅體來擬合曲率。
但是對於占⽤⽹絡來說,只需注意有可⻅空間的占⽤情況,⽽後就能精確的建⽴曲率模型。
此外還有剛剛說的,彎曲路⾯的⼏何以及相關語義的識別。
最後就是使⽤⼤型⾃動標記數據集對占⽤⽹絡進⾏訓練。
此外,特斯拉也在關注其他神經⽹絡,⽐如NeRF((Neural Radiance Fields)
這⾥簡單解釋⼀下。NeRF,神經輻射場。是⼀項利⽤多⽬圖像重建三維場景的技術。
直接上案例吧。
⽐如眼前的這個架⼦⿎。通過多組圖像在神經⽹絡的訓練,就可以構建出這個架⼦⿎的三維場景,⽽且還能給到兩組不同於之前圖像的新視圖。
顯然,這個技術很對特斯拉胃⼝。
特斯拉考慮將⼀些功能整合到占⽤⽹絡訓練中。
這是他們做的⼀個演示案例,⽬的是為了給⾃動駕駛呈現呈現3D 世界。
不過要做到這點並不容易,特斯拉在這個地⽅繼續邀請⼤⽜們加⼊特斯拉⾃動駕駛團隊。
有了強⼤模型,下⼀步就是要訓練它。這就需要海量可⽤學習的數據視頻。
看到這張圖了嗎?這並不是故障或者是雪花,⽽是視頻。⼤概1.4 億幀。
這個量⾮常巨⼤。如果⽤10 萬個GPU 進⾏訓練,需要1 個⼩時,如果你有1 塊GPU,需要10 萬⼩時。
這個時間⾮常⻓,⽽特斯拉想要更快的訓練速度。
這也是為什麼特斯拉要建造⾃⼰的超級計算機的原因。
特斯拉有3 個超級計算機,共計14000 個GPU,其中1 萬個⽤於訓練, 另外4 千塊⽤於⾃動標註。
所有的視頻都存在容量在30PB 的分佈式視頻緩存設施中。
這些數據集並⾮⼀塵不變,⽽是處於變化,每天有⼤概有50 個視頻在集群中替換流動,系統每秒跟蹤40 萬個視頻實例。
⽽在優化視頻模型訓練上,特斯拉也是做了很多⼯作:
結果就是:通過這些積累和優化,特斯拉現在訓練占⽤⽹絡的速度提升了2.3 倍。
05 車道檢測&周圍物體未來行為預測
早期特斯拉是在2D 圖像空間進⾏實例分割,同時神經⽹絡也很簡單,只能識別為數不同的⼏種類型的道路。
這種⽐較簡單的道路建模適合在⾼度結構化的道路上。
現在,特斯拉要做的是⼀個系統,可以適⽤在更複雜的路況,不僅僅要⽣成全套⻋道實例還有它們之間的連接。
路⼝通⾏是⼀個很好的案例。
⽬前輔助駕駛⻋輛的⼀個⽐較⼤的通病在於:有⻋道線道路⾏駛正常,⽆⻋道線引導⽅⼨⼤亂。
特斯拉要做的就是提升輔助駕駛在這⼀塊的表現。所以特斯拉⾃⼰做了⻋道神經⽹絡。
由三個組件構成:
1、視覺組件:有⼀組卷積層、注意層和其他神經⽹絡層,處理來⾃⼋個攝像頭的視頻數據並進⾏編碼,併產⽣豐富的視覺表徵;
2、⻋道引導模塊:⽤道路級別的地圖數據增強這種表徵。並引⼊⼀組額外的神經⽹絡層進⾏編碼。
雖然只是普通地圖,雖然不是⾼精地圖,但提供了很多基礎屬性信息,
⽐如⻋道拓撲結構、⻋道數、導航路線等信息。
這⾥引申出的⼀個信息是:特斯拉FSD 有⽤到地圖,但是是普通的導航地圖,⽽不是⾼精地圖。
所以不要再問特斯拉⾃動駕駛到底⽤不⽤地圖這件事了。
3、語⾔組件:前兩個組件產⽣了⼀個密集的張量,可以對世界進⾏編碼。不過特斯拉的訴求是將這個密集張量轉換為智能⻋道集還有它們的連通上。
輸⼊的是這個密集張量,輸出⽂本則被預測為特斯拉⾃⼰開發的特殊語⾔,姑且稱之為道路語⾔(Language of Lanes)吧,特斯拉⽤它來編碼⻋道的連接關係。
具體咋做呢?看圖:
這就是最終⻋道⽹絡:
簡⾔之,這讓特斯拉在沒有⾼精地圖以及激光雷達的情況下,擁有了⾼清晰度的空間定位以及更遠的可視範圍。
周圍物體未來⾏為預測&路徑規劃
這個⾏為其實很好理解。
代⼊到我們⼈類駕駛員,其實我們⾃⼰在開⻋的時候,其實下意識的也會去做類似的預判,關注周圍不同交通參與者(⽐如⾏⼈、⾃⾏⻋、⻋輛等)的動向,然後做出下⼀步的⻋輛控制(加速、減速、停⻋)。
這⾥特斯拉提到了兩個個⾮常好的案例,可以讓我們更好的理解特斯拉在這⼀塊所做的⼯作。
第⼀個:
特斯拉正常⾏駛,遇到⼀輛⻋闖了紅⻋並左轉。
在這個過程中,特斯拉已經預測了這台⻋可能會做的所有動作,⽽後根據這台⻋接下來會做的不同動作,來決定⻋輛到底要採取怎樣的動作。
第⼆個:
雖然前⽅都是紅燈,但是本⻋道這台⻋不知道為何距離很遠就停⻋了。
特斯拉並沒有⾮常機械的停在該⻋後⾯,⽽是提前變道,轉到了另⼀條⻋道上。
這個操作真的很細節,特斯拉FSD 在變得更⼈性化,給個好評。
特斯拉在試圖建⽴⼀個實時系統,所以就需要最⼤限度地提⾼對象部分堆棧的幀速率,以便Autopilot 能夠對不斷變化的環境做出快速反應。在這⾥,每⼀毫秒都⾮常重要,以盡量減少推理的延遲。
在這⾥,特斯拉神經⽹絡運作分為兩個階段:第⼀階段,確定三維空間中存在的物體的位置;第⼆階段,在這些三維位置拉出張量,附加上⻋輛上的其他數據,然後再進⾏其餘的處理。
這樣,可以讓神經⽹絡將計算集中在最重要的區域上,從⽽以⼀⼩部分延遲成本提供更好的性能。
把它們放在⼀起,特斯拉的Autopilot 視覺堆棧不僅可以預測⼏何和運動,同時可以預測各種語義,讓駕駛更安全。
現在,FSD 道路⽹絡已經在⻋上運⾏,同時特斯拉也做了很多⼯作:
⽽且,現在在⻋上運⾏的不⽌有⻋道⽹絡,還有移動物⽹絡、占⽤⽹絡、交通控制和路標⽹絡、路徑規劃⽹絡…..
可能後續還會加⼊更多新的⽹絡。
下⾯這張圖就是在特斯拉⻋內的神經⽹絡的可視化:
看着⾮常震撼。
特斯拉的這套東⻄,才算是真正的⾃動駕駛數字⼤腦。
與此同時,特斯拉也在優化延遲上做了不少⼯作:
有了數量如此多的神經⽹絡,就需要巨量的數據餵養。接下來且看看特斯拉在⾃動標註數據⽅⾯的進展。
06 自動標註
特斯拉有⼏種所有的標註框架來⽀持各種類型的⽹絡。
以⻋道⽹為例,為了成功地訓練和普及這個⽹絡到各個地⽅,需要100萬甚⾄更多交叉⼝出⾏數千萬次的數據量。
不過,數據對於特斯拉來說不是問題,畢竟⻋源眾多。但是⼀個新的挑戰就是將所有這些數據轉換成訓練表格。
這⼏年,特斯拉嘗試過多種數據標註⽅式:
如今,特斯拉在⽤的是新的⾃動標註技術,效率提升⾮常多。
此前10000 次⾥程標註,如果換⼿⼯貼標,需要500 萬⼩時,現在只需要12 個⼩時就能搞定。
具體怎麼做的呢?我們再再再次展開。主要分為三個步驟:
第⼀步,通過⻋身攝像頭、視覺慣性測距法進⾏⾼精度的軌跡和結構恢復。所有的特徵,包括地⾯都是通過神經⽹絡從視頻中推斷出來的,然後在向量空間中進⾏跟蹤和重建。
第⼆步:多重⾏程重構。這也是最核⼼部分。可以看到之前顯示的⾏程是如何重建的,並與其他⾏程對⻬,⽽後實現重建。
然後,⼈類分析師進來並最終確定標籤,每個步驟都已經在集群上完全並⾏化。所以整個過程通常只需要⼏個⼩時。
最後⼀步:⾃動標註新⾏程。只是在預先建⽴的重構和每個新⾏程之間,使⽤相同的多⾏程對⻬引擎。
因此,這⽐完全重建所有的⽚段要簡單得多。
這也是這台機器可擴展性的關鍵。只要有可⽤的計算和⾏程數據,這台機器就能輕鬆擴展。
當然,⾃動標註不僅⽤在⻋道,還有規劃、占⽤⽹絡等,很多都是⾃動標註的。
07 仿真
對於⾃動駕駛來說,路測很重要,因為能接觸到真實場景。
但是同樣的,模擬仿真也是⾃動駕駛數據獲得的重要途徑和來源之⼀, 可以提供很多難以獲得的數據。
但是,3D 場景的製作是出了名的慢。以這個模擬場景為例,渲染師需要兩周來構建,但是有了新的⼯具後,使得特斯拉可以在5 分鐘內就完成類似場景的搭建,⽐之快了1000 倍。
⾸先,特斯拉會把⾃動化的地⾯真實標籤輸送到模擬世界創建⼯具中:
隨後,⽣成道路⽹格,並⽤⻋道標籤對其進⾏重新拓撲填充,其中包括各種重要道路信息,⽐如⼗字路⼝的坡度、材料等:
在路⾯上創造⻋道線:
然後是填充細節,⽣成植物以及樓房,與此同時,帶來的還有由植物樓房等帶來的視覺遮擋效果:
然後是交通信號的引⼊:
然後是路標以及⻋道指引線:
接下來加⼊⻋輛、⾏⼈等交通參與者:
只需要動動⼿指,特斯拉可以創造各種想要的仿真環境:
現在,特斯拉可以很容易地⽣成⼤部分的舊⾦⼭城市街道仿真:
08 寫在最後
來個⼩結吧。
特斯拉在FSD 上今年展示了很多內容。
感知、規劃、決策、控制以及仿真每⼀塊都有不同進展和突破。
這次AI Day 讓我們看到了特斯拉在替代激光雷達以及⾼精地圖上所做的⼯作。
同時,隨着新神經⽹絡的加⼊,特斯拉FSD變得更聰明,同時駕駛上也更⼈性化。
⻢斯克表示:「⽬前FSD軟件已經可以適⽤於全球各個地區的路況,如果地⽅監管政策允許,我們可以在今年年底⾯向全球推出FSD Beta 版本軟件。」
10⽉5⽇,特斯拉宣布了「Tesla Vision」的新動向:取消超聲波傳感器。
兩年前,特斯拉拿掉了毫⽶波雷達,現在,特斯拉對超聲波傳感器下⼿。
這樣⼀來,特斯拉真就在純視覺⾃動駕駛⼀條路⾛到⿊了。
特斯拉的純視覺⾃動駕駛正在按着既定的⽬標逐漸推進。
最後⼀個問題:特斯拉能不能⽤純視覺實現⾃動駕駛?這個問題我暫時⽆法回答。
我只能給你⼀個我看到的現狀:當絕⼤部份的⻋企都轉向激光雷達陣營,⽽特斯拉仍在純視覺路線上做⼀個孤勇者和開拓者,為⾃動駕駛的實現提供更多的參考思路。
不是誰都敢賭上⾃⼰的前程去博⼀個不確定的明天,但是特斯拉敢。這份開拓創新的勇⽓,讓⼈敬佩。
OK,以上就是這次特斯拉AI Day 關於FSD 的進展。
如果你覺得內容不錯,歡迎⼀鍵三連,這對我的創作有很⼤的幫助。