偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

實(shí)時輻射場渲染利器——三維高斯?jié)姙R算法

譯文 精選
開發(fā)
本文將帶您了解三維表示領(lǐng)域的最新技術(shù)進(jìn)展,特別是實(shí)時輻射場渲染領(lǐng)域的3D高斯?jié)姙R算法。

譯者 | 朱先忠

審校 | 重樓

高斯?jié)姙R(Gaussian Splatting)是“實(shí)時輻射場渲染的3D高斯?jié)姙R論文引文1中介紹的一種表示3D場景和渲染新穎視圖的方法。它被認(rèn)為是NeRF引文2模型的替代品,就像當(dāng)年的NeRF模型本身一樣,高斯?jié)姙R引發(fā)一系列新的研究工作,這些工作選擇將其用作各種場景中3D世界的底層表示。

那么,高斯?jié)姙R算法究竟有什么特別之處,為什么它比NeRF更好呢?或者說,可以下這樣的結(jié)論嗎?本文中,我們將全面地回答這幾個問題

引言

首先,從本文標(biāo)題中可以看出,高斯?jié)姙R算法的主要成名點(diǎn)是高渲染速度。這歸功于下將介紹的此算法實(shí)現(xiàn)本身以及由于使用自定義CUDA內(nèi)核定制的渲染算法的實(shí)現(xiàn)。

圖1:在渲染速度(fps)、訓(xùn)練時間(min)和視覺質(zhì)量(峰值信噪比,越高越好)方面,之前的高質(zhì)量表示和高斯?jié)姙R(標(biāo)記為“Ours”)的并排比較源于引文1

此外,高斯?jié)姙R根本不涉及任何中性網(wǎng)絡(luò)。甚至沒有使用哪怕是一個小的MLP,沒有引入任何神經(jīng)網(wǎng)絡(luò),場景本質(zhì)上只是空間中的一組點(diǎn)。這本身就已經(jīng)引起了人們的注意。看到這樣一種方法在我們癡迷于人工智能的世界里越來越受歡迎,也發(fā)現(xiàn)有些研究公司競相研發(fā)由越來越多乃至數(shù)十億個參數(shù)組成的模型,真是令人耳目一新。

高斯?jié)姙R的想法源于“表面飛濺”(引文3),因此它樹立了一個很酷的例子——經(jīng)典的計算機(jī)視覺方法仍然可以啟發(fā)相關(guān)的解決方案。它簡單而明確的表示使高斯?jié)姙R特別容易解釋,這是在某些應(yīng)用中選擇它而不是NeRF算法的一個很好的理由。

表示三維世界

如前所述,在高斯潑濺算法中,3D世界由一組3D點(diǎn)表示。事實(shí)上,存在數(shù)百萬個3D點(diǎn),大約在50萬到500萬之間。每個點(diǎn)都是具有其自己獨(dú)特參數(shù)的3D高斯,這些參數(shù)針對每個場景進(jìn)行擬合,使得該場景的渲染與已知的數(shù)據(jù)集圖像緊密匹配。優(yōu)化和渲染過程將在稍后討論讓我們暫時先來介紹幾個的高斯參數(shù)。

圖2:高斯中心(平均值(源自引文4中“動態(tài)三維高斯”)圖2:高斯中心(平均值(源自引文4中“動態(tài)三維高斯”)

每個3D高斯算法通過以下方式進(jìn)行參數(shù)化:

  • 平均μ可解釋為位置x、y、z;
  • 協(xié)方差∑;
  • 不透明度σ(??)是一個sigmoid函數(shù),于把參數(shù)映射到[0,1]區(qū)間;
  • 顏色參數(shù),可能是(R、G、B)3值形式,也可能是球面諧波(SH)系數(shù)方式指定。

這里需要進(jìn)一步討論兩組參數(shù)協(xié)方差矩陣和SH。接下來還有一個單獨(dú)的節(jié)專門討論后者。對于協(xié)方差,設(shè)計之初指定它是各向異性的也就是說,不是各向同性的。這意味著3D點(diǎn)可以是沿空間中任何方向旋轉(zhuǎn)和拉伸的橢球體。此參數(shù)可能需要9個參數(shù);然而,不能直接優(yōu)化它們,因?yàn)閰f(xié)方差矩陣只有當(dāng)它是正半定矩陣時才有物理意義。使用梯度下降進(jìn)行優(yōu)化使得很難直接在矩陣上提出這樣的約束,這就是為什么它分解為如下形式

這種因子分解被稱為協(xié)方差矩陣的征分解,可以被理解為橢球體的配置,其中:

  • S是具有3個縮放參數(shù)的對角縮放矩陣;
  • R是用4個四元數(shù)解析表示的3x3旋轉(zhuǎn)矩陣。

使用高斯的美妙之處在于每一點(diǎn)的雙重影響。一方面,根據(jù)其協(xié)方差,每個點(diǎn)有效地表示了空間中接近其均值的有限區(qū)域。另一方面,它在理論上具有無窮大的范圍,這意味著每個高斯都是在整個三維空間上定義的,并且可以對任何點(diǎn)進(jìn)行評估。這很好,因?yàn)樵趦?yōu)化過程中,它允許梯度沿長距離流動引文4。
3D高斯i對3D中任意3D點(diǎn)p的影響定義如下:

圖3:三維高斯i對三維點(diǎn)p的影響(作者本人提供的圖片)圖3:三維高斯i對三維點(diǎn)p的影響(作者本人提供的圖片)

這個方程看起來幾乎像多元正態(tài)分布的概率密度函數(shù),只是忽略了具有協(xié)方差行列式的歸一化項,而是用不透明度來加權(quán)。

圖像形成模型和渲染

圖像形成模型

給定一組3D點(diǎn),可能最有趣的部分是看它如何用于渲染。以前你可能熟悉一個NeRF中使用的ɑ-混合。結(jié)果表明,NeRF系列算法高斯?jié)姙R共享相同的圖像形成模型。要了解這一點(diǎn),不妨讓我們繞道而行——重新訪問NeRF引文2及其許多后續(xù)作品中給出的體積渲染公式(1)。我們還將使用簡單的轉(zhuǎn)換來重寫它(2):

σ和δ的定義可以參考NeRF論文,但從概念上講,這可以理解為:圖像像素p中的顏色是通過沿穿過該像素的光線對樣本進(jìn)行積分來近似的。最終顏色是沿該光線采樣的3D點(diǎn)的顏色的加權(quán)和,按透射率向下加權(quán)??紤]到這一點(diǎn),讓我們最后來看高斯?jié)姙R的圖像形成模型:

事實(shí)上,公式(2)和(3)幾乎相同。唯一的區(qū)別是如何在兩者之間計算。然而,這種微小的差異在實(shí)踐中變得極其顯著,并導(dǎo)致截然不同的渲染速度。事實(shí)上,它是高斯?jié)姙R實(shí)時性能的基礎(chǔ)。

為了理解為什么會出現(xiàn)這種情況,我們需要理解f^{2D}的含義以及它提出的計算要求。這個函數(shù)只是我們在上一節(jié)中看到的f(p)到2D的投影,即投影到正在渲染的相機(jī)的圖像平面上。3D點(diǎn)及其投影都是多變量高斯,因此投影的2D高斯對像素的影響可以使用與3D高斯對3D中其他點(diǎn)的影響相同的公式來計算(見圖3)。唯一的區(qū)別是平均μ和協(xié)方差∑必須投影到2D中,這是使用EWA潑濺的導(dǎo)數(shù)來完成的引文5)。

2D中的平均值可以通過使用內(nèi)在相機(jī)矩陣K和外在相機(jī)矩陣W=[R|t]將齊次坐標(biāo)(具有額外的1個坐標(biāo))中的向量μ投影到圖像平面中而簡單地獲得:

這也可以寫在一行中,如下所示:

這里的“z”下標(biāo)代表z歸一化。2D中的協(xié)方差是使用(4)的雅可比定義的,J的定義如下

整個過程仍然是可微分的,這對優(yōu)化至關(guān)重要。

渲染

公式(3)告訴我們?nèi)绾卧趩蝹€像素中獲得顏色。要渲染整個圖像,仍然需要遍歷所有HxW射線,就像在NeRF中一樣。然而,該過程要簡單得多,因?yàn)椋?/span>

  • 對于給定的相機(jī),在對像素進(jìn)行迭代之前,每個3D點(diǎn)的f(p)可以預(yù)先投影到2D中。這樣,當(dāng)高斯混合到附近的幾個像素時,我們不需要一遍又一遍地重新投影它。
  • 對于單個圖像,沒有MLP可以被推斷為H·W·P倍,2D高斯直接混合到圖像上。
  • 沿著射線評估哪個3D點(diǎn)沒有歧義,無需選擇射線采樣策略。與每個像素的光線重疊的一組3D點(diǎn)(參見(3)中的N)在優(yōu)化后是離散的和固定的。
  • 預(yù)處理排序階段在GPU上每幀完成一次,使用可微分CUDA內(nèi)核的自定義實(shí)現(xiàn)。概念上的差異如圖4所示:

圖4:NeRF和GS之間的概念差異,左:沿射線查詢連續(xù)MLP,右:混合與給定射線相關(guān)的離散高斯集作者本人提供

上面提到的排序算法是本文的貢獻(xiàn)之一。其目的是準(zhǔn)備使用公式(3)進(jìn)行顏色渲染:按深度(接近圖像平面)對3D點(diǎn)進(jìn)行排序,并按圖塊對其進(jìn)行分組。第一種方法需要計算透射率,而后者允許將每個像素的加權(quán)和限制為僅相關(guān)3D點(diǎn)的α-混合(或者更具體地說,它們的2D投影)。該分組是使用簡單的16x16像素圖塊來實(shí)現(xiàn)的,并且如果高斯與多于單個視錐重疊,則它可以落在幾個圖塊中。得益于排序,每個像素的渲染可以簡化為像素所屬圖塊的預(yù)編序點(diǎn)的α-混合。

圖5:視圖截頭體,每個截頭體對應(yīng)一個16x16圖像片段。顏色沒有特別的意義。排序算法的結(jié)果是按深度排序的每個圖塊內(nèi)的3D點(diǎn)的子集

優(yōu)化

一個天真的問題可能會浮現(xiàn)在腦海中:怎么可能從太空中的一群斑點(diǎn)中獲得一張看起來不錯的照片?如果沒有對高斯算法進(jìn)行適當(dāng)優(yōu)化的話,你會在渲染中遭遇到各種各樣的頭疼任務(wù)。在圖6中,您可以觀察到這樣一個任務(wù)的例子,它們看起來非常像橢球體。獲得良好渲染的關(guān)鍵是三個部分:良好的初始化、可微分優(yōu)化和自適應(yīng)致密化。

圖6:未優(yōu)化場景的渲染示例(作者本人圖片)圖6:未優(yōu)化場景的渲染示例(作者本人圖片)

初始化是指在訓(xùn)練開始時設(shè)置的3D點(diǎn)的參數(shù)。對于點(diǎn)位置(平均值),作者建議使用SfM(運(yùn)動結(jié)構(gòu))產(chǎn)生的點(diǎn)云見圖7。邏輯依據(jù)是,對于任何3D重建,無論是GS、NeRF還是更經(jīng)典的東西,你都必須知道相機(jī)矩陣,所以你可能無論如何都會運(yùn)行SfM來獲得這些矩陣。既然SfM會產(chǎn)生一個稀疏點(diǎn)云作為副產(chǎn)品,為什么不使用它進(jìn)行初始化呢?這就是論文的建議。當(dāng)點(diǎn)云由于某些原因不可用時,可以使用隨機(jī)初始化,以避免最終重建質(zhì)量的潛在損失。

圖7SfM產(chǎn)生的稀疏3D點(diǎn)云,初始化工作來源:https://speciale.ar/publication/privacypreservingsfm/

協(xié)方差被初始化為各向同性;換句話說,3D點(diǎn)以球體開始。半徑是根據(jù)到相鄰點(diǎn)的平均距離設(shè)置的,這樣3D世界就可以很好地覆蓋,并且沒有“洞”。

初始化之后,使用一個簡單的隨機(jī)梯度下降來正確地擬合所有內(nèi)容。場景針對損失函數(shù)進(jìn)行優(yōu)化,該損失函數(shù)是地面實(shí)況視圖和當(dāng)前渲染之間的L1和D-SSIM(結(jié)構(gòu)不相似性指數(shù)度量)的組合。

然而,事實(shí)并非如此,另一個關(guān)鍵部分仍然存在,那就是自適應(yīng)致密化。它在訓(xùn)練期間偶爾出現(xiàn)一次,比如說,每100個SGD步驟目的是解決重建不足和過度的問題中發(fā)生一次。需要強(qiáng)調(diào)的是,SGD本身只能調(diào)整現(xiàn)有的點(diǎn)。但在完全缺乏積分或積分過多的領(lǐng)域,它將很難找到好的參數(shù)。這就是自適應(yīng)致密化的作用所在,用大梯度分割點(diǎn)(圖8),并去除收斂到非常低的α值的點(diǎn)(如果一個點(diǎn)那么透明,為什么要保留它?)。

圖8:自適應(yīng)致密化一個玩具示例,用于擬合我們想要用幾個點(diǎn)渲染的豆形狀圖源自引文1

基于SH函數(shù)的視圖依賴顏色

球面諧波,簡稱SH,在計算機(jī)圖形學(xué)中發(fā)揮著重要作用,并首次被提出作為學(xué)習(xí)Plenoxel輻射場中離散三維像素的視圖相關(guān)顏色的一種方法引文6)。視圖依賴性是一個很好的特性,可以提高渲染質(zhì)量,因?yàn)樗试S模型表示非朗伯效應(yīng),例如金屬表面的鏡面反射。然而,這當(dāng)然不是必的,因?yàn)榭梢赃M(jìn)行簡化,選擇用3個RGB值表示顏色,并且仍然像引文4中那樣使用高斯?jié)姙R。這就是為什么我們在制定整個方法后單獨(dú)審查這個表示細(xì)節(jié)的原因。

SH是在球面上定義的特殊函數(shù)。換句話說,您可以為球體上的任何點(diǎn)計算這樣的函數(shù),并獲得一個值。所有這些函數(shù)都是通過為??? ≤ m≤?,每個SH使用一個(?, m)成對:

雖然一開始有點(diǎn)嚇人,但對于?的小值,這個公式大大簡化了。事實(shí)上,對于? = 1,Y=~0.822,只是整個球體上的一個常數(shù)。相反,?的值越高生成更復(fù)雜的曲面。該理論告訴我們,球面諧波形成了一個正交基,因此定義在球面上的每個函數(shù)都可以通過SH表示。

這就解釋了為什么依賴于視圖的顏色的想法可以這樣表達(dá):讓我們把自己限制在一定程度的自由?_max,并設(shè)定每種顏色(紅色、綠色和藍(lán)色)都是第一?_max SH函數(shù)線性組合。對于每一個3D高斯,我們都想學(xué)習(xí)正確的系數(shù),這樣當(dāng)我們從某個方向看這個3D點(diǎn)時,它會傳達(dá)出最接近地面實(shí)況的顏色。獲取視圖相關(guān)顏色的整個過程如圖9所示

圖9:獲取點(diǎn)的視圖相關(guān)顏色(紅色分量)的過程學(xué)習(xí)系數(shù)?_max=2和9。此處,sigmoid函數(shù)將值映射到[0,1]區(qū)間。通常情況下,使用剪輯代替作者本人圖片

高斯?jié)姙R算法的局限性

高斯?jié)姙R算法盡管總體效果很好,渲染速度也令人印象深刻,但表示的簡單性也是有代價的。最重要的考慮因素是在優(yōu)化過程中引入的各種正則化啟發(fā)式方法,以保護(hù)模型免于發(fā)生“破壞”高斯:太大、太長、冗余等。這一部分至關(guān)重要,上述問題可以在新視圖渲染之外的任務(wù)中進(jìn)一步放大。

選擇放棄連續(xù)表示而選擇離散表示意味著MLP的歸納偏差消失了。在NeRF中,MLP執(zhí)行隱式插值,并平滑給定視圖之間可能的不一致,而3D高斯對此敏感,導(dǎo)致了上述問題。

此外,高斯?jié)姙R也并非沒有NeRF中存在的一些眾所周知的問題,它們都繼承自共享的圖像形成模型:在看不太清或看不見的區(qū)域中質(zhì)量較低,靠近圖像平面處存在漂浮物等。

檢查點(diǎn)的文件大小是另一個需要考慮的屬性,盡管新型視圖渲染遠(yuǎn)未部署到邊緣設(shè)備??紤]到3D點(diǎn)的大致數(shù)量和流行的NeRF的MLP架構(gòu),兩者占用的磁盤空間數(shù)量級相同,高斯?jié)姙R多出幾倍。

總結(jié)

沒有一篇博客文章能公正地評價一種方法,只需運(yùn)行相應(yīng)實(shí)例并親自觀察一下結(jié)果便知。以下是您可以進(jìn)一步研究本文相關(guān)內(nèi)容可參考資料

  • 高斯?jié)姙R——使用自定義CUDA內(nèi)核的官方實(shí)現(xiàn)
  • nerfstudio框架——它提供了高斯?jié)姙R算法支持。這是一個最初專門用于NeRF類似模型的框架,但自2023年12月以來,它也支持高斯?jié)姙R;
  • threestudio-3dgs——另一個跨模型框架threestudio的擴(kuò)展。如果你對基于提示生成3D模型感興趣,而不是學(xué)習(xí)現(xiàn)有的圖像集,那么你應(yīng)該使用一下這個擴(kuò)展;
  • UnityGussianSplatting——如果你喜歡Unity,你可以將一個經(jīng)過訓(xùn)練的模型移植到這個插件中進(jìn)行可視化;
  • gsplat——一個CUDA加速高斯光柵化的庫,從nerfstudio分支出來。它可以用于獨(dú)立的基于Torch框架的項目,作為濺的可微分模塊。

鳴謝

這篇博客文章是基于Tali Dekel博士在實(shí)驗(yàn)室的一次小組會議。特別感謝Michal Geyer參與論文的討論,還感謝引文4的作者對高斯?jié)姙R系統(tǒng)總結(jié)。

參考文獻(xiàn)

  1. Kerbl, B., Kopanas, G., Leimkühler, T., & Drettakis, G. (2023)。3D Gaussian Splatting for Real-Time Radiance Field Rendering(https://arxiv.org/abs/2308.04079),SIGGRAPH 2023。
  2. Mildenhall, B., Srinivasan, P. P., Tancik, M., Barron, J. T., Ramamoorthi, R., & Ng, R. (2020)。NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis(https://arxiv.org/abs/2003.08934)。ECCV 2020。
  3. Zwicker, M., Pfister, H., van Baar, J., & Gross, M. (2001)。Surface Splatting(https://www.cs.umd.edu/~zwicker/publications/SurfaceSplatting-SIG01.pdf。 SIGGRAPH 2001。
  4. Luiten, J., Kopanas, G., Leibe, B., & Ramanan, D. (2023)Dynamic 3D Gaussians: Tracking by Persistent Dynamic View Synthesis(https://arxiv.org/abs/2308.09713)。International Conference on 3D Vision。
  5. Zwicker, M., Pfister, H., van Baar, J., & Gross, M. (2001)。EWA Volume Splatting(https://www.cs.umd.edu/~zwicker/publications/EWAVolumeSplatting-VIS01.pdf)。IEEE Visualization 2001
  6. Yu, A., Fridovich-Keil, S., Tancik, M., Chen, Q., Recht, B., & Kanazawa, A. (2023)。Plenoxels: Radiance Fields without Neural Networks(https://arxiv.org/abs/2112.05131)。CVPR 2022。

譯者介紹

朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計算機(jī)教師,自由編程界老兵一枚。

原文標(biāo)題:A Comprehensive Overview of Gaussian Splatting,作者:Kate Yurkova



責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2024-06-24 08:15:00

2025-04-03 10:12:30

2024-06-28 13:47:17

2025-06-06 09:07:00

2012-02-14 11:07:53

惠普筆記本

2023-12-13 10:14:00

機(jī)器視覺技術(shù)

2022-11-09 14:06:11

數(shù)字方法

2025-06-18 08:54:48

2025-04-23 08:50:00

3D算法AI

2022-02-25 23:46:16

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)AI

2010-09-03 09:28:30

2023-12-11 09:00:00

人工智能3D模型

2025-04-09 13:25:34

2009-11-10 12:55:26

VB.NET三維模型

2009-11-10 12:48:17

VB.NET三維模型

2023-08-05 13:53:34

2021-12-16 06:14:14

三維工具 Blender M1 Mac

2013-04-17 16:22:53

2023-09-12 11:30:44

自動駕駛技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號