๐ 3D Gaussian Splatting (3DGS) ์ด๋?
3D Gaussian Splatting for Real-Time Radiance Field Rendering / SIGGRAPH 2023

3D Gaussian Splatting(3DGS)์ ๋ณต์กํ 3D ์ฅ๋ฉด์ ์์ฒ์์ ์๋ฐฑ๋ง ๊ฐ์ 3์ฐจ์ ๊ฐ์ฐ์์(์คํ๋ซ) ์ผ๋ก ํํํ๋ ๋ฐฉ์์ด๋ค. ๊ฐ ๊ฐ์ฐ์์์ ๋ค์๊ณผ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ๋๋ค.
- 3D ์์น (x, y, z)
- ํฌ๊ธฐ (scale ๋๋ covariance)
- ํ์ (orientation)
- ์์ (RGB)
- ๋ถํฌ๋ช ๋ (alpha)
- ๋ทฐ ๋ฐฉํฅ ์์กด์ ์ธ ํน์ฑ ๊ฐ
์ด๋ฌํ ์ ๋ค์ ํ๋ฉด ์์ ํฌ์ํ๊ณ , GPU์์ ๊ฐ์ฐ์์ ํํ๋ก ๋ถ๋๋ฝ๊ฒ ํผ์ง๊ฒ ๋ง๋ค์ด ์ค์๊ฐ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํ๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
๋ง์น ์๋ง์ ๋ฐํฌ๋ช ํ ๋น๋๋ฐฉ์ธ์ด ๊ณต์ค์ ํฉ์ด์ ธ ์๋๋ฐ, ์ด๋ค์ด ์๋ก ๊ฒน์น๋ฉฐ ํ๋์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ์ด๋ค. ๋น์ด ๋ฟ์ผ๋ฉด ๊ฐ ๋ฐฉ์ธ์ ์์ ๋ ๊ณ , ๊ฐ๊น์ด ๋ฐฉ์ธ์ด ๋ค์ ์๋ ๊ฒ์ ๊ฐ๋ฆฌ๋ฉฐ, ์๊ฐ์ฒ๋ผ ๋ถ๋๋ฝ๊ณ ์์ฐ์ค๋ฌ์ด 3D ์ฅ๋ฉด์ด ๋ง๋ค์ด์ง๋ค.
๐ 3DGS, ์ฃผ๋ชฉ๋ฐ๋ ์ด์ ?
โ ์ค์๊ฐ ๋ ๋๋ง ๊ฐ๋ฅ
3DGS๋ GPU ๊ธฐ๋ฐ์ ๋์คํฐํ ๋ฐฉ์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ NeRF๋ณด๋ค ํจ์ฌ ๋น ๋ฅด๊ฒ ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํ ์ ์๋ค. ๋ณดํต 4K ํด์๋์์๋ 60FPS ์ด์์ ์ ์งํ ์ ์์ด, VR/AR, ๊ฒ์ ์์ง ๋ฑ ์ค์๊ฐ ์์คํ ์ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ๋ค.
โ ํ์ต ์๋๊ฐ ๋น ๋ฅด๋ค
NeRF๋ ์ ์๊ฐ์์ ํ๋ฃจ ์ด์ ํ์ต ์๊ฐ์ด ํ์ํ์ง๋ง, 3DGS๋ ๋ช ๋ถ ๋จ์๋ก ํ์ต์ด ๋๋๋ค. ๋ณดํต RTX 3090 ๋๋ 4090 GPU ๊ธฐ์ค์ผ๋ก 15~30๋ถ ๋ด์ธ๋ฉด ๊ณ ํ์ง ์ฅ๋ฉด์ ์ฌํํ ์ ์๋ค.
โ ๋ํ ์ผ์ด ์ฐ์ํ๋ค
์ ์ ํฌ๊ธฐ์ ํํ๋ฅผ ์์ ๋กญ๊ฒ ์กฐ์ ํ ์ ์์ด, ๋น๋ฐ์ฌ๋ ๋ฏธ์ธํ ํ๋ฉด ์ง๊ฐ ๋ฑ๋ ์ฌ์ธํ๊ฒ ํํ๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ์กด NeRF์์ ๋ฐ์ํ๋ aliasing, blur ๋ฌธ์ ๋ฅผ ์ค์ผ ์ ์๋ค.
โ ํธ์ง๊ณผ ํฉ์ฑ์ ์ ๋ฆฌํ๋ค
NeRF์ฒ๋ผ ๋ณต์กํ MLP๋ฅผ ํ์ธํ๋ํ์ง ์์๋, ๊ฐ ์ ์ ์์ฑ์ ์ง์ ์กฐ์ํจ์ผ๋ก์จ ์์ ๋ณ๊ฒฝ, ์ญ์ , ์ด๋ ๋ฑ ์ธ๋ถ์ ์ธ ํธ์ง์ด ์ฆ์ ๊ฐ๋ฅํ๋ค. ์ธ๋ฉํฑ ๋ ์ด๋ธ๋ง๋ ์ ๋จ์๋ก ๋ถ์ฌํ ์ ์์ด ํ์ฒ๋ฆฌ์ ์ ๋ฆฌํ๋ค.
โ ํ์ฉ๋๊ฐ ๋๋ค
Meta, Niantic, Google ๋ฑ ๋ค์ํ ๊ธฐ์ ๋ค์ด ๊ณต๊ฐ ์ค์บ, ๋์งํธ ํธ์, AR ์ฝํ ์ธ ์ ์ ๋ฑ์ ๋์ ์ค์ด๋ค. ํนํ ํด๋ํฐ๋ง์ผ๋ก ๊ณ ํ์ง 3D ์ฅ๋ฉด์ ๋ง๋ค ์ ์๋ค๋ ์ ์์ ์์ฉํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋๋ค.
๐ ๊ธฐ๋ณธ ์๋ฆฌ

3D Gaussian Splatting์ ๋ ๋๋ง ๊ฐ๋ฅํ 3D ์ฅ๋ฉด์ ์๋ง์ ๊ฐ์ฐ์์๋ค์ ์๊ฐ์ ๊ธฐ์ฌ๋ก ํฉ์ฑํ๋ ๋ฐฉ์์ด๋ค. ์ด ๊ณผ์ ์ ํฌ๊ฒ 4๋จ๊ณ๋ก ๋๋๋ค.
1. ํํ (Representation)
๊ฐ ๊ฐ์ฐ์์ ์ ์ ๋ค์๊ณผ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฐ๋๋ค.
- 3์ฐจ์ ์์น
- ํฌ๊ธฐ(covariance): ์ ์ ํผ์ง ์ ๋์ ๋ฐฉํฅ์ฑ์ ๋ํ๋
- ํ์ ํ๋ ฌ : ์ด๋ฐฉ์ฑ ๊ฐ์ฐ์์์ ๋ฐฉํฅ ์กฐ์
- ์์(RGB), ๋ถํฌ๋ช ๋(alpha)
- ๋ทฐ ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ MLP ๊ธฐ๋ฐ์ appearance feature (์์ ๋ณด์ )
์ฆ, ๊ฐ ์ ์ ๋จ์ํ ์์น ์ ๋ณด๊ฐ ์๋๋ผ ๊ณต๊ฐ ๋ด์์ '๋น์ ํฉ๋ฟ๋ฆฌ๋ ์ ์'๋ก์์ ์ญํ ์ ์ํํ๋ค.
2. ๊ฐ์์ฑ ์ ๋ ฌ (Visibility Sorting)
๋ ๋๋งํ ๋, ๋ชจ๋ ์ ์ ์นด๋ฉ๋ผ ๊ธฐ์ค์ผ๋ก z-์ถ์ ๋ฐ๋ผ ์ ๋ ฌํ๋ค. ์์ชฝ์์ ๋ค์ชฝ ์์๋ก over blending์ ์ํํ๋ฉฐ ๋์ ํ๊ฒ ๋๋ค. ์ด๋ GPU์์ ํจ์จ์ ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ๋ค.
3. ๋์คํฐํ์ ๋ธ๋ ๋ฉ (Rasterization & Blending)
๊ฐ ๊ฐ์ฐ์์์ 3D ๊ณต๊ฐ์์ ์ ์ด์ง๋ง, ๋ทฐํฌํธ ์์์๋ 2D ์ํผํด๋ผ ๊ฐ์ฐ์์ ํํ๋ก ํผ์ง๊ฒ ํฌ์๋๋ค. ์ด ์ ๋ค์ ๋์คํฐ๋ผ์ด์ ๊ฐ ๋ฐ์ ํฝ์ ๋จ์๋ก ์ํ ๋ธ๋ ๋ฉํ์ฌ ์์๊ณผ ๊น์ด๋ฅผ ๊ฒฐ์ ํ๋ค. ์ด๋ GPU์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋ณ๋ ฌ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๋ค.
4. ์์ค ํจ์ ๊ธฐ๋ฐ ์ต์ ํ (Loss & Optimization)
ํ์ต ๊ณผ์ ์์๋ ์ฐธ์กฐ ์ด๋ฏธ์ง์์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ์ฌ ๋ค์ ํญ๋ชฉ๋ค์ ๊ธฐ์ค์ผ๋ก ์์ค์ ๊ณ์ฐํ๋ค.
- L2 photometric loss (๋ ๋๋ง ์ด๋ฏธ์ง vs ์ฐธ์กฐ ์ด๋ฏธ์ง)
- ํฌ๊ธฐ, ๋ฐ๋, ๊น์ด ์ผ๊ด์ฑ์ ๋ํ ์ ๊ทํ ํญ๋ชฉ
- α ๊ฐ์ด ๋๋ฌด ์๊ฑฐ๋, ์ค๋ณต๋ ์ ๋ค์ ์ ๊ฑฐํ๋ ํ๋ฃจ๋ ๊ท์น
์ด๋ฌํ ์์ค์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ ์ ์ ์์น, ํฌ๊ธฐ, ํ์ ๋ฑ์ ์ง์ ๋ฏธ๋ถ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ต์ ํํ๊ฒ ๋๋ค.
๐ ํ์ต ๋ฐฉ๋ฒ
3D Gaussian Splatting์ ํ์ต์ ์ฌ์ค์ ์ธ 3D ์ฅ๋ฉด์ ์ฌํํ ์ ์๋๋ก ๊ฐ์ฐ์์๋ค์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ต์ ํํ๋ ๊ณผ์ ์ด๋ค. ๋ค์์ ์ ์ฒด์ ์ธ ํ์ต ํ์ดํ๋ผ์ธ์ด๋ค.
โ ํ์ต ๋จ๊ณ
0. ์ ๋ ฅ ๋ฐ์ดํฐ
- ๋ค์ค ์์ RGB ์ด๋ฏธ์ง: ํ๋์ ์ฅ๋ฉด์ ๋ค์ํ ๊ฐ๋์์ ์ดฌ์ํ ์ด๋ฏธ์ง (๋ณดํต ์์ญ~์๋ฐฑ ์ฅ)
- ์นด๋ฉ๋ผ ๋ด/์ธ๋ถ ํ๋ผ๋ฏธํฐ: COLMAP ๋ฑ SfM ํด์ ํตํด ์ถ์ถ๋ camera intrinsics & extrinsics
- (์ ํ) ์ด๊ธฐ sparse point cloud: Structure-from-Motion์ผ๋ก ์ป์ด์ง ์ด๊ธฐ ํฌ์ธํธ ํด๋ผ์ฐ๋
1. Camera Pose Estimation(COLMAP)

์ ๋ ฅ ์ด๋ฏธ์ง๋ค๋ก๋ถํฐ COLMAP์ sparse reconstruction pipeline์ ์ฌ์ฉํ์ฌ ์นด๋ฉ๋ผ์ ๋ด๋ถ ํ๋ผ๋ฏธํฐ(K) ์ ์ธ๋ถ ํ๋ผ๋ฏธํฐ(R, t) ๋ฅผ ์ถ์ถํ๋ค. ์ด ๊ณผ์ ์์ sparse point cloud๋ ํจ๊ป ์์ฑ๋๋ค.
2. Gaussian Initialization
COLMAP ๋ฑ์ SfM์ผ๋ก ์ป์ sparse point cloud์ ๊ฐ ์ ๋ง๋ค ์ด๊ธฐ ๊ฐ์ฐ์์์ ํ ๋นํ๋ค. ์ด๋ ์์น๋ ๊ณ ์ , ๋๋จธ์ง ๊ฐ์ ์ด๊ธฐํ๋จ.
3. Parameter Optimization

์ ๋ ฅ ์ด๋ฏธ์ง๋ค์ ๊ณง ground truth ์ด๋ฏธ์ง(๋ชฉํ) ์ด๋ฉฐ, ์ฐ๋ฆฌ๋ ๊ฐ ์นด๋ฉ๋ผ์ ๋์๋๋ ์ ํํ ํฌ์ ํ๋ ฌ์ ์๊ณ ์๋ค.
๋ฐ๋ผ์ ๋ ๋๋ง๋ ์ด๋ฏธ์ง์ ์ ๋ต ์ด๋ฏธ์ง ๊ฐ์ ์ฐจ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๋ค์ ํ๋ผ๋ฏธํฐ๋ค์ ๋ฐ๋ณต์ ์ผ๋ก ์ต์ ํํ๋ค.
- ์์น , ํ์ , ํฌ๊ธฐ(covariance)
- ์์(RGB), ํฌ๋ช ๋(α)
- (์ต์ ) ๋ทฐ ๋ฐฉํฅ ์์กด ๋ณด์ ์ ์ํ appearance MLP weight
์์ค ํจ์๋ photometric L2 loss (๋ ๋๋ง ์ด๋ฏธ์ง vs GT ์ด๋ฏธ์ง) ์, ๊น์ด ์ ํฉ์ฑ, ํฌ๊ธฐ ์ ์ฝ, ๋ฐ๋ ์ ์ฝ ๋ฑ regularization ํญ๋ชฉ์ ํฌํจํ๋ค. ์ต์ ํ๋ Adam optimizer๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
๋งค ํ์ต ์คํ ๋ง๋ค ๋ค์์ ์ํ
- ํ์ฌ์ 3D Gaussians๋ฅผ ์นด๋ฉ๋ผ ํ๋ ฌ๋ก ํฌ์ํ์ฌ 2D ํ๋ฉด์ splat
- ๊ฐ ์ ์ ์ํผํด๋ผ ๊ฐ์ฐ์์ ํํ๋ก ํผ์ง๋ฉฐ, ํฝ์ ์ ์ํ ๋ธ๋ ๋ฉ ๋ฐฉ์์ผ๋ก ๊ธฐ์ฌ
- GPU์์ ๋ ๋๋ง๋ ์ด๋ฏธ์ง ์์ฑ
- GT ์ด๋ฏธ์ง์ ํฝ์ ๋จ์๋ก RGB ์ฐจ์ด ๊ณ์ฐ
- L2 ์์ค + regularization ํญ๋ชฉ๋ค์ ๋ํด ์ด ์์ค ๊ณ์ฐ
- ๋ชจ๋ Gaussian์ ํ๋ผ๋ฏธํฐ๋ฅผ gradient descent๋ก ์ ๋ฐ์ดํธ
์ํ ๋ธ๋ ๋ฉ(alpha compositing) ์ด๋, ํ๋์ ํฝ์ ์ ์ฌ๋ฌ ๊ฐ์ ๋ฐํฌ๋ช ํ ์์ด ๊ฒน์น ๋, ๊ฐ๊น์ด ์ ์ ์์ ๋ ์งํ๊ฒ, ๋จผ ์ ์ ์์ ๋ ํ๋ฆฌ๊ฒ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ด๋ค. ์๋ฅผ ๋ค์ด, ์นด๋ฉ๋ผ ์์ ์์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ฐ์์ ์ ์ด ํ๋์ ํฝ์ ์ ๊ธฐ์ฌํ๋ค๋ฉด, ๊ฐ ์ ์ ๊น์ด(z ๊ฐ) ๊ณผ ํฌ๋ช ๋(α ๊ฐ) ์ ๋ฐ๋ผ ๊ธฐ์ฌ๋๊ฐ ๋ฌ๋ผ์ง๋ค. ์ด๋ ๊ฐ๊น์ด ์ ๋ถํฐ ์์๋๋ก ์์์ ๋ค๋ก ์์ ๋์ ํ๋ฉฐ ํฉ์ฑํ๋ค. ํฌํ ์ต์ ์ฌ๋ฌ ๋ ์ด์ด๋ฅผ ์๋ฏ์ด, ์์ ์๋ ์ ์ด ๋ ๊ฐํ ์์ ๋จ๊ธฐ๊ณ , ๋ค์ ์๋ ์ ์ ์์ ์์ ์ด์ง ์ค๋ฉฐ๋ ๋ค.
4. Pruning and Densification

3DGS์ ํ์ต์ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ์ (Gaussian)์ ์์น, ํฌ๊ธฐ, ์์ ๋ฑ ํ๋ผ๋ฏธํฐ๋ฅผ gradient descent ๋ฐฉ์์ผ๋ก ์ต์ ํํ๋ ๊ณผ์ ์ด๋ค.
ํ์ง๋ง ์ต์ ํ๋ง์ผ๋ก๋ ๋ ๋๋ง ํ์ง ํฅ์์ ํ๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ์, ๋ค์๊ณผ ๊ฐ์ ์ ์งํฉ ๊ตฌ์กฐ ์์ฒด๋ฅผ ์กฐ์ ํ๋ ๋ณด์กฐ ๊ณผ์ ์ ์ํํ๋ค.
- Pruning: ์๋ฏธ ์๋ ์ ์ ๊ฑฐ
- ํ์ต ๊ณผ์ ์ค ์ผ๋ถ ๊ฐ์ฐ์์์ ๋ ๋๋ง ๊ฒฐ๊ณผ์ ๊ฑฐ์ ๊ธฐ์ฌํ์ง ์๊ฒ ๋๋ฉฐ, ํฌ๋ช ๋ α ๊ฐ์ด 0์ ๊ฐ๊น์์ง๋ค.
- ์ด๋ฌํ ์ ๋ค์ ์ฅ๋ฉด ํํ์ ํ์ ์์ผ๋ฏ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฑฐ(prune) ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฐ ๋น์ฉ์ ์ค์ธ๋ค.
- Densification: ๋ํ
์ผ ๋ณด๊ฐ์ ์ํ ์ ๋ถํ
- ๊ธฐ์กด ์ ๋ค๋ง์ผ๋ก๋ ๋ณต์กํ ๊ฒฝ๊ณ, ์ง๊ฐ, ์์ ๊ตฌ์กฐ๋ฌผ ๋ฑ์ ์ถฉ๋ถํ ํํํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
- ์ด๋ด ๋ ๋ ๋๋ง ์ค์ฐจ๊ฐ ํฐ ์์ญ์ ๊ฐ์งํ๊ณ , ํด๋น ์์ญ์ ๊ฐ์ฐ์์์ ๋ถํ ํ๊ฑฐ๋ ์๋ก์ด ์ ์ ์ถ๊ฐ(densify) ํ์ฌ ๋ํ ์ผ์ ๋ณด๊ฐํ๋ค.
5. ์ข ๋ฃ ์กฐ๊ฑด
์ผ์ iteration ์ (์: 30,000) ํน์ validation loss ์๋ ด ์ ํ์ต ์ข ๋ฃํ๋ค.
๐ ์ธํผ๋ฐ์ค
ํ์ต๋ 3D Gaussian Splatting ๊ฒฐ๊ณผ๋ ์๋ง์ 3D Gaussian๋ค์ด๊ณ , ๊ฒฐ๊ณผ๋ฌผ์ .ply ๋๋ .gs ํ์ผ๋ก ์ ์ฅ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์ค์๊ฐ ๋ ๋๋ง์ด ๊ฐ๋ฅํ ์ธํฐ๋ํฐ๋ธ ๋ทฐ์ด๋ฅผ ๊ตฌ์ฑํ ์ ์๋ค. ์ฌ์ฉ์๊ฐ ๋ทฐ๋ฅผ ํ์ ํ๊ฑฐ๋ ํ๋ํ ๋, GPU์์ ์ฆ์ ์ฅ๋ฉด์ ๋ค์ ๋ ๋๋งํ์ฌ ์ฆ๊ฐ์ ์ธ ๋ฐ์์ฑ์ ์ ๊ณตํ๋ค.
โ ์ธํผ๋ฐ์ค ํ์ดํ๋ผ์ธ
1. ํ์ต๋ ๊ฐ์ฐ์์ ๋ฐ์ดํฐ ๋ก๋
- Gaussian๋ค์ ํ๋ผ๋ฏธํฐ(x, Σ, R, RGB, α ๋ฑ)๋ฅผ GPU ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋
- ์ผ๋ฐ์ ์ผ๋ก ์์ญ๋ง~์๋ฐฑ๋ง ๊ฐ์ ์ ์ผ๋ก ๊ตฌ์ฑ๋จ
2. ์นด๋ฉ๋ผ ๋งคํธ๋ฆญ์ค ๋ฐ์
- ์ฌ์ฉ์์ ๋ทฐํฌํธ ์ ๋ ฅ์ ๋ฐํ์ผ๋ก ์นด๋ฉ๋ผ์ ๋ด์ธ๋ถ ํ๋ผ๋ฏธํฐ(K, R, t)๋ฅผ ๊ณ์ฐ
- ๋ชจ๋ ๊ฐ์ฐ์์๋ค์ ์นด๋ฉ๋ผ ์ขํ๊ณ๋ก ๋ณํํ ๋ค ํฌ์
3. Z-์ ๋ ฌ (Depth sorting)
- ์นด๋ฉ๋ผ์์ ๊ฐ๊น์ด ์ ๋ถํฐ ๊ทธ๋ฆฌ๊ธฐ ์ํด ๊ฐ ์ ์ ์นด๋ฉ๋ผ ๊ธฐ์ค z-๊ฐ์ผ๋ก ์ ๋ ฌ
- ์ํ ๋ธ๋ ๋ฉ ๊ธฐ๋ฐ์ ๋์ ๋ธ๋ ๋ฉ์ ํ์
4. ์คํ๋ํ (Splatting)
- ํ์ต๋ ๊ฐ ๊ฐ์ฐ์์ ์ ์ ํ๋ฉด์ 2์ฐจ์ ํ์ ํํ์ ๋ถํฌ(Anisotropic Gaussian Ellipse) ๋ก ํฌ์๋จ
- ๊ฐ 3D Gaussian์ ์์น๋ฟ ์๋๋ผ ๋ฐฉํฅ์ฑ๊ณผ ํฌ๊ธฐ(๊ณต๋ถ์ฐ ํ๋ ฌ Σ) ๋ฅผ ์ง๋ ํ์์ฒด๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ด 3D ํ์์ฒด๋ฅผ ์นด๋ฉ๋ผ๋ก ๋ฐ๋ผ๋ณด๋ฉด, ์์ ์ ๋ฐ๋ผ ๊ธธ์ญํ๊ฑฐ๋ ๋๋ฆฐ ํํ์ 2D ํ์์ผ๋ก ๋ณด์ด๊ฒ ๋๋ค.
- ์ด๋ ๊ฒ ํฌ์๋ 2D ํ์์ ๋ง์น ๊ฐ์ฐ์์ ๋ถํฌ์ฒ๋ผ ํ๋ฆฟํ๊ฒ ํผ์ ธ ์๋ ์์ ๋ฒ์ง ์์ญ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ๊ฐ ํฝ์
์ ์ํฅ์ ์ค๋ค.
- GPU์์๋ ์ด ์ ๋ค์ Compute Shader ๋๋ Hybrid Rasterizer๋ก ์ฒ๋ฆฌํ์ฌ,
- ๊ฐ ํ์์ด ํด๋น ํฝ์ ์ ์ผ๋ง๋ ๊ธฐ์ฌํ ์ง๋ฅผ ๊ณ์ฐํ๊ณ , Z ์ ๋ ฌ๋ ์์๋๋ก ์ํ ๋ธ๋ ๋ฉ(alpha compositing) ํ์ฌ ๋์ ๋ ๋๋ง์ ์ํํ๋ค.
5. ํ๋ ์ ์ถ๋ ฅ
- ๋ชจ๋ ํฝ์ ์ ์์/๊น์ด ์ ๋ณด๋ฅผ ๊ฒฐํฉํ์ฌ ์ต์ข ์ด๋ฏธ์ง ์์ฑ
- 60FPS ์ด์์ผ๋ก ์ค์๊ฐ ์ถ๋ ฅ ๊ฐ๋ฅ
๊ฐ์ฐ์์ ๋ง๋ค 'raw color'๊ฐ ์กด์ฌํ์ง๋ง, ์์ ์ ๋ฐ๋ผ ์กฐ๊ธ์ฉ ์์ ๋ณด์ ํ๊ธฐ ์ํด ์์ MLP๊ฐ ์ฐ์ธ๋ค. ๋๋ฌธ์ ๊ฐ์ฐ์์์ feature vector์ ์นด๋ฉ๋ผ-๊ฐ์ฐ์์ viewing direction์ ์ ๋ ฅ๋ฐ์ ์์ ๋ณด์ ์ ์ถ๋ ฅํ๋ ๊ณผ์ ๋ ํฌํจ๋๋ค.
โ ์น๋ทฐ ์ธํฐ๋์ ํ๋ฆ
- WebGL/WebGPU ๊ธฐ๋ฐ ๋ทฐ์ด ์คํ
→ three.js, TensorFlow.js, custom GLSL/WebGPU shader ๋ฑ ์ฌ์ฉ - .ply ๋๋ .gs ํ์ผ ๋ก๋ฉ ๋ฐ GPU ์
๋ก๋
→ JavaScript ๋๋ WASM ๊ธฐ๋ฐ ํ์๋ก ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ GPU์ ๋ฐ์ธ๋ฉ - ์ฌ์ฉ์ ์
๋ ฅ์ ๋ฐ๋ฅธ ์นด๋ฉ๋ผ ๋ทฐ ๋ณ๊ฒฝ
→ ๋ง์ฐ์ค, ํฐ์น ์ด๋ฒคํธ๋ก ํ์ /์ค ๋ฑ ์กฐ์ → ์นด๋ฉ๋ผ ํ๋ ฌ ์ ๋ฐ์ดํธ - ํ๋ ์๋ง๋ค ์ค์๊ฐ ๋ฆฌ๋ ๋๋ง
→ ์ ๋ทฐ ๊ธฐ์ค์ผ๋ก Gaussian๋ค์ ๋ค์ ํฌ์, ๋น ๋ฅด๊ฒ ๋์คํฐํ - ์ฑ๋ฅ
→ ์ผ๋ฐ ํ๊ฒฝ(1080p, RTX GPU ๋ฑ)์์๋ 100๋ง ๊ฐ ์ด์์ ์ ์ 30~90FPS๋ก ๋ ๋๋ง ๊ฐ๋ฅ - ์ ํ ๋ฐ ํธ์ง ๊ธฐ๋ฅ ์ฐ๋
→ ํด๋ฆญ ์ ํน์ Gaussian์ RGB, ์ธ๋ฉํฑ ์ ๋ณด ์ ๊ทผ ๊ฐ๋ฅ
→ ํด ์ฐ๊ณ๋ฅผ ํตํด ๋ธ๋ฌ์๋ก ์ ์ ์ด๋/์ญ์ /์ฌ์์ํ ๋ฑ ํธ์ง ๊ฐ๋ฅ
โ 3DGS๋ ํ์ต๋ ๋น ๋ฅด์ง๋ง, ๋ ๋๋ง ๋ํ ์ค์๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ฐ์ผ์ด๋ ์น ๊ธฐ๋ฐ XR ํ๊ฒฝ์์์ ํ์ฉ๋๊ฐ ๋งค์ฐ ๋๋ค.
๐ NeRF์ ๋ฌด์์ด ๋ค๋ฅธ๊ฐ?

| ํญ๋ชฉ | NeRF | 3D Gaussian Splatting |
| ํํ ๋ฐฉ์ | ์ขํ → MLP (์์์ ) | ๊ฐ์ฐ์์ ์ ๊ตฌ๋ฆ (๋ช ์์ ) |
| ๋ ๋๋ง | ๋ ์ด ๋ง์นญ·์ ๋ถ | GPU ๋์คํฐ·์ํ ๋ธ๋ ๋ฉ |
| ํ๋ จ ์๊ฐ | ์ ์๊ฐ~์ ์ผ | ์ ๋ถ |
| ์ถ๋ก ์๋ | ์ ms ~ ์๋ฐฑ ms | ์ μs → 60 FPS+ |
| ๋ฉ๋ชจ๋ฆฌ | ์~์์ญ MB | ์๋ฐฑ MB ~ ์ GB (์ ๊ฐ์) |
| ํธ์ง ๋์ด๋ | MLP ์ฌํ์ต ํ์ | ์ ์์ฑ ์ง์ ์์ |
| ์ํฐํฉํธ | ๋ ธ์ด์ฆ, blur | ๋ฉ๋ชจ๋ฆฌ ํญ, occlusion bleed |
| ์ฅ์ ์์ฝ | ์์ถ·์ ๋ฉ๋ชจ๋ฆฌ | ์ค์๊ฐ·ํธ์ง์ฑ |
๐ก NeRF ↔ 3DGS ๊ตฌ๋๋ ์๋·ํธ์ง์ฑ ๋ ๋ฉ๋ชจ๋ฆฌ·์์ถ์ฑ ํธ๋ ์ด๋์คํ๋ผ๊ณ ์ดํดํ๋ฉด ์ฝ๋ค.
3D Gaussian Splatting์ NeRF์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๋ฉฐ ์ค์๊ฐ 3D ๋ ๋๋ง์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ด์ด์ค ํ์ ์ ์ธ ๊ธฐ๋ฒ์ด๋ค. ๋จ์ํ ๋น ๋ฅผ ๋ฟ ์๋๋ผ, ๊ณ ํ์ง๊ณผ ํธ์ง ๊ฐ๋ฅ์ฑ๊น์ง ๊ฐ์ถ ์ ์์ ์ค์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ด ๋งค์ฐ ๋๋ค. 2023๋ ์ฒซ ๋ฑ์ฅ ์ดํ, 3DGS๋ 4D dynamic scene rendering, Gaussian point compression and Level-of-Detail (LOD) optimization, Semantic-aware editing ๋ฑ ๋ค์ํ ๋ฐฉํฅ์ผ๋ก ๋น ๋ฅด๊ฒ ๋ฐ์ ํด์ค๊ณ ์๋ค.