為端到端鋪平道路!OccWorld:面向自動駕駛未來的3D占用世界模型新方案
寫在前面&個人理解
看到了一篇很不錯的工作,這里和大家分享下!關于Occupancy+World Model,不得不說,它結合了當下最火的兩個方向,值得一讀。3D場景如何演變對于自動駕駛決策至關重要,現有的方法都是通過預測目標框的移動來實現,而目標框無法捕捉到更細粒度的場景信息。這里探索了一種在3D占用空間中學習世界模型OccWorld的新框架,同時預測自車的運動和周圍scene的演變。對于場景理解任務來說,更建議學習基于3D占用而不是3D bounding box和分割maps的世界模型,原因有三:
1) 表征能力,3D占用可以描述場景的更細粒度的3D結構;
2) 效率,3D占用能夠更經濟地獲得(例如從稀疏的LiDAR點)
3) 多功能性,3D占用可以適應視覺和激光雷達。
為了便于對世界進化進行建模,Occworld主在學習一種基于重建的3D占用場景標記器,以獲得離散的場景標記來描述周圍的場景!采用類似GPT的時空生成transformer來生成后續場景和ego tokens,以解碼未來的占有率和ego軌跡。在nuScenes基準上進行的大量實驗證明了OccWorld有效模擬駕駛場景演變的能力,OccWorld還可以在不使用實例和地圖監督的情況下生成有競爭力的規劃結果。
領域發展與現狀
近年來,自動駕駛已被廣泛探索,并在各種場景中顯示出不錯的結果。雖然基于激光雷達的模型由于其對結構信息的捕獲,通常在3D感知中表現出強大的性能和魯棒性,但更經濟的以硬件為中心的解決方案已經大大趕上了深度網絡感知能力的提高。預測未來場景演變對自動駕駛汽車的安全性很重要,大多數現有方法遵循傳統的感知、預測和規劃流程。感知旨在獲得對周圍場景的語義理解,如3D檢測和語義圖構建。后續預測模塊捕獲其他交通參與者的運動,然后規劃模塊根據先前的輸出做出決策。
然而,這種串行設計通常在訓練的每個階段都需要GT,但實例級box和高清晰度地圖很難標注。此外,它們通常只預測目標邊界框的運動,無法捕捉到有關3D場景的更細粒度的信息。
Occworld是一種新的范式,可以同時預測周圍場景的演變,并規劃自動駕駛汽車的未來軌跡。OccWorld是一個三維語義占用空間中的世界模型,來對駕駛場景的發展進行建模。它采用3D語義占用作為場景表示,而不是傳統的3D框和分割圖,它可以描述場景的更細粒度的3D結構。此外,3D占用率可以從稀疏的激光雷達點中有效地學習,因此是描述周圍場景的一種潛在的更經濟的方式。
為了實現這一點,首先使用矢量量化變分自動編碼器(VQVAE)來細化high-level concepts,并以自監督的方式獲得離散場景tokens。然后,定制了生成預訓練transformer(GPT)架構,并提出了一種時空生成transformer來預測隨后的場景token和ego tokens,以分別預測未來的占有率和自ego軌跡。首先執行空間混合來聚合場景tokens,并獲得多尺度tokens來表示多個級別的場景。然后,將時間注意力應用于不同級別的tokens,以預測下一幀的token,并使用U-net結構對其進行集成。最后,我們使用經過訓練的VQVAE解碼器將場景標記轉換為占用空間,并學習軌跡解碼器以獲得ego規劃結果!
一些相關的任務介紹
3D占用預測:3D占用預測旨在預測3D空間中的每個體素是否被占用以及其語義標簽是否被占用。早期的方法利用激光雷達作為輸入來完成整個3D場景的3D占用。最近的方法開始探索更具挑戰性的基于視覺的3D占用預測或應用視覺backbone來有效地執行基于激光雷達的3D占用預測。3D占用提供了對周圍場景的更全面的描述,包括動態和靜態元素。它也可以從稀疏累積的多次激光雷達數據或視頻序列中有效地學習。然而,現有的方法只關注于獲得三維語義占用,而忽略了其時間演變,這對自動駕駛的安全至關重要。
自動駕駛的世界模型:世界模型在控制工程和人工智能領域有著悠久的歷史,通常被定義為在給定動作和過去的情況下產生下一個場景觀察。深度神經網絡的發展促進了深度生成模型作為世界模型的使用。基于StableDiffusion等大型預訓練圖像生成模型,可以生成不同場景的逼真駕駛序列。然而,它們在2D圖像空間中產生未來的觀測結果,缺乏對3D周圍場景的理解。其他一些方法使用未標記的激光雷達數據來探索預測點云,這些方法忽略了語義信息,無法應用于基于視覺或基于融合的自動駕駛。考慮到這一點,Occworld在3D占用空間中探索了一個世界模型,以更全面地模擬3D場景的演變!
端到端自動駕駛:自動駕駛的最終目標是基于對周圍場景的觀察來獲得控制信號。最近的方法遵循這一概念,在給定傳感器輸入的情況下輸出ego汽車的規劃結果。它們大多遵循傳統的感知、預測和規劃流程。通常首先執行BEV感知以提取相關信息(例如,3D agent框、語義map、軌跡),然后利用它們來推斷agent和ego的未來軌跡。Occworld提出了一個世界模型來預測周圍動態和靜態元素的演變!
Occworld結構
圖2:用于三維語義占用預測和運動規劃的OccWorld框架。
采用類似GPT的生成架構,以自回歸方式從先前場景預測下一個場景,通過兩個關鍵設計使GPT適應自動駕駛場景:
1) 訓練3D占用場景標記器來產生3D場景的離散高級表示;
2) 在空間-時間因果自注意之前和之后進行空間混合,以有效地產生全局一致的場景預測,分別使用GT和預測場景標記作為后代的輸入進行訓練和推理。
1)自動駕駛中的World Model
自動駕駛旨在完全防止或部分減少人類駕駛員的行為,形式上自動駕駛的目標是在給定傳感器輸入的情況下,獲得當前時間戳T的控制命令(例如,油門、轉向、制動)。由于從軌跡到控制信號的映射高度依賴于車輛規格和狀態,因此通常假設給定的令人滿意的控制器,因此重點關注ego車輛的軌跡規劃。一個自動駕駛模型A然后將傳感器輸入和來自過去T幀的ego軌跡作為輸入,并預測未來f幀的ego trajectory :
自動駕駛的傳統pipeline通常遵循感知、預測和規劃的設計,感知模塊per感知周圍場景,并從輸入傳感器數據s中提取高級信息z。預測模塊Pre集成高級信息z以預測場景中每個agent的未來軌跡ti。規劃模塊pla最終處理感知和預測結果{z,{ti}},以規劃ego車輛的運動,常規pipeline可以公式化為:
盡管該框架具有良好的性能,但它通常需要在每個階段進行監督,標注很困難。而且它只考慮目標級別的移動,沒有更細粒度的演進建模。受此啟發,Occworld探索了一種新的基于世界模型的自動駕駛范式,以全面模擬周圍場景的演變和自我運動。受生成預訓練transformer(GPT)在自然語言處理(NLP)中最近取得的成功的啟發,Occworld提出了一種用于自動駕駛場景的自回歸生成建模框架。定義了一個世界模型w來作用于場景表示y,并能夠預測未來的場景。形式上,將世界模型w的函數公式化如下:
在獲得預測場景和ego位置后,可以將它們添加到輸入中,并以自回歸的方式進一步預測下一幀,如圖2所示,考慮到它們的高階相互作用,世界模型w捕捉到了周圍場景和ego載體進化的聯合分布!
2)3D占用場景標記器
由于世界模型w對場景表示y進行操作,因此其選擇對世界模型的性能至關重要。根據三個原則選擇y:
1)expressiveness,它應該能夠全面地包含3D場景的3D結構和語義信息;
2) 效率,學習應該是經濟的(例如,弱監督或自監督中學習);
3) 多功能性,它應該能夠適應視覺和激光雷達模式。
考慮到上述所有原理,建議采用3D占用作為3D場景表示。3D占用將自車周圍的3D空間劃分為H×W×D體素,并為每個體素分配一個標簽l,表示它是否被占用以及被哪個類別占用。3D占用提供了3D場景的密集表示,并且可以描述場景的3D結構和語義信息。它可以從稀疏激光雷達注釋或可能從時間幀的自監督中有效地學習。3D占有率也是模態認知的,可以從單目相機、surround相機或激光雷達中獲得。
盡管3D占有率很全面,但它只提供了對場景的低級理解,很難直接模擬其演變。因此,Occworld提出了一種自監督的方法,將場景標記為來自3D占用的高級標記。在y上訓練矢量量化自動編碼器(VQ-VAE),以獲得離散標記z,從而更好地表示場景,如圖3所示。
3)Spatial-Temporal Generative Transformer
自動駕駛的核心在于預測周圍世界如何演變,并相應地規劃自車運動。雖然傳統方法通常分別執行這兩項任務,但建議學習一個世界模型w來聯合建模場景進化和ego軌跡的分布。
如(3)中所定義的,世界模型w將過去的場景和ego位置作為輸入,并在一定時間間隔后預測它們的結果。基于表現力、效率和多功能性,采用3D占用y作為場景表示,并使用自監督標記器來獲得高級場景標記T={zi}。為了整合ego運動,進一步將T與自我標記聚合,以編碼ego車輛的空間位置!然后,所提出的OccWorld w在世界標記T上起作用,其可以公式化為:
其中T是當前時間戳,并且T是可用的歷史幀的數量。應考慮每個時間戳內世界tokens的空間關系和不同時間戳之間tokens的時間關系,以全面模擬世界變化。因此,Occworld提出了一種時空生成transformer架構,以有效地處理過去的世界tokens并預測下一個未來,如圖4所示!
時空生成transformer 可以在考慮每個時間內和跨時間的世界tokens聯合分布的情況下,在行駛序列中對世界變化進行建模。時間注意力預測周圍區域中固定位置的演變,而空間聚合使每個token都意識到全局場景。
4)OccWorld
采用兩階段的訓練策略來訓練OccWorld。對于第一階段,使用3D占用損失訓練場景tokenizer e和解碼器d:
對于第二階段,采用學習的場景tokenizer e來獲得所有幀的場景標記z,并約束預測tokes z^和z之間的差異。
為了有效訓練,使用場景標記器e獲得的標記作為輸入,但應用masked 的時間注意力來阻止未來tokens的效果。在推理過程中,逐步預測下一個幀。
實驗對比分析
進行了兩項任務來評估OccWorld:在Occ3D數據集上進行4D占用預測和在nuScenes數據集上執行運動規劃!
4D occupancy forecasting:3D占用預測旨在重建周圍空間中每個體素的語義占用,無法捕捉3D占用的時間演變。這里探討了4D occupancy forecasting任務,該任務旨在給定一些歷史occupancy 輸入的情況下預測未來的3Doccupancy,使用mIoU和IoU作為評估度量。
運動規劃:運動規劃的目標是在給定GT周圍信息或感知結果的情況下,為自動駕駛車輛產生安全的未來軌跡。規劃軌跡由BEV平面中的一系列2D waypoints 表示,這里使用L2 error和碰撞率作為評估度量。
結果如下: