国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

3D Gaussian Splatting for Real-Time Radiance Field Rendering 閱讀筆記

這篇具有很好參考價值的文章主要介紹了3D Gaussian Splatting for Real-Time Radiance Field Rendering 閱讀筆記。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

感謝B站意の茗的講解。
論文地址:https://arxiv.org/abs/2308.04079
項目主頁:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

概述

  • 從已有點云模型出發(fā)(sfm),以每個點為中心建立可學(xué)習(xí)的3D高斯表達(dá),Splatting方法進(jìn)行渲染,實現(xiàn)高分辨率實時渲染。(推動NERF加速方向)
  • 能用訓(xùn)練好的點云在windows上進(jìn)行實時渲染。隨機初始化點云,不提供初始點云也行,在訓(xùn)練過程中可以對點云進(jìn)行生長和修剪。(一般NeRF需要從COLMAP計算相機位姿,此時已經(jīng)得到初始點云。)
  • 用instant-NGP的速度,實現(xiàn)了mid-nerf360的渲染質(zhì)量。
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

總體介紹

1、文章簡介(主要思想和貢獻(xiàn))

  • 引入了一種各向異性(anisotropic)的3D高斯分布作為高質(zhì)量、非結(jié)構(gòu)化的輻射場表達(dá)。
    從sfm點云出發(fā),以每個點為中心生成3D高斯分布。
    各向異性:從各個方向上看過去長得都不一樣,即把一個點往不同相機位姿上投影的時候投出的樣子不一樣。
  • 實現(xiàn)了使用GPU進(jìn)行快速可微的渲染,允許各向異性的拋雪球(Splatting)和快速反向傳播。
    拋雪球Splatting:圖形學(xué)中用三維點進(jìn)行渲染的方法,將三維點視為雪球往圖像平面拋,雪球在平面留下擴(kuò)散痕跡,這些點的擴(kuò)散痕跡疊加在一起構(gòu)成最后的圖像。
    是一種方便的針對點云的渲染方法,是渲染速度比NeRF快的原因。
  • 提出了針對3D高斯特性的優(yōu)化方法,并同時進(jìn)行自適應(yīng)密度控制。
    儲存在點里的高斯函數(shù),需要在反向傳播的時候進(jìn)行優(yōu)化更新。根據(jù)梯度自適應(yīng)調(diào)整點云分布(Adaptive Density
    Control部分)。 若某點3D高斯太大,不能擬合此處細(xì)節(jié),則對其進(jìn)行分割,用兩個點表達(dá)。
    若某位置點太多太密集,用不到太多的3D高斯,則將這些吞并為一個3D高斯。

2、預(yù)備知識(3D高斯的公式推導(dǎo))

  • 一維高斯分布的概率密度函數(shù):x服從均值μ方差σ2的高斯分布
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 擴(kuò)展到三維高斯分布的概率密度函數(shù):假設(shè)a,b,c均服從0,1正態(tài)分布,且相互獨立
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 對于一般的情況(注意粗體是向量,斜體是標(biāo)量) 給出一個3*1向量x=[x,y,z]T,其中想,y,z可能并不是獨立同分布,因此做線性變換。
    把均值不一定為0的,方差不一定為1(不滿足上述N(0,1))的[x,y,z]T,變換到均值為μ方差為1的[a,b,c]T。 矩陣表示:
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

    其中,均值向量的E(x)為x的均值。 (x-μ)表示x,y,z減去各自的均值,即將數(shù)據(jù)分布中心化。

  • 變換矩陣A對[x,y,z]進(jìn)行線性組合,讓[x,y,z]變成[a,b,c] 變換后帶入到上式p(v)中,即
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 轉(zhuǎn)化為x的概率密度函數(shù) 兩邊積分
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

    dv換成dx:求雅克比矩陣,把dv里的v換成包含x的表達(dá)式
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

    so,向量x的概率密度函數(shù)
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 1維高斯用均值和方差表示->多維高斯用均值向量(μ)和協(xié)方差矩陣表示。

  • 把變換矩陣A轉(zhuǎn)化成協(xié)方差矩陣(對稱矩陣,能進(jìn)行特征值分解)。

  • 矩陣U的每一列都是相互正交的特征向量,單位向量。Λ矩陣對角線元素是協(xié)方差矩陣的特征值(矩陣論內(nèi)容)。

    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 一組正交基乘一個對角陣,構(gòu)成線性變換
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 變換矩陣A=UΛ{1/2},協(xié)方差矩陣Λ=AT(UU^T=I)

  • 完整的3D高斯概率密度函數(shù)(橢球,形狀有Σ決定)
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

3、相關(guān)工作(point-NeRF和Plenoxels)

從CG角度,梳理了基于點的渲染方法
與NeRF相關(guān)的兩個工作:

3.1 Point-NeRF:第一個用點云做NeRF的工作

3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 從點云出發(fā)構(gòu)建輻射場(同3DGS),然后為每個點提取一個特征(特征向量),存儲在點里。
  • 體渲染:從相機光心發(fā)出的穿透像素的采樣射線,采樣射線上取采樣點,采樣點周邊一定范圍內(nèi)的三維點的特征向量被取出來之后做插值,得到采樣位置的特征表達(dá),將這個特征解碼得到采樣位置的顏色和體密度。堆疊整條射線上的點,得到像素RGB的值。(NeRF常見思路)
    3D高斯從CG出發(fā),點里存儲物理含義更加明確的3D高斯,避開了Point-NeRF對抽象特征的學(xué)習(xí)過程,從而讓訓(xùn)練更加收斂
    渲染方面,3D高斯的Splatting更傳統(tǒng),效率更高。Point-NeRF浪費了點云攜帶的精確幾何信息,存儲的特征向量表征了點的空間信息,但插值,MLP之后可能會擬合出一個不符合實際情況的幾何構(gòu)造出來(空間信息儲存在抽象特征中),不像高斯分布有明確的幾何中心(三維點峰值,告訴系統(tǒng)這有很高的不透明度)。
    3D高斯比Point-NeRF,點云對整個模型起到的錨定作用更強,最大程度上用到初始
  • 點云表達(dá)的空間幾何信息。 自適應(yīng)點云生長和剔除

3.2 Plenoxels(沒有神經(jīng)網(wǎng)絡(luò)的輻射場)

3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 同樣繼承很多NeRF要素(體素、三線性插值、體渲染)
  • 體素格點存儲球諧函數(shù)(spherical harmonic)系數(shù),系數(shù)做插值得到采樣位置的球諧函數(shù)。
  • 拋棄了常用的MLP和隱式特征,用更顯式的CG的球諧函數(shù)。3DGS同用傳統(tǒng)但高效的方法,提高模型表達(dá)能力的下線,并結(jié)合可微和可學(xué)習(xí)思想,拉高模型擬合的上限。

具體方法

1、可微的3D高斯Splatting

1.1 每個點存儲數(shù)據(jù)

  • Position(Mean):點的位置xyz,也是3D高斯分布的均值向量。
  • Covariance matrix:協(xié)方差矩陣,決定高斯(綠色橢球)形狀和方向。
  • Opacity α :不透明度,用于渲染Splatting把它往圖像平面上投的時候,擴(kuò)散痕跡通過不透明度疊加在一起。
  • Spherical harmonics:球諧函數(shù),擬合視角相關(guān)的外觀。用一組正交基的線性組合來擬合光場。

1.2 為什么選擇3D高斯

需要選擇一種圖元能夠在擁有場景表達(dá)能力的同時可微,而且顯式地支持快速渲染。3D高斯點云里的參數(shù)可以再迭代優(yōu)化的過程中更新,并且能夠容易地用splat的方法投影到2D圖像,做很快的α混合(渲染)。
其他人構(gòu)建輻射場的方法:把每個點視為帶方向的小平面,但方向需要準(zhǔn)確的表面法向量信息,難以從稀疏的sfm模型中得到精確地法向量。(3DGS不需要法向量)

1.3 3D高斯的定義:協(xié)方差矩陣控制3DGS的形狀

相較于前面推導(dǎo)的表達(dá)式:

  • 去掉了均值μ:因為高斯分布以點為中心,xyz均值就在點上,已經(jīng)中心化了。所以將均值設(shè)為0。
  • 去掉了exp前面的系數(shù):系數(shù)為了控制整個概率密度函數(shù)積分為1,但此處不需要,而是讓整個分布的大小自由控制。

協(xié)方差矩陣的物理含義:為什么這個矩陣能夠控制3DGS的形狀(下面例子是二維的,實際是三維)
3d gaussian splatting for real-time radiance field rendering,筆記,3d

A為線性變換,把任意一個分布變換到均值μ方差1的范圍內(nèi),如圖所示(二維分布,先y方向壓縮,再繞原點旋轉(zhuǎn)一定角度)
3d gaussian splatting for real-time radiance field rendering,筆記,3d

因此矩陣A構(gòu)造:變換矩陣A=旋轉(zhuǎn)矩陣R*縮放(尺度變換)矩陣S
3d gaussian splatting for real-time radiance field rendering,筆記,3d

  • 優(yōu)化:在迭代優(yōu)化過程中,優(yōu)化矩陣A的內(nèi)容,即可改變高斯橢球的形狀、大小、方向等幾何外觀(點里存儲的數(shù)據(jù)),從而使它在Splatting的時候投影出正確的效果。

    旋轉(zhuǎn)矩陣的優(yōu)化:不適合直接讓3*3的旋轉(zhuǎn)矩陣參與優(yōu)化,因此用四元數(shù)參與優(yōu)化并轉(zhuǎn)化。將參數(shù)從9個降低到4個,而且能保持協(xié)方差矩陣的半正定性質(zhì),同時四元數(shù)方便插值。

  • 求導(dǎo):如何讓矩陣A對尺度s和四元數(shù)q求偏導(dǎo)?論文附錄有推導(dǎo)過程。

  • 渲染:橢球怎樣投影成平面的圖像?CG有深入研究,對協(xié)方差矩陣做變換即可,文中引用的01年文獻(xiàn)有說明。

2、優(yōu)化與自適應(yīng)密度控制

2.1 優(yōu)化

  • 每個點里存儲的上述四個數(shù)據(jù)都要參與優(yōu)化。
  • 優(yōu)化策略:隨機梯度下降(Stochastic Gradient Descent)
  • 自寫CUDA核心加速
  • 快速光柵化,提高效率
  • Sigmoid和Exponential激活函數(shù):Sigmoid函數(shù)限制不透明度在[0,1)之內(nèi);協(xié)方差矩陣?yán)锏某叨扔弥笖?shù)激活函數(shù)(常規(guī)細(xì)節(jié))。
  • 損失函數(shù): L1 loss,渲染圖像和GT圖像求光度誤差,按一定比例λ加上SSIM結(jié)構(gòu)相似性的誤差。
    3d gaussian splatting for real-time radiance field rendering,筆記,3d

3d gaussian splatting for real-time radiance field rendering,筆記,3d

小實驗:用3DGS這種緊湊的表達(dá)方式,確實能在優(yōu)化之后擬合復(fù)雜的幾何細(xì)節(jié)。
渲染了一張圖像后把3DGS Shrink,收縮到原來的60%,細(xì)節(jié)仍然在(但也可能是點云的功勞)。

2.2 點云密度自適應(yīng)控制

  • 使系統(tǒng)能夠從稀疏的,質(zhì)量不高的初始點云,甚至是隨機初始化的點云里擬合出比較好的模型。
  • 每隔一定迭代次數(shù),移除不透明度α小于閾值(接近透明)的點。
  • 對重建不充分的區(qū)域進(jìn)行處理:往往有較大的梯度。 欠重建Under-reconstruction:clone
    過重建Over-reconstruction:split
    判斷重建是否充分的依據(jù):梯度。更新點的位置的時候如果梯度太大,說明這個位置誤差比較大,需要修正的量比較大。梯度超過閾值,執(zhí)行densify操作。
    在第一行克隆的過程中按梯度方向安置新的點。 怎么區(qū)分上述兩種情況:方差大,說明這個3DGS很大,需要分割;方差小,,,克隆。
    3d gaussian splatting for real-time radiance field rendering,筆記,3d
  • 靠近相機的地方可能學(xué)出一些floaters(可能是漂浮的一些東西),屬于模型的錯誤重建。因此周期性的把不透明度重置為0,去除floaters,后續(xù)學(xué)習(xí)中真正要用到的點的不透明度將會回到正確的值,不用的不透明度太低的點會被剔除。
  • 周期性移除較大的高斯用于避免重疊。

3、快速可微光柵化

Tile-based Rasterizer(渲染不僅僅是splatting)

  • 把整個圖像分為16*16個tiles(區(qū)塊),每個tile視錐內(nèi)挑選可視的3DGS。
  • 對于每個視錐內(nèi)只取置信度大于99%的高斯,實例化為一個個高斯對象,包含所在tile的id以及對應(yīng)視域下的深度,并按深度排序。(不需要逐像素地進(jìn)行排序,突破了傳統(tǒng)光柵化的瓶頸)
  • 排序之后,按這些GS到圖像平面的深度值的排序順序,從近到遠(yuǎn)往對應(yīng)的tile上做splat。把splat留下的痕跡做堆疊累積,直到不透明度飽和(為1)。每個tile單獨開一個線程塊,可以認(rèn)為所有tile上的光柵化(從堆疊的splat痕跡中去劃分像素網(wǎng)格,生成像素值)是并行運行的。
  • 有像素的不透明度達(dá)到飽和,就停止對應(yīng)的線程。(而不是所有像素都飽和之后才停止,加速)
  • 渲染完圖像,求出誤差反向傳播的時候,就可以根據(jù)剛才的排序來找到需要優(yōu)化的GS。在tile的尺度上回溯做了splat的點。(之前的工作中,這種像素誤差傳遞需要對每個像素記下哪些點位顏色做了貢獻(xiàn)。)之前的NeRF方法為了加速訓(xùn)練過程中的渲染往往不會做全圖的渲染,而是隨機選取一定數(shù)量的像素點采樣來求誤差。而本文每次迭代都在做全圖的渲染,因此圖像會有更高的收斂速度和更高的訓(xùn)練效率。

總結(jié)流程:
3d gaussian splatting for real-time radiance field rendering,筆記,3d文章來源地址http://www.zghlxwxcb.cn/news/detail-793453.html

  1. 從初始的sfm點云出發(fā),以每個點為中心生成3DGS。
  2. 用相機參數(shù)把點投影到圖像平面上(splatting)。
  3. 從splatting的痕跡中tile-based光柵化,得到渲染圖像,將渲染圖像和GT求LOSS,反向傳播。
  4. 自適應(yīng)的密度控制模塊根據(jù)傳遞到點上的梯度,來決定是否需要對3DGS做分割或者克隆。梯度傳遞到3DGS里面對其存儲的那幾個參數(shù)進(jìn)行更新。

到了這里,關(guān)于3D Gaussian Splatting for Real-Time Radiance Field Rendering 閱讀筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering

    3DGS 其一:3D Gaussian Splatting for Real-Time Radiance Field Rendering

    Reference: 深藍(lán)學(xué)院:NeRF基礎(chǔ)與常見算法解析 GitHub: gaussian-splatting 原文官網(wǎng) A Survey on 3D Gaussian Splatting 開始棄用NeRF?為什么Gaussian Splatting在自動駕駛場景如此受歡迎? 相關(guān)文章: NeRF 其一:NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis NeRF 其二:Mip-NeRF NeRF 其三:In

    2024年01月18日
    瀏覽(51)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering(論文中代碼復(fù)現(xiàn))

    3D Gaussian Splatting for Real-Time Radiance Field Rendering(論文中代碼復(fù)現(xiàn))

    3D Gaussian Splatting for Real-Time Radiance Field Rendering https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/ 主要研究方法是使用3D高斯光點繪制(3D Gaussian Splatting)方法進(jìn)行實時光輻射場渲染。該方法結(jié)合了3D高斯場表示和實時可微分渲染器,通過優(yōu)化3D高斯場的屬性和密度控制,實現(xiàn)了高質(zhì)

    2024年02月03日
    瀏覽(45)
  • 3D Gaussian Splatting for Real-Time Radiance Field Rendering論文中代碼復(fù)現(xiàn)及排錯過程

    3D Gaussian Splatting for Real-Time Radiance Field Rendering論文中代碼復(fù)現(xiàn)及排錯過程

    graphdeco-inria/gaussian-splatting: Original reference implementation of “3D Gaussian Splatting for Real-Time Radiance Field Rendering” (github.com) 以下是最初電腦所安裝的內(nèi)容: Anaconda3 2022.10-Windows-x86_64 CUDA 電腦只支持11.6,所以裝的是11.6版本。 使用git去克隆repository 盡管掛了梯子,但是還是需要多次刷

    2024年02月05日
    瀏覽(14)
  • GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis

    GPS-Gaussian:Generalizable Pixel-wise 3D Gaussian Splatting for Real-time Human Novel View Synthesis

    1)仿射變換 quad 所謂仿射變換,就是向量經(jīng)過一次線性變換加一次平移變換,用公式可以表示為: quad 其中,p為變換前原始向量,q為變換后目標(biāo)向量,A為線性變換矩陣,b為平移變換向量。 quad 對于二維圖像而言,p和q分別是某個像素點在原圖和仿射變換后的圖中的未知(

    2024年02月03日
    瀏覽(13)
  • NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 論文閱讀

    NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 論文閱讀

    題目 :NeRF-SLAM: Real-Time Dense Monocular SLAM with Neural Radiance Fields 作者 :Antoni Rosinol, John J. Leonard, Luca Carlone 代碼 :https://github.com/ToniRV/NeRF-SLAM 來源 :arxiv 時間 :2022 我們提出了一種新穎的幾何和光度 3D 映射流程,用于從單目圖像進(jìn)行準(zhǔn)確、實時的場景重建。 為了實現(xiàn)這一目標(biāo)

    2024年02月14日
    瀏覽(19)
  • LiDAR SLAM 閉環(huán)——BoW3D: Bag of Words for Real-time Loop Closing in 3D LiDAR SLAM

    LiDAR SLAM 閉環(huán)——BoW3D: Bag of Words for Real-time Loop Closing in 3D LiDAR SLAM

    標(biāo)題:BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM 作者:Yunge Cui,Xieyuanli Chen,Yinlong Zhang,Jiahua Dong,Qingxiao Wu,Feng Zhu 機構(gòu):中科院沈陽自動化研究所 來源:2022 RAL 現(xiàn)算法已經(jīng)開源,代碼鏈接: GitHub - YungeCui/BoW3D: [RA-L] BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM. ?????

    2024年02月12日
    瀏覽(18)
  • Why choose Flink for real-time processing

    Why choose Flink for real-time processing

    Why choose Flink [1] Streaming data more truly reflects our lifestyle (real-time chat); [2] Traditional data architecture is based on limited data sets (Spark is based on micro-batch data processing); [3] Our goal: low latency, high throughput (distributed architecture, there may be confusion in the order, for example, within 1 hour of statistics, some data

    2024年03月20日
    瀏覽(17)
  • 【GAMES202】Real-Time Global Illumination(in 3D)—實時全局光照(3D空間)

    【GAMES202】Real-Time Global Illumination(in 3D)—實時全局光照(3D空間)

    上篇我們介紹了PRT,并以Diffuse的BRDF作為例子分析了預(yù)計算的部分,包括Lighting和Light transport,如上圖所示。?包括我們還提到了SH,可以用SH的有限階近似擬合球面函數(shù),然后計算。 這里和上篇的推導(dǎo)方式不太一樣,我們上篇是把Lighting項用SH分解然后交換積分和求和符號,最

    2024年02月10日
    瀏覽(49)
  • Training-Time-Friendly Network for Real-Time Object Detection 論文學(xué)習(xí)

    Training-Time-Friendly Network for Real-Time Object Detection 論文學(xué)習(xí)

    目前的目標(biāo)檢測器很少能做到快速訓(xùn)練、快速推理,并同時保持準(zhǔn)確率。直覺上,推理越快的檢測器應(yīng)該訓(xùn)練也很快,但大多數(shù)的實時檢測器反而需要更長的訓(xùn)練時間。準(zhǔn)確率高的檢測器大致可分為兩類:推理時間久的的訓(xùn)練時間久的。 推理時間久的檢測器一般依賴于復(fù)雜的

    2024年02月15日
    瀏覽(24)
  • 實時 3D 深度多攝像頭跟蹤 Real-time 3D Deep Multi-Camera Tracking

    論文url https://arxiv.org/abs/2003.11753 提出了一個名為Deep Multi-Camera Tracking (DMCT)的實時3D多攝像機跟蹤系統(tǒng)。該系統(tǒng)旨在解決使用多個RGB攝像機進(jìn)行3D人群跟蹤的挑戰(zhàn)性任務(wù)。 多個RGB攝像機的實時視頻幀,每個視頻幀是一個彩色圖像,具有高度和寬度的像素矩陣。 基礎(chǔ)卷積層(Ba

    2024年04月09日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包