NeRF ๋ชจ๋ธ์ ๋ง์ ๋ธ๋ก๊ทธ์ ์ ํ๋ธ ์๋ฃ๋ฅผ ์ฐพ์๋ณด๋ฉฐ ์ดํดํ๋ ์์ค์ ๊ทธ์ณค๋๋ฐ
๋ ผ๋ฌธ์ ์ ๋ ํ๋ ํจ์ฌ ๋ ์ดํด ์ ๋๊ฐ ๊น์ด์ง ๊ธฐ๋ถ์ด๋ค. ์ง์ ๊ธ์ ์จ๋ณด๋ฉฐ ์๋ฒฝํ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์!
๋ค์๊ณผ ๊ฐ์ ์์๋ก ๊ธ์ด ์งํ๋๋ค.
0. [Abstract] NeRF ๊ฐ๋จ ์ค๋ช
1. [Background] Explicit Representation vs Implicit Representation
2. Neural Radiance Field Scene Representation
2.1 Overview
2.2 MLP Network
3. Volume Rendering with Radiance Field
3.1 [Equation 1] The expected color of the input ray.
3.2 [ Equation 2] Approximation of Equation 1(Stratified Sampling)
4. Optimizing a Neural Radiance Field
4.1 Positional Encoding
4.2 Hierarchical Volume Sampling
0. [Abstract] NeRF ๊ฐ๋จ ์ค๋ช
NeRF๋ Input Images ์ธํธ๋ก๋ถํฐ
scene์ 5D neural radiance field representation๋ฅผ ์ต์ ํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , volume rendering ๊ธฐ๋ฒ์ ํตํด ์ด๋ค viewpoint์์๋ scene์ ๋ง๋ค์ด๋ผ ์ ์๋ค.
์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด,
(1) ๋ค์ํ ์์น์ ๋ฐฉํฅ์์ ์ดฌ์๋ Drum ์ฌ์ง์ input image๋ฅผ ๋ฃ๊ณ
(2) NeRF๋ฅผ ํ์ตํ์ฌ
(3) ์๋ก์ด ์์ ์์์ Drum ์ฌ์ง์ ๋ง๋ค์ด๋ธ ๊ณผ์ ์ ๋ณผ ์ ์๋ค.
1. [Background] Explicit Representation vs Implicit Representation
NeRF๊ฐ ์ ์ด๋ ๊ฒ ๋ง์ ๊ด์ฌ์ ๋ฐ๊ฒ ๋์์๊น?
NeRF๊ฐ ์ฌ์ฉํ๋ ๋ฐฉ์์ MLP, ์ฆ ์ธ๊ณต์ ๊ฒฝ๋ง์ ์ฌ์ฉํ 'Implicit Representation' ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ธฐ์กด์ 3D๊ณต๊ฐ์ ์ ์ํ๊ธฐ ์ํด์๋ ์ ํต์ ์ผ๋ก pointcloud, voxel, mesh๋ฅผ ์ด์ฉํ๋ค.
์ด๋ ์ค์ ๋ก ๊ณต๊ฐ์ 3D ๋ฌผ์ฒด๊ฐ ์ ์๋์ด ์๋ ๋ฐฉ๋ฒ์ผ๋ก 'Explicit Representation' ์ด๋ผ๊ณ ํ๋ค.
๊ทธ๋ฌ๋, NeRF๋ ํด๋น ๋ฌผ์ฒด๋ฅผ ๋ชจ๋ ๋ฐฉํฅ์์ ๋ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํด ๋ณผ ์ ์๋ค๋ฉด 3D ๋ ๋๋งํ๋ค๊ณ ์ ์ํ๋ค.
NeRF๋ ๊ธฐ์กด์ explicit ๋ฐฉ๋ฒ๋ค์ด
๊ณ ์ ๋ ๊ทธ๋ฆฌ๋๋ ๊ตฌ์กฐ๋ฅผ ํ์๋ก ํ๊ฑฐ๋, ๋๋ฌด๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๊ตฌํ๋ค๋ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๋ค.
(3D ์ง๋ ๊ฐ์ ๊ฒฝ์ฐ, ์ด๋ฅผ NeRF๊ฐ ์๋ 3D Point๋ Mesh๋ก ํํํ๋ฉด ์์ฒญ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํจ)
๋ํ, ๋งค์ฐ ์์ ๊ฐ์ผ๋ก ๋ฐฉํฅ์ ๋ฐ๊พธ์ด๋ ํด๋น Scene์ ์์ฑํ ์ ์๊ธฐ์ ๋ถ๋๋ฌ์ด ํํ์ด ๊ฐ๋ฅํ๋ค.
+ ๋ ผ๋ฌธ์ 2์ฅ์์ ์ธ๊ธํ Related Work์ ์๋ฒฝํ ์ดํดํ์ง ๋ชปํ์. ์ดํ ์ถ๊ฐ
2. Neural Radiance Field Scene Representation
2.1 Overview
NeRF ๋ชจ๋ธ์ overview๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
(a)
scene์ ํต๊ณผํ๋ camera ray๋ฅผ ์ ํ, ์ํ๋งํ์ฌ sampled set of 3D point๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฆฌ๊ณ , ์์ point๋ค์ ์์น ์ ๋ณด(Position)์ธ (x,y,z)์ ์นด๋ฉ๋ผ์ ๋ฐฉํฅ ์ ๋ณด(Direction)์ธ (θ,ฯ)์ ๊ตฌํ๋ค.
(๋ชจ๋ธ์ input: 5D coordinate (x,y,z,θ,ฯ))
(b)
์์ ์ ๋ณด๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ์ฌ ์ ๊ฒฝ๋ง(MLP)์ ๋ฃ๊ณ ,
์ถ๋ ฅ๊ฐ์ผ๋ก RGB ์์ ๊ฐ๊ณผ volume density ๋ฐ๋ ๊ฐ σ ์ ์ป๋๋ค.
(๋ชจ๋ธ์ output: (RGB σ))
(c)
Volume Rendering ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ RGB๊ฐ๊ณผ density๊ฐ์ ๋์ ํ์ฌ 2D image๋ก ๋ง๋ ๋ค.
(d)
๋ค์ ๊ณผ์ ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์
์์ธก๊ฐ๊ณผ Ground Truth (์ค์ ๊ฐ) ์ฐจ์ด์ loss๊ฐ์ ์ค์ด๋ฉฐ ๋ชจ๋ธ์ ์ต์ ํํ๋ Gradient Descent๋ฅผ ์ฌ์ฉํ๋ค.
2.2 MLP Network
์์์ ์ฌ์ฉํ๋ MLP ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
(* input์ 60, 24 ์ซ์์ ๋ํด์๋ ๋ค์์ ๋ค๋ฃฌ๋ค -> 4.1 Positional Encoding)
1.
๋จผ์ , 3D coordinate x๋ฅผ input์ผ๋ก ๋ฃ์ด 8 fully-connected layers๋ฅผ ํต๊ณผ์ํจ๋ค.
(ReLU activations๊ณผ layer๋น 256 channel ์ฌ์ฉํจ)
๊ทธ๋ฆฌ๊ณ output์ผ๋ก σ์ 256-dimensional feature vector์ ์ป๋๋ค.
2.
์์์ ๋์จ 256-dimensional feature vector์ ๋ฐฉํฅ์ ๋ณด view direction์ ํฉ์ณ์ ๋ค์ input์ ๋ฃ๊ณ
1 fully-connected layer์ ํต๊ณผํ์ฌ view-dependent RGB color์ ์ป๋๋ค.
(ReLU activation๊ณผ layer๋น 128 channel ์ฌ์ฉํจ)
์์ MLP์์ ์ ์ ์๋ ๊ฒ์
volume density σ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์๋ ์ค์ง ์์น์ ๋ณด x๋ง์ด ํ์ํ๊ณ
view-dependent RGB color์ ๊ตฌํ๊ธฐ ์ํด์๋ ์์น์ ๋ณด x์ ๋ฐฉํฅ์ ๋ณด d๊ฐ ํจ๊ป ํ์ํ๋ค๋ ๊ฒ์ด๋ค.
์ด๋ ๋ณด๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ๋ฐ๋ σ ๋ ๋์ผํ์ง๋ง, RGB ์์์ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ณธ ๋ ผ๋ฌธ์์ view direction์ ๊ฐ์กฐํ๋ ์ด์ ๋, ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด
์ค์ ๋ก ๊ณ ์ ๋ ์์น์ ๋ํด ๋ฐ๋ผ๋ณด์์ ๋ ๋ณด๋ View์ ๋ฐ๋ผ emitted radiance๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ด๋ค.
3. Volume Rendering with Radiance Field
Overview์์ ์ธ๊ธํ๋ฏ์ด, MLP๋ฅผ ํตํด output์ธ RGBσ์ ์ป์๋ค๋ฉด, ์ด๋ฅผ ํตํด ์ต์ข ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค์ด๋ผ ์ ์๋ค.
๊ทธ๊ฑธ ํด์ฃผ๋ ๊ณผ์ ์ด ๋ฐ๋ก Volume Rendering์ด๋ค.
๋ค์ ๋งํ๋ฉด,
์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ ํ๋์ ๊ด์ ray๋ฅผ ๊ธฐ์ค์ผ๋ก, MLP๋ฅผ ํตํด ์ํ๋ง๋ ์ฌ๋ฌ point๋ค์ RGBσ๋ฅผ ๊ตฌํ๋ค.
์ด์ ๋ ์ด point๋ค์ RGBσ์ ํฉ์ณ์ ๊ทธ ray๊ฐ ํํํ๋ ์์ color์ ๊ตฌํ๋ฉด ๋๋ ๊ฒ์ด๋ค.
์ต์ข ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ค๋ ๊ฒ์ ๊ด์ ์ ๋ฐ๋ผ ์ด๋ํ๋ฉด์ ์์ color์ ๊ตฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฏธ์ด๋ค.
3.1 [Equation 1] The expected color of the input ray.
ํ๋์ ๊ด์ ray์ ๋ค์๊ณผ ๊ฐ์ ์์ผ๋ก ํํํ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ray์์์ ์์ color์ ๋ค์์ ์๊ณผ ๊ฐ๋ค.
๊ฐ์ฅ ๊ฐ๊น์ด ์ ๋ถํฐ ์๊ฒฉ ์ ๊น์ง ์๋ ์๋ค์ ๊ณฑ์ ์ด์ฉํด ์ ๋ถ๊ฐ์ ๊ตฌํ๋ค.
(1) T(t): ๊ทผ์ ์ ์ผ๋ก๋ถํฐ ํ์ฌ point๊น์ง์ density๋ฅผ ํฉํ ๊ฐ์ exp ์ฒ๋ฆฌํ ๊ฐ
- ๋ฐ๋๋ฅผ ํฉํ ๊ฐ์ด ์๋ค๋ฉด -> T(t)๊ฐ ์ปค์ ธ -> ์ด์ ์ point๋ค์ด ์๋๋ผ ํ์ฌ ์์น์ธ t๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ์๋ฏธ
- ๋ฐ๋๋ฅผ ํฉํ ๊ฐ์ด ํฌ๋ค๋ฉด -> T(t)๊ฐ ์์์ ธ -> ํ์ฌ ์์น์ธ t๋ณด๋ค ์์ point๋ค ์ค์ ๋ ์ค์ํ ๊ณณ์ด ์์๋ค๋ ๊ฒ์ ์๋ฏธ
(2) σ(r(t)): volume density ๊ฐ
(3) c(r(t),d): color RGB ๊ฐ
- view-dependent color์ด๋ฏ๋ก ์์น์ ๋ณด๋ฟ ์๋๋ผ density๊น์ง ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฃ์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
3.2 [ Equation 2] Approximation of Equation 1(Stratified Sampling)
๊ทธ๋ฌ๋ 3.1์ ์์ continuousํ๊ธฐ ๋๋ฌธ์
samplingํ์ฌ ๊ฐ๊ฐ์ point๋ค์ ๋ํด ๊ฐ์ ๊ตฌํ๋ NeRF์์๋ ์ฌ์ฉํ ์ ์๋ค.
๋ฐ๋ผ์, ๋ณธ ๋ ผ๋ฌธ์์๋ discreteํ๊ฒ ํ๊ธฐ ์ํด ์์ ์์ ํ์ฌ ์ฌ์ฉํ์๋ค.
์ผ๋จ ํ์ฌ์ ์์น t๋ฅผ
Stratified Sampling์ ํ์ฌ N๋ฑ๋ถํด์ ๋์ผํ ๊ฐ๊ฒฉ์ผ๋ก ์ชผ๊ฐ์ด ์ ์ํ๋ค.
๊ทธ๋ฆฌ๊ณ ray์์์ ์์ color๋ ์์ ๊ฐ์ ์์ผ๋ก ๋ฐ๊พธ์ด ์งํํ์๋ค.
4. Optimizing a Neural Radiance Field
์์ฝ์ง๋ง, ์์์ ์ ์ํ MLP์ Volume Rendering ๋ฐฉ๋ฒ๋ง์ผ๋ก๋ SOTA๋ฅผ ๋ฌ์ฑํ ์ ์์๋ค.
๋ฐ๋ผ์ ์ฑ๋ฅ์ ๋ ๋์ด๊ธฐ ์ํด ๋ณธ ๋ ผ๋ฌธ์์๋ ๋ค์ํ ๊ธฐ๋ฒ์ ์ถ๊ฐ๋ก ์ด์ฉํ์๋ค.
๋ฐ๋ก, (1) Positional Encoding๊ณผ (2) Hierarchical Volume Sampling์ด๋ค.
4.1 Positional Encoding
์ ๊ฒฝ๋ง์ ๋ฎ์ ์ฃผํ์ ํจ์(lower frequency functions) ๋ฐฉํฅ์ผ๋ก ํ์ตํ๋ ๊ฒฝํฅ์ด ์์ด์
๊ณ ์ฃผํ์ ๋ณ๋์ ์ ํํํ์ง ๋ชปํ๋ค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์ฃผํํจ์(high frequency function)๋ฅผ ์ฌ์ฉํ์ฌ
์ ๋ ฅ(input)์ ๋์ ์ฐจ์์ ๊ณต๊ฐ(higher dimensional space)์ผ๋ก ๋งคํํ ํ์ ๋คํธ์ํฌ์ ์ ๋ฌํจ์ผ๋ก์จ
๋ ๋์ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ์ป๋ ๊ณผ์ ์ด ๋ฐ๋ก 'Positional Encoding'์ด๋ค.
ํ๋ง๋๋ก ์ ๋ฆฌํ๋ฉด,
์๋์ input์ 5D coordinate์์ง๋ง, ์ฐจ์์ ๋๋ ค์ ๋ชจ๋ธ์ ๋ฃ๊ฒ ๋ค ์๋ฆฌ์ด๋ค.
์์ ์๊ณผ ๊ฐ์ encoding ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
Positional Encoding์ ๋ํด ๋ฐฐ์ ์ผ๋, ์์์ ์ธ๊ธํ๋ MLP์ input๋ค์ ์์ธํ ์ค๋ช ํ ์ ์๋ค.
1. ์์น์ ๋ณด r(x)
๊ธฐ์กด์ ์์น์ ๋ณด x๋ 3D์ด์ง๋ง, L = 10์ ํตํด ์ฐจ์์ด 60์ธ r(x)๋ก ๋งคํํ๋ค.
์) 3 x (10 x 2) = 60
: x2๊ฐ ๋ถ๋ ์ด์ ๋ sin cos 2๋ฐฐ๊ฐ ์๊ธฐ๊ธฐ ๋๋ฌธ์ด๋ค.
2. ๋ฐฉํฅ์ ๋ณด r(d)
๊ธฐ์กด์ ๋ฐฉํฅ์ ๋ณด d ์ญ์ 3D์ด์ง๋ง, L = 4๋ฅผ ํตํด ์ฐจ์์ด 24์ธ r(d)๋ก ๋งคํํ๋ค.
(d๊ฐ 3D์ธ ์ด์ ๋ ์์น์ ๋ณด x,y,z ๊ฐ๊ฐ์ ๋ํ ๋ฐฉํฅ์ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.)
์) 3 x (4 x 2) = 24
์์ ๊ฒฐ๊ณผ์์ ๋ณผ ์ ์๋ฏ์ด, Positional Encoding ๋ฐฉ๋ฒ์ ํตํ์ฌ
์ฐ์์ ์ธ ์ ๋ ฅ ์ขํ๋ฅผ ๋ ๋์ ์ฐจ์์ ๊ณต๊ฐ์ผ๋ก ๋งคํํจ์ผ๋ก์จ MLP๊ฐ ๋ ๋์ ์ฃผํ์ ํจ์๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ๊ทผ์ฌํ ์ ์์๋ค.
4.2 Hierarchical Volume Sampling
๊ธฐ์กด์ Volume Rendering ๋ฐฉ๋ฒ์ด ํจ์จ์ ์ด์ง ์๋ค๋ ์ ์ ์ง์ ํ๋ฉฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด๋ฅผ ํตํด, rendered image์ ๊ฑฐ์ ๊ธฐ์ฌํ์ง ์๋ ๋ถ๋ถ๋ค์ ๋ํ ์ํ๋ง์ ์ค์ด๊ณ ,
findal rendering์ ๋ฏธ์น ์ํฅ์ ๊ณ ๋ คํ์ฌ ๊ทธ์ ๋น๋กํด ํ ๋นํจ์ผ๋ก์จ ๋ ๋๋ง ํจ์จ์ฑ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
์ฝ๊ฒ ๋งํ๋ฉด, ์ฆ์ํ ์ ๋ณด๊ฐ ์๋ ๊ณณ์ ๋ ์์ธํ ๋ณด๊ณ ๊ทธ๋ ์ง ์์ ๊ณณ์ ๋์ถฉ ๊ณ ๋ คํ๊ฒ ๋ค๋ ๋ฐฉ๋ฒ์ด๋ค!
์ด ๋ฐฉ๋ฒ์ "coarse"์ "fine"์ด๋ผ๋ 2๊ฐ์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ค.
1. stratified sampling์ ํตํด Nc๊ฐ์ t๋ฅผ ๋ฝ๊ณ , ์ด๋ฅผ ์ด์ฉํด Coarse Network๋ฅผ ํ์ต์ํจ๋ค.
2. Coarse Network๋ฅผ ํตํด ์ป์ Distribution(T(r))์ ๋ฐ๋ผ Nf๊ฐ์ t๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๋ฝ๋๋ค.
3. ์ด Nc + Nf์ Sample์ ์ด์ฉํด Fine Network๋ฅผ ํ์ต์ํจ๋ค.
> ์์ ๋ด์ฉ์ https://www.youtube.com/watch?v=zkeh7Tt9tYQ&t=1900s์ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก, loss๋ coarse์ fine์ ์ค์ฐจ๋ฅผ ๊ฐ๊ฐ ์ ๊ณฑํฉ์ผ๋ก ๋ํด ๋ค์๊ณผ ๊ฐ์ ์์ผ๋ก ํํํ ์ ์๋ค.

(2024.04.04)
80% ์์ค ์ ๋๋ก ์ดํดํ ๊ฒ ๊ฐ์๋ฐ ์ฝ๋๊น์ง ๋ด์ผ ๋์ฑ ์ ๋๋ก ์ค๋ช ํ ์ ์์ ๊ฒ ๊ฐ๋ค.
+์ถ๊ฐ๋ก ์ฐธ์กฐํ๋ฉด ์ข์ ๋ธ๋ก๊ทธ
https://jaeyeol816.github.io/neural_representation/nerf-nerf-basic-theory/
'๐ Study > Paper Review' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
NeRF ๊ฐ๋จ ์ค๋ช with ์ฝ๊ฐ์ ์ฝ๋ (0) | 2024.05.12 |
---|---|
[Paper Review] 3D Gaussian Splatting for Real-Time Radiance Field Rendering (SIGGRAPH 2023) (0) | 2024.05.03 |
3DGS์ tile rasterizer์์ ๊ฒน์น๋ tile๊ฐ์์ ๋ฐ๋ผ ์ธ์คํด์คํํ๋ ์ด์ ? (0) | 2024.05.03 |
3DGS์์ ๋ทฐ ์ ๋์ฒด view frustum์ด๋? (0) | 2024.04.30 |
3DGS์์ ์ํ ๋ธ๋ ๋ฉ ฮฑ-blending ์ด๋? (0) | 2024.04.30 |