訓(xùn)練45秒,渲染300+FPS!MVSGaussian:高效泛化的混合Gaussian
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
寫在前面&筆者的個人理解
華科最新的MVSGaussian,一種從多視圖立體(MVS)中導(dǎo)出的新的廣義三維高斯表示方法,可以有效地重建看不見的場景。具體地說,1)我們利用MVS對幾何感知的高斯表示進(jìn)行編碼,并將其解碼為高斯參數(shù)。2) 為了進(jìn)一步提高性能,我們提出了一種混合高斯渲染,它集成了一種高效的體渲染設(shè)計,用于新視角合成。3) 為了支持特定場景的快速微調(diào),我們引入了一種多視圖幾何一致聚合策略,以有效地聚合可推廣模型生成的點(diǎn)云,作為每個場景優(yōu)化的初始化。與以前基于NeRF的可推廣方法相比,MVSGaussian通常需要對每個圖像進(jìn)行幾分鐘的微調(diào)和幾秒鐘的渲染,它實(shí)現(xiàn)了實(shí)時渲染,每個場景的合成質(zhì)量更好。與普通的3D-GS相比,MVSGaussian以較少的訓(xùn)練計算成本實(shí)現(xiàn)了更好的視圖合成。在DTU、Real Forward Faceing、NeRF Synthetic以及Tanks and Temples數(shù)據(jù)集上進(jìn)行的大量實(shí)驗驗證了MVSGaussian以令人信服的可推廣性、實(shí)時渲染速度和快速的逐場景優(yōu)化攻擊了最先進(jìn)的性能。
總之,我們提出了一種新的快速可推廣的高斯飛濺方法。我們在廣泛使用的DTU、Real Forward Faceing、NeRF Synthetic以及Tanks and Temples數(shù)據(jù)集上評估了我們的方法。大量實(shí)驗表明,我們的可推廣方法優(yōu)于其他可推廣方法。經(jīng)過短時間的逐場景優(yōu)化,我們的方法獲得了與其他方法相當(dāng)甚至更好的性能,優(yōu)化時間更長,如圖1所示。在單個RTX 3090 GPU上,與普通的3D-GS相比,我們提出的方法實(shí)現(xiàn)了更好的新穎視圖合成,具有相似的渲染速度(300+FPS)和13.3倍的訓(xùn)練計算成本(45s)。我們的主要貢獻(xiàn)可概括如下:
- 我們提出了MVSGaussian,這是一種從多視圖立體和像素對齊的高斯表示導(dǎo)出的廣義高斯散點(diǎn)方法。
- 我們進(jìn)一步提出了一種有效的混合高斯渲染方法來促進(jìn)泛化學(xué)習(xí)。
- 我們引入了一致的聚合策略,為快速的每場景優(yōu)化提供高質(zhì)量的初始化。
項目主頁:https://mvsgaussian.github.io/
相關(guān)工作回顧
多視圖立體(MVS)旨在從多個視圖重建密集的3D表示。傳統(tǒng)的MVS方法依賴于手工制作的功能和相似性度量,這限制了它們的性能。隨著深度學(xué)習(xí)在3D感知中的發(fā)展,MVSNet首先提出了一種端到端的流水線,其關(guān)鍵思想是構(gòu)建一個成本體積,將2D信息聚合到3D幾何感知表示中。后續(xù)工作遵循這種基于成本-體積的流水線,并從各個方面進(jìn)行改進(jìn),例如,通過重復(fù)的平面掃描或粗略到精細(xì)的架構(gòu)來減少內(nèi)存消耗,優(yōu)化成本聚合,增強(qiáng)特征表示,以及改進(jìn)解碼策略。由于代價體積對多視圖特征的一致性進(jìn)行編碼,并自然地執(zhí)行對應(yīng)匹配,因此在本文中,我們開發(fā)了一種新的基于MVS的可推廣高斯空間表示。
可推廣的NeRF。通過使用MLP將場景隱式地表示為連續(xù)的顏色和密度場,神經(jīng)輻射場(NeRF)通過體積渲染技術(shù)實(shí)現(xiàn)了令人印象深刻的渲染結(jié)果。后續(xù)工作將其擴(kuò)展到各種任務(wù),并取得了可喜的成果。然而,它們都需要耗時的逐場景優(yōu)化。為了解決這個問題,已經(jīng)提出了一些通用的NeRF方法。一般的范例包括對每個3D點(diǎn)的特征進(jìn)行編碼,然后對這些特征進(jìn)行解碼以獲得體積密度和輻射度。根據(jù)編碼特征,可推廣的NeRF可分為外觀特征、聚合多視圖特征、基于成本量的特征和對應(yīng)匹配特征。盡管取得了顯著的效果,但性能仍然有限,優(yōu)化和渲染速度較慢。
三維高斯散射(3D-GS)使用各向異性高斯來顯式地表示場景,并通過差分光柵化實(shí)現(xiàn)實(shí)時渲染。受此啟發(fā),一些研究將其應(yīng)用于各種任務(wù),例如編輯、動態(tài)場景等。然而,高斯飛濺的本質(zhì)仍然在于對場景的過度擬合。為了彌補(bǔ)這一點(diǎn),一些作品首次嘗試將高斯飛濺推廣到看不見的場景。廣義高斯散射的目標(biāo)是以前饋方式預(yù)測高斯參數(shù),而不是按場景優(yōu)化。PixelSplat通過利用核極變換器對特征進(jìn)行編碼并隨后將其解碼為高斯參數(shù)來解決尺度模糊問題。然而,它將重點(diǎn)放在圖像對作為輸入,并且Transformer會產(chǎn)生顯著的計算成本。GPS Gaussian從立體匹配中獲得靈感,并對輸入圖像對進(jìn)行核極校正和視差估計。然而,它專注于人類小說視角的合成,并需要地面實(shí)況深度圖。Spatter Image介紹了一種單視圖三維重建方法。然而,它側(cè)重于以對象為中心的重建,而不是推廣到看不見的場景??傮w而言,這些方法受到低效率的限制,僅限于對象重建,并且僅限于圖像對或單個視圖。為此,在本文中,我們旨在研究一種有效的可推廣高斯散射,用于我們的一般場景中的新視圖合成。
MVSGaussian
概覽
給定一組源視圖,NVS旨在從一個新穎的相機(jī)姿勢合成目標(biāo)視圖。我們提出的可推廣高斯飛濺框架的概述如圖2所示。我們首先利用特征金字塔網(wǎng)絡(luò)(FPN)從源視圖中提取多尺度特征。然后,這些特征被扭曲到目標(biāo)相機(jī)上,通過差分單應(yīng)性來構(gòu)建成本體積,然后通過3D細(xì)胞神經(jīng)網(wǎng)絡(luò)進(jìn)行正則化以生成深度圖?;讷@得的深度圖,我們通過聚合多視圖和空間信息來對每個像素對齊的3D點(diǎn)的特征進(jìn)行編碼。然而,高斯飛濺是一種基于區(qū)域的顯式表示,專為基于tile的渲染而設(shè)計,涉及高斯和像素之間的復(fù)雜多對多映射,這對可推廣學(xué)習(xí)提出了挑戰(zhàn)。為了解決這一問題,我們提出了一種高效的混合渲染,通過集成一個簡單的深度感知體積渲染模塊,其中每條光線只采樣一個點(diǎn)。我們使用高斯飛濺和體積渲染來渲染兩個視圖,然后將這兩個渲染視圖平均化為最終視圖。該管道進(jìn)一步以級聯(lián)結(jié)構(gòu)構(gòu)建,以從粗到細(xì)的方式傳播深度圖和渲染視圖。
MVS-based Gaussian Splatting Representation
MVS的深度估計。深度圖是我們管道的關(guān)鍵組成部分,因為它連接了2D圖像和3D場景表示。遵循基于學(xué)習(xí)的MVS方法,我們首先在目標(biāo)視圖處建立多個前向平行平面。然后,我們使用差分單應(yīng)性將源視圖的特征扭曲到這些掃描平面上,如下所示:
利用源視圖中扭曲的特征,通過計算它們的方差來構(gòu)建成本量,該方差對多視圖特征的一致性進(jìn)行編碼。然后,將成本體積饋送到3D CNN中進(jìn)行正則化,以獲得概率體積。利用這個深度概率分布,我們對每個深度假設(shè)進(jìn)行加權(quán),以獲得最終的深度。
像素對齊的高斯表示。利用估計的深度,每個像素可以不投影到3D點(diǎn),該3D點(diǎn)是3D高斯的位置。下一步是對這些3D點(diǎn)的特征進(jìn)行編碼,以建立像素對齊的高斯表示。具體來說,我們首先使用等式(3)將特征從源視圖扭曲到目標(biāo)相機(jī)。然后利用池化網(wǎng)絡(luò)將這些多視圖特征聚合為特征。考慮到splatting的特性,每個高斯值都有助于圖像特定區(qū)域中像素的顏色值。然而,聚合特征fv僅對單個像素的多視圖信息進(jìn)行編碼,缺乏空間感知。因此,我們使用2D UNet進(jìn)行空間增強(qiáng),產(chǎn)生fg。利用編碼的特征,我們可以對它們進(jìn)行解碼,以獲得用于渲染的高斯參數(shù)。具體而言,每個高斯都由屬性{m,s,r,α,c}表征。對于位置m,可以根據(jù)估計的深度對像素進(jìn)行不投影來獲得:
對于縮放s、旋轉(zhuǎn)r和不透明度a,它們可以從編碼特征中解碼,如下所示:
對于最后一個屬性,顏色c,3D高斯Splatting使用球面諧波(SH)系數(shù)來定義它。然而,從特征學(xué)習(xí)SH系數(shù)的泛化是不魯棒的。相反,我們直接將特征中的顏色回歸為:
高效的混合高斯渲染。利用上述高斯參數(shù),可以使用splatting技術(shù)渲染新的視圖。然而,所獲得的視圖缺乏精細(xì)的細(xì)節(jié),并且這種方法表現(xiàn)出有限的泛化性能。我們的見解是,splatting方法在顏色貢獻(xiàn)方面引入了3D高斯和像素之間復(fù)雜的多對多關(guān)系,這對泛化提出了挑戰(zhàn)。因此,我們建議使用3D高斯和像素之間的簡單一一對應(yīng)來預(yù)測顏色以進(jìn)行細(xì)化。在這種情況下,鍍層退化為具有單個深度感知采樣點(diǎn)的體積渲染。具體來說,我們通過解碼fv來獲得輻射度和體積密度,然后進(jìn)行體積渲染以獲得渲染視圖。通過對通過splatting和體積渲染渲染的視圖進(jìn)行平均,形成最終渲染視圖。
Consistent Aggregation for Per-Scene Optimization
廣義模型可以為看不見的場景重建合理的3D高斯表示。我們可以使用所描述的優(yōu)化策略,針對特定場景進(jìn)一步優(yōu)化這種高斯表示。由于上述可推廣模型在幾個給定的新穎視點(diǎn)重建高斯表示,因此主要的挑戰(zhàn)是如何有效地將這些高斯表示聚合為單個高斯表示以進(jìn)行有效渲染。由于MVS方法的固有局限性,可推廣模型預(yù)測的深度可能不完全準(zhǔn)確,導(dǎo)致在生成的高斯點(diǎn)云中存在噪聲。直接連接這些高斯點(diǎn)云會導(dǎo)致大量的噪聲。此外,大量的點(diǎn)會降低后續(xù)的優(yōu)化和渲染速度。一個直觀的解決方案是對連接的點(diǎn)云進(jìn)行下采樣。然而,在減少噪聲的同時,它也會減少有效點(diǎn)的數(shù)量。我們的見解是,一個好的聚合策略應(yīng)該最大限度地減少噪聲點(diǎn),并盡可能地保留有效點(diǎn),同時確保點(diǎn)的總數(shù)不會過大。為此,我們引入了一種基于多視圖幾何一致性的聚合策略??绮煌朁c(diǎn)的同一3D點(diǎn)的預(yù)測深度應(yīng)顯示出一致性。否則,預(yù)測的深度被認(rèn)為是不可靠的。這種幾何一致性可以通過計算不同視圖之間的投影誤差來測量。具體而言,如圖3所示,給定要檢查的參考深度圖D0和來自附近視點(diǎn)的深度圖D1,我們首先將D0中的像素p投影到附近視圖,以獲得投影點(diǎn)q,如下所示:
反過來,我們將獲得的具有估計深度D1(q)的像素q反向投影到參考視圖上,以獲得投影點(diǎn)p',如下所示:
然后,通過以下公式計算重投影誤差:
參考圖像將與剩余圖像中的每一個成對地進(jìn)行比較,以計算投影誤差。我們采用動態(tài)一致性檢查算法來選擇有效的深度值。主要思想是,當(dāng)估計的深度在少數(shù)視圖中具有非常低的投影誤差或在大多數(shù)視圖中具有相對低的誤差時,估計的深度是可靠的。其公式如下:
實(shí)驗
我們在DTU訓(xùn)練集上訓(xùn)練可推廣模型,并在表1中報告DTU測試集上的定量結(jié)果,在表2中報告另外三個數(shù)據(jù)集上的量化結(jié)果。由于基于MVS的像素對齊高斯表示和高效的混合高斯渲染,我們的方法以快速的推理速度實(shí)現(xiàn)了最佳性能。由于引入了epipolar Transformer,PixelSplat的速度較慢,內(nèi)存消耗較大。此外,它專注于以圖像對為輸入的自然場景,當(dāng)應(yīng)用于以對象為中心的數(shù)據(jù)集時,其性能顯著降低。對于基于NeRF的方法,ENeRF通過每條射線僅采樣2個點(diǎn)而享有良好的速度,然而,其性能有限,并且消耗更高的內(nèi)存開銷。其余的方法通過采樣光線來渲染圖像,因為它們的內(nèi)存消耗很高,因為它們無法同時處理整個圖像。定性結(jié)果如圖4所示。我們的方法可以生成具有更多場景細(xì)節(jié)和較少瑕疵的高質(zhì)量視圖。
每個場景優(yōu)化后的定量結(jié)果報告在表3中。對于每場景優(yōu)化,一種策略是優(yōu)化整個管道,類似于基于NeRF的方法。另一種方法是僅優(yōu)化由可推廣模型提供的初始高斯點(diǎn)云。在優(yōu)化整個管道時,與以前的可推廣NeRF方法相比,我們的方法可以獲得更好的性能和更快的推理速度,結(jié)果與NeRF相當(dāng),證明了我們方法的魯棒表示能力。相比之下,僅優(yōu)化高斯可以顯著提高優(yōu)化和渲染速度,因為它消除了耗時的前饋神經(jīng)網(wǎng)絡(luò)。此外,所述的自適應(yīng)密度控制模塊還可以提高性能。由于可推廣模型提供了出色的初始化和有效的聚合策略,我們在短的優(yōu)化期內(nèi)實(shí)現(xiàn)了最佳性能,約為3D-GS的十分之一。特別是在真實(shí)面向前的數(shù)據(jù)集上,我們的方法僅需45秒的優(yōu)化就實(shí)現(xiàn)了卓越的性能,而3D-GS和NeRF分別為10分鐘和10小時。此外,我們的方法的推理速度與3D-GS的推理速度相當(dāng),顯著優(yōu)于基于NeRF的方法。如圖5所示,我們的方法能夠生成具有更精細(xì)細(xì)節(jié)的高保真度視圖。
結(jié)論
我們提出了MVSGaussian,一種有效的廣義高斯Splatting方法。具體來說,我們利用MVS來估計深度,建立像素對齊的高斯表示。為了增強(qiáng)泛化能力,我們提出了一種混合渲染方法,該方法集成了深度感知體積渲染。此外,由于高質(zhì)量的初始化,我們的模型可以針對特定場景快速微調(diào)。與每個圖像通常需要幾分鐘的微調(diào)和幾秒鐘的渲染的可推廣NeRF相比,MVSGaussian實(shí)現(xiàn)了具有卓越合成質(zhì)量的實(shí)時渲染。此外,與3D-GS相比,MVSGaussian在減少訓(xùn)練時間的情況下實(shí)現(xiàn)了更好的視圖合成。局限性由于我們的方法依賴于MVS進(jìn)行深度估計,因此它繼承了MVS的局限性,例如紋理較弱或鏡面反射區(qū)域的深度精度降低,導(dǎo)致視圖質(zhì)量下降。