為了能夠深入解讀Tesla上述的這些設(shè)計理念,本文從ADAS感知算法演進(jìn)和工程化需求的角度,首先來重點(diǎn)介紹Tesla于2021年底發(fā)布的用來改進(jìn)原有HydraNet方案的Occupancy Network。
HydraNet是一種對8個攝像頭的視頻幀(36fps)分別進(jìn)行空間變換矯正補(bǔ)償和特征提取(ResNet),在BEV空間進(jìn)行多攝像頭的時空特征融合,然后進(jìn)行多任務(wù)學(xué)習(xí)(行人檢測,交通燈,可行駛區(qū)域分割,等等)。如圖1所示的幾例交通事故場景,可以看出純視覺的HydraNet方案在目標(biāo)檢測上存在的一些致命的缺陷,例如小樣本目標(biāo)的漏檢誤檢問題,非立體的平面目標(biāo)畫像的誤檢問題等等。其根因可以簡單歸納幾點(diǎn)(Thinkautonomous, 2022):
1、接近地平線的遠(yuǎn)景區(qū)域深度極度不一致問題:
小樣本目標(biāo)問題:遠(yuǎn)距離目標(biāo)的深度信息消失,或者超低分辨率很難決定一個目標(biāo)區(qū)域的深度(例如圖右橋墩漏檢后導(dǎo)致致命性車輛撞擊問題)
2、遮擋問題:
鬼影問題:不能穿透遮擋區(qū)域或者行駛車輛來識別被遮擋目標(biāo),遮擋目標(biāo)長記憶軌跡預(yù)測困難
3、2D或者2.5D視頻約束問題:
非立體的平面目標(biāo)畫像問題:難以對應(yīng)到真實(shí)3D場景,難區(qū)分靜態(tài)和動態(tài)目標(biāo)
2D目標(biāo)固定框問題:難以識別懸掛或者懸空的障礙物(可能不在目標(biāo)檢測框內(nèi),例如卸貨卡車的千斤頂支撐架,卡車貨架頂上的人梯等)
圖1可行駛空間3D目標(biāo)漏檢場景
Occupancy Network在HydraNet基礎(chǔ)上通過添加高度這個維度對2DBEV空間進(jìn)行擴(kuò)展,其首先對圖像的特征圖進(jìn)行MLP學(xué)習(xí)生成Value和Key,在BEV空間通過柵格坐標(biāo)的位置編碼來生成Query,新柵格的區(qū)別是采用原有的2D柵格和高度一起構(gòu)成3D柵格,對應(yīng)生成的特征也從BEV特征變成了Occupancy特征。
其設(shè)計思路來自機(jī)器人設(shè)計用的occupancy grid mapping,即將真實(shí)3D場景分割成一個個3D的柵格grid。如圖2所示,每個柵格存在兩種狀態(tài)(占用或空閑),可以是多視覺3D呈現(xiàn)的Occupancy Volume,當(dāng)然為了處理速度,目標(biāo)的形狀不會是一種精確表征,只能是簡單逼近,但可以用來區(qū)分靜態(tài)和動態(tài)目標(biāo)(更像是一個3D的blob),可以以3x以上的幀速運(yùn)行(>100fps),內(nèi)存占用也非常高效。
Occupancy Network將3D空間圖分割成一個個超小的cub或者voxel,通過DNN模型做占空兩個狀態(tài)的預(yù)測,顯然可以解決上述2D目標(biāo)固定框問題(即所謂的懸空障礙物的問題),以及換了一種思維設(shè)計來解決業(yè)界難以實(shí)現(xiàn)的通用目標(biāo)檢測器的問題(即所謂數(shù)據(jù)長尾效應(yīng)下對未知障礙物的識別和避障能力問題)。
圖 2Occupancy Network與HydraNet目標(biāo)表征對比
Occupancy Network網(wǎng)絡(luò)架構(gòu)分析
如圖3所示,Occupancy Network在HydraNet基礎(chǔ)上,依舊采用Regnet + BiFPN進(jìn)行特征提取,Attention模塊采用圖像位置編碼,利用Key, Value和固定的查詢(car vs not car, but vs not bus, traffic sign vs not traffic sign)來生產(chǎn)Occupancy Feature Volume。
時空融合后會生成4D Occupancy Grid。通過Deconvolution進(jìn)行特征增強(qiáng)到原有尺寸,可以通過網(wǎng)絡(luò)層輸出上述討論過的Occupancy Volume,以及Occupancy Flow。Occupancy Flow其實(shí)就是針對每個voxel進(jìn)行光流估計來觀察每一輛車在3D定位下運(yùn)動流的向量預(yù)測(例如目標(biāo)方向: red-向前;blue:backward;grey-stationary, 等等),可以用來有效解決目標(biāo)遮擋問題,以及多目標(biāo)運(yùn)動預(yù)測與規(guī)劃等。
圖 3Occupancy Network架構(gòu)
Tesla AI day上所介紹的Full Self Driving(FSD)解決方案框架中包括訓(xùn)練數(shù)據(jù)(Auto Labelling, Simulation, Data Engine)、感知NN(Occupancy, Lanes & Objects)和規(guī)劃決策Planning三個模塊,以及AI模型的編譯訓(xùn)練和推理部署的優(yōu)化策略。
感知模塊(Lanes, Occupancy, Moving Objects)為規(guī)劃決策聯(lián)合建模提供視覺度量數(shù)據(jù)(Sparse Abstractions, Latent Features),通過幾何空間占有率來理解3D維度的遮擋問題,從而解決目標(biāo)交互遮擋中產(chǎn)生的不確定性因素。其中Occupancy 展示在車道上發(fā)生了什么,而Sparse Abstractions用來對車道,道路使用者,運(yùn)動目標(biāo)等進(jìn)行稀疏表征和特征編碼,稀疏表征特性除了減少復(fù)雜度以外,應(yīng)用優(yōu)勢包括可以將路口區(qū)域IOU提升4.2%等等。Occupancy網(wǎng)絡(luò)通過構(gòu)建可駕駛的Surface,通過對道路上人車和障礙物的3D信息構(gòu)建和呈現(xiàn),預(yù)測這些目標(biāo)物的屬性、運(yùn)動狀態(tài)和趨勢。
Occupancy子模塊的特性包括:
Volumetric Occupancy
Multi-Camera & Video Context
Persistent Through Occlusions
Occupancy Semantics
Occupancy Flow
Resolution Where It Matters
Efficient Memory and Compute
Runs in around 10 milliseconds
圖 4Tesla Occupancy Network模塊架構(gòu)
在圖 4中,輸入采用未經(jīng)過ISP處理的raw RGB圖像(10-bit Photon Count Stream,36Hz,在低照場景下感光度高,噪聲小),可以讓特征提取模塊同步也進(jìn)行低照增強(qiáng)學(xué)習(xí),可以將整體召回率提升3.9%,準(zhǔn)確率提升1.7%左右。
從圖 4還可以看出,Occupancy Network在Rectify層進(jìn)行圖像的View Transformation,然后采用Regnet + BiFPN進(jìn)行特征提取,Attention模塊采用圖像位置編碼,采用Key, Value和Query來生產(chǎn)occupancy feature volume。利用里程計的定位信息進(jìn)行柵格特征的時間軸對齊,以及特征信息時空融合后會生成4D Occupancy Grid。
通過Deconvolution進(jìn)行特征增強(qiáng)到原有尺寸,可以通過網(wǎng)絡(luò)層輸出Volume(Occupancy Volume, Occupancy Flow, Sub-Voxel形狀信息,和3D的語義信息)和Surface(道路表面幾何信息和語義信息)。對接Volume還可以輸出輕量級可查詢的輸出,包括連續(xù)的Occupancy概率和3D語義理解,這種設(shè)計思路除了可以提供Occupancy的速度加速度外,查詢功能還可以提供類似NeRF的分辨率可變化的聚焦能力。輸出3D Volume和Surface信息,可以提供NeRF狀態(tài)信息,通過Volumetric Rendering來生成不同角度的3D場景重建。
總體而言,Tesla AI day上介紹的純視覺的Occupancy Network的推理計算時間在10毫秒左右,對應(yīng)視頻的36Hz采樣速度,與10Hz采樣速度的LiDAR而言,對高速目標(biāo)的感知能力,可以有很強(qiáng)的優(yōu)勢。同時從2D BEV特征演進(jìn)到3D Occupancy特征,可以有效應(yīng)對曲面地面感知和有高低變化的車道線感知,提升3D目標(biāo)輪廓的定位誤差。
Tesla采用低精度LD地圖并對車道線幾何/拓?fù)潢P(guān)系的信息,車道線數(shù)量,寬度,以及一些特殊車道屬性等信息來進(jìn)行編碼,與視覺感知的特征信息一起用來生成車道線Dense World Tensor提供給Vector Lane模塊,由于篇幅原因其具體細(xì)節(jié)將會另文進(jìn)行對比分析。
ADS感知計算的演進(jìn)趨勢分析
對于自動駕駛ADS行業(yè),我們可以將其核心演進(jìn)趨勢定義為群體智能的社會計算,簡單表述為,用NPU大算力和去中心化計算來虛擬化駕駛環(huán)境,通過數(shù)字化智能體(自動駕駛車輛AV)的多模感知交互(社交)決策,以及車車協(xié)同,車路協(xié)同,車云協(xié)同,通過跨模數(shù)據(jù)融合、高清地圖重建、云端遠(yuǎn)程智駕等可信計算來構(gòu)建ADS的社會計算能力。
在真實(shí)的交通場景里,一個理性的人類司機(jī)在復(fù)雜的和擁擠的行駛場景里,通過與周圍環(huán)境的有效協(xié)商,包括揮手給其它行駛車輛讓路,設(shè)置轉(zhuǎn)向燈或閃燈來表達(dá)自己的意圖,來做出一個個有社交共識的合理決策。而這種基于交通規(guī)則+常識的動態(tài)交互,可以在多樣化的社交/交互駕駛行為分析中,通過對第三方駕駛者行為和反應(yīng)的合理期望,來有效預(yù)測場景中動態(tài)目標(biāo)的未來狀態(tài)。這也是設(shè)計智能車輛AV安全行駛算法的理論基礎(chǔ),即通過構(gòu)建多維感知+行為預(yù)測+運(yùn)動規(guī)劃的算法能力來實(shí)現(xiàn)決策安全的目的。
在ADS動態(tài)和不確定性的場景中,環(huán)境需要建模成部分可觀察的馬爾可夫決策過程MDP即POMDP,為了降低計算復(fù)雜度,一般都選擇離散化空間或者部分連續(xù)空間來解決POMDP問題。對不確定性信息評估的一種常用的做法是對當(dāng)前狀態(tài)進(jìn)行概率分布進(jìn)行構(gòu)建,得到一個置信(belief)狀態(tài),這種形態(tài)可以通過離線或者在線構(gòu)建。
駕駛者的決策過程,可以轉(zhuǎn)化為對部分可觀察環(huán)境虛擬化或參數(shù)化,同時對個體間社交選擇的偏愛進(jìn)行參數(shù)化,嵌入到價值函數(shù)中去,通過基于優(yōu)化的狀態(tài)反饋策略,尋求駕駛?cè)后w利益最大化問題的最優(yōu)解。
ADS算法的典型系統(tǒng)分層架構(gòu),一般包括傳感層,感知層,定位層,決策層(預(yù)測+規(guī)劃)和控制層。ADS算法的典型系統(tǒng)分層架構(gòu)如圖5所示,對ADS感知計算而言,目前已經(jīng)從多模數(shù)據(jù)結(jié)構(gòu)化+決策層后融合演進(jìn)到了一個全新的Birds-Eye-View (BEV)統(tǒng)一空間感知融合架構(gòu),即4D時空的多模態(tài)多任務(wù)學(xué)習(xí)+傳感信息協(xié)同共享。對比Tesla純視覺模態(tài)的技術(shù)方案,ADS感知算法面臨的類似挑戰(zhàn)具體體現(xiàn)在:
能夠在統(tǒng)一BEV空間支持多模傳感器感知融合,通過Multiview Camera +LiDAR/Radar組合模式,但需要解決3D目標(biāo)定位誤差問題、漏檢誤檢、目標(biāo)發(fā)現(xiàn)不及時問題,以及路面下曲面目標(biāo)感知、車道線信息缺失/不規(guī)則/不清晰、3D場景下復(fù)雜車道線感知能力不足等問題。
能夠在統(tǒng)一BEV空間支持多模組合多任務(wù)共享,需要提升有限算力下的計算效率,更需要降低設(shè)計方案的計算復(fù)雜度。
能夠提供全場景的適配能力,需要解決算法模型在信息提取中對極端惡劣場景(雨雪霧、低照度、高度遮擋、傳感器部分失效、主動或被動場景攻擊等)的泛化感知能力,降低對標(biāo)注數(shù)據(jù)和高清地圖的過度依賴。
圖5BEV統(tǒng)一空間感知融合架構(gòu)案例
ADS感知計算:系統(tǒng)計算復(fù)雜度挑戰(zhàn)
ADS感知計算,其實(shí)主要是對物理世界的一個3D幾何空間重建任務(wù)。對比Tesla和行業(yè)主流設(shè)計方案的異同,可以看出選擇BEV空間的獨(dú)特優(yōu)勢,它消除了2D任務(wù)中常見的Perspective-View(PV,2D空間)下重疊遮擋或者比例問題,便利于隨后進(jìn)行預(yù)測規(guī)劃和控制。如圖5所示,BEV感知計算可以分成三個部分:
BEV Camera:純視覺或者以視覺為主,Single/Stereo/Multi-view多方位配置, 感知計算包括3D目標(biāo)識別和分割
BEV LiDAR:基于點(diǎn)云/Grid/Voxel進(jìn)行目標(biāo)檢測或者場景分割任務(wù)
BEV Radar:基于Range/Angle/Doppler進(jìn)行大目標(biāo)檢測或者場景分割任務(wù)
BEVFusion:多模融合,包括Camera, LiDAR, GNSS, Odometry, HD Map, CAN-bus等等。
在圖5中,BEV感知計算通常包括2D或者3D特征提取,View Transformation視覺變換(可選,也可以直接采用Front-View,或者直接對2D特征進(jìn)行3D目標(biāo)識別)和3DDecoder。采用2D特征提取或者2D View Transformation在2D空間進(jìn)行顯然可以降低計算復(fù)雜度,但會帶來性能損失。
3DDecoder可以在2D/3D空間直接對特征進(jìn)行3D感知多任務(wù)計算,包括3D目標(biāo)bounding box檢測,BEVmap Segmentation分割, 3D Lane Keypoints檢測等等。
類似于Tesla所采用的BEV Camera純視覺方案中,View Transformer模塊可以分成兩個部分:
1、2D-3D Mapping:
Geometric Projection:工業(yè)界較常用,數(shù)學(xué)計算復(fù)雜度高,多在CPU上進(jìn)行運(yùn)算,負(fù)載重,而且空間對齊也是一個問題,類似Tesla同時采用一個額外NN網(wǎng)絡(luò)進(jìn)行補(bǔ)償矯正。
DNN-alike:計算復(fù)雜,可以用GPU/NPU進(jìn)行運(yùn)算,減少CPU負(fù)荷,如果能夠添加深度信息提取通道,可以增強(qiáng)系統(tǒng)性能。
2、3D-2DMapping
Grid Sampler:工業(yè)界常用,但依賴于Camera參數(shù),長期使用有偏移問題。
MLP或者Transformer:通過Cross-Attention來進(jìn)行幾何空間變換,計算量會比較大。
在圖5中,BEVLiDAR通道,通??梢圆捎脦追N數(shù)據(jù)表征Points, BEVGrid,Voxel, Pillar。相對而言,Pillar是一種特殊類型的Voxel,通過柱形映射到2D空間,擁有無限高度屬性。采用Pillar特征可以大大減少內(nèi)存空間和計算復(fù)雜度,可以說是工程化中一個非常好的折衷。
在這里值得一提的是,對于Transformer進(jìn)行3D目標(biāo)檢測的計算復(fù)雜度問題,尤其是針對BEVLiDAR或者BEVRadar數(shù)據(jù),在覆蓋的駕駛區(qū)域非常大的場景(100m x 100m)下,如何有效降低內(nèi)存需求和感知計算復(fù)雜度。這需要從Transformer網(wǎng)絡(luò)架構(gòu)層面針對超大點(diǎn)云數(shù)據(jù)處理方式進(jìn)行有效調(diào)整。
以3D目標(biāo)檢測與跟蹤為例,Transformer Encoder中輸入Token數(shù)量顯著變多后,Token間自關(guān)注Self-Attention模塊計算對內(nèi)存需求成二次元非線性方式加速度增加。簡單地采用Point-based或者BEV-Grid-based亞采樣導(dǎo)致Token跨越區(qū)域或者Grid會導(dǎo)致目標(biāo)檢測性能嚴(yán)重受損。
一種設(shè)計思路案例如圖 6所示,用計算復(fù)雜度低的主干網(wǎng)絡(luò)backbone,例如PointPillars來完全替代Transformer Encoder。Transformer Encoder的優(yōu)勢是在于可以更好地提取上下文的全局特征信息,而CNN網(wǎng)絡(luò)可以很好地對上下文局部信息進(jìn)行編碼和特征提取。
主干網(wǎng)絡(luò)的特征輸出進(jìn)行降維變換成一系列Token(特征向量),而且網(wǎng)絡(luò)類型的可選取范圍也相對比較廣,只要能夠在BEV Grid或者3D空間內(nèi)提供特定位置的特性向量就可以。Transformer Encoder這個計算瓶頸模塊被移除后, Token長度N的選取可以更大一些,如果decoder輸入查詢Q的數(shù)量是M, 對應(yīng)Transformer Decoder的最大Cross Attention矩陣的尺寸是N x M,其中N 遠(yuǎn)遠(yuǎn)大于M。
在Decoder分層傳遞中通過采用一種查詢刷新的策略,可以有效彌補(bǔ)Transformer Encoder被替換后估計精度下降的問題。值得一提的是Transformer Decoder輸出的矢量是可以語義解釋的Object-bound的特征向量,可以直接做為ReID特征項用于目標(biāo)跟蹤,同時這種設(shè)計思路可以拓展到Multi-modal多模輸入。
圖63D目標(biāo)檢測的改進(jìn)架構(gòu)案例
審核編輯:劉清
-
檢測器
+關(guān)注
關(guān)注
1文章
887瀏覽量
48460 -
ADAS技術(shù)
+關(guān)注
關(guān)注
0文章
21瀏覽量
3411 -
FSD
+關(guān)注
關(guān)注
0文章
105瀏覽量
6621 -
MLP
+關(guān)注
關(guān)注
0文章
57瀏覽量
4507
原文標(biāo)題:特斯拉ADS算法的自我革命
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
PCB與PCBA工藝復(fù)雜度的量化評估與應(yīng)用初探!
基于紋理復(fù)雜度的快速幀內(nèi)預(yù)測算法
嵌入式視頻教程之軟硬件關(guān)系的復(fù)雜度
嵌入式視頻教程之軟硬件關(guān)系的復(fù)雜度
嵌入式視頻教程之軟硬件關(guān)系的復(fù)雜度
JEM軟件復(fù)雜度的增加情況
如何降低LMS算法的計算復(fù)雜度,加快程序在DSP上運(yùn)行的速度,實(shí)現(xiàn)DSP?
時間復(fù)雜度是指什么
圖像復(fù)雜度對信息隱藏性能影響分析
基于移動音頻帶寬擴(kuò)展算法計算復(fù)雜度優(yōu)化

基于QR分解的低復(fù)雜度的可靠性約束算法

一種低復(fù)雜度稀疏信道估計算法的詳細(xì)資料說明
常見機(jī)器學(xué)習(xí)算法的計算復(fù)雜度
如何計算時間復(fù)雜度

如何降低SigmaDSP音頻系統(tǒng)復(fù)雜度的情形

評論