無懼大平移!MMLab最新FreeSim:漸進(jìn)迭代拿下3m平移新視角
寫在前面 & 筆者的個(gè)人理解
最新重建方面的工作是真多啊,基本上大家都在卷仿真重建。今天分享MMLab最新的工作,提出了FreeSim。一種用于自動(dòng)駕駛的相機(jī)仿真方法。FreeSim強(qiáng)調(diào)從記錄的自車軌跡之外的視角進(jìn)行高質(zhì)量渲染。由于這些視角的訓(xùn)練數(shù)據(jù)不可用,以前的方法具有不可接受的退化。為了解決這種數(shù)據(jù)稀缺問題,我們首先提出了一種具有匹配數(shù)據(jù)構(gòu)建策略的生成增強(qiáng)模型。所得到的模型可以在略微偏離記錄軌跡的視角中生成高質(zhì)量的圖像,前提是該視角的渲染質(zhì)量下降。然后,我們提出了一種漸進(jìn)式重建策略,該策略從略微偏離軌跡的視角開始,逐漸將未記錄視圖的生成圖像添加到重建過程中,并逐漸遠(yuǎn)離。通過這種漸進(jìn)式生成重建管道,F(xiàn)reeSim支持在超過3米的大偏差下進(jìn)行高質(zhì)量的非軌跡視圖合成。
總結(jié)來說,本文的主要貢獻(xiàn)如下:
- 為了解決自由視角相機(jī)仿真中的數(shù)據(jù)稀缺問題,我們將具有挑戰(zhàn)性的姿勢條件視圖生成任務(wù)重新表述為生成圖像增強(qiáng)任務(wù),并提出了一個(gè)匹配的數(shù)據(jù)構(gòu)建管道用于模型訓(xùn)練。
- 提出了一種漸進(jìn)式重建策略,將生成和重建部分無縫結(jié)合,避免了在大視角變化下嚴(yán)重的圖像退化。
- FreeSim在自由視角渲染中比現(xiàn)有的基于重建的方法具有顯著的優(yōu)勢,更接近現(xiàn)實(shí)和實(shí)用的仿真器。
相關(guān)工作回顧
駕駛場景中基于重建的相機(jī)仿真。神經(jīng)輻射場(NeRF)和3D高斯散斑(3DGS)是最流行的重建方法。3DGS利用3D高斯的顯式表示和基于光柵化的渲染方法,實(shí)現(xiàn)了更快的渲染和訓(xùn)練。這兩種方法都可以在給定從不同相機(jī)視角拍攝的一些3D場景的少量圖像的情況下實(shí)現(xiàn)高質(zhì)量、逼真的新穎視圖合成(NVS)。后來的NeRF工作和3DGS工作將這兩種方法擴(kuò)展到了駕駛場景。然而,在駕駛場景中,所有圖像都是沿著記錄的軌跡拍攝的。由于對(duì)這些偏離軌跡的視角缺乏監(jiān)督,這些方法無法從記錄軌跡之外的視角渲染高保真圖像。
駕駛場景中的非軌跡視圖合成。基于擴(kuò)散的生成方法在2D圖像和視頻生成方面取得了顯著成功。受這些技術(shù)的啟發(fā),一些街道場景重建方法采用擴(kuò)散模型來合成偏離軌跡的視圖,解決了未記錄軌跡中缺失視圖的挑戰(zhàn)。例如,SGD使用基于參考圖像和目標(biāo)視圖的深度圖的擴(kuò)散過程生成新視圖。然而,它主要局限于僅通過旋轉(zhuǎn)變化來合成相機(jī)視圖,并且可能難以進(jìn)行大的空間平移。FreeVS使用目標(biāo)視圖的偽圖像作為擴(kuò)散模型的先驗(yàn)。然而,這張偽圖像來自激光雷達(dá)點(diǎn)云,這限制了模型生成激光雷達(dá)無法到達(dá)的區(qū)域的能力。除了擴(kuò)散模型外,UniSim還采用了基于GAN的監(jiān)督來增強(qiáng)非軌跡視圖中的照片真實(shí)感。然而,與最先進(jìn)的擴(kuò)散模型相比,GAN在很大程度上偏離了視角的情況下限制了照片真實(shí)感。AutoPlat利用3D車輛形狀模板的對(duì)稱先驗(yàn)作為約束,以提高視角偏差后的質(zhì)量。
方法
FreeSim是一種生成重建混合方法,如圖2所示。在這里,我們分別從生成和重建兩個(gè)方面簡要介紹了概述。
生成部分。將位姿條件視圖生成任務(wù)轉(zhuǎn)化為生成圖像增強(qiáng)任務(wù)。該公式避免了直接使用多視圖外參變換作為條件,這在單程駕駛軌跡中是不可用的。為了訓(xùn)練生成模型,我們首先提出了一種數(shù)據(jù)構(gòu)建策略來創(chuàng)建訓(xùn)練數(shù)據(jù)。
重建部分??梢灶A(yù)期,如果渲染因大的視角變化而嚴(yán)重退化,生成模型可能難以生成高質(zhì)量的結(jié)果。因此,我們提出了一種漸進(jìn)式重建策略,該策略將生成的視角逐步添加到訓(xùn)練圖像集中進(jìn)行重建,從最接近記錄軌跡的視角開始,逐漸遠(yuǎn)離記錄軌跡。
raining Data Construction for Generation
我們?nèi)蝿?wù)中的數(shù)據(jù)稀缺。最近,在利用擴(kuò)散模型生成多視圖圖像方面取得了令人印象深刻的進(jìn)展。然而,他們的范式和我們的任務(wù)之間存在本質(zhì)區(qū)別。這些多視圖生成模型使用NVS數(shù)據(jù)集中的多視圖樣本進(jìn)行訓(xùn)練,如Objaverse、RealEstate10k、CO3D、DL3DV和MVImgNet。相比之下,我們的任務(wù)中記錄的軌跡之外的地面實(shí)況圖像是不可用的,因?yàn)檐囕v不能同時(shí)沿著多個(gè)軌跡行駛。這種數(shù)據(jù)稀缺是我們的核心挑戰(zhàn),也是我們提出的方法的基本動(dòng)機(jī)。
我們需要什么樣的訓(xùn)練數(shù)據(jù)?為了應(yīng)對(duì)數(shù)據(jù)稀缺的挑戰(zhàn),我們沒有訓(xùn)練模型直接從姿態(tài)轉(zhuǎn)換中生成偏離軌道的視圖。相反,我們將視圖生成任務(wù)表述為圖像增強(qiáng)任務(wù)。具體來說,給定從記錄的視圖重建的輻射場,我們可以在略微偏離的視角(例如,橫向偏移半米)中獲得降級(jí)的渲染。盡管劣化圖像的質(zhì)量可能較低,但它們在生成高質(zhì)量圖像之前起著很強(qiáng)的作用。這種公式使我們能夠根據(jù)記錄的視圖創(chuàng)建訓(xùn)練對(duì)(低質(zhì)量和高質(zhì)量的對(duì)),避開了偏離軌道GT的無法實(shí)現(xiàn)的要求。我們將在下面介紹創(chuàng)建此類訓(xùn)練對(duì)的方法。
Preparing Degraded Renderings
我們需要解決兩個(gè)問題來獲得適當(dāng)?shù)慕导?jí)渲染。(1) 如何高效地重建眾多場景以獲得足夠的數(shù)據(jù)。(2) 如何縮小記錄的視角(用于訓(xùn)練)和未記錄的視角的退化模式(用于推理)之間的差距。對(duì)于第一個(gè)問題,我們提出了分段高斯重建。對(duì)于第二個(gè)問題,我們采用外推渲染和高斯擾動(dòng)技術(shù)。
分段高斯重建。我們重建Waymo開放數(shù)據(jù)集(WOD)以獲得退化的渲染圖像。然而,作為駕駛場景中最大的數(shù)據(jù)集之一,它包含1150個(gè)塊級(jí)場景。重建完整的數(shù)據(jù)集非常昂貴。為了提高效率,我們將每個(gè)完整軌跡分解為幾個(gè)小子段,并為每個(gè)子段重建一個(gè)小尺度分段高斯場,如圖3所示。由于其小規(guī)模,分段高斯場需要更少的高斯基元并快速收斂。我們提出了幾種技術(shù)來匹配小尺度的分段高斯場,并使重建更便宜。(1) 我們將原始圖像大小調(diào)整到一半。(2) 我們采用1k迭代計(jì)劃,學(xué)習(xí)率更高。(3) 高斯基元的最大數(shù)量設(shè)置為1M。由于我們的目標(biāo)是獲得降級(jí)的渲染,因此我們不需要高質(zhì)量的重建,并且可以安全地采用這些技術(shù)。由于其簡單性,我們使用開創(chuàng)性的驅(qū)動(dòng)重建方法PVG作為重建工具。由于基于高斯的PVG和我們的技術(shù)的效率,我們可以在不到2分鐘的時(shí)間內(nèi)重建一個(gè)子片段。使用8個(gè)GPU,整個(gè)WOD重建大約需要40個(gè)小時(shí),比全段重建實(shí)現(xiàn)了大約6倍的加速。
除了效率之外,分段高斯重建還可以更好地仿真退化模式,如下所示。
外推渲染的退化模式。傳統(tǒng)的NVS方法以插值方式對(duì)測試視圖進(jìn)行采樣。與它們不同,對(duì)于每個(gè)子片段,我們將片段中的最后幾幀作為測試視圖,這是一種推斷的方式。我們采用這種設(shè)計(jì)是因?yàn)槲覀兊哪繕?biāo)視圖,即偏離軌道的視圖,本質(zhì)上也是外推視圖。如果我們以側(cè)視攝像頭為例,我們的設(shè)計(jì)有一個(gè)更直觀的解釋。就運(yùn)動(dòng)模式而言,側(cè)視攝像頭沿向前移動(dòng)軌跡的移動(dòng)幾乎相當(dāng)于前置攝像頭的橫向偏移。
為了增加數(shù)據(jù)多樣性,我們通過向分段高斯場中的高斯基元添加噪聲來進(jìn)一步創(chuàng)建降級(jí)渲染。視角偏差后一個(gè)非常典型的退化模式是圖4所示的“物體重影”。這種模式是由那些深度不準(zhǔn)確的高斯基元引起的,這些基元在視角偏差后被光柵化到錯(cuò)誤的圖像位置。為了仿真重影,我們在場景中隨機(jī)采樣一小部分高斯基元,并將它們沿水平方向(即圖像空間中的寬度方向)移動(dòng)相同的隨機(jī)距離。因此,受擾動(dòng)的高斯基元在光柵化后會(huì)產(chǎn)生重影。此外,在視角偏差之后,圖元相對(duì)于相機(jī)的相對(duì)旋轉(zhuǎn)也會(huì)發(fā)生變化。因此,我們進(jìn)一步在高斯基元在其規(guī)范坐標(biāo)系中的旋轉(zhuǎn)中添加了輕微的噪聲,以更好地仿真退化的渲染
Structure of Generative Model
采用Stable Diffusion (SD) v1.5作為生成模型。
重建
在完成生成模型的訓(xùn)練后,我們繼續(xù)進(jìn)行重建部分。
高斯場初始化。由于生成模型基于退化渲染,我們使用PVG中的標(biāo)準(zhǔn)程序進(jìn)行預(yù)重建,以提供相對(duì)較好的初始狀態(tài)。之后,偏離軌跡的視角按如下方式加入游戲。
漸進(jìn)式視角擴(kuò)展。雖然生成模型可以增強(qiáng)退化的渲染,但可以預(yù)料,如果渲染在很大程度上偏離的視角中完全破壞,生成的質(zhì)量可能會(huì)不足。為了避免這個(gè)問題,我們建議從小的視角偏差到大的視角偏差,逐步納入偏離軌道的視角。有各種順序可以逐步合并偏離軌跡的視角,這里我們采用橫向軌跡偏移,如圖2所示。這種類似車道變換的橫向換檔是最常見但也是最具挑戰(zhàn)性的仿真要求。具體來說,對(duì)于第一次更新,我們以預(yù)定義的步長橫向移動(dòng)軌跡中的所有視角,并在移動(dòng)的視角中生成新的圖像。然后將生成的圖像添加到訓(xùn)練集中。每次更新訓(xùn)練集后,我們凍結(jié)訓(xùn)練集并優(yōu)化高斯場,直到它幾乎收斂。之后,我們再次移動(dòng)上次更新的軌跡,并重復(fù)生成重建過程。這種漸進(jìn)的方式確保了新添加的視角的渲染總是略有下降,生成模型可以很容易地恢復(fù)它們。
后增強(qiáng)以減輕滾動(dòng)快門失真和生成隨機(jī)性。在重建過程中,有兩個(gè)問題降低了最終的重建質(zhì)量:眾所周知的滾動(dòng)快門失真和生成隨機(jī)性。駕駛場景中的相機(jī)在錄制過程中通常以不可忽略的速度移動(dòng),導(dǎo)致捕獲圖像中的滾動(dòng)快門失真。因此,3DGS和NeRF中的標(biāo)準(zhǔn)針孔相機(jī)模型也會(huì)使底層3D結(jié)構(gòu)失真。在我們的例子中,這個(gè)問題變得更糟,因?yàn)槲覀兗{入了比單軌跡重建更多的視角。在這種情況下,適合每個(gè)(扭曲的)視圖的底層3D結(jié)構(gòu)甚至可能不存在。此外,生成模型不可避免地引入了隨機(jī)性,例如稍微改變細(xì)節(jié)紋理,導(dǎo)致多個(gè)視角之間的不一致。
實(shí)驗(yàn)結(jié)果
結(jié)論
本文所提出的FreeSim是一種生成-重建混合方法,能夠合成與記錄的駕駛軌跡有很大偏差的高質(zhì)量視圖。然而,我們的方法仍然有幾個(gè)局限性。
FreeSim無法完美處理滾動(dòng)快門失真和生成部分的隨機(jī)性,導(dǎo)致草等細(xì)節(jié)豐富的區(qū)域模糊。雖然我們可以通過后增強(qiáng)來提高質(zhì)量,但由于多步去噪,它會(huì)降低效率。
訓(xùn)練數(shù)據(jù)僅由PVG創(chuàng)建,PVG是一種基于高斯的方法。因此,我們的生成模型不能很好地推廣到基于NeRF的方法。盡管在數(shù)據(jù)構(gòu)建中進(jìn)一步采用NeRF可以彌補(bǔ)這一局限性,但由于NeRF的效率相對(duì)較低,它可能會(huì)減緩數(shù)據(jù)構(gòu)建的進(jìn)程。
我們未來的工作包括采用視頻生成模型,使場景可編輯,并改進(jìn)原生3DGS rasterizer來處理滾動(dòng)快門問題。