MagicDrive:自動駕駛大數據生成時代即將開啟!
本文經自動駕駛之心公眾號授權轉載,轉載請聯系出處。
筆者的個人理解
雖然擴散模型在2D數據合成上已有很大進展,但如何使用擴散模型生成街景圖像用于圖像增強并沒有很好的實現,當前已有工作通過2D bbox和segment作為條件,如何拓展到相機位姿(embedding),道路地圖(embedding)和3D邊界框(embedding)及場景描述(文本)作為控制條件呢?這將對BEV和3D任務有很大幫助。
MagicDrive主要思路是啥?
最近在擴散模型方面的進展顯著提升了與2D控制相關的數據合成。然而,在街景生成中精確的3D控制對于3D感知任務至關重要,但仍然難以實現。將鳥瞰圖(BEV)作為主要條件通常會導致在幾何控制方面(例如高度)出現挑戰,從而影響目標形狀、遮擋模式和道路表面高程的表示,所有這些對于感知數據合成尤為重要,特別是對于3D目標檢測任務而言。MagicDrive是一種新穎的街景生成框架,提供多樣化的3D幾何控制,包括相機位姿、道路地圖和3D邊界框,以及通過量身定制的編碼策略實現的文本描述。此外還包括一個跨視圖注意力模塊,確保在多個攝像機視圖之間保持一致性。通過MAGICDRIVE實現了高保真的街景合成,捕捉到微妙的3D幾何和各種場景描述,從而增強了諸如BEV分割和3D目標檢測等任務。
領域目前的工作
條件生成的擴散模型。 擴散模型通過學習從高斯噪聲分布到圖像分布的漸進去噪過程生成圖像。由于它們在處理各種形式的控制和多種條件方面的適應性和能力,這些模型在各種任務中表現出色,如文本到圖像的合成,修復以及指導性圖像編輯。此外,從幾何標注中合成的數據可以幫助下游任務,如2D目標檢測。因此,本文探討了text-to-image (T2I)擴散模型在生成街景圖像并惠及下游3D感知模型方面的潛力。
街景生成。 許多街景生成模型以2D布局為條件,如2D邊界框和語義分割。這些方法利用與圖像比例直接對應的2D布局信息,而3D信息則不具備這種特性,因此使得這些方法不適用于利用3D信息進行生成。對于帶有3D幾何的街景合成,BEVGen是第一個進行嘗試的。它使用BEV地圖作為道路和車輛的條件。然而,省略高度信息限制了它在3D目標檢測中的應用。BEVControl通過高度提升過程修正了目標高度的損失,但是從3D到2D的投影導致了關鍵的3D幾何信息的喪失,如深度和遮擋。因此,它們都沒有充分利用3D標注,也不能利用對駕駛場景的文本控制。MagicDrive提出分別對邊界框和道路地圖進行編碼,以實現更為微妙的控制,并整合場景描述,提供對街景生成的增強控制。
3D場景的多攝像機圖像生成 基本上需要視角一致性。在室內場景的背景下,一些研究已經解決了這個問題。例如,MVDiffusion使用全景圖像和交叉視圖注意力模塊來保持全局一致性,而pose-guided diffusion則利用極線幾何作為約束先驗。然而,這些方法主要依賴于圖像視圖的連續性,而在街景中并不總是滿足,因為攝像機重疊有限。MAGICDRIVE在UNet中引入了額外的跨視圖注意力模塊,顯著增強了跨多攝像機視圖的一致性。
MagicDrive的優勢有哪些?
盡管MAGICDRIVE框架非常簡單,但在生成與道路地圖、3D邊界框和多樣化攝像機視角相一致的逼真圖像方面表現出色。此外,生成的圖像可以增強對3D目標檢測和BEV分割任務的訓練。MAGICDRIVE在場景、背景和前景層面提供了全面的幾何控制。這種靈活性使其能夠創造出以前未曾見過的適用于仿真目的的街景視圖。總結本工作的主要貢獻如下:
- 引入了MAGICDRIVE,這是一個創新的框架,生成基于BEV和為自動駕駛量身定制的3D數據的多透視攝像機視圖。
- 開發了簡單而強大的策略,有效應對多攝像機視圖一致性的挑戰,對3D幾何數據進行管理。
- 通過嚴格的實驗證明,MAGICDRIVE在先前的街景生成技術方面表現出色,尤其是在多維度可控性方面。此外結果顯示,合成數據在3D感知任務中帶來了顯著的改進。
方法設計
問題表述
將激光雷達系統的坐標視為主車的坐標,并根據它參數化所有幾何信息。設 是對主車周圍駕駛場景的描述,, 其中 是表示 BEV 中 米道路區域的二值圖,具有 個語義類別, 對于場景中的每個目標, 表示 3D 邊界框位置 和類別 , 是描述場景附加信息的文本(例如,天氣和一天中的時間)。給定一個相機位姿 , 街景圖像生成的目標是學習一個生成器 合成真實圖像 對應場景 和相機位姿 下, , 其中 是服從隨機高斯分布.
條件擴散模型。 擴散模型通過迭代次隨機高斯噪聲的去噪過程來生成圖像 。通常為了學習去噪過程, 網絡被訓練為通過最小化均方誤差來預測噪聲:
其中 是要訓練的網絡, 參數 是可選的條件用于條件生成, 是時間步長, 是加性高斯噪聲,并且 是標量參數. Latent diffusion models (LDM) 是特殊的一種擴散模型, 這類模型初始化一個預訓練的Vector Quantized Variational AutoEncoder (VQVAE,矢量量化變分自動編碼器)并在隱空間執行擴散過程. 給定一個VQ-VAE編碼器 , 在LDM中,可以把重寫為。此外,LDM 將描述圖像的文本視為條件.
具有 3D 信息的街景生成
幾何條件編碼
如圖所示,采用兩種策略將信息注入到擴散模型的 UNet 中:交叉注意力和加性編碼器分支。鑒于注意力機制是針對順序數據量身定制的,交叉注意力適用于管理可變長度輸入,例如文本標記和邊界框。相反,對于網格狀數據,例如道路地圖,加法編碼器分支在信息注入方面是有效的。因此,MAGICDRIVE 針對各種情況采用不同的編碼模塊。
Scene-level Encoding 包含相機位姿 , 和文本序列. 對于文本來說, 對于文本,使用模板構建提示:“在 {location} 的駕駛場景圖像。{description} ”,并利用預訓練的 CLIP 文本編碼器 作為 LDM. 對于相機姿態,首先將每個參數按其列連接起來,得到. 由于 包含來自 sin/cos 函數的值以及 3D 偏移,為了讓模型有效地解釋這些高頻變化,將傅立葉embedding應用于每個 3 維向量,然后再利用多層感知(MLP、Ecam)來embedding相機位姿參數, 為了保持一致性,本文將 的維度設置為與 相同。通過 CLIP 文本編碼器,每個embedding 的文本已經包含位置信息。因此將相機姿勢embedding 添加到文本embedding之前,從而產生場景級embedding .
3D 邊界框編碼。 由于每個駕駛場景都有不同長度的邊界框,因此通過類似于場景級信息的交叉注意機制注入它們。具體來說,將每個框編碼為隱藏向量 ,其維度與 相同。每個 3D 邊界框 包含兩種類型的信息:類標簽 和框位置 。對于類別標簽, 類別名稱 的池化向量被視為標簽embedding。對于框位置 ,由其 8 個角點的坐標表示,對每個點使用傅里葉embedding,并通過 MLP 進行編碼。然后使用 MLP 將類和位置向量壓縮到一個隱藏向量中。每個場景的所有邊界框的最終隱狀態表示為 ,其中 是bbox的數量。
理想情況下,模型通過訓練學習邊界框和相機姿態之間的幾何關系。然而,不同視圖的可見框數量的分布是長尾的。因此通過過濾每個視圖 的可見目標來引導學習。此外還添加了不可見的框進行增強。
Road Map編碼. 地圖是2D網格的形式. 已有工作表明addictive編碼器可以將此類數據納入 指導,地圖的 BEV 和相機的第一人稱視角 (FPV) 之間固有的視角差異會產生差異。BEVControl采用反投影從 BEV 轉換為 FPV,但由于不適定問題而使情況變得復雜。在 MAGICDRIVE 中, 提出顯式視圖變換是不必要的,因為足夠的 3D 線索(例如,距目標框的高度和相機姿勢)允許addictive編碼器完成視圖變換。具體來說, 將場景級和 3D 邊界框嵌入集成到地圖編碼器中。場景級嵌入提供相機姿勢,框嵌入提供道路高程提示。此外,合并文本描述有助于在不同條件下生成道路(例如,天氣和一天中的時間)。因此,地圖編碼器可以與其他條件協同生成。
跨視角attention模塊
在多攝像機視圖生成中,圖像合成在不同視角之間保持一致至關重要。為了保持一致性,引入了跨視圖注意模塊。考慮到駕駛環境中攝像頭的稀疏排列,每個交叉視圖注意力都允許目標視圖從其直接左視圖和右視圖訪問信息;其中,、和分別是目標視圖、左視圖和右視圖。然后目標視圖通過跳躍連接聚合此類信息, 表示目標視圖的隱狀態。
在 UNet 中的交叉注意模塊之后注入交叉視圖注意,并應用零初始化來引導優化。UNet 的多層結構使得能夠在多個堆疊塊之后聚合來自遠程視圖的信息。因此,對相鄰視圖使用跨視圖注意力足以保證多視圖一致性。
模型訓練
Classifier-free Guidance 增強了條件指導的影響。為了有效的 CFG,模型需要在訓練過程中偶爾丟棄條件。鑒于每種條件的獨特性,對于多種條件應用丟棄策略是復雜的。因此,MAGICDRIVE 通過以 的速率同時刪除場景級條件(相機姿勢和文本嵌入),簡化了四種條件。對于在編碼中具有 null 語義表示的框和地圖(即,框中的填充標記和映射中的 0),在整個訓練過程中維護它們。在推理時,對所有條件都使用 null,從而實現有意義的放大來指導生成。
訓練目標和增強 將所有條件作為輸入注入后,訓練目標調整為多條件場景。
此外,在訓練 MAGICDRIVE 時強調兩個基本策略。首先,為了抵消對可見框的過濾,本文隨機添加 不可見框作為增強,增強模型的幾何變換能力。其次,為了利用跨視圖注意力,促進跨多個視圖的信息共享,在每個訓練步驟中將獨特的噪聲應用于不同的視圖,從而防止損失出現局部解(例如,跨不同視圖輸出共享組件)。相同的隨機噪聲專門用于推理。
實驗對比一覽
實驗設置
數據集和基線。 選擇nuScenes數據集作為MAGICDRIVE的測試基礎,這是一個在駕駛中用于BEV分割和檢測的常見數據集。遵循官方配置,使用700個街景場景進行訓練,150個進行驗證。基線是BEVGen和BEVControl,它們都是最近提出的街景生成方法。方法考慮了10個目標類別和8個道路類別,多樣性方面超過了基線模型。
評估指標。 評估街景生成的逼真度和可控性。逼真度主要使用Frechet Inception Distance(FID)進行測量,反映圖像合成質量。對于可控性,通過兩個感知任務對MAGICDRIVE進行評估:BEV分割和3D目標檢測,分別使用CVT和BEVFusion作為感知模型。它們在每個任務中的性能都很出色。首先,生成與驗證集注釋對齊的圖像,并使用在真實數據上預訓練的感知模型評估圖像質量和控制精度。然后,基于訓練集生成數據,以檢查對訓練感知模型的支持作為數據增強。
可控階段具體怎么用? 條件來自驗證集,基于訓練集生成數據作為訓練模型的數據增強;
模型設置。MAGICDRIVE使用來自Stable Diffusion v1.5的預訓練權重,僅訓練新增的參數。根據Zhang等人的說法,為Emap創建了一個可訓練的UNet編碼器。新參數,除了零初始化模塊和類令牌之外,都是隨機初始化的。采用兩個分辨率來協調感知任務和基線之間的差異:224×400(0.25×下采樣),遵循BEVGen和CVT模型支持,并且更高的272×736(0.5×下采樣)用于BEVFusion的支持。除非另有說明,圖像使用UniPC調度程序進行20步采樣,CFG設置為2.0。
Main Results
MAGICDRIVE的潛力與優勢
MAGICDRIVE對高質量多攝像機街景生成進行多重幾何控制的編碼。通過分離編碼設計,MAGICDRIVE充分利用來自3D標注的幾何信息,并實現對街景的準確語義控制。此外,所提出的跨視圖注意力模塊簡單而有效,確保了在多攝像機視圖之間的一致性。正如實驗證明的那樣,MAGICDRIVE生成的圖像表現出對3D標注的高逼真度和保真度。多重控制使MAGICDRIVE在生成新的街景時具有更強的泛化能力。與此同時,MAGICDRIVE可用于數據增強,有助于在BEV分割和3D目標檢測任務上對感知模型進行訓練。
限制與未來工作。盡管MAGICDRIVE可以生成夜間視圖,但它們不如真實圖像那么暗。這可能是因為擴散模型難以生成過于黑暗的圖像。MAGICDRIVE無法為nuScenes生成未見過的天氣情況。未來的工作可能集中在如何提高街景生成的跨領域泛化能力上。
原文鏈接:https://mp.weixin.qq.com/s/0LykWSIi-T12L3cPaRvTTQ