數(shù)據(jù)閉環(huán)!DrivingGaussian:逼真環(huán)視數(shù)據(jù),駕駛場景重建SOTA
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
寫在前面&筆者的個人理解
北大王選計算機研究所的最新工作,提出了DrivingGaussian,一個高效、有效的動態(tài)自動駕駛場景框架。對于具有移動目標的復(fù)雜場景,首先使用增量靜態(tài)3D高斯對整個場景的靜態(tài)背景進行順序和漸進的建模。然后利用復(fù)合動態(tài)高斯圖來處理多個移動目標,分別重建每個目標,并恢復(fù)它們在場景中的準確位置和遮擋關(guān)系。我們進一步使用激光雷達先驗進行Gaussian splatting,以重建具有更大細節(jié)的場景并保持全景一致性。DrivingGaussian在驅(qū)動場景重建方面優(yōu)于現(xiàn)有方法,能夠?qū)崿F(xiàn)高保真度和多攝像機一致性的真實感環(huán)視視圖合成。
開源鏈接:https://pkuvdig.github.io/DrivingGaussian/
總結(jié)來說,DrivingGaussian的主要貢獻如下:
- 據(jù)我們所知,DrivingGaussian是第一個基于復(fù)合Gaussian splatting的大規(guī)模動態(tài)駕駛場景的表示和建模框架。
- 引入了兩個新模塊,包括增量靜態(tài)三維高斯圖和復(fù)合動態(tài)高斯圖。前者逐步重建靜態(tài)背景,而后者用高斯圖對多個動態(tài)目標進行建模。在LiDAR先驗的輔助下,該方法有助于在大規(guī)模駕駛場景中恢復(fù)完整的幾何圖形。
- 綜合實驗表明,DrivingGaussian在挑戰(zhàn)自動駕駛基準方面優(yōu)于以前的方法,并能夠模擬各種下游任務(wù)的corner case。
聊一聊相關(guān)工作
NeRF用于邊界場景。用于新視圖合成的神經(jīng)渲染的快速進展受到了極大的關(guān)注。神經(jīng)輻射場(NeRF)利用多層感知器(MLP)和可微分體素渲染,可以從一組2D圖像和相應(yīng)的相機姿態(tài)信息中重建3D場景并合成新的視圖。然而,NeRF僅限于有邊界的場景,需要中心目標和攝影機之間保持一致的距離。它也很難處理用輕微重疊和向外捕捉方法捕捉的場景。許多進步擴展了NeRF的功能,導(dǎo)致訓(xùn)練速度、姿態(tài)優(yōu)化、場景編輯和動態(tài)場景表示顯著提高。盡管如此,將NeRF應(yīng)用于大規(guī)模無邊界場景,如自動駕駛情景,仍然是一個挑戰(zhàn)。
無邊界場景的NeRF。對于大規(guī)模無界場景,一些工作引入了NeRF的精細版本來對多尺度城市級靜態(tài)場景進行建模。然而,這些方法在假設(shè)場景保持靜態(tài)的情況下對場景進行建模,并在有效捕捉動態(tài)元素方面面臨挑戰(zhàn)。
同時,以前基于NeRF的方法高度依賴于精確的相機位姿。在沒有精確位姿的情況下,能夠從動態(tài)單目視頻中進行合成。然而,這些方法僅限于前向單目視點,并且在處理來自周圍多相機設(shè)置的輸入時遇到了挑戰(zhàn)。
由上述基于NeRF的方法合成的視圖的質(zhì)量在具有多個動態(tài)目標和變化以及照明變化的場景中惡化,這是由于它們依賴于射線采樣。此外,激光雷達的利用僅限于提供輔助深度監(jiān)督,其在重建中的潛在好處,如提供幾何先驗,尚未得到探索。
為了解決這些限制,我們使用復(fù)合Gaussian splatting來對無界動態(tài)場景進行建模,其中靜態(tài)背景隨著自車輛的移動而逐步重建,多個動態(tài)目標通過高斯圖建模并集成到整個場景中。激光雷達被用作高斯的初始化,提供了更準確的幾何形狀先驗和全面的場景描述,而不僅僅是作為圖像的深度監(jiān)督。
3D Gaussian Splatting。最近的3DGaussian splatting(3D-GS)用許多3D高斯對靜態(tài)場景進行建模,在新的視圖合成和訓(xùn)練速度方面實現(xiàn)了最佳結(jié)果。與之前的顯式場景表示(例如,網(wǎng)格、體素)相比,3D-GS可以用更少的參數(shù)對復(fù)雜形狀進行建模。與隱式神經(jīng)渲染不同,3D-GS允許使用基于splat的光柵化進行快速渲染和可微分計算。
Dynamic 3D Gaussian Splatting。最初的3D-GS是用來表示靜態(tài)場景的,一些研究人員已經(jīng)將其擴展到動態(tài)目標/場景。給定一組動態(tài)單目圖像,
在真實世界的自動駕駛場景中,數(shù)據(jù)采集平臺的高速移動會導(dǎo)致廣泛而復(fù)雜的背景變化,通常由稀疏視圖(例如2-4個視圖)捕獲。此外,具有強烈空間變化和遮擋的快速移動動態(tài)目標使情況進一步復(fù)雜化??偟膩碚f,這些因素對現(xiàn)有方法提出了重大挑戰(zhàn)。
詳解DrivingGaussian
Composite Gaussian Splatting
3D-GS在純靜態(tài)場景中表現(xiàn)良好,但在涉及大規(guī)模靜態(tài)背景和多個動態(tài)目標的混合場景中具有顯著的局限性。如圖2所示,我們的目標是用無界靜態(tài)背景和動態(tài)目標的復(fù)合Gaussian splatting來表示周圍的大型駕駛場景。
增量靜態(tài)3D高斯。駕駛場景的靜態(tài)背景由于其大規(guī)模、長持續(xù)時間以及隨著自車輛運動和多相機變換的變化而帶來的挑戰(zhàn)。隨著自我載體的移動,靜態(tài)背景經(jīng)常發(fā)生時間上的變化。由于透視原理,從遠離光流的時間步長預(yù)先融入遠處的街道場景可能會導(dǎo)致尺度混亂,導(dǎo)致令人不快的偽影和模糊。為了解決這個問題,我們通過引入增量靜態(tài)3D高斯來增強3D-GS,利用車輛運動帶來的視角變化和相鄰幀之間的時間關(guān)系,如圖3所示。
具體來說,我們首先基于LiDAR先驗提供的深度范圍,將靜態(tài)場景均勻地劃分為N個bin。這些bin按時間順序排列,其中每個bin來自一個或多個時間步長的多目圖像。對于第一個bin內(nèi)的場景,我們使用LiDAR先驗初始化高斯模型(類似地適用于SfM點):
對于隨后的bin,我們使用來自前一個bin的高斯作為位置先驗,并根據(jù)相鄰bin的重疊區(qū)域?qū)R相鄰bin。每個bin的3D中心可以定義為:
迭代地,我們將后續(xù)bin中的場景合并到先前構(gòu)建的高斯模型中,并將多個周圍幀作為監(jiān)督。增量靜態(tài)高斯模型Gs可以定義為:
請注意,在靜態(tài)高斯模型的增量構(gòu)建過程中,前后相機對同一場景的采樣可能存在差異。為了解決這個問題,我們在3D高斯投影期間使用加權(quán)平均來盡可能準確地重建場景的顏色:
復(fù)合動態(tài)高斯圖。自動駕駛環(huán)境高度復(fù)雜,涉及多個動態(tài)目標和時間變化。如圖3所示,由于自車輛和動態(tài)目標的運動,通常從有限的視圖(例如2-4視圖)觀察目標。高速還導(dǎo)致動態(tài)目標的顯著空間變化,這使得使用固定的高斯表示它們具有挑戰(zhàn)性。
為了應(yīng)對這些挑戰(zhàn),我們引入了復(fù)合動態(tài)高斯圖,可以在大規(guī)模、長期的駕駛場景中構(gòu)建多個動態(tài)目標。我們首先從靜態(tài)背景中分解動態(tài)前景目標,使用數(shù)據(jù)集提供的邊界框來構(gòu)建動態(tài)高斯圖。動態(tài)目標通過其目標ID和相應(yīng)的出現(xiàn)時間戳來識別。此外,Segment Anything模型用于基于邊界框范圍的動態(tài)目標的精確像素提取。
然后,我們將動態(tài)高斯圖構(gòu)建為:
在這里,我們分別為每個動態(tài)目標計算高斯。使用變換矩陣mo,我們將目標o的坐標系變換為靜態(tài)背景所在的世界坐標:
在優(yōu)化了動態(tài)高斯圖中的所有節(jié)點后,我們使用復(fù)合高斯圖將動態(tài)目標和靜態(tài)背景相結(jié)合。根據(jù)邊界框的位置和方向,按時間順序?qū)⒚總€節(jié)點的高斯分布連接到靜態(tài)高斯場中。在多個動態(tài)目標之間發(fā)生遮擋的情況下,我們根據(jù)與攝影機中心的距離調(diào)整不透明度:根據(jù)光傳播原理,距離越近的目標不透明度越高:
最后,包括靜態(tài)背景和多個動態(tài)目標的復(fù)合高斯場可以公式化為:
LiDAR Prior with surrounding views
基元3D-GS試圖通過structure-from-motion(SfM)來初始化高斯。然而,用于自動駕駛的無邊界城市場景包含許多多尺度背景和前景。盡管如此,它們只是通過極其稀疏的視圖才能瞥見,導(dǎo)致幾何結(jié)構(gòu)的錯誤和不完整恢復(fù)。
為了為高斯提供更好的初始化,我們在3D高斯之前引入了激光雷達,以獲得更好的幾何形狀,并在環(huán)視視圖配準中保持多相機的一致性。在每個時間步長,給定從移動平臺和多幀激光雷達掃描Lt收集的一組多相機圖像。我們的目標是使用激光雷達圖像多模態(tài)數(shù)據(jù)最小化多相機配準誤差,并獲得準確的點位置和幾何先驗。
我們首先合并多幀激光雷達掃描,以獲得場景的完整點云,并從每個圖像中單獨提取圖像特征。接下來,我們將激光雷達點投影到環(huán)視的圖像上。對于每個激光雷達點,我們將其坐標變換到相機坐標系,并通過投影將其與相機圖像平面的2D像素匹配:
值得注意的是,來自激光雷達的點可能被投影到多個圖像的多個像素上。因此,我們選擇到圖像平面的歐幾里得距離最短的點,并將其保留為投影點,指定顏色。
與以往的三維重建工作類似,我們將密集束平差(DBA)擴展到多相機設(shè)置,并獲得更新的激光雷達點。實驗結(jié)果證明,在與周圍的多目對準之前用激光雷達進行初始化有助于為高斯模型提供更精確的幾何先驗。
Global Rendering via Gaussian Splatting
本文采用可微3DGaussian splatting渲染器,并將全局復(fù)合3D高斯投影到2D中,其中協(xié)方差矩陣由下式給出:
復(fù)合高斯場將全局3D高斯投影到多個2D平面上,并在每個時間步長使用環(huán)視視圖進行監(jiān)督。在全局渲染過程中,下一個時間步長的高斯最初對當前圖像不可見,隨后與相應(yīng)全局圖像的監(jiān)督相結(jié)合。
我們的方法的損失函數(shù)由三個部分組成。接下來,我們首先將tile結(jié)構(gòu)相似性(TSSIM)引入Gaussian Splatting,它測量渲染的tile與對應(yīng)的GT之間的相似性。
我們還引入了用于減少3D高斯中異常值的魯棒損失,其可以定義為:
通過監(jiān)督激光雷達的預(yù)期高斯位置,進一步利用激光雷達損失,獲得更好的幾何結(jié)構(gòu)和邊緣形狀:
實驗結(jié)果
如表1所示,我們的方法在很大程度上優(yōu)于Instant-NGP,后者使用基于哈希的NeRF進行新的視圖合成。Mip-NeRF和MipNeRF360是針對無界戶外場景設(shè)計的兩種方法。我們的方法在所有評估指標中也顯著超過了它們。
KITTI-360單視圖合成的比較。為了進一步驗證我們的方法在單目駕駛場景設(shè)置上的有效性,我們對KITTI-360數(shù)據(jù)集進行了實驗,并將其與現(xiàn)有的SOTA方法進行了比較。如表2所示,我們的方法在單目駕駛場景中表現(xiàn)出最佳性能,大大超過了現(xiàn)有方法。補充材料中提供了更多的結(jié)果和視頻。
消融實驗
Gaussians的初始化先驗。通過對比實驗分析了不同先驗和初始化方法對高斯模型的影響。原始3D-GS提供了兩種初始化模式:隨機生成點和COLMAP計算的SfM點。我們還提供了另外兩種初始化方法:從預(yù)先訓(xùn)練的NeRF模型導(dǎo)出的點云和使用LiDAR先驗生成的點。
同時,為了分析點云數(shù)量的影響,我們將激光雷達下采樣到600K,并應(yīng)用自適應(yīng)濾波(1M)來控制生成的激光雷達點的數(shù)量。我們還為隨機生成的點(600K和1M)設(shè)置了不同的最大閾值。這里,SfM-600K±20K表示COLMAP計算的點數(shù),NeRF-1M±20K代表預(yù)訓(xùn)練的NeRF模型生成的總點數(shù),LiDAR-2M±20K代表LiDAR點的原始數(shù)量。
如表3所示,隨機生成的點會導(dǎo)致最差的結(jié)果,因為它們?nèi)狈θ魏螏缀蜗闰?。由于點稀疏和無法容忍的結(jié)構(gòu)誤差,用SfM點初始化也不能充分恢復(fù)場景的精確幾何結(jié)構(gòu)。利用從預(yù)先訓(xùn)練的NeRF模型生成的點云提供了相對準確的幾何先驗,但仍存在明顯的異常值。對于用LiDAR先驗初始化的模型,盡管下采樣會導(dǎo)致一些局部區(qū)域的幾何信息丟失,但它仍然保留了相對準確的結(jié)構(gòu)先驗,從而超過了SfM(圖5)。我們還可以觀察到,實驗結(jié)果不會隨著激光雷達點數(shù)量的增加而線性變化。我們推斷這是因為過密的點存儲了冗余特征,干擾了高斯模型的優(yōu)化。
每個模塊的有效性。我們分析了每個提出的模塊對最終性能的貢獻。如表4所示,復(fù)合動態(tài)高斯圖模塊在重建動態(tài)駕駛場景中發(fā)揮著至關(guān)重要的作用,而增量靜態(tài)3D高斯圖模塊能夠?qū)崿F(xiàn)高質(zhì)量的大規(guī)模背景重建。這兩個新穎的模塊顯著提高了復(fù)雜駕駛場景的建模質(zhì)量。關(guān)于所提出的損失函數(shù),結(jié)果表明,和都顯著提高了渲染質(zhì)量,增強了紋理細節(jié)并消除了偽影。在LiDAR先驗的幫助下,幫助高斯獲得更好的幾何先驗。實驗結(jié)果還表明,即使沒有激光雷達先驗,DrivingGaussian也能很好地執(zhí)行,對各種初始化方法表現(xiàn)出強大的魯棒性。
Corner Case仿真
進一步展示了我們在真實駕駛場景中模擬Corner Case的方法的有效性。如圖6所示,我們可以將任意動態(tài)對象插入重建的高斯場中。模擬場景主要具有時間一致性,并在多個傳感器之間表現(xiàn)出良好的傳感器間一致性。我們的方法能夠?qū)ψ詣玉{駛場景進行可控的模擬和編輯,促進安全自動駕駛系統(tǒng)的研究。
總結(jié)
本文提出了DrivingGaussian,這是一種基于所提出的復(fù)合高斯Splatting的用于表示大規(guī)模動態(tài)自動駕駛場景的新框架。DrivingGaussian使用增量靜態(tài)3D高斯逐步對靜態(tài)背景進行建模,并使用復(fù)合動態(tài)高斯圖捕獲多個運動目標。我們進一步利用激光雷達先驗來獲得精確的幾何結(jié)構(gòu)和多視圖一致性。DrivingGaussian在兩個著名的驅(qū)動數(shù)據(jù)集上實現(xiàn)了最先進的性能,允許高質(zhì)量的周圍視圖合成和動態(tài)場景重建。
原文鏈接:https://mp.weixin.qq.com/s/pGwIbrgvmbScyNKNbZLE1w