對比Mobileye和特斯拉,兩者做事風格截然不同。Mobileye有著十幾年的積累,可靠性經過了市場和時間的驗證,傳統大廠無一例外都會選擇Mobileye,但同時意味著有資產包袱,不舍得放棄以前的研究成果,難接受新的研究方向與潮流變化,對學術界的東西似乎完全不在意。特斯拉則是博采各家所長,時刻關注著學術界的最新動向,發現有好的技術點就努力將其落地,始終走在技術最前沿。
Mobileye在L2領域占據絕對霸主地位,市場占有率超過70%,特斯拉則是智能駕駛技術的引領者。對于感知任務,核心就是建立一個3D的周邊環境模型,即3D場景重建,這也是L2與L2+系統的本質區別。L2的目的是避免碰撞,遇到可能發生的碰撞就剎車或減速,而L2+系統是自主駕駛,遇到可能發生的碰撞時,通過對周邊3D場景重建,找到可行駛空間Freespace繞開障礙物,而不是減速或剎車。3D場景重建的最佳表征形式是BEV即鳥瞰,很多時候BEV幾乎等于3D場景重建。
3D場景重建最佳解決辦法是立體雙目,即基于Depth Map的3D重建。立體雙目可以準確測量出深度信息,但除了博世、奔馳、豐田這些大廠外,雙目的標定和立體匹配是無法跨越的難關,包括特斯拉和Mobileye。還有一個原因是新興造車在單目上累積了豐富的知識產權,跳到立體雙目領域意味著這些累積都作廢了,這是最核心資產的嚴重流失。
特斯拉和Mobileye的思路都是用單目做3D重建,常見方法有SfM和Transformer。此外3D場景重建還可以基于點云、VOXEL和MESH。
SfM(Structure From Motion)是最經典技術路線,通過使用諸如多視圖幾何優化之類的數學理論從2D圖像序列中確定目標的空間幾何關系,以通過相機移動恢復3D結構。SFM方便靈活,但在圖像序列采集中遇到場景和運動退化問題。根據圖像添加順序的拓撲結構,可以將其分為增量/順序SFM、全局SFM、混合SFM和分層SFM。此外,還有語義SFM和基于深度學習的SFM。步驟包括1.特征提?。⊿IFT、SURF、FAST等方法);2.配準(主流是RANSAC和它的改進版;3.全局優化bundleadjustment用來估計相機參數;4.數據融合。
Mobileye的SuperVision
Mobileye的multi-view stereo實際就是SFM的另一種說法,Mobileye還給它取了另一個名字Vidar或者叫偽激光雷達,這就是SuperVision的核心。
Mobileye的SuperVision,7個800萬像素攝像頭
7個攝像頭聯合得到的3D場景重建
偽激光雷達
VIDAR就是multi-view stereo
Mobileye的SFM還混合了REM和視覺道路模型
SuperVision也可以得到BEV視角,不過不像特斯拉那樣高精細度,特斯拉的所謂OccupancyGrid,Mobileye也有使用。當然,大部分情況下還是非BEV視角。
SFM的優點是設計簡單,有些類型的SFM可以用非深度學習算法,對算力需求很低,即使深度學習算法,因為還是參數量不到千萬的CNN,對算力需求還是很低。不過SFM精度不高,特別是大范圍場景或者說遠距離使用困難,因為一個大場景環境是很復雜的,如各種物體、多樣的光照、反光表面,還有不同焦距、畸變和傳感器噪聲的多樣攝像機。許多先前的方法采用多視角深度估計(MVS)來重建場景,預測每一幀圖像的稠密深度圖,這種depth-based方法可以估計準確的局部幾何形狀,但需要額外的步驟來融合這些深度圖,例如解決不同視角之間的不一致性,這相當困難。Mobileye的解決辦法是使用高像素攝像頭,7個攝像頭都是8百萬像素,像素越高,有效距離越遠。
再有就是SFM準確度有限,為了從多個輸入視圖中學習有效的3D表示,大多數基于CNN的方法遵循分而治之的設計原則,其中通常的做法是引入CNN進行特征提取和融合模塊來集成多個視圖的特征或重建得到。盡管這兩個模塊之間有很強的關聯,但它們的方法設計是分開研究的。另外,在CNN特征提取階段,很少研究不同視圖中的目標關系。雖然最近的一些方法引入了遞歸神經網絡(RNN)來學習不同視圖之間的目標關系,但這種設計缺乏計算效率,而且RNN模型的輸入視圖是對順序變化敏感的,難以與一組無序的輸入視圖兼容。
輪到特斯拉的BEVFormer閃亮登場了,BEV一直存在,BEV視角下的物體,不會出現圖像視角下的尺度(scale)和遮擋(occlusion)問題。由于視覺的透視效應,物理世界物體在2D圖像中很容易受到其他物體遮擋,2D感知只能感知可見的目標,而在BEV空間內,算法可以基于先驗知識,對被遮擋的區域進行預測。再有就是BEV視角下,感知和決策規劃有機地融為一體,依靠Freespace或者說Occupancy Grid提供直接路徑規劃,無需中間計算環節,速度和準確度都大幅提升。
BEV可以分為基于深度/幾何信息的和基于深度學習的兩大類。
基于深度/幾何信息的 BEV 是正向思維,采用自底向上、從2D 到3D 的方式,先在2D視角預測每個像素的深度再通過內外參投影到 BEV空間通過多視角的融合生成BEV特征,但對深度的估計一直都是難點。不過激光雷達和雙目都可以提供準確的深度信息完全不是難點。純單目的方式典型代表就是SFM,用SFM 推測深度信息。Mobileye 可以用SFM 做出BEV,但目前來看還似乎是沒有使用,還是2D 平視。
基于深度學習的 BEV是逆向思維,采用自頂向下、從3D到2D 的方式,先在 BEV 空間初始化特征,再通過多層transformer 與每個圖像特征進行交互融合,最終再得到 BEV特征。這就是特斯拉的BEVFormer。
早期自動駕駛研究階段都是頭頂64線或128線360度Velodyne機械激光雷達,就是為了制造BEV視角,但是要到落地階段,Velodyne的64線或128線激光雷達顯然無法商業化。
激光雷達制造的BEV
于是才有了純攝像頭的BEV。BEV是連接時空的理想橋梁。對于人類視覺感知系統來說,時間信息在推斷目標的運動狀態和識別遮擋目標方面起著至關重要的作用,視覺領域的許多工作已經證明了視頻數據的有效性。然而,現有最先進的多攝像頭3D檢測方法很少利用時間信息。應用Transformer(空域)結構和Temporal結構(時域)從多攝像頭輸入生成鳥瞰圖(BEV)特征。BEVFormer利用查詢查找空域和時域,并相應地聚合時-空信息,有利于實現感知任務的更強表征。
Transformer是一種基于注意力機制(Attention)的神經網絡模型,由Google在2017年提出。與傳統神經網絡RNN和CNN不同,Transformer不會按照串行順序來處理數據,而是通過注意力機制,去挖掘序列中不同元素的聯系及相關性,這種機制背后,使得Transformer可以適應不同長度和不同結構的輸入。利用多個無序輸入之間的自注意力來探索視圖到視圖的關系。將多視圖3D重建問題重新表述為一個序列到序列的預測問題,并將特征提取和視圖融合統一在單個transformer網絡中。
另一方面,在Transformer模型中,自注意力機制在任意數量的輸入標記內顯示出其學習復雜語義抽象的強大能力,并且自然地適合于探索3D目標不同語義部分的視圖到視圖關系。鑒于此,transformer的結構成為多視圖3D重建最吸引人的解決方案,transformer配合語義分割有更好的效果,傳統的CNN也有不錯的3D重建。
BEVFormer整體架構
需要指出BEVFormer有兩個概念,一個是南京大學、上海AI實驗室和香港大學提出的,見論文《BEVFormer: Learning Bird’s-Eye-View Representation from Multi-CameraImages via Spatiotemporal Transformers》,另一個是人們根據特斯拉AI日中的介紹,認為特斯拉的感知結合了BEV和Transformer,因此稱其為BEVFormer。特斯拉不會公布自己的源代碼,而《BEVFormer: Learning Bird’s-Eye-ViewRepresentation from Multi-Camera Images via Spatiotemporal Transformers》內附源代碼。
特斯拉自己對BEV + Transformer的叫法應該是Multi-CamVector Space Predictions。
其內部構造可以參考FACEBOOK的論文《End-to-End Object Detection with Transformers》
特斯拉圖像到BEV的Transformer
特斯拉視覺系統整體架構,BEV+Transformer也就是第二層的Multi-camFusion+矢量空間。
特斯拉的第一層的BiFPN也值得一提。BiFPN當然也不是特斯拉創造的,它的詳細理論參見論文《EfficientDet: Scalable and Efficient Object Detection》,作者是谷歌大腦研究小組。
BiFPN準確率很高,消耗算力比傳統的ResNet要低很多。
Mobileye的算力不高,不是AI算力不高,CPU算力也不高,GPU幾乎為零,因此Mobileye將環境模型分成4部分,降低計算密度。
針對4個子目錄有不同的處理技術
這其中的語義分割和特斯拉的Occupancy Grid基本一致,只是特斯拉是基于BEV視角的。
Mobileye的語義分割,Mobileye早在2018年就提出此項技術并于2019年商業化落地,技術實力還是很不錯的。
表面上看,特斯拉和Mobileye的SuperVision的思路一致,但Transformer的使用讓特斯拉明顯遠比Mobileye要強大,不過一代FSD或者說HW3.0能跑BEVFormer嗎?典型的NLP用Transformer參數是10億個,針對視頻的可能會有20億個,按照汽車行業慣用的INT8格式,意味著Transformer模型大小是2GB。特斯拉初代 FSD 使用的 LPDDR4,型號是MT53D512M32D2DS-046 AAT,容量為16Gb,總共 8 片,I/O 頻率 2133MHz,其帶寬為 2.133*64/8,即 17.064GB/s,由于DDR是雙通道,所以帶寬是34.12GB/s,這里非常抱歉,以前的算法有錯誤(錯誤照搬了英偉達的張量并行模式),嚴重高估了內存帶寬。
順便指出像ChatGPT這種大模型,英偉達是采用張量并行的方式計算,因此如果是8張H100顯卡,英偉達是將權重模型一分為8,等同于內存帶寬增加了8倍,但是張量并行是針對多張顯卡服務器設計的,對于車載領域,Transformer還未聽說用張量并行的,張量并行也是英偉達獨創的。內存帶寬僅有34.12GB/s是無法流暢運行Transformer的,因為每分鐘單單讀入權重模型的次數最高也不過17次,還未包括處理數據的時間和路徑規劃所需要的時間,而智能駕駛需要幀率至少是每秒30幀,也就是每秒30次以上計算,那么內存帶寬至少要能支持每秒60次讀入,也就是帶寬要增加3倍以上。
不僅是內存帶寬,Transformer不僅對AI算力需求大,對CPU的標量算力需求也大,初代FSD僅有12個ARM Cortex-A72,這是不夠的。二代FSD或者說HW4.0用了昂貴的GDDR6,帶寬大幅增加,CPU核心也從12個增加到20個,勉強可以跑Transformer。不過GDDR6雖然帶寬高,但速度低,用在CPU領域并不合適。
服務器領域內存是分開的,CPU用強調速度的DDR5,GPU用強調帶寬的HBM3。但汽車領域是CPU+GPU(AI),一般廠家都選擇LPDDR5(LP是低功耗的意思),照顧CPU更多,特斯拉為了強調AI算力,用了GDDR6。
初代FSD可能還上不了BEVFormer,與Mobileye的SuperVision效果相比,Mobileye的像素遠高于初代FSD,有效距離更遠,安全系數更高。但二代FSD就目前來看,是可以全面勝過SuperVision的,不過即使是美國市場,二代FSD估計也要等到2024年才會上市,中國市場估計要到2025年甚至2026年,屆時Mobileye或許也有技術升級。
-
3D
+關注
關注
9文章
2882瀏覽量
107579 -
服務器
+關注
關注
12文章
9184瀏覽量
85479 -
Mobileye
+關注
關注
2文章
130瀏覽量
33795
原文標題:Mobileye和特斯拉差距在哪?
文章出處:【微信號:zuosiqiche,微信公眾號:佐思汽車研究】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論