特斯拉中國T-talk:淺析純視覺自動駕駛技術架構
原創【51CTO.com原創稿件】近日,特斯拉中國組織了一場T-talk交流活動,為我們解析了特斯拉,如何用純視覺技術實現自動駕駛的整體架構,通過一些特征案例來介紹架構中每部分能解決的實際問題。
這次交流活動的核心,基于8月份特斯拉在美國舉辦AI Day的自動駕駛部分,活動中對數據如何提取、歸類和優化,以及向量空間構建等關鍵點做了解釋。
整體架構一覽
我們先來了解一下特斯拉用純視覺技術實現自動駕駛的整體架構(上圖)。
從下向上來看:
(1)多機位相機拍攝到不同角度的圖像RAW文件;
(2)經過RegNet網絡(某種卷積神經網絡)及BiFPN(加強特征提?。┻M行特征提?。?o:p>
到這里,系統已經高效的提取出圖像里的有用信息。
(3)經過Transformer進行特征融合及MLP的特征修正,將特征數據重新表示到向量空間中,并在時間和空間上形成一個特征隊列。
(4)通過隊列的方式獲得Video的特征,加入IMU數據,形成4D影像;
(5)經過Spatial RNN進行特征提??;
(6)最終再經過不同的檢測頭實現車輛、行人、車道線、深度圖、速度/方向等檢測。
接下來我們要說兩方面關鍵技術,一方面是如何高效提取特征數據,一方面是向量空間怎么建立。
加強特征提取
首先認識這兩個方法:FPN——特征提取, BiFPN——加強特征提取 。因為同一物體的數據在不同層級提取出來是不同的,我們要把它在有用的層級里進行強化,就用到了BiFPN。
前面說過BiFPN能在卷積神經網絡的不同層里靈活的提取特征數據,因此讓數據提取變得高效。
下面這個例子就是利用BiFPN提取兩個不同層級里的特征數據,要證明右下圖像的遠處的物體是一輛車。BiFPN會提取不同分辨率信息,并把這些信息融合。因為同一個物體在不同的尺度(分別率)下,顯示的樣貌不同,在放大的圖像里遠處的車很模糊,看不出是車,但從整個圖像看,遠處路上的點與周圍像素不同,最終系統會判定它是一輛車。實際運用中,采用BiFPN的多尺度特征融合方法,可以獲得四個尺度160×120×64、80×60×128、40×30×256、20×15×512的多尺度特征圖,用于感知不同尺度的目標。
多任務HydraNets
HydraNets,多任務學習的感知框架,具有多任務共享特征,同時進行多任務處理。HydraNets有三個特點:
(1)特征共享:通過backbone網絡進行特征提取之后,同時可以進行多個任務的處理,提高推理效率;
(2)解耦合:多個任務間互不干擾;
(3)Fine-Tuning:在fine-tune時可以將backbone網絡固定住,只訓練檢測頭的參數,提高效率。
接下來聊一聊這樣網絡結構給我們帶來什么樣的好處。
特征共享
首先是特征共享,也就是不同任務都采用主干網絡前向傳播推理過程,這樣從側面節省了測試時間,有效將測試時間均攤到不同任務,FSD有上千種目標需要識別,共享主干網絡的特征大大節省了時間。
任務之間的低耦合
回到架構的最后Head部分,每個Head都在執行不同的任務,比如識別道路、樹木、車輛等,HydraNets實現了各個Head之間的解耦,他們從同一個網絡中提取數據的過程互不干擾。
多相機向量空間預測/校準
既然單個相機預測的結果會導致很大的偏差,通過多個相機的圖像的特征進行融合,然后再進行檢測,也就是把多個圖像特征融合在一起,最終只預測出一個結果,就能很好的解決多相機預測融合的問題。
多機位的相機拍攝到圖像,經過BackBone進行特征提取,獲得多尺度特征,最后送入到紅色的框框中,最后完成檢測。
通過Transformer(下圖左側框中)來實現多機位特征到結果的預測,由于通過融入不同相機的位置信息,能夠獲得準確的空間位置映射。
下圖表示的是‘單相機檢測結果融合’與‘多相機特征融合’的檢測結果比較。可見單相機檢測結果融合(黃色)由于角度偏差預測的結果不準確;而多相機(藍色)特征的融合檢測結果更加準確。
目前國內的版本上,我們遇到過屏幕上顯示識別的車輛會抖動,就是黃色造成的結果。
另外,針對機器缺乏記憶的能力,也就是不會等紅燈或左轉不會讓直行等情況,架構中加入了視頻模和IMU信息來解決這類問題。
視頻模塊,保留一段時序特征圖,通過隊列的數據結構實現,另外這里還融入了IMU信息,提升了定位、跟蹤方面的準確性。
架構中還有許多功能,在這里我們先不一一解釋,有興趣的朋友歡迎給我們提出意見和想法。
特斯拉通過在車上部署影子模式,在不開啟FSD的情況下,依然能持續收集數據進行訓練,這個模式不參與正常的駕駛,但會把有用的數據收集反饋給系統??吹接白幽J侥憔蜁靼祝瑸槭裁翠N量對智能車企做自動駕駛很重要。
總結一下,特斯拉整個的流程是先建立實際道路路況數據庫,這一過程依靠特斯拉賣出的所有車和車主的駕駛來完成。數據經過標注(人工和自動),劃分出人、車或者車道線等特征數據,這些特征數據進入到訓練系統,并部署到車上,車在使用中發現問題會記錄特征信息返還給訓練系統。如此往復形成深度學習,進而推動特斯拉FSD(完全自動駕駛)技術的進化。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】