2022年的特斯拉 AI Day分為三大主題:分別為AI機器人- Optimus,AI智能駕駛 FSD和AI超算芯片技術。我在上篇文章《Tesla 特斯拉AI day - 關于特斯拉機器人的進展和技術》大概介紹了其機器人開發平臺的一些硬件技術和開發思路。本文我將介紹其第二部分,這一部分主要是其人工智能算法技術,也是其汽車,機器人共用的底層算法,比較硬核和重磅。在介紹算法之前,我們先看下特斯拉自動駕駛FSD的一些進展。特斯拉表示從2021年開始交付的特斯拉從硬件層面上都應該支持自動駕駛(此處是“自動駕駛”不是我文章之前常用的詞“智能駕駛”),特斯拉團隊現在做的是一步一步的提升自動駕駛等級。目前其自動駕駛軟件FSD的使用客戶已經從2021年的2千人到現在達16萬人。僅僅去年就通過480萬段數據訓練了超過75000個算法模塊,其中交付給車輛281個算法模塊,完成了35次版本的發布。當然特斯拉還是吹牛了一把,他們認為特斯拉能夠支持點對點自動駕駛,了解什么是點對點自動駕駛可以點擊《淺談高階智能駕駛-領航輔助的技術與發展》,他包括從停車場出發實現城市駕駛的交通燈識別停車駕駛,十字路口與其他車輛交互通行,轉彎等等。當然這些進展除了版本迭代內部過程數據化,一年之內使用FSD的客戶暴增80倍,等量化很好表達了進展之外,他對消費者感知提升的進展并不是講的很清楚,你迭代了多少版本用了多少數據,有多少消費者買單并不能說明你使用起來體驗很好。其實如果特斯拉能夠采用我在《2021DMV自動駕駛公司KPI排行榜》文章中介紹美國加州交通管局用來評價自動駕駛的性能的指標-每次人為介入接管之后行駛公里數KPI(Km Per Intervention)來秀其進展那么就硬核了。以上就是特斯拉自動駕駛FSD的最新進展,總的來講數據很震撼,但對消費者使用感知的直接提升數據表達不是特別清楚。關于特斯拉的FSD的算法技術部分,此次特斯拉2022 AI Day把其FSD背后的技術,按照從終端客戶使用感覺到的使用問題開始,然后一步一步深入背后的算法創新優化,算法背后的數據訓練等串起來講。我在這里把他總結分成了如下四個部分,兩篇文章去分享:
Tesla AI Day -特斯拉自動駕駛FSD的進展和算法軟件技術之算法當算法植入到終端(車或者機器人),終端通過算法感知環境,規劃路徑,確保安全,平順前進。- Occupancy 算法,也就是可活動空間探測
- Lane & Objects 車道以及物體算法,交通中的信息語義層也就是車道線,物體識別以及運動信息。Tesla AI Day -特斯拉自動駕駛FSD的進展和算法技術之數據和計算- 訓練數據的設施,超算中心用來支持數據處理,算法訓練。- 人工智能算法的編譯器以及推理,就是訓練算法的框架以及軟件方法。- 自動標注算法,訓練環境感知算法必須需要已經具有標簽的數據,自動標注算法就是標注數據,訓練環境感知算法識別這類場景或者物體。
- 數據引擎,現實場景車輛,測試軟件獲取真實場景環境數據,閉環數據引擎,更正標簽等。希望能給大家帶來一些信息,當然看特斯拉的算法有點燒腦,所以錯誤難免,還請多多指正;另外為了能幫助大家理解,可能很多細節簡化,后面希望有時間能夠詳細分解深入再分享給大家。什么是路徑規劃?我之前文章《自動駕駛路徑運動軌跡生成方法》有詳細分享,他主要是搜索要遵循的路徑、避開障礙物并生成確保安全、舒適和高效的最佳軌跡,讓車輛行駛。場景越復雜,路徑以及運動規劃更難,所以,大家可以看到當前很多智能駕駛的使用場景基本都在高速環路等半封閉的場景。特斯拉此次AI Day分享了自動駕駛最難的場景之一,也是最考驗路徑規劃的場景 - 擁堵十字路口,前方道路有行人橫穿和行車占道通行的情況下,路徑以及運動規劃如何進行安全舒適的無保護左轉。
- 堅持自己的路徑,讓其他車輛,行人等交通參與者讓自己。
- 禮讓汽車和行人,等他們走了,再走。這是當前大部分國內智能駕駛的選擇。
- 讓本車以及其他交通參與者的運動軌跡進行交互,特斯拉表示這個運算過程大概耗時10ms,一般一個擁堵的十字路口左轉場景,會有超過20個交互相關的交通參與者,有超過100種交互相關組合,那么目標路徑規劃時間大概是50ms
特斯拉表示其采用Interaction Search交互搜尋算法,尋找最優的結果,它分為以下5個步驟:- 視覺環境識別 - 采用稀疏抽取的方法抽取潛在特征來識別車道,障礙物,移動物體等交通參與者。
- 選定目標候選人 - 確定車道線,非結構化區域來形成可通行的空間信息。
- 產生可能的軌跡 - 通過軌跡優化,神經元規劃生成運動軌跡。
- 產生運動方案 - 例如到底是強行插入交通還是等待行人通行。
- 確定軌跡和時間,速度 - 當確定好運動方案時候,還需要考慮運動軌跡下的其他車輛通行情況,多種考慮之后才能輸出運動規劃。
特斯拉表示第5步,是最難的,因為隨著每一步約束的增加,每一種新的軌跡生成運算都需要1-5ms,那么你想想這種情況下大約有一百多種方案,那么顯然都快需要0.5s的時間用來運算了。特斯拉想到的方案是lightweight queryable networks輕量化可查詢的神經元算法,這種算法是去查找基于其人類駕駛方法場景庫以及線下虛擬仿真運算出的結論,也就是查找庫已有方案,看他的運動軌跡會怎么做,這樣可以在大約100us,也就是0.1ms內來生成一種軌跡。有了多種軌跡和運動規劃之后,接下來還需要選擇一種,這個時候特斯拉算法采取對碰撞檢查,控制舒適性,需要介入的可能性,是否擬人化等多項要求,進行打分來確定,選定最終軌跡和運動規劃。以上就是特斯拉利用其路徑規劃算法,在解決交通繁忙條件下無保護左轉采用的交互搜尋算法,尋找最優的結果的流程。這里一個比較妙的方法是特斯拉有一個人類駕駛行為和仿真參考庫提供檢索。環境感知是一切智能駕駛的源頭,眾所周知特斯拉環境感知主要依賴視覺,當然我之前文章《智能駕駛要用多少個激光雷達?分別放在哪里?什么作用?》等都表示視覺無深度信息容易出問題,但這次特斯拉介紹了其Occupancy Networks 算法用來探索可運動3D空間,那它是否能夠解決視覺深度信息呢?按照特斯拉的理念應該是能,只等待算法的進化,此次沒有細節,讓我們先回到其Occupancy Networks 算法。Occupancy Network 算法能干什么?
特斯拉在過去幾年中一直開發的算法,他主要是通過特斯拉外部的8個攝像頭視頻流,去構建基于幾何體積塊的環繞汽車的3D空間,并持續去識別全貌即使短時間內有遮擋物,能夠識別標注Occupancy(翻譯成占住的?)物體例如馬路牙子,汽車,行人等,他還能識別物理的流動,來預測一些偶然的流體運動例如長巴士,拖掛車的甩尾,這樣Occupancy Network 算法能夠高效識別感興趣的點。特斯拉表示其Occupancy Network算法在算力和內存之間取得很好的效率,大概10ms就可建模完成,目前此算法已經運行在所有FSD的特斯拉上。
Occupancy Network 算法工作原理是怎樣的?特斯拉表示其Occupancy Network算法工作流大概分以下五個步驟:1. Image Input ,8個攝像頭依據攝像頭標定矯正后直接輸入給算法,視覺輸入不使用ISP(以人為本的圖像處理)同時因為攝像頭的原始數據是4 位彩色它能提供16倍的動態范圍給到算法,所以可以減少輸入的延遲。了解攝像頭基本原理點擊《智能汽車要用多少個攝像頭?分別干啥?什么原理?》。
2. Image Featurizers,使用預訓練的深度神經網絡模型對圖像進行特征化,輸入給下一步。特斯拉采用RegNet 以及BiFPNs算法來特征化圖像,特征化基本就是識別物體了。3. Spatial Attention,是卷積神經網絡中用于空間注意的模塊。它利用特征的空間間關系生成空間注意力圖,也就是構建空間信息。這里特斯拉提到兩個算法Mlticam Qurey Emdedding 也就是多攝像頭查詢,Spatial Query空間查詢然后輸入給注意力Attention算法,這里就是構建空間。4. Temporal Alignment,分為兩個部分,一個部分是自己車輛的軌跡對齊,另外一個將各個識別特征物對齊,初步形成了時空特征。
5. Deconvolutions,去卷積也就是把濃縮的特征反向成物體。這里其中有一個一直是普通視覺算法的噩夢,就是路面地理信息,例如上下坡度,特斯拉表示其算法能夠識別路面的地理特征。6. Volume Outputs,去卷積之后的反向物體,將從空間上能代表物體大小,被放置在時空中,而且此類空間占據還根據路面的情況自動匹配,這里特斯拉講到一個算法NeRF state,能夠表示具有復雜遮擋的詳細場景幾何,這樣可以讓時空更加真實。
7. Queryable?Outputs,這里很有意思,去卷積之后的反向物體有些可能不能完全代表真實的物體的大小,所以特斯拉算法采用查詢法去數據庫中查詢真實世界的結果,進行位置和大小的矯正再進行空間放置。Occupancy Networks 算法可以通過攝像頭收割數據,然后利用NeRFs算法構建真實世界的精準映射-虛擬世界,當然特斯拉當前的虛擬構建顯然做不到把攝像頭色彩完全投影進來,特斯拉目前主要任務是通過車輛收集數據構建可支持自動駕駛所需關鍵信息的虛擬3D世界,特斯拉也想收割全球以及其各種天氣下的信息,當然這當中肯定還有很多技術問題有待解決,所以特斯拉也趁機人才招募廣播一把。特斯拉表示其Occupancy Networks 算法都是自動標注算法訓練而成的,特斯拉這個環境感知算法聽起來確實厲害,他在Bird's-eye view算法上又進了一步有了Occupancy Networks 算法可以讓自動駕駛對可行駛空間有了認知,但是交通道路是有自己的規則的,其中最直觀的就是車道線,所以接下來讓我們看看特斯拉對于車道線的識別有什么新內容。
特斯拉表示其老的車道識別算法是使用2D平面,分割算法例如RegNet,他在高速以及清晰高度結構化的場景應用的比較好,目前基本上國內車型應該都采用此類算法,當然國內的道路結構化都比較好,但在國外那種路面國內車型都是挑戰,畢竟國外的設施都沒有國內新。當然車道清晰等也不是特斯拉老算法的主要問題,特斯拉在國外訓練的算法對于清晰度應該也不是問題,問題是城市應用場景中,簡單轉彎分隔的結構化車道,繁忙交通中交匯口前車遮擋等無法采集到足夠的數據的時候,此類問題是經典車道識別算法無法解決。當然國內依賴高精地圖的智能駕駛方案,則沒有此類問題,但他需要準確的高精地圖,這就是為什么現在的城市領航輔助遲遲沒上,他們必須要有高精地圖。高精地圖,第一需要測繪了,第二需要有關部門批準釋放了。
所以不使用高精地圖僅僅依靠視覺算法的特斯拉給出的答案是:用神經元算法預測,生成全套車道實例及其相互連接。特斯拉表示其最新的FSD 車道算法由以下三個組件組成1. 視覺組件 -?車輛上八個攝像頭的視頻流輸入卷積層、注意層和其他神經網絡層進行編碼,或許豐富的環境信息,然后生成帶有粗略路線圖的表示。2. 地圖組件 -?額外的神經網絡層編碼的道路級地圖數據,特斯拉稱之為車道引導,這張地圖不是高清地圖,但它提供了許多關于交叉口的有用提示,車道內的拓撲結構,交叉路口的車道數,以及一組其他屬性。這里的前兩個組成部分產生了一個密集張量世界,可以對世界進行編碼,但特斯拉真正想做的是轉換這個稠密的張量為智能駕駛車道的連通集合。
3. 語言組件 -?特斯拉將這個任務看成一個圖像轉字幕的語言任務,這個任務的輸入是這個稠密的張量,輸出的特殊的文本語音用來預測車道連通。用這種車道語言單詞和符號對車道進行編碼,這些單詞和符號就是3D中的車道位置,在單詞符號中引入修飾語,對連接詞進行編碼通過將任務建模為語言問題,我們可以利用語言人工智能算法的最新技術來處理道路的多重連通集合。
所以特斯拉的方法是用最先進的語言建模和機器學習算法來解決計算機視覺問題,語言算法應該在人工智能算法中屬于比較先進發展較快的一個分支,主要原因應該是語言數據更易得和數據量小,便于學習訓練,此次特斯拉發布的車道線識別算法的亮點就是這個。如果展開這個算法估計文章得再加幾千字,所以等我有機會深入理解,再詳細分享。總的來講其算法此次有幾個亮點,對于十字路口算法,構建了人類駕駛行為和虛擬駕駛行為庫供算法查詢從而節省計算時間,利用各項指標去框定選擇最優路徑。對于車道識別算法,創新性的借鑒語言算法來解決視覺問題。以上就為,特斯拉2022年AI Day大概發布的算法方面的進展和優化,時間倉促和水平有限,錯誤難免還請留言交流,關注我們,下一篇文章介紹算法背后的數據,虛擬,算法編譯等。
特斯拉AI?Day視頻
*未經準許嚴禁轉載和摘錄-獲取參考資料方式:
加入我們的知識星球Vehicle?可以下載公眾號海量參考資料包含以上參考資料。。

- Tesla 特斯拉AI day - 關于特斯拉機器人的進展和技術
- 2000TOPs的英偉達和高通要把智能汽車帶向何方?
- 從大眾新CEO的十個工作重點看大眾汽車電氣化,軟件定義汽車的方向和方法
- 芯片和操作系統 - 當前汽車供應鏈面臨的關鍵問題思考