3DGS๋ฅผ ์ฒ์ ๊ณต๋ถํ์๋ ๋ถ๋ค์ด๋ผ๋ฉด xoft๋์ ๋ธ๋ก๊ทธ์ ์ ํ๋ธ ๊ฐ์๋ฅผ ๋จผ์ ๋ค์ผ์๋๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
์ ์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ค๋ค์ฃผ์๊ธฐ ๋๋ฌธ์ ์ดํด๊ฐ ์ฝ์ต๋๋ค :)
๋ณธ ๊ธ์ ๋ ผ๋ฌธ์ ์์๋๋ก ์ฝ๊ณ ์ถ์ ๋ถ์๊ฒ ๋์์ด ๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. (xoft๋์ ๊ธ์ ๋ง์ด ์ฐธ๊ณ ํ์์ต๋๋ค.)
๋ถ์กฑํ ์ง์์ผ๋ก ์์ฑํ ๊ธ์ด๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค. ๋ง์๊ป ์ง์ ํด์ฃผ์ธ์!
1. Introduction
MLP๋ฅผ ๋ฐํ์ผ๋ก ํ๋ NeRF ๊ธฐ๋ฐ์ ๋ชจ๋ธ๋ค์ ๋ ๋๋ง ์๋๊ฐ ๋๋ฌด ๋๋ ค ์ค์ ์์ฉ์๋ ์ ํ์ ์ด์๋๋ฐ
๋ณธ ๋ ผ๋ฌธ์์ ์ ์ํ๋ 3DGS๋ฅผ ํตํด
(1) training ์๊ฐ๋ ์ด์ ๋ฐฉ๋ฒ์ฒ๋ผ ๋น ๋ฅด๊ฒ ๊ทธ๋ฆฌ๊ณ (2) ํ๋ฆฌํฐ๋ ์ ์งํ๋ฉด์ (3) ๋ ๋๋ง ์๋๋ฅผ ๋งค์ฐ ํฅ์์ํฌ ์ ์์๋ค.
(real-time, high-quality radiance field rendering)
-
3D scene์ ํํํ๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋ค.
์ฒซ๋ฒ์งธ๋ mesh์ point์ ๊ฐ์ explicitํ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ GPU/CUDA-based rasterization์ด ๋น ๋ฅด๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค.
๋๋ฒ์งธ๋ MLP๋ฅผ ์ฌ์ฉํ NeRF ๊ธฐ๋ฐ์ implicitํ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ continuousํ๊ฒ scene์ ํํํ ์ ์๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค.
3DGS๋ ์ด ๋ ๋ฐฉ๋ฒ์ ์ฅ์ ๋ง์ ๊ฒฐํฉํ์ฌ ์๋กญ๊ฒ ์ ์ํ๋ ๋ฉ์๋๋ผ๊ณ ์๊ฐํ๋ฉด ์ข๋ค.
์ฆ, rasterization์ด ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ rendering ์๋๊ฐ ๋น ๋ฅด๊ณ
3D ๊ฐ์ฐ์์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ ํํ์ด ๊ฐ๋ฅํ๋ค.
3. Overview
(Initialization)
SFM์ผ๋ก ์ป์ point cloud๋ก๋ถํฐ 3D Gaussians๋ฅผ ์ป๋๋ค.
3D Gaussian์ (1) point(mean) (2) covariance matrix (3) ํฌ๋ช ๋ opacity $\alpha$ (4) SH-based color๋ก ์ ์๋๋ค.
(Projection)
์นด๋ฉ๋ผ pose๊ฐ์ ์ด์ฉํด์ 3D Gaussian์ 2D Gaussian์ผ๋ก projectionํ๋ค.
์ฆ, Image Plane ์๋ก ์์น์ํจ๋ค.
(Differentiable Tile Rasterizer)
Image๋ฅผ tile๋จ์๋ก ๋๋์ด rasterization์ ์งํํ๋ค.
์ฆ, ์ฌ๊ธฐ์ rendering๋ ์ด๋ฏธ์ง๊ฐ ๋์ค๋ ๊ฒ์ด๋ค
์ดํ์, GT์ด๋ฏธ์ง์ ๋น๊ตํ์ฌ loss๊ฐ์ ๊ตฌํ๊ณ ์ด์ ๋ํ gradient๋ฅผ ์ ํํ๋ค.
(Adaptive Density Control)
loss๊ฐ์ ์ค์ด๋ ๋ฐฉํฅ์ผ๋ก Gaussian์ ์ ๋ฐ์ดํธํ๋ค.
4. Differentiable 3D Gaussian Splatting
(1) SFM points without normal(๋ฒ์ )
์ด์ ์ 2D points๋ค์ ์ฌ์ฉํ์ฌ, ๊ฐ๊ฐ์ ํฌ์ธํธ๋ฅผ normal๋ฅผ ๊ฐ๋ ์์ ํ๋ฉด์(planar circle)๋ก ๊ฐ์ ํ๋ ์ฐ๊ตฌ๊ฐ ์์๋ค.
๋์ผํ ์์ด๋์ด๋ก ์งํํ๋ ค๋ค ๋ณด๋ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋๋ฐ,
์ด๋ ๋ฐ๋ก SFM point๋ค์ ๋งค์ฐ sparseํ๊ฒ ๋ํ๋๊ธฐ ๋๋ฌธ์ normal์ ์ถ์ ํ๊ธฐ ๋งค์ฐ ์ด๋ ต๋ค๋ ๊ฒ์ด์๋ค.
์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด SFM point๋ก ์์ํ์ง๋ง, normal ์ ๋ณด๊ฐ ํ์์๋ 3D Gaussians๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
(Q.์ 3D Gaussian์ ์ฌ์ฉํ ๊น?์ ๋ํ ๋๋ต์ด ๋ ์ ์๋ค)
3D ๊ฐ์ฐ์์์์ ํ๊ท ์ ์๋ฏธํจ
(2) 3D Gaussian
3D ๊ฐ์ฐ์์์ ์ฅ์ ์ผ๋ก๋ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
์ฐ์ ๋ฏธ๋ถ ๊ฐ๋ฅ(differentiable) ํ๊ณ ,
2D splat์ผ๋ก ์ฝ๊ฒ projection ํ ์ ์๊ธฐ ๋๋ฌธ์ rendering์ ์ํ α-blending ์ด ๋น ๋ฅด๋ค.
(3DGS์์ α-blending ์ดํดํ๊ธฐ)
๋ณธ ์คํ์์๋ 3D covariance matrix $\sum$์ ์ฌ์ฉํด ๊ฐ์ฐ์์๋ค์ ์๋์ ๊ฐ์ ์์ผ๋ก ์ ์ํ๋ค.
$$ G(x) = e^{-1/2(x)^{T}\sum^{-1}(x)} $$
๊ฐ๊ฐ์ ๊ฐ์ฐ์์์ blending process์์ ํฌ๋ช ๋ ๊ฐ $\alpha$ ์ ๊ณฑํด์ง๋ค.
(3) Covariance Matrix $\sum$
$$\sum = RSS^{T}R^{T}$$
- $R$์ rotation matrix, $S$๋ scale matrix
- ์ฝ๊ฒ ๋งํ๋ฉด, ๊ฐ์ฐ์์์ด ์ผ๋ง๋ ํ์ ๋์ด ์๊ณ ํฌ๊ธฐ๊ฐ ์ผ๋งํผ์ธ์ง์ ๋ํ ๋ณ์์ด๋ค.
(Q.์ transpose๋ฐฐ์ด์ ๊ณฑํ๋์ง?์ ๋ํ ๋๋ต)
- positive semi-definite(์์ ์ค์ ๋ถํธ)์ ๋ง์กฑํ๊ธฐ ์ํ matrix
3D ๊ฐ์ฐ์์์์ ํผ์ง ์ ๋๋ฅผ ํํํ๋ ๋ถ์ฐ์ ์๋ฏธํจ
(4) 3D->2D projection
renderingํ๊ธฐ ์ํด์๋ 3D๊ฐ์ฐ์์์ 2D๊ฐ์ฐ์์์ผ๋ก ๋ฐ๊พธ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
๊ทธ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
$$ \sum^{'} = JW \sum W^{T}J^{T} $$
- $\sum$: word ์ขํ๊ณ์์์ covariance matrix
- $W$: word ์ขํ๊ณ์์ camera ์ขํ๊ณ๋ก ๋ฐ๊ฟ์ฃผ๋ viewing transformation
- $J$: camera ์ขํ๊ณ์์ image ์ขํ๊ณ๋ก ๋ฐ๊ฟ์ฃผ๋ projective transformation์ affine ๊ทผ์ฌ์ธ Jacobian
- ์ฆ, world ์ขํ๊ณ(3D)์์ image ์ขํ๊ณ(2D)๋ก ๋ฐ๊พธ๋ ์์ด๋ค.
(5) gradient ๋ฏธ๋ถ ๋ฐฉ๋ฒ
์๋ ๋ฏธ๋ถ์ ๋ํ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์,
๋ชจ๋ ํ๋ผ๋ฏธํฐ์ ๋ํ gradient๋ฅผ ๋ช ์์ ์ผ๋ก ๊ณ์ฐํ๋ค. (1. position 2. covariance 3. opacity 4. color)
(appendix A. ์ฐธ๊ณ )
5. Optimization with Adaptive Density Control of 3D Gaussians
์ต์ข ์ ์ผ๋ก๋ optimization์ ํตํด
radiance field๋ฅผ ์ ๋ํ๋ด๋ 3D ๊ฐ์ฐ์์์ ์ป๊ธฐ ์ํด ์๋์ parameter๋ค์ ์ ๋ฐ์ดํธํ๋ค.
- $p$: ์์น์ ๋ณด(positions)
- $\alpha$: ํฌ๋ช ๋
- $\sum$: covariance matrix
- $c$: SH ๊ธฐ๋ฐ์ color
ํ๋ผ๋ฏธํฐ๋ค์ ์ ๋ฐ์ดํธ ํ๋ ๊ณผ์ ์ Gaussian์ density๋ฅผ ์กฐ์ ํ๋ ๊ฒ๊ณผ ๊ธด๋ฐํ ์ฐ๊ด๋์ด ์๋ค. (5.2์์ ์์ธํ)
5.1 Optimization
optimization์ renderingํ๊ณ ์ด ๊ฒฐ๊ณผ๋ฌผ(resulting image)์ GT ์ด๋ฏธ์ง์ comparingํ๋ ๊ณผ์ ์ ์ฐ์์ด๋ค.
์ด๋ 3D์์ 2D๋ก projectionํ๋ ๊ณผ์ ์์ ์๋ชป positioned๋ geometry๊ฐ ๋ฐ์๋ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ๋ค.
๋ฐ๋ผ์ optimization์ ํตํด,
(1) geometry๋ฅผ ์์ฑํ๊ณ (2) ์๋ชป positioned๋ ๋ถ๋ถ์ ๋ํด์๋ geometry๋ฅผ destory ํน์ move ํ๋ค.
(์คํ์์ ์ฌ์ฉํ detail)
- SGD ์๊ณ ๋ฆฌ์ฆ
- $\alpha$: ์๊ทธ๋ชจ์ด๋ ํ์ฑํ ํจ์(sigmoid activation function) ์ฌ์ฉ
- 0๊ณผ 1์ ๊ฐ ์ฌ์ด๋ก ์ ํํ๊ณ , smooth gradient๋ฅผ ์ป๊ธฐ ์ํด
- $S$(scale of the covariance): ์ง์ ํ์ฑํ ํจ์(exponential activation function) ์ฌ์ฉ
- covariance matrix์ ์ด๊ธฐ๊ฐ์
๊ฐ์ฅ ๊ฐ๊น์ด ์ธ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ์ ํ๊ท ์ ์ถ์ผ๋ก ํ๋ ์ด๋ฐฉ์ฑ ๊ฐ์ฐ์์(isotropic Gaussian)
Isotropic Gaussian: (ํน์ ์์ฑ์ด) ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ณํ์ง ์๋ ๊ฐ์ฐ์์ (๊ตฌ ๋ชจ์)
<->
Anisotropic Gaussian: (ํน์ ์์ฑ์ด) ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ณํ๋ ๊ฐ์ฐ์์ (ํ์์ฒด ๋ชจ์)
- $p$(positions): standard exponential decay scheduling ๊ธฐ๋ฒ ์ฌ์ฉ (plenoxel์์์ฒ๋ผ)
- loss function์ $L_{1}$๊ณผ $D-SSIM$์ ํฉ์น ์๋์ ์
$$ L = (1-\lambda)L_{1} + \lambda L_{D-SSIM}$$
: $\lambda$๋ 0.2 ์ฌ์ฉ
5.2 Adaptive Control of Gaussians
SFM์ผ๋ก๋ถํฐ ์ป์ sparse points๋ค์ ์ด๊ธฐ๊ฐ์ผ๋ก ์์ํ์ฌ
๋ฉ์๋๋ฅผ ์ ์ฉํด
Gaussians์ ์์ ๋จ์ ์ฒด์ (unit volume)๋น ๋ฐ๋ ๊ฐ์ ์กฐ์ (control)ํ๋ค.
๋ค์ ๋งํด, sparseํ Gaussians์ผ๋ก ์์ํด scene์ ๋ ์ ๋ํ๋ด๋ denseํ ์งํฉ์ผ๋ก!
scene์ ์ ํํํ๋ 3D Gaussian๋ค์ ์ฐพ๋ ๊ณผ์ ์ด๋ผ๊ณ ํด์ํ๋ฉด ์ข๋ค.
์ด๊ธฐ warm-up ํ์๋
100๋ฒ์ iteration๋ง๋ค ๊ฐ์ฐ์์์ ์กฐ๋ฐํ๊ฒ ๋ง๋ค๊ณ , ์ฃผ๋ก threshold๋ณด๋ค ์์ ํฌ๋ช ํ ๊ฐ์ฐ์์์ ์ ๊ฑฐํ๋ค.
(Remove Gaussian)
๊ทธ๋ฆฌ๊ณ , ๋น ์์ญ(empty area)๋ฅผ ์ฑ์ฐ๊ธฐ ์ํ ์์ ์ ํ๋ค.
์ด๋, under-reconstruction ๋ถ๋ถ๊ณผ over-reconstruction ๋ถ๋ถ์ ์ง์คํ๋๋ฐ
์ด ๋ ๊ฒฝ์ฐ ๋ชจ๋ view-space positional gradient๊ฐ ํฌ๋ค๋ ๊ฒ์ ๊ด์ฐฐ๋๋ค.
under๊ณผ over ๋ชจ๋ ์ reconstruction๋์ง ์์๊ธฐ ๋๋ฌธ์ optimization์ ์ด๋ฅผ ๊ณ ์น๊ธฐ ์ํด ๊ฐ์ฐ์์์ moveํ๋ ค ํ๋ค๊ณ ์๊ฐํ๋ฉด ์ข๋ค.
view-space positional gradient์ ๋ํ ์ค๋ช
view-space๋ ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ์นด๋ฉ๋ผ ๊ธฐ์ค์ผ๋ก world๋ฅผ ๋ฐ๋ผ๋ณธ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
rendering๋ ์ด๋ฏธ์ง์ GT ์ด๋ฏธ์ง ์ฌ์ด์ loss๊ฐ์ ๊ณ์ฐํ๊ฒ ๋๋ view-space๋ผ๋ ๊ฒ์ ์ถฉ๋ถํ ์ดํด๊ฐ ๊ฐ๋ค.
positional gradient๋ loss๋ฅผ position์ ๋ํด ๋ฏธ๋ถํ ๊ฐ์ด๋ค.
positional gradient๊ฐ ํฌ๋ค = loss๊ฐ ํฌ๋ค = ๊ฐ์ฐ์์์ position ์์ ์ด ํ์ํ๋ค
์์ ๊ฐ์ด ํด์ํ ์ ์์ผ๋ฏ๋ก, positional gradient๊ฐ ํฐ ๊ฒฝ์ฐ๋ ๊ฐ์ฐ์์์ cloneํ๊ฑฐ๋ splitํ๋ ๊ฒ์ด๋ค.
under-reconstruction์ธ์ง over-reconstruction์ธ์ง์ ๋ฐ๋ผ์ optimizeํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅด๋ค.
์๋ ๊ทธ๋ฆผ์์ ์ด๋ฅผ ์์ธํ ์ดํดํ ์ ์๋ค.
1. under-reconstruction๋ ๊ฒฝ์ฐ
์ฐ๋ฆฌ๊ฐ ๋ชฉํ๋ก ํ๋ geometry(๊ฒ์์)๋ณด๋ค ๊ฐ์ฐ์์์ด ์์ ๊ฒฝ์ฐ ๋ฐ์ํ๋ค.
์ด๋๋ ๊ฐ์ฐ์์์ cloneํ๊ฒ ๋๋๋ฐ
(1) ๋์ผํ ์ฌ์ด์ฆ์ ๊ฐ์ฐ์์์ ์์ฑ(create)ํ๊ณ (2) positional gradient ๋ฐฉํฅ์ผ๋ก ์์ฑ๋ ๊ฐ์ฐ์์์ ์ด๋์ํจ๋ค.
(Clone Gaussian)
total volume ์ฆ๊ฐ, ๊ฐ์ฐ์์ ์ ์ฆ๊ฐ
2. over-reconstruction๋ ๊ฒฝ์ฐ
์ฐ๋ฆฌ๊ฐ ๋ชฉํ๋ก ํ๋ geometry(๊ฒ์์)๋ณด๋ค ๊ฐ์ฐ์์์ด ํฐ ๊ฒฝ์ฐ ๋ฐ์ํ๋ค.
์ด๋๋ ๊ฐ์ฐ์์์ splitํ๊ฒ ๋๋๋ฐ
(1) ๊ธฐ์กด์ ๊ฐ์ฐ์์์ 2๊ฐ์ ์๋ก์ด ๊ฐ์ฐ์์์ผ๋ก ๋์ฒด(replace)ํ๊ณ ,
(2) ์๋ก์ด ๊ฐ์ฐ์์์ ์์น๋ ๊ธฐ์กด์ ๊ฐ์ฐ์์์ ์ํ๋งํ๊ธฐ ์ํ ํ๋ฅ ๋ฐ๋ํจ์(PDF)๋ก ์ด๊ธฐํ๋๋ค.
(Split Gaussian)
total volume ์ ์ง, ๊ฐ์ฐ์์ ์ ์ฆ๊ฐ
๋ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฐ์ฐ์์์ ์๊ฐ ๋์ด๋๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ the number of Gaussians ์ ์ ํ ์กฐ์ ํ๊ธฐ ์ํด
$N=3000$์ผ ๋ ํฌ๋ช ๋ $\alpha$๋ฅผ 0์ ๊ฐ๊น์ด ๊ฐ์ผ๋ก ์ค์ ํ๋ค.
optimization๊ณผ์ ์ ํตํด์ $\alpha$ ๊ฐ์ ๊ณ์ ์ฆ๊ฐํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
$\alpha$๊ฐ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค์ฌ์ค์ผ๋ก์จ ๋ถํ์ํ ๊ฐ์ฐ์์์ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ค.
> ์ด๋ ํ๋ฆฌํฐ ๊ด์ ์์ floater์ ์ ๊ฑฐํ๊ณ ์ค๋ณต๋ ๊ฐ์ฐ์์์ ์ ๊ฑฐํ๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ๋๋ค.
6. Fast Differentiable Rasterizer for Gaussians
๋ณธ ๋ ผ๋ฌธ์ ์์ ๋ฏธ๋ถ ๊ฐ๋ฅํ rasterizer์
memory consumption์ด ์ ๊ณ , pixel๋น ์์ ์ค๋ฒํค๋๋ง ํ์ํ์ฌ
์์ ๊ฐ์์ ํผํฉ๋ ๊ฐ์ฐ์์์ ๋ํ ํจ์จ์ ์ธ back propagation์ด ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๊ทธ๋ผ ์๋์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐธ๊ณ ํ์ฌ ์์๋๋ก ์ค๋ช ๋ณด๊ฒ ์ต๋๋ค.
1. ๊ฐ์ฐ์์ ์ ๊ฑฐ (Cull Gaussian)
์นด๋ฉ๋ผ๊ฐ ๋ฐ๋ผ๋ณด๋ ์์ญ์ธ view frustum์ ์๋ 3D ๊ฐ์ฐ์์์ ๋ชจ๋ ์ ๊ฑฐํ๋ค.
์ด๋ฅผ ํ๋จํ๋ ๊ธฐ์ค์, view frustum์ ๊ต์ฐจํ๋ ๋ถ๋ถ์ด 99%์ ์ ๋ขฐ๊ตฌ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ค.
๋ํ, Image plane์ ๊ฐ๊น์ฐ๋ฉด์ view frustum์ ๋ฉ๋ฆฌ ๋จ์ด์ง
๊ทน๋จ์ ์ธ ์์น์ ์๋ ๊ฐ์ฐ์์์ ๋ํด์๋ guard band ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ๊ฑฐํ๋ค.
(view frustum์ ๋ํ ์ค๋ช )
2. 3D ๊ฐ์ฐ์์ -> 2D ๊ฐ์ฐ์์ (Screen Space Gaussian)
3D ๊ฐ์ฐ์์์ Image Plane์ projectionํ์ฌ 2D ๊ฐ์ฐ์์์ ์ป๋ ๊ณผ์ ์ด๋ค.
์ด๋, 3D ๊ฐ์ฐ์์์ $M$(mean)๊ณผ $S$(covariance)๋ฟ๋ง ์๋๋ผ ์นด๋ฉ๋ผ ํฌ์ฆ($V$)๊น์ง ํ์ํ๋ค.
projection์ ํตํด Image Plane์์ 2D ๊ฐ์ฐ์์์ $M'$๊ณผ $S'$์ ์ป์ ์ ์๋ค.
3. Tile ๋ง๋ค๊ธฐ (Create Tiles)
์ด๋ฏธ์ง๋ฅผ 16x16 tile๋ก ์๊ฒ ๋๋๋ค.
4. ๊ฐ 2D ๊ฐ์ฐ์์์๊ฒ key ํ ๋น (Duplicate with Keys)
๊ฒน์น๋(overlap) tile์ ๊ฐ์์ ๋ฐ๋ผ์ 2D Gaussian์ instanceํ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ instance(๊ฐ์ฐ์์)์ view space depth์ tile ID๋ฅผ ๊ฒฐํฉํ key๋ฅผ ํ ๋นํ๋ค.
์์ชฝ 32bit๋ depth์ ๋ณด๊ฐ encoding๋๊ณ ,
๋ท์ชฝ 32bit๋ overlap๋๋ tile์ index๊ฐ encoding๋๋ค.
(Q. ์ tile์๋ก ์ธ์คํด์คํํ ๊น?์ ๋ํ ๋๋ต)
5. key์ ๋ฐ๋ผ์ ๊ฐ์ฐ์์ ์ ๋ ฌ (Sort by Keys)
์์์ ๋ถ์ฌํ key๋ก ๊ฐ์ฐ์์์ sortingํ๋ค.
์ด๋, tile๋ง๋ค ๋ชจ๋ splat์ ๋ํด depth ordering๋ฅผ ์ํํ๋ค.
์ฆ, ๊ฐ tile ์์๋ ์ฌ๋ฌ splat(2D ๊ฐ์ฐ์์)์ด ๊ฒน์ณ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊น์ด ์์๋๋ก ์ ๋ ฌํ๋ ๊ฒ์ด๋ค.
6. tile๋ง๋ค Gaussian list ์์ฑ (Identify Tile Ranges)
๊ฐ์ฐ์์์ ์ ๋ ฌํ ์ดํ์, ๊ฐ๊ฐ์ tile์์
๊น์ด ์์(depth-sorted)๋๋ก ์ ๋ ฌํ ๊ฐ์ฐ์์ ์ค ์ฒ์๊ณผ ๋์ ์๋ณํจ์ผ๋ก์จ list๋ฅผ ์์ฑํ๋ค.
7. ๊ฐ์ฐ์์ list๋ฅผ ์ฝ๊ธฐ (Get Tile Range)
์ด๋ฏธ์ง์ ๋ชจ๋ tile์ ๋ํด์ Range r์ ๋ถ๋ฌ์จ๋ค.
8. ์์๋๋ก ํผํฉ (Blend in Order)
๊ฐ๊ฐ์ tile๋ง๋ค ํ๋์ thread block์ผ๋ก ์คํ๋๋ค.
๊ฐ๊ฐ์ block์ ์์์๋ถํฐ ๋ค๋ก ์ํํ๋ฉด์ color์ $\alpha$๊ฐ์ ์ถ์ (accumulate)ํ๋ค.
(์ฆ, ์นด๋ฉ๋ผ๋ก๋ถํฐ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ๊น์ด ๊ฐ์ฐ์์๋ค์ ๋จผ์ ์ถ์ ํ๊ฒ ์ง)
ํฝ์ ์ $\alpha$ ๊ฐ์ด ๋ชฉํ ํฌํ(saturation) ์์ค์ ๋๋ฌํ๋ฉด(1์ ๊ฐ์ ๊ทผ์ฌ), ํด๋น thread๋ ์ค์ง๋๋ค.
์ด๋, ํด๋น ํฝ์ ์ด ์ํ๋ ํฌ๋ช ๋๋ฅผ ๋ฌ์ฑํ๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ด์ ์ฐ๊ตฌ์ ๋ค๋ฅด๊ฒ gradient update๋ฅผ ๋ฐ๋ Gaussian์ ๊ฐ์๋ฅผ ์ ํํ์ง ์์๋ค.
์ด ๋๋ถ์, scene์ ๋ฐ๋ฅธ hyperparameter tuning ์์ด๋, ๋ค์ํ ๊น์ด ๋ณต์ก์ฑ(depth complexity)์ ๊ฐ์ง ์ฅ๋ฉด์ ๋ค๋ฃจ๊ณ ์ ํํ๊ฒ ํ์ตํ ์ ์๋๋ก ํ์๋ค.
7. Implementation, Results and Evaulation
PSNR(์์ ํ์ง ์์ค์ ํ๊ฐ์งํ): ํด์๋ก ์ข์
SSIM(์์ ํ์ง ์์ค์ ํ๊ฐ์งํ): ํด์๋ก ์ข์
LPIPS(์ด๋ฏธ์ง ๊ฐ์ ์ธ๊ฐ์ ์๊ฐ์ ์ธ ์ ์ฌ์ฑ์ ์ธก์ ): ์์์๋ก ์ข์
Instant-NeRF์ ๋น๊ตํ์ ๋ train์๋๋ ๋น์ทํ๋, ํ๋ฆฌํฐ์ ์ผ๋ก ๋ ์ฐ์ํ ๋ฟ ์๋๋ผ (PSNR, SSIM, LPIPS) ๋ ๋๋ง ์๊ฐ์ด ์๋์ ์ผ๋ก ๋นจ๋๋ค.
๋ํ, Mip-NeRF360๊ณผ ๋น๊ตํ์ ๋๋ ํ๋ฆฌํฐ๋ ์ ์ฌํ๋ฉด์๋ train๊ณผ ๋ ๋๋ง ์๊ฐ์ด ๋งค์ฐ ๋นจ๋๋ค.
๊ทธ๋ฌ๋ ์์ฌ์ด ์ ์ผ๋ก๋, point cloud๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋๊น ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋์๋ค.
(Mip-NeRF360์ A100 4์ฅ, ๋๋จธ์ง๋ A6000์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.)
7.4 Limitations
1. scene์ด ์ ๊ด์ฐฐ๋์ง ์์ ์ง์ญ์์๋ ์ํฐํฉํธ ๋ฐ์
(Mip-NeRF์์๋ ์ ์ฌํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๋ค.)
2. popping ์ํฐํฉํธ | optimization ๊ณผ์ ์์ ํฐ ๊ฐ์ฐ์์์ด ์์ฑ๋๋ ๊ฒฝ์ฐ ๋ฐ์
์ด ํ์์ด ๋ฐ์ํ๋ ์ด์ ๋ rasterizer๋จ๊ณ์์ guard band๋ฅผ ๊ฑฐ์น rejection of Graussian ๋๋ฌธ์ด๊ธฐ์
์กฐ๊ธ ๋ ์ด๋ก ์ ์ธ culling approach๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ํด๊ฒฐ๋ ์ ์์ ๊ฒ์ผ๋ก ์์ํ๋ค.
๋๋ฒ์งธ ์ด์ ๋ก๋, depth/blending order์ ๊ฐ์์ค๋ฝ๊ฒ switchingํ๋ Gaussian์ ๋ง๋ค ์ ์๋ ๊ฐ๋จํ visibility ์๊ณ ๋ฆฌ์ฆ ๋๋ฌธ์ด๋ค. ์ด๋ antialising์ผ๋ก ํด๊ฒฐ๋ ์ ์์ ๊ฒ์ด๋ฉฐ, ๋ฏธ๋ ์ฐ๊ตฌ๋ฅผ ์ํด ๋จ๊ฒจ๋์๋ค๊ณ ํ๋ค.
3. ์ด๋ ํ regularization๋ ์ ์ฉํ ์ ์๋ค.
์ด๋ฅผ ๋์ ํ๋ฉด, unseen ์ง์ญ์ด๋ popping artifact ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ํ๋ค.
4. ์ด์ ์ฐ๊ตฌ์ point๊ธฐ๋ฐ์ ๋นํด์๋ compactํ ์ง๋ผ๋, NeRF ๋ชจ๋ธ์ ๋นํ๋ฉด memory consumption์ด ๋งค์ฐ ํฌ๋ค
large scene์ ๋ํด์๋ GPU ์ฌ์ฉ๋์ ํผํฌ๊ฐ 20G๋ฅผ ์ด๊ณผํ๊ธฐ๋ ํ๋ค.
๊ทธ๋ฌ๋ ์ด ๋ฌธ์ ๋, instant-NeRF์ ๊ฐ์ด optimization logic์ low-level implementation์ผ๋ก ํด๊ฒฐํ ์ ์์ ๊ฒ์ด๋ค.
์ฐธ๊ณ ๋ธ๋ก๊ทธ ๋งํฌ
https://clean-dragon.tistory.com/13
[๋ ผ๋ฌธ๋ฆฌ๋ทฐ] 3D Gaussian Splatting
๋ณธ ํฌ์คํ ์ ๋ ผ๋ฌธ 3D Gaussian Splatting for real-time radiance field rendering ๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์๋ ๊ฒ์ด ๋ง์ด ์์ด์ ๋ถ์กฑํ ๋ถ๋ถ์ด ๋ง์ต๋๋ค. ํน์ฌ๋ ํ๋ฆฐ๋ถ๋ถ ์๋ค๋ฉด ์ง์ ํด์ฃผ์๊ธธ ๋ฐ๋๋๋ค!
clean-dragon.tistory.com
[๋ ผ๋ฌธ ๋ฆฌ๋ทฐ] 3D Gaussian Splatting (SIGGRAPH 2023) : ๋๋๋ง ์๋/ํ๋ฆฌํฐ ๊ฐ์
3D Gaussian Splatting for Real-Time Radiance Field Rendering, Bernhard Kerbl, SIGGRAPH 2023 NeRF๋ถ์ผ์์ ๋จ๊ฑฐ์ด ์ด์๊ฐ ๋ ๋ ผ๋ฌธ์ ๋๋ค. NeRF์์ ํด๊ฒฐํ๊ณ ์ ํ๋ Task์ ๋์ผํ๊ฒ, ์ฌ๋ฌ ์ด๋ฏธ์ง์ ์ดฌ์ pose ๊ฐ์ด ์ฃผ์ด์ง
xoft.tistory.com
'๐ Study > Paper Review' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3DGS์์ ํด๋ฆฌ์คํฑ(heuristic)์ ์๋ฏธ? (0) | 2024.05.15 |
---|---|
NeRF ๊ฐ๋จ ์ค๋ช with ์ฝ๊ฐ์ ์ฝ๋ (0) | 2024.05.12 |
3DGS์ tile rasterizer์์ ๊ฒน์น๋ tile๊ฐ์์ ๋ฐ๋ผ ์ธ์คํด์คํํ๋ ์ด์ ? (0) | 2024.05.03 |
3DGS์์ ๋ทฐ ์ ๋์ฒด view frustum์ด๋? (0) | 2024.04.30 |
3DGS์์ ์ํ ๋ธ๋ ๋ฉ ฮฑ-blending ์ด๋? (1) | 2024.04.30 |