3DGS自監(jiān)督預(yù)訓(xùn)練全新范式!VisionPAD:三大感知任務(wù)全部暴力漲點(港中文&華為)
寫在前面 && 筆者理解
雖然近一年端到端的自動駕駛發(fā)展火熱,但是以多視角圖像推導(dǎo)BEV視角和占用空間的感知技術(shù)引領(lǐng)的自動駕駛框架,仍然在很多企業(yè)中占據(jù)主體。比如今天要分享的這篇,就是華為諾亞方舟實驗室對BEV+OCC的繼續(xù)研究。但是不得不說,這些模型在很大程度上依賴于精確的3D標注,而數(shù)據(jù)標注的高成本使得越來越多的研究人員和工程師開始關(guān)注預(yù)訓(xùn)練策略。
- 論文鏈接:https://arxiv.org/pdf/2411.14716
傳統(tǒng)意義上的預(yù)訓(xùn)練是監(jiān)督預(yù)訓(xùn)練,用于3D目標檢測和占用預(yù)測等任務(wù),當然這種方式仍然伴隨著標注成本過高的問題。再者,有其他方法使用 對比學(xué)習(xí) 和 掩碼自編碼器(MAE) 進行自監(jiān)督預(yù)訓(xùn)練。然而,它們依賴于粗監(jiān)督,這使得同時有效地捕獲語義、3D幾何和時間動態(tài)變得具有挑戰(zhàn)性。UniPAD通過重建體素特征的多視圖深度圖和圖像引入了一種預(yù)訓(xùn)練范式(見圖1(a))。這種方法使用可微分的體積渲染來構(gòu)建完整的幾何表示。在此基礎(chǔ)上,ViDAR結(jié)合了下一個幀預(yù)測和變換器,并渲染出由未來LiDAR幀監(jiān)督的相應(yīng)深度圖。然而,這兩種技術(shù)仍然嚴重依賴于來自LiDAR數(shù)據(jù)的顯式深度監(jiān)督來學(xué)習(xí)3D幾何。僅依賴于圖像監(jiān)督的結(jié)果不令人滿意,這限制了它們在基于攝像頭的自動駕駛系統(tǒng)中的應(yīng)用。
在本文中,作者提出了VisionPAD,這是一個針對視覺中心數(shù)據(jù)的自監(jiān)督預(yù)訓(xùn)練框架(見圖1(b))。與之前使用體積渲染進行圖像重建的方法不同,作者利用了更高效的基于錨點的3D Gaussian Splatting(3D-GS)。這篇文章的貢獻可以總結(jié)為一下幾點:
- 能夠在相同的計算預(yù)算下重建更高分辨率的圖像,捕捉更細粒度的顏色細節(jié),而無需射線采樣。
- 為了僅從圖像中學(xué)習(xí)運動線索,作者提出了一種自監(jiān)督的體素速度估計方法。作者使用輔助頭預(yù)測每個體素的速度,并使用時間戳近似體素流向相鄰幀。隨后,作者將當前幀的體素扭曲到相鄰幀,并使用相應(yīng)的圖像監(jiān)督3D-GS重建。這種速度預(yù)測使模型能夠分離動態(tài)和靜態(tài)體素,有助于下游任務(wù)中的運動感知。
- 作者采用了多幀光度一致性損失進行3D幾何預(yù)訓(xùn)練,這是一種自監(jiān)督深度估計技術(shù),其中算法根據(jù)渲染的深度和相對姿態(tài)將相鄰幀投影到當前幀。
相關(guān)工作
自動駕駛中的預(yù)訓(xùn)練
在自動駕駛中,預(yù)訓(xùn)練已經(jīng)被廣泛應(yīng)用,來提高在多樣化駕駛環(huán)境中的可擴展性和適應(yīng)性?,F(xiàn)有的方法可以分為:
- 監(jiān)督學(xué)習(xí)
- 對比學(xué)習(xí)
- Masked AutoEncoder
- 基于渲染的方法。
監(jiān)督學(xué)習(xí)方法利用標注的駕駛數(shù)據(jù)來學(xué)習(xí)針對特定任務(wù)的結(jié)構(gòu)化表示。對比學(xué)習(xí)方法使用正負成對數(shù)據(jù)來學(xué)習(xí)在駕駛場景內(nèi)變化中保持魯棒的區(qū)分性、視角不變的表示。Masked AutoEncoder方法重建被遮擋或掩碼的感官信號,促進對場景語義的整體理解。最近基于渲染的預(yù)訓(xùn)練進展提出了新的策略,通過將視覺特征整合到統(tǒng)一的體積表示中進行渲染,從而為自動駕駛感知提供新的策略。與先前工作的關(guān)鍵區(qū)別在于這些基于渲染的方法使用了神經(jīng)渲染,有效地強制編碼在體積特征中豐富的幾何和外觀線索。UniPAD引入了一個掩碼生成器用于部分輸入遮擋,以及一個模態(tài)特定的編碼器在體素空間中提取多模態(tài)特征,然后基于體積的神經(jīng)渲染用于RGB和深度預(yù)測。ViDAR基于歷史周圍圖像觀察預(yù)測未來的點云。MIM4D以掩碼多幀多視圖圖像為輸入,使用體積渲染重建目標RGB和深度。BEVWorld將圖像和LiDAR數(shù)據(jù)編碼為BEV標記,并使用NeRF渲染進行重建,結(jié)合了一個潛在的BEV序列擴散模型來預(yù)測基于相應(yīng)動作的未來BEV標記。然而,上述方法仍然嚴重依賴于顯式的深度監(jiān)督,這在僅限相機的場景中限制了它們的應(yīng)用。
自動駕駛中的3D Gaussian Splatting
最近,基于3D Gaussian Splatting(3D-GS)的方法獲得了顯著的關(guān)注。3D-GS允許使用3D高斯原語表示場景,通過光柵化實現(xiàn)最小內(nèi)存占用的實時渲染。已經(jīng)提出了幾種使用這種技術(shù)重建駕駛場景的方法。PVG引入了周期振動高斯用于大規(guī)模動態(tài)駕駛場景重建。DrivingGaussian層次化地使用順序多傳感器數(shù)據(jù)建模復(fù)雜的駕駛場景。此外,StreetGaussians結(jié)合了跟蹤姿態(tài)優(yōu)化策略和4D球諧外觀模型來解決移動車輛的動態(tài)問題。HUGS引入了一個新穎的流程,利用3D Gaussian Splatting進行整體城市場景理解。這種方法涉及使用靜態(tài)和動態(tài)3D高斯的幾何、外觀、語義和運動的聯(lián)合優(yōu)化。最近也有一些工作利用3D-GS進行占用和BEV感知。
然而,作者表示3D-GS在自動駕駛預(yù)訓(xùn)練中的應(yīng)用尚未被探索。
方法論
模型概述
VisionPAD的整體框架如圖2所示,包含四個關(guān)鍵模塊:
- 首先,VisionPAD采用歷史多幀多視圖圖像,并利用具有顯式表示的視覺中心感知網(wǎng)絡(luò)作為主干。
- 其次,一個新穎的3D Gaussian Splatting(3D-GS)解碼器從體素表示中重建當前幀的多視圖圖像。
- 第三,提出了一種體素速度估計策略,預(yù)測體素速度,使得當前幀的體素特征可以扭曲到目標幀。這有助于通過3D-GS解碼器重建多視圖相鄰幀圖像和深度圖。
- 最后,利用當前幀的目標深度圖,通過光度一致性損失納入3D幾何約束。
體積構(gòu)建
3D Gaussian Splatting解碼器
預(yù)備知識
與體積渲染不同,3D-GS通過基于splat的光柵化高效渲染,將3D高斯投影到目標2D視圖,并使用局部2D高斯渲染圖像塊。作者觀察到,當僅使用RGB監(jiān)督進行預(yù)訓(xùn)練時,NeRF每次迭代只能采樣有限數(shù)量的射線,限制了其學(xué)習(xí)詳細場景幾何的能力。相比之下,3D-GS以其高效的基于splat的光柵化,展現(xiàn)出對圖像分辨率不太敏感的計算成本,能夠渲染更高分辨率的圖像,并促進表示學(xué)習(xí)。
原語預(yù)測
自監(jiān)督體素速度估計
在本文中,作者引入了一種自監(jiān)督方法來估計每個體素的速度,利用場景中對象的固有時間一致性。這種運動信息豐富了表示,并有助于動態(tài)場景的理解。速度引導(dǎo)體素扭曲。如圖3所示,附加到體素特征的輔助速度頭在世界坐標中回歸每個體素的速度向量。之后,作者通過將預(yù)測的速度按幀間時間間隔縮放,近似每個體素的流動,使得體素特征從當前幀變換到相鄰幀。隨后,作者將體素特征扭曲到相鄰幀中的估計位置。上述過程可以通過GridSample操作符輕松實現(xiàn)相鄰幀渲染。在獲得相鄰幀的扭曲體素特征后,作者使用3D-GS解碼器渲染多視圖圖像。然后,這些渲染的圖像與相鄰幀的相應(yīng)真實圖像使用監(jiān)督損失進行比較。值得注意的是,在反向傳播期間,只有速度頭的參數(shù)被更新。這種針對性的優(yōu)化策略鼓勵網(wǎng)絡(luò)優(yōu)先學(xué)習(xí)區(qū)分性運動特征,從而提高性能。
光度一致性
預(yù)訓(xùn)練損失
其中ω_1, ω_2 和 ω_3 的權(quán)重分別為0.5, 1, 1。
實驗及結(jié)果
實驗設(shè)置
作者在MMDetection3D框架下實現(xiàn)。在nuScenes數(shù)據(jù)集上評估其方法。使用標準的nuScenes Detection Score (NDS) 和平均精度均值(mAP)來評估3D目標檢測任務(wù)。語義占用預(yù)測和地圖分割的性能分別使用平均交并比(mIoU)和交并比(IoU)進行評估。
主要結(jié)果
作者在三個具有挑戰(zhàn)性的下游感知任務(wù)上評估VisionPAD的有效性:3D目標檢測、語義占用預(yù)測和地圖分割。3D目標檢測的可視化結(jié)果可以在圖5中找到。
3D目標檢測
如表1所示,作者在nuScenes驗證集上將VisionPAD與最先進的視覺中心3D目標檢測方法進行基準測試。以UVTR作為基線,作者報告了使用UniPAD預(yù)訓(xùn)練所達到的性能。盡管僅使用圖像數(shù)據(jù)進行訓(xùn)練,VisionPAD在基線上顯示出顯著的改進,在沒有多幀輸入的情況下,NDS和mAP分別提高了1.7和3.8。值得注意的是,沒有測試時增強、模型集成或LiDAR監(jiān)督,VisionPAD達到了49.7 NDS和41.2 mAP,超過了現(xiàn)有的最先進方法。相比之下,在同一監(jiān)督信號下,UniPAD預(yù)訓(xùn)練僅比基線略有提高,甚至在NDS上從45.0略微下降到44.8。雖然將LiDAR投影的深度圖作為額外監(jiān)督可以提高性能,但這突顯了僅依賴于從RGB圖像中獲得的幾何監(jiān)督的局限性,這限制了泛化能力。VisionPAD以其強大的顯式深度監(jiān)督,一致性地優(yōu)于UniPAD,展示了作者提出的方法的有效性。
語義占用預(yù)測
如表2所示,作者的僅圖像模態(tài)預(yù)訓(xùn)練方法超過了某些3D檢測監(jiān)督預(yù)訓(xùn)練方法,達到了35.4%,與TPVFormer的34.2%相比。此外,其性能甚至與利用長時間線索的方法相當。在相同設(shè)置下,作者的預(yù)訓(xùn)練技術(shù)顯著提高了mIoU性能,從UVTR的30.1%提高到35.4%。值得注意的是,在預(yù)訓(xùn)練期間沒有深度監(jiān)督,UniPAD僅實現(xiàn)了1%的mIoU提升。即使使用更強的基線(即BEVDet),使用七個歷史幀作為輸入,使用VisionPAD預(yù)訓(xùn)練仍然顯著提高了性能,從39.3%提高到42.0%。這些結(jié)果突出了VisionPAD在密集占用預(yù)測中的有效性。
地圖分割
表3展示了作者的方法和UniPAD在地圖分割任務(wù)上的性能提升。作者以UVTR作為基線,并使用UniAD的地圖解碼器進行地圖分割預(yù)測。結(jié)果表明,UniPAD僅比UVTR提高了1.3%,而VisionPAD大幅提升了5.4%的性能。
寫在最后
本文介紹了VisionPAD,這是一個新穎的自監(jiān)督預(yù)訓(xùn)練框架,用于自動駕駛中的視覺中心算法。利用 Gaussian Splatting、自監(jiān)督體素速度估計和光度一致性方法,VisionPAD消除了對顯式深度監(jiān)督的依賴。作者的結(jié)果表明,與需要深度監(jiān)督的現(xiàn)有基于神經(jīng)渲染的方法相比,VisionPAD在性能上有所提高,并且降低了計算開銷。這項工作為高效、可擴展的自監(jiān)督視覺中心預(yù)訓(xùn)練建立了一個新的范式。