3D-GS 與 Nerf 和 Gaussian Splatting
3D Gaussian Splatting for Real-Time Radiance Field Rendering
論文:link
code:link
video:link
1. 開山之作 Nerf
一切的開始都是起源于 NERF 開山之作 這里由詳細(xì)的學(xué)習(xí)與拆解
【NERF】入門學(xué)習(xí)整理(一)
【NERF】入門學(xué)習(xí)整理(二)
【NERF】入門學(xué)習(xí)整理(三)
【NeRF數(shù)據(jù)集】LLFF格式數(shù)據(jù)集處理colmap結(jié)果記錄
基于上面的了解,這個(gè)模型的輸入:是一個(gè)五維的相機(jī)位姿(x,y,z,Yaw,Pitch);輸出:4D(R G B 不透明度);
那這個(gè)模型有啥缺點(diǎn)和優(yōu)點(diǎn)呢?
逼真的渲染效果: NERF 可以生成逼真的圖像和視頻,與真實(shí)照片和視頻難以區(qū)分。
靈活性和可擴(kuò)展性: NERF 可以用于渲染各種形狀和大小的 3D 場景,包括室內(nèi)和室外場景。
易于使用: NERF 只需要少量數(shù)據(jù)即可訓(xùn)練,并且可以使用標(biāo)準(zhǔn)的硬件進(jìn)行訓(xùn)練和推理。
缺點(diǎn)包括:
計(jì)算成本高: NERF 的訓(xùn)練和推理過程需要大量的計(jì)算資源。
數(shù)據(jù)需求: NERF 需要大量的數(shù)據(jù)才能訓(xùn)練出高質(zhì)量的模型。
泛化能力差: NERF 模型通常只適用于訓(xùn)練數(shù)據(jù)所代表的場景。
以下是 NERF 算法的一些具體應(yīng)用:
虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí): NERF 可以用于創(chuàng)建逼真的虛擬環(huán)境和增強(qiáng)現(xiàn)實(shí)體驗(yàn)。
3D 建模: NERF 可以用于從照片或視頻中生成 3D 模型。
逆向渲染: NERF 可以用于從圖像或視頻中恢復(fù) 3D 場景的幾何形狀和材質(zhì)。
以下是 NERF 算法的一些研究方向:
提高計(jì)算效率: 研究人員正在開發(fā)更有效的 NERF 訓(xùn)練和推理算法。
提高數(shù)據(jù)效率: 研究人員正在開發(fā)能夠從少量數(shù)據(jù)中學(xué)習(xí)的 NERF 模型。
提高泛化能力: 研究人員正在開發(fā)能夠泛化到新場景的 NERF 模型。
總體而言,NERF 是一種具有巨大潛力的 3D 表示和渲染技術(shù)。隨著研究的不斷深入,NERF 算法將有望在更多的領(lǐng)域得到應(yīng)用。
此外,NERF 還存在一些潛在的風(fēng)險(xiǎn)和挑戰(zhàn),包括:
模型偏見: NERF 模型可能會(huì)受到訓(xùn)練數(shù)據(jù)的偏見影響,從而導(dǎo)致生成不準(zhǔn)確或偏頗的結(jié)果。
濫用風(fēng)險(xiǎn): NERF 技術(shù)可能會(huì)被濫用來生成虛假信息或宣傳材料。
2. 扛鼎之作 3D Gaussian Splatting
3D Gaussian Splatting是最近NeRF方面的突破性工作,它的特點(diǎn)在于重建質(zhì)量高的情況下還能接入傳統(tǒng)光柵化,優(yōu)化速度也快(能夠在較少的訓(xùn)練時(shí)間,實(shí)現(xiàn)SOTA級(jí)別的NeRF的實(shí)時(shí)渲染效果,且可以以 1080p 分辨率進(jìn)行高質(zhì)量的實(shí)時(shí)(≥ 30 fps)新視圖合成)。開山之作就是論文“3D Gaussian Splatting for Real-Time Radiance Field Rendering”是2023年SIGGRAPH最佳論文。
首先,3DGS可以認(rèn)為是NeRF的一種,做的任務(wù)也是新視圖的合成。
對(duì)于NeRF而言,它屬于隱式幾何表達(dá)(Implicit Geometry ),這里我們?cè)谏厦娴摹綨ERF】入門學(xué)習(xí)整理系列已經(jīng)有了更加完整的百表達(dá)和分析;顧名思義,不表達(dá)點(diǎn)的具體位置,而表示點(diǎn)與點(diǎn)的關(guān)系。通過選取空間坐標(biāo)作為采樣點(diǎn)輸入,隱式場景將輸出這些點(diǎn)的幾何密度是多少,顏色是什么。而所謂的神經(jīng)隱式幾何則是用神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換上述輸入輸出的方法(輸入三維空間坐標(biāo)和觀測視角,輸出對(duì)應(yīng)點(diǎn)的幾何密度和顏色)。把光線上的一系列采樣點(diǎn)加權(quán)積起來就渲染得到一個(gè)像素顏色,這便是NeRF神經(jīng)輻射場渲染的流程。
此外,何的隱式表達(dá)可以分為體積類表達(dá)和表面類表達(dá)兩種:
體積類表達(dá):NeRF 屬于體積類表達(dá),通過幾何密度決定采樣點(diǎn)顏色的貢獻(xiàn)度。
表面類表達(dá):在表面類表達(dá)方式中,輸入采樣點(diǎn),符號(hào)距離函數(shù) SDF 輸出空間中距離該點(diǎn)最近的表面的距離,正值表示表面外,負(fù)值表示表面內(nèi),表面類方法判定越靠近表面的采樣點(diǎn)顏色貢獻(xiàn)度越高。
既然有隱式,那么就有顯式幾何表達(dá)( Explicit geometry),就是類似點(diǎn)云、三角mesh這類可以沿著存儲(chǔ)空間遍歷所有元素。(通過某些方式,真正的把物體上的點(diǎn)都表示出來)
對(duì)于渲染,NeRF是非常典型的backward mapping過程,即計(jì)算出每個(gè)像素點(diǎn)受到每個(gè)體素影響的方式來生成最終圖像,對(duì)每個(gè)像素,投出一條視線,并累積其顏色和不透明度
而3DGaussian Splatting是forward mapping的過程,將每個(gè)體素視作一個(gè)模糊的球,投影到屏幕上。在Splatting中,我們計(jì)算出每個(gè)體素如何影響每個(gè)像素點(diǎn).
2.1 什么是3D高斯?高斯由1D推廣到3D的數(shù)學(xué)推導(dǎo)
對(duì)于高常說的高斯函數(shù),其實(shí)是1D的高斯,也就是正態(tài)分布:
f ( x ) = 1 σ 2 π e ? ( x ? μ ) 2 2 σ 2 f(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=σ2π?1?e?2σ2(x?μ)2?
其中:
μ 是正態(tài)分布的 均值,代表數(shù)據(jù)中心的位置。
σ 是正態(tài)分布的 標(biāo)準(zhǔn)差,代表數(shù)據(jù)離散程度。文章來源:http://www.zghlxwxcb.cn/news/detail-852015.html
對(duì)于一段x區(qū)間,進(jìn)行積分可以得到分布中的數(shù)據(jù)落在這一-區(qū)間的概率,其中絕大多數(shù)落在3sigma區(qū)域(概率是0.9974)。因此,一組 m u mu mu 和 / s i g m a /sigma /sigma 可以確定一個(gè)1D高斯分布函數(shù),進(jìn)而確定一條1D線段通過改變這兩個(gè)值就可以表達(dá)1D數(shù)軸上的一根線段。類似地,將這個(gè)思路從1D拓展到3D,那么就可以確定一個(gè)空間的橢球形,這個(gè)橢球分別以xyz軸對(duì)稱,
從對(duì)稱軸的垂直面切出來的橫截面都是橢圓。不過由于這個(gè)橢球可以旋轉(zhuǎn)移動(dòng),所以它的xyz對(duì)稱軸不一定和世界坐標(biāo)系重疊。對(duì)于標(biāo)準(zhǔn)的3DGaussians標(biāo)準(zhǔn)形式,是:
G ( x ) = 1 2 π σ 2 exp ? [ ? ( x ? μ ) 2 2 σ 2 ] \begin{equation} G(x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp \left[ -\frac{(x - \mu)^2}{2 \sigma^2} \right] \end{equation} G(x)=2πσ2文章來源地址http://www.zghlxwxcb.cn/news/detail-852015.html
到了這里,關(guān)于【3D-GS】Gaussian Splatting SLAM——基于3D Gaussian Splatting的全網(wǎng)最詳細(xì)的解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!