日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

Tesla AutoPilot 純視覺方案解析

2021-12-19 11:18:21·  來源:汽車ECU開發(fā)  
 
2021年5月,馬斯克宣布Autopilot的視覺系統(tǒng)現(xiàn)在已經(jīng)足夠強(qiáng)大,可以在沒有毫米波雷達(dá)的情況下單獨使用。緊接著特斯拉官網(wǎng)做出更新,在其車輛的傳感器介紹頁面也取
2021年5月,馬斯克宣布Autopilot的視覺系統(tǒng)現(xiàn)在已經(jīng)足夠強(qiáng)大,可以在沒有毫米波雷達(dá)的情況下單獨使用。緊接著特斯拉官網(wǎng)做出更新,在其車輛的傳感器介紹頁面也取消了毫米波雷達(dá)的圖示。
根據(jù) Karpathy——CV界華人大佬的Fei-Fei Li的學(xué)生Andrej Karpathy博士的說法,相機(jī)比雷達(dá)好100倍,所以雷達(dá)不會給融合帶來太多影響,有時雷達(dá)甚至?xí)骨闆r變得更糟。
2021年8月特斯拉的Day上,Karpathy博士對Autopilot的視覺方案做了詳細(xì)的講解。其核心模板叫HydraNet,內(nèi)部細(xì)節(jié)設(shè)計非常具有啟發(fā)性,下面一起來看看。
要理解這個方案,首先需明確一下Autopilot視覺系統(tǒng)的輸入和輸出。
圖1,Tesla視覺感知系統(tǒng)的輸入和輸出
Autopilot的視覺系統(tǒng)的傳感器由環(huán)繞車身的8個攝像頭組成,分別為前視3目:負(fù)責(zé)近、中遠(yuǎn)3種不同距離和視角的感知;側(cè)后方2目,側(cè)前方2目,以及后方1目,完整覆蓋360度場景,每個攝像頭采集分辨率為1280 × 960、12Bit、 36Hz的RAW格式圖像,對車身周邊環(huán)境的探測距離最遠(yuǎn)可達(dá)250m。
攝像頭收集的視覺信息經(jīng)過一系列神經(jīng)網(wǎng)絡(luò)模型的處理,最終直接輸出用于規(guī)劃和智駕系統(tǒng)3D場景下的 ”Vector Space”。
圖2 Tesla車載相機(jī)布置方式
Tesla的自動駕駛感知算法經(jīng)過了多個版本迭代,應(yīng)用到了近期的FSD中。我們首先介紹一下最初的HydraNet。

HydraNet

HydraNet以分辨率為1280×960、12-Bit、36Hz的RAW格式圖像作為輸入,采用RegNet作為Backbone,并使用BiFPN構(gòu)建多尺度feature map,然后再在此基礎(chǔ)上添加task specific的Heads。
圖3 HydraNet模型結(jié)構(gòu)
熟悉目標(biāo)檢測或是車道線檢測的讀者會發(fā)現(xiàn),初代HydraNet的各部分都比較普通,共享Backbone和BiFPN可以在很大程度上節(jié)省在部署時的算力需求,也算是業(yè)界比較常見的。
但是,Tesla卻把這樣的結(jié)構(gòu)玩出了花來,主要帶來以下三點好處:
1、預(yù)測非常高效:共享特征避免了大量重復(fù)的計算;
2、解耦每個子任務(wù):每個子任務(wù)可在backbone的基礎(chǔ)上進(jìn)行fine-tuning,或是修改,而不影響其他子任務(wù)。
3、加速:訓(xùn)練過程中可將feature緩存,這樣fine-tuning時可以只使用緩存的feature來fine-tune模型的head,而無需重復(fù)計算。
從上述可以看出,HydraNet的實際訓(xùn)練流程為先端到端的訓(xùn)練整個模型,然后使用緩存的feature分別訓(xùn)練每個子任務(wù),再端到端地訓(xùn)練整個模型,以此循環(huán)迭代。
就這樣,一個普通的模型就被Tesla挖掘到了極致,模型訓(xùn)練中一切可以共享的都進(jìn)行共享,減少不必要的計算開銷。
同時我們也容易發(fā)現(xiàn),該模型如果僅使用單相機(jī)圖像作為輸入,會有很大盲區(qū),只能用于很簡單的輔助駕駛?cè)蝿?wù),例如車道保持等,并且這還需要借助其他傳感器(超聲波雷達(dá)、毫米波雷達(dá)等)來降低風(fēng)險。
更復(fù)雜的自動駕駛?cè)蝿?wù)(城市輔助、自主變道等)需要多相機(jī)的圖像作為感知系統(tǒng)的輸入,同時感知系統(tǒng)的預(yù)測結(jié)果需要轉(zhuǎn)換到三維空間中的車體坐標(biāo)系下,才能輸入到規(guī)劃和控制系統(tǒng)用以規(guī)劃駕駛行為。
相比單相機(jī),多相機(jī)輸入不是簡單的針對多個相機(jī)的圖像輸入分別預(yù)測,然后投影到車體坐標(biāo)系下就可以,而需整合多個相機(jī)的感知結(jié)果,再投影到車體坐標(biāo)系。這是一個很復(fù)雜的工程問題。
針對這一問題,Tesla給出了一個很好的解決方案。

進(jìn)化一:多相機(jī)輸入

我們知道不能簡單的單獨使用每個相機(jī)圖像的感知結(jié)果來進(jìn)行車輛的規(guī)劃控制,要精確的知道每個交通參與者的位置,道路的走向,需要車體坐標(biāo)下的感知結(jié)果。要達(dá)到這種效果有以下三種可能的方案:
方案1:在各相機(jī)上分別做感知任務(wù),然后投影到車體坐標(biāo)系下進(jìn)行整合;
方案2:將多個相機(jī)的圖像直接變換和拼接到車體坐標(biāo)系下,再在拼接后的圖像上做感知任務(wù);
方案3:直接端到端處理,輸入多相機(jī)圖像,輸出車體坐標(biāo)下的感知結(jié)果;
對于方案1,實踐發(fā)現(xiàn)效果不理想。比如圖4,圖像空間顯示很好的車道線檢測結(jié)果,投影到車體坐標(biāo)之后,就變得不太能用。
原因在于這種實現(xiàn)方式需要精確到像素級別的預(yù)測, 才能夠比較準(zhǔn)確地將結(jié)果投影到車體坐標(biāo),而這一要求過于嚴(yán)苛。
圖4 圖像空間下很好的車道線結(jié)果在Vector Space下不太理想
另外在多相機(jī)的目標(biāo)檢測中,會遇到一些問題,當(dāng)一個目標(biāo)同時出現(xiàn)在多個相機(jī)視野時,投影到車體坐標(biāo)后會出現(xiàn)重影。此外,對于一些比較大的目標(biāo),一個相機(jī)的視野不足以囊括整個目標(biāo),每個相機(jī)都只能捕捉到局部,整合這些相機(jī)的感知結(jié)果就會變成非常困難。
對于方案2,圖像完美拼接本就是一件非常困難的事情,同時拼接還受到路平面、遮擋的影響。
于是Tesla最終選擇了方案3。方案3會面臨兩個問題,一個是如何將圖像空間的特征轉(zhuǎn)換到車體坐標(biāo),另一個是如何獲得車體坐標(biāo)下的標(biāo)注數(shù)據(jù)。下面主要討論第一個問題。
關(guān)于將圖像空間的到車體坐標(biāo)的特征轉(zhuǎn)換,Tesla使用一個Multi-Head Attention的transformer,來表示這個轉(zhuǎn)換空間,而將每個相機(jī)的圖像轉(zhuǎn)換為key和value。
這是一個很精妙的方案,完美地運用了Transformer的特點,將每個相機(jī)對應(yīng)的圖像特征轉(zhuǎn)換為Key和value,然后訓(xùn)練模型以查表的方式自行檢索需要的特征用于預(yù)測。
這樣的設(shè)計的好處是,無需顯式地在特征空間上做一系列幾何變換,也不受路平面等因素影響,很順暢的將輸入信息過渡到了車體坐標(biāo)。
圖5 使用Transformer整合多相機(jī)信息
加入這一優(yōu)化后,車道線識別更加準(zhǔn)確清晰,目標(biāo)檢測的結(jié)果更加穩(wěn)定,同時不再有重影,效果如圖6所示。
圖6 使用Transformer整合多目信息后,感知效果明顯提升

進(jìn)化二:時間和空間信息

經(jīng)上述優(yōu)化后,感知模塊雖然可以在多相機(jī)輸入的情況下得到車體坐標(biāo)準(zhǔn)確且穩(wěn)定的預(yù)測結(jié)果,但是是針對單幀的處理,沒有時序信息。
而在自動駕駛場景中,需要對交通參與者的行為進(jìn)行預(yù)判,同時視覺上的遮擋等情況需要結(jié)合多幀信息進(jìn)行處理,因此需要考慮時序信息。
為了解決此問題,Tesla在網(wǎng)絡(luò)中添加了特征隊列模塊用于緩存時序上的特征,以及視頻模塊用來融合時序上的信息。此外,還給模型加入了IMU等模塊帶來的運行學(xué)信息,比如車速和加速度。
經(jīng)上述處理后,在Heads中進(jìn)行解碼得到最終的輸出。
特征隊列模塊
特征隊列模塊將時序上多個相機(jī)的特征,運動學(xué)的特征,以及特征的position encoding concat到一起,處理后的特征將輸入至視頻模塊,如圖7所示。
圖7 在模型中加入特征隊列,視頻模塊,以及運動信息作為進(jìn)一步優(yōu)化
特征隊列模塊按照隊列的數(shù)據(jù)結(jié)構(gòu)組織特征序列,其可分為時間特征隊列和空間特征隊列,如圖8所示。
圖8 特征隊列
時序特征隊列:每隔27ms將一個新的特征加入隊列。時序特征隊列可以穩(wěn)定感知結(jié)果的輸出,比如運動過程中發(fā)生的目標(biāo)遮擋,模型可以找到目標(biāo)被遮擋前的特征來預(yù)測感知結(jié)果。
空間特征隊列:每前進(jìn)1m將一個新的特征加入隊列。主要用于需要長時間靜止等待的場景,比如等紅綠燈之類。因為在該狀態(tài)下一段時間后,之前的時序特征隊列中的特征會因出隊而丟失。因此需要用空間特征隊列來記住一段距離之前路面的信息,包括箭頭、路邊標(biāo)牌等交通標(biāo)志信息。
上述的特征隊模塊僅用于增加時序信息,而視頻模塊主要用來整合這些時序信息。Tesla采用RNN結(jié)構(gòu)來作為視頻模塊,并將其命名為空間RNN模塊,如圖9所示。
圖9 空間RNN作為視頻模塊
因為車輛在二維平面上前進(jìn),所以可以將隱狀態(tài)組織成一個2D的網(wǎng)格。當(dāng)車輛前進(jìn)時,只更新網(wǎng)格上車輛附近可見的部分,同時使用車輛運動學(xué)狀態(tài)以及隱特征(hidden features) 更新車輛位置。
在這里,Tesla相當(dāng)于采用了一個2D的feature map作為局部地圖,在車輛前進(jìn)過程中,不斷根據(jù)運動學(xué)狀態(tài)以及感知結(jié)果更新這個地圖,避免因為視角和遮擋帶來的不可見問題。同時在此基礎(chǔ)上,可以添加一個Head用來預(yù)測車道線,交通標(biāo)志等,以構(gòu)建高精地圖。
通過可視化該RNN的feature,可以更加明確該RNN具體做了什么:不同channel分別關(guān)注了道路邊界線、車道中心線、車道線、路面等等,如圖10所示。
圖10 空間RNN學(xué)到的特征可視化
添加了視頻模塊后,能夠提升感知系統(tǒng)對于時序遮擋的魯棒性,以及對于距離和目標(biāo)移動速度估計的準(zhǔn)確性,如圖11所示。


圖11 加入視頻模塊可以改善對目標(biāo)距離和運動速度的估計,綠線為激光雷達(dá)的GT,黃線和藍(lán)線分別為加入視頻模塊前后模型的預(yù)測值

最終的模型

在初版HydraNet的基礎(chǔ)上,使用Transformer整合了多個相機(jī)的特征,使用Feature Queue維護(hù)一個時序特征隊列和空間特征隊列,并且使用Video Module對特征隊列的信息進(jìn)行整合,最終接上HydraNet各個視覺任務(wù)的Head輸出各個感知任務(wù)。

圖13 最終完整的模型結(jié)構(gòu)以及對應(yīng)感知結(jié)果


圖12 最新HydraNet模型結(jié)構(gòu)
最新的HydraNet模型如圖13所示,簡單展示了圖像提取、多相機(jī)圖像融合、時間融合,以及最后拆分為不同的HEAD。
整個感知系統(tǒng)使用一個模型進(jìn)行整合,融合了多個相機(jī)時序上和空間上的信息,最終直接輸出所有需要的感知結(jié)果,一氣呵成,非常干凈和優(yōu)雅,可以當(dāng)做教科書一般。
贊嘆該系統(tǒng)的精妙之外,也可以看到Tesla團(tuán)隊強(qiáng)大的工程能力,背后強(qiáng)大的算力和數(shù)據(jù)標(biāo)注系統(tǒng)是支持這一切的前提,當(dāng)然,那啥,本質(zhì)上還是有錢啦……
此外,該系統(tǒng)也并不是最終版的自動駕駛感知系統(tǒng),還會一直不斷迭代升級,國內(nèi)的同行們要加油了??!
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25