超越所有SOTA!最新UniScene:視頻點云Occ三大生成任務全部暴力提升~
本文是對 UniScene: Unified Occupancy-centric Driving Scene Generation的解讀,UniScene 在Video、LiDAR 和Occupancy生成方面超過了所有之前的SOTA方法。此外,UniScene生成的數據可顯著增強下游任務,包括Occupancy預測、3D檢測和BEV分割。
- 論文鏈接:https://arxiv.org/abs/2412.05435
- 開源地址:https://github.com/Arlo0o/UniScene-Unified-Occupancy-centric-Driving-Scene-Generation
Motivation
生成高保真、可控、帶注釋的訓練數據對于自動駕駛至關重要。現有的方法通常直接從粗略的場景布局生成單一數據形式,這不僅無法輸出各種下游任務所需的豐富數據形式,而且還難以直接建模場景布局到生成數據的復雜分布。
為了解決上述問題,我們提出了UniScene,這是第一個用于生成駕駛場景中三種關鍵數據形式(Occupancy、Video和LiDAR)的統一框架。 UniScene 采用漸進式生成過程,將場景生成的復雜任務分解為兩個步驟:(a) 首先從自定義場景布局生成Semantic Occupancy作為富含語義和幾何信息的場景表征,然后 (b) 使用基于高斯的聯合渲染和先驗引導的稀疏建模兩種新穎的條件化轉換策略,分別生成Video和LiDAR數據。這種以semantic occupancy為中心的方法減少了生成學習的負擔,同時為后續生成階段提供詳細的中間表征。大量實驗表明,UniScene 在Video、LiDAR 和Occupancy生成方面優于以前的SOTA方法,并顯著增強下游駕駛任務。
Method
我們提出的UniScene是一個以Occupancy為中心的統一框架,用于生成Video、LiDAR 和Occupancy的數據。如下圖所示,UniScene采用分解學習的范式,并按層次構建:它首先從BEV Layout生成三維semantic occupancy,然后利用這種表征促進Video和LiDAR數據的生成。具體來說,與之前的無條件semantic occupancy生成方法不同,我們使用定制的BEV Layout序列作為可控輸入,生成具有時空一致性的語義Occupancy序列。與之前單步的生成方法不同的是,我們的方法利用生成的occupancy作為中間表征來指導后續的生成。
為了彌補表征差距,確保高保真地生成Video和LiDAR數據,我們引入了兩種新穎的表征轉換策略:
(1). 幾何-語義聯合渲染策略,利用高斯潑濺(Gaussian Splatting),促進具有詳細多視角語義和深度圖的條件視頻生成;
(2). 用于激光雷達(LiDAR)數據生成的先驗指導稀疏建模方案,該方案利用occupancy的先驗知識高效生成激光雷達點云。
UniScene在創新性方面主要做出了以下貢獻:
- 我們提出了UniScene,它是首個用于在駕駛場景中生成多種數據的統一框架。它能聯合生成三種格式的高質量數據:Video、LiDAR 和Occupancy。
- 我們提出了一種條件分解生成范式,可逐步對復雜的駕駛場景進行建模,從而有效降低生成難度。首先生成細粒度的Semantic Occupancy作為中間表示,然后再生成Video和LiDAR數據。
- 為了彌合occupancy和其他數據格式之間的領域差距,我們引入了兩種新穎的表示轉換策略:一種基于Gaussian Splatting渲染,另一種利用稀疏建模方案。
- 在各種生成任務中進行的大量實驗表明,UniScene 在Video、LiDAR 和Occupancy生成方面的表現優于最先進的方法。此外,UniScene生成的數據還顯著增強了下游任務,包括occupancy預測、3D檢測和BEV分割。
我們提出的方法整體框架如上圖所示,其聯合生成過程被組織成一個以occupancy為中心的層次結構: I. 可控occupancy生成。在輸入occupancy DiT之前,先將 BEV Layout與噪聲進行串聯,然后用Occupancy VAE 解碼器進行解碼。II. 基于occupancy的Video和LiDAR生成。occupancy會被首先轉換成三維高斯,并渲染成語義圖和深度圖,然后用基于ControlNet的編碼器進行處理,由Video VAE 解碼器獲得輸出。在生成LiDAR時,Occupancy通過Sparse UNet進行處理,并利用其幾何先驗指導進行采樣,然后輸入到LiDAR Head進行生成。
可控語義Occupancy(semantic occupancy)生成
在UniScene中,生成可控且時序一致的semantic occupancy是重要步驟,這一過程為后續的Video和LiDAR數據生成奠定了基礎,確保了這些數據的真實性和一致性。為此,我們引入了Occupancy Diffusion Transformer (DiT),它能夠接收BEV Layout序列作為輸入,使用戶可以輕松編輯并生成相應的occupancy序列。
Temporal-aware Occupancy VAE
為了提高效率,我們的occupancy VAE旨在將Occupancy數據壓縮到潛在空間中。與依賴離散標記化的方法不同,我們采用連續潛在空間來編碼Occupancy序列,這種方法能夠在高壓縮率下更好地保存空間細節。實驗評估顯示,該方法在保持高質量重建方面表現優異。
在編碼階段,我們將3D Occupancy數據轉換為一個BEV表示,其中表示可學習類嵌入的維度。然后,通過2D卷積層和2D軸向注意力層獲得降采樣的連續潛在特征。 我們在解碼階段考慮時序信息,以實現更靈活的配置,使用3D卷積層和3D軸向注意力層重構出時序潛變量特征,進而恢復Occupancy序列。
訓練過程中,我們采用交叉熵損失、Lovasz-softmax損失以及KL散度損失。總損失函數定義為:
其中和分別是兩個損失項的權重。
Latent Occupancy DiT
Latent Occupancy DiT專注于從噪聲Volume中生成Latent Occupancy序列。這一過程首先將BEV Layout與噪聲Volume連接起來,并進一步patch化處理后輸入到Occupancy DiT中。這種顯式的對齊策略幫助模型更有效地學習空間關系,從而實現了對生成序列的精確控制。
通過一系列堆疊的空間和時間變換器塊,Occupancy DiT匯聚了時空信息,使得長時間一致性的Occupancy序列生成成為可能。其損失函數具體如下:
這里表示模型輸出,是第幀的輸入噪聲潛在,而則是目標噪聲分布。 通過引入時序感知的Occupancy VAE和Occupancy Diffusion Transformer,UniScene不僅提升了Occupancy數據的高效壓縮和細節保留能力,還實現了長時間一致性的Occupancy序列生成。
以Occupancy為條件引導的多視角Video生成
UniScene的視頻生成模塊基于預訓練的Stable Video Diffusion (SVD) 模型,該模型由3D Video VAE和Video Diffusion UNet組成。Video Diffusion UNet利用基于Occupancy的渲染圖和Text Prompt作為條件,生成多視角駕駛視頻。
多視角語義與深度圖渲染
為了實現高質量且一致性的視頻生成,我們引入了基于高斯的聯合渲染方法,將輸入的Semantic Occupancy網格轉換成多視角語義和深度圖。這種方法不僅彌合了Occupancy網格與多視角視頻之間的表征差距,還提供了細致的語義和幾何指導。具體來說,給定形狀為的Semantic Occupancy數據,首先將其轉化為一系列3D高斯面片,每個面片包含位置、語義標簽、不透明度狀態以及協方差等屬性。隨后,通過tile-based光柵化過程,渲染出深度圖和語義圖:
其中表示深度值,則由投影后的2D高斯分布和3D不透明度共同決定。渲染結果如下圖所示,其中BEV Layout中的道路線被投射到Semantic Occupancy上,集成相應的語義信息。
這些渲染圖通過帶有殘差連接和零卷積的編碼分支輸入到模型中,類似于ControlNet的設計,旨在利用預訓練的視頻擴散UNet的能力,同時保持其固有的生成能力。
幾何感知噪聲先驗為了進一步提升視頻生成的質量,我們在采樣過程中引入了幾何感知噪聲先驗策略。該策略不僅注入密集的外觀先驗,而且通過渲染的深度圖顯式地引入了幾何信息,以此建模區域間的相關性。
具體的訓練噪聲公式如下:
其中是相機內部參數,是變換矩陣,是第幀視頻的渲染深度圖。通過單應變換,從參考圖像中翹曲外觀先驗到其他圖像平面,實現了顯式的幾何感知重投影。
Video訓練損失函數
我們定義的視頻訓練損失函數旨在優化模型輸出與真實值之間的差異,損失函數公式如下:
其中代表視頻生成模型的輸出,和分別是第幀視頻的渲染深度圖和語義圖,是輸入的文本提示,分別對應的是第幀的真實值和帶噪聲的潛在特征,是根據SVD選取的條件參考幀,是一個用于選擇條件幀的一熱編碼掩碼。我們隨機選擇來減少模型對特定條件幀的依賴。
基于Occupancy的稀疏建模LiDAR生成
在LiDAR(激光雷達)生成方面,UniScene采用了基于Occupancy的稀疏建模。該方法首先使用Sparse UNet對輸入的語義Occupancy進行編碼,將其轉換為稀疏體素特征。然后,通過Occupancy先驗指導的稀疏采樣來生成LiDAR點云數據。這種方法不僅提高了計算效率,還準確地模擬了真實的LiDAR成像過程。
稀疏體素特征提取
給定具有固有稀疏性和詳細幾何結構的Semantic Occupancy網格,我們提出了一種先驗引導的稀疏建模方法以提高計算效率。通過避免對置空體素的不必要計算,顯著減少了計算資源的消耗。輸入的Semantic Occupancy網格首先經過Sparse UNet處理,以聚合上下文特征。
Occupancy引導的稀疏采樣
接著,我們在LiDAR射線上執行均勻采樣,生成一系列點。為了實現Occupancy引導的稀疏采樣,我們將Occupancy體素內的點的概率設為1,其他所有點的概率設為0,從而定義了一個概率分布函數(PDF)。隨后,根據這個PDF重新采樣個點:
其中是射線的起點,是歸一化的射線方向。這種基于Occupancy的先驗引導采樣方式確保了LiDAR點云的生成更加符合實際情況。
射線體積渲染
受之前工作的啟發,我們采用了基于射線的體積渲染技術。每個重采樣的點的特征通過多層感知器(MLP)處理,以預測符號距離函數(SDF)并計算相應的權重。這些預測值和權重用于通過體積渲染估計射線的深度:
其中,是渲染得到的深度值。
LiDAR Head
為了更準確地模擬實際的LiDAR成像過程,我們引入了反射強度Head和射線Drop Head。反射強度Head負責預測沿每條射線LiDAR激光束被物體反射的強度,這涉及到根據權重對射線上的點特征進行加權求和,再通過MLP進行預估。射線Drop Head則用于估計由于未能檢測到反射光而導致射線未被LiDAR捕捉的概率,其結構與反射強度Head相同。如下圖所示,射線Drop Head有效地消除了預測中的噪聲點。
LiDAR訓練損失函數
LiDAR生成的訓練損失由深度損失、強度損失和射線丟棄損失組成:
其中, 是平衡系數,用于調節不同損失項的重要性。
Experiment
實驗表明,我們的方法在Video、LiDAR 和Occupancy生成方面優于之前的SOTA方法,并顯著增強了下游任務,包括Occupancy預測、3D檢測和BEV分割。
- 定性實驗結果:
,時長00:58
- 定量實驗結果:
在 NuScenes-Occupancy 驗證集上對Occupancy重建進行定量評估。壓縮比是按照 OccWorld 中的方法計算。
在 NuScenes-Occupancy 驗證集上對Occupancy生成(“Ours-Gen.”)和預測(“Ours-Fore.”)進行的定量評估。Ours-Gen. “和 ”Ours-Fore. "分別表示我們的生成模型和預測模型。CFG "是指無分類引導。
在 NuScenes 驗證集上對視頻生成進行定量評估。我們利用空間-時間注意力機制實現 Vista* 的多視角變體。
在 NuScenes 驗證集上對激光雷達生成進行量化評估。我們將Occupancy生成時間包括在內,以便進行公平比較。
在 NuScenes-Occupancy 驗證集上對語義Occupancy預測模型(基線為 CONet)的支持情況進行定量評估。C“、”L “和 ”L^D "表示攝像頭、激光雷達和基于激光雷達的深度投影。