๐ฐ์ํด๋ณต ๋ง์ด ๋ฐ์ผ์ธ์!!๐ฐ
*NeRF-CAM๋ฅผ ์ํ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ ๊ธ์ ๋๋ค! ๊ถ๊ธํ์ ์ ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์!
NeRF-CAM paper: arxiv.org/pdf/2311.14993.pdf
NeRF-CAM github: Coordinate-Aware Modulation for Neural Fields (maincold2.github.io)
Contents
Simple Introduction
NeRF๋ ํ์ฌ 3D vision ๋ถ์ผ์์ ๊ต์ฅํ ํซํ ์ฃผ์ ์ด๋ค!
์ต๊ทผ INR (Implicit Neural Representation)์ ๊ด์ฌ์ด ์๊ฒจ์ ์ฐพ์๋ค๋ณด๋ค๊ฐ, ๋ด๊ฐ ์ข์ํ๋(?) NeRF์ INR์ ์ ๋ชฉ์ํจ ๋ ผ๋ฌธ์ ์๊ฐ ๋ฐ์์ ํ๋ฒ ์ฝ์ด๋ณด์๋ค.
์ฌ์ค ๋ ผ๋ฌธ ์ฝ๊ธฐ์ ์, ๋ ผ๋ฌธ์์ CAM์ด๋ผ๊ณ ์๊ฐํ๊ธธ๋, XAI์ ๊ดํ ๋ ผ๋ฌธ์ธ์ค ์๊ณ ,
์ค๋ง NeRF๊ฐ ํ์ตํ๋ ๋ฐฉ๋ฒ์ XAI๋ก ์ค๋ช ํ๋ค๊ณ !? ๋ผ๋ ์๊ฐ๋ ํ์๋ค..ใ ใ ใ ใ ใ
์๋ฌดํผ! CAM ๋ฐฉ๋ฒ๋ก ์ NeRF๊ฐ 1D signal๋ถํฐ 3D representation๊น์ง ์ฌ๋ฌ task๋ฅผ ํ๋์ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ชจ๋ ์ํํ ์ ์๋๋ก ๋์์ฃผ๊ณ , ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ๋ ํฅ์๋๋ค๊ณ ํ๋ค.
ํ๋ฒ ์ดํด๋ณด์!
Background Knowledge: NeRF
NeRF ๋ ผ๋ฌธ๋ฆฌ๋ทฐ: https://kyujinpy.tistory.com/16
*NeRF์ ๊ด๋ จ๋ ์ง์๋ค์ ์ ๋ถ ์คํต๋ ์ฑ ์ค๋ช ํ๊ณ ์์ต๋๋ค!
*๋ ผ๋ฌธ์ ์ ์๋ CAM์ด๋ผ๊ณ ์๊ฐํ์ง๋ง, ์ ๋ XAI์์ ์ด๋ฏธ ์ ๋ช ํ CAM ๋ชจ๋ธ๊ณผ ํท๊ฐ๋ฆฌ๊ธฐ(?) ๋๋ฌธ์.. NeRF-CAM์ผ๋ก ๋ช ์นญํ๊ฒ ์ต๋๋ค..ใ ใ
Method
Abstract
์ด ๋ ผ๋ฌธ์ abstract๋ฅผ ์ฝ์ด๋ณด๋ ์ข ์ฌ๋ฏธ์๋(?) ๊ฒ ๊ฐ์์ ๊ฐ์ ธ์๋ค.
๋ ผ๋ฌธ์ ์ค์ํ ํต์ฌ์
1. ๊ธฐ์กด์ MLP์ grid representation ๊ธฐ๋ฐ์ ๋ฐฉ๋ฒ๋ค์ spectral bias๋ก ์ธํด ์ฑ๋ฅ์ด ๋ฎ์์ง๊ณ , ๋ฎ์ ์๋ ด ์๋๋ฅผ ๊ฐ์ง๋ค.
2. CAM์ MLP์ grid representation์ neural field ๋ด์์ ์ฌ์ฉํ ๋ spectral free-bias๋ฅผ feature ํํ๋ก ์ฃผ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
3. ์ด๊ฒ์ dynamic scene๊ณผ static scene์ ๋ํด SOTA๋ฅผ ๊ธฐ๋กํ๊ณ , video compression์ ๋ํด์๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.
์ ๊ฐ ๋๋ ์ด ๋ ผ๋ฌธ์์ ์ค์ํ๊ฒ ๋ด์ผํ ๋ถ๋ถ์ 2๊ฐ์ง๋ผ๊ณ ๋๊ผ๋๋ฐ,
MLP์ grid representation์ ์ฑ๋ฅ์ด ๋๋น ์ง๊ฒ ํ๋ spectral bias๊ฐ ๋ฌด์์ธ๊ฐ!!!
๊ทธ๋ฆฌ๊ณ spectral bias์ ๋ํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํ CAM์ ๊ตฌ์กฐ๋ ๋ฌด์์ธ๊ฐ!?
์ด๋ ๊ฒ ๋๊ฐ์ง ๊ด์ ์์ ํ๋ฒ ํ์ด๋๊ฐ๋ณด๊ฒ ๋ค!
CAM (Coordinate-Aware Modulation)
CAM์ ์ด 3๊ฐ์ง ํํธ๋ก ๊ตฌ์ฑ๋๋ค.
1. Coordinate-aware modulation
2. Coordinate priority for CAM
3. Feature normalization
๊ฐ๊ฐ์ ํ๋ฒ ์์ฐจ์ ์ผ๋ก ์ดํด๋ณด๊ฒ ๋ค!
1. Coordinate-aware modulation
๋จผ์ ์์ ์ ์ ํ๊ธฐ ์ ์, ๊ธฐํธ๋ฅผ ์ ์ ํด๋ณด์.
1. n,c๋ ๊ฐ๊ฐ ๋ฐฐ์น ์ฌ์ด์ฆ์ N๊ณผ ์ฑ๋ ์ฌ์ด์ฆ C์ index ๋ฒํธ๋ฅผ ์๋ฏธํ๋ค.
2. X๋ ์ขํ๊ฐ์ด๋ค. (๋ฒกํฐ์ shape์ NxD; D๋ coordinate dimension)
3. F์ F~ ๊ฐ์ ๊ฐ๊ฐ intermediate feature tensor์ modulated output feature๋ฅผ ์๋ฏธํ๋ค. (F~๋ ์์ ์ข๋ณ์ ํด๋นํฉ๋๋ค.)
4-1. r()๊ณผ b() ํจ์๋ ๊ฐ๊ฐ scale๊ณผ shift factor๋ฅผ ์๋ฏธํ๋ค. (gamma์ beta function)
4-2. ๋ํ ๊ฐ ํจ์๋ NxD ๋ฒกํฐ๋ฅผ N ๋ฒกํฐ๋ก projection ํ๋ค.
5. T์ B๋ scalar value๋ก, ๊ฐ๊ฐ single-channel grids์ ์ฃผ์ด์ง ๊ฐ ์ขํ๋ฅผ ์๋ฏธํ๋ค.
ํด๋น ์์์ ํ๋ฉด ๋ค์์ฒ๋ผ ํด์ ๊ฐ๋ฅํ๋ค.
0. MLP์ Grid ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ parallelํ๊ฒ ํ์ฉํ๊ธฐ ์ํด์ coordinate-aware modulation์ ์ ์ํ๋ค.
1. ์ฌ๊ธฐ์ Fn,c๋ MLP์์ ๋์ค๋ tensor vector๋ฅผ ์๋ฏธํ๋ค. (๋งค์ฐ ์ค์!)
2. ๋ํ ๊ฐ๊ฐ์ r(), b()์์ ๋์ค๋ scalar value๋ grid๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ป์ ๊ฒ์ด๋ค! (๋งค์ฐ ์ค์!)
3-1. ๋ชจ๋ธ์ ์ ๋ ฅ๊ฐ์ ๋ค์ด๊ฐ Input coordinate์ ๋ฐํ์ผ๋ก MLP์์ ๋ฃ์ด์ intermedidate feautre๋ฅผ ์ถ์ถํ๋ค.
3-2. ๋ํ, ์ ๋ ฅ๋ ์ขํ๊ฐ์ grid sampling์ ํตํ์ฌ ๊ฐ๊ฐ์ scale๊ณผ shift factor๋ฅผ ์์ฑํ๋ค.
4. ์ด๋ ๊ฒ ์ป์ด์ง, Fn,c์ scale, shift factor๋ฅผ equation (1)์ ๋ฐ๋ผ์ ๊ณ์ฐํ์ฌ modulated output feature๋ฅผ ์์ฑํ๋ค!!
๋ ผ๋ฌธ์ ์ ์๋ค์, ํด๋น ์์์ด ๊ณ ์ฐจ์์ coordinate์ ๋ํด์๋ compactness๋ฅผ ๋ณด์กดํ ์ ์๋ค๊ณ ์ธ๊ธํ๋ค.
- Appendix์ ์๋ grid function์ ์ฝ์ด๋ณด๋, ํ๋ จ๋๋ ๊ฒ ๊ฐ๋ค.
- ๊ทธ๋๋ Grid function์ ๋ํ ์ดํด๊ฐ ์ ์๋๋, ์ฝ๋๋ฅผ ๋ฏ์ด๋ด์ผ๊ฒ ๋ค. ์ด๋ป๊ฒ grid๋ฅผ ๋ง๋๋์ง ์์์ผ๊ฒ ๋ค ใ ใ ใ ใ
- ์์ ์ฝ๋์์, ๋ฑ ๋ณด๋, grid_sample์ ํตํด์ gamma์ beta์ ๋ํ ํจ์๊ฐ์ ์ ์ํ๋ ๊ฒ ๊ฐ๋ค.
- ์ผ๋จ ์ ๋ ฅ๊ฐ์ผ๋ก, nn.Parameter์ coordination ๊ฐ์ด ์๋ค๋ ๊ฑธ ๊ธฐ์ตํด๋ณด์.
- grid_sample ํจ์๋ ์์ ๊ฐ์ด ์ ์๋์ด ์๋ค.
- ์ฝ๋๋ฅผ ๋ณด๋, sampling ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํ ๊ฒ ๊ฐ์๋ฐ, bilinear interpolation ๋ณด๋ค ์ข ๋ ํจ๊ณผ์ ์ผ๋ก samplingํ ์ ์๋ function์ธ ๊ฒ ๊ฐ๋ค.
1. nn.Parameter๋ฅผ ํ์ฉํ์ฌ, ์์์ ์ผ๋ก sampling์ ์งํํ๋ค.
2. ์ ๋ ฅ๋ coordination์ ํด๋นํ๋ ์์น๋ฅผ ์ฐพ์์, ๊ทธ ์์น์ ํด๋นํ๋ nn.Parameter๋ก๋ถํฐ ๋ง๋ค์ด์ง vector space์์ ๊ฐ์ ธ์จ๋ค.
3. ๊ทธ๋ฆฌ๊ณ , view(2,-1,1)์ ํตํ์ฌ์, shape์ ๋ง์ถ์ด์, 0๋ฒ์งธ๋ฅผ gamma function์ผ๋ก ์ ์ํ๊ณ 1๋ฒ์งธ๋ beta function์ผ๋ก ์ ์ํ๋ค.
-> ์ด๊น๊ฐ์ผ๋ก, scale์ ์ ๋ถ 1, shift๋ ์ ๋ถ 0์ผ๋ก ์ค์ ํ๋ค.
+) ๊ธฐํ์ ์๋ฏธ๋ฅผ ๊ฐ์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์ grid ์ขํ๋ฅผ [-1,1]๋ก ์ค์ ํ์๋ค.
# ์ขํ (-1, 1)๋ก normalization ํ๋ ๋ฐฉ๋ฒ
# Input image์ width size์ height๋ฅผ ๊ณ ๋ คํ์ฌ์ (0, 1)๋ก resize
x /= IMAGE_WIDTH - 1
y /= IMAGE_HEIGHT - 1
# ์๋์ ๊ณผ์ ์ ํตํด์, (0,1) => (-1,1)
x = (x - 0.5) * 2
y = (y - 0.5) * 2
2. Coordinate priority for CAM
ํด๋น ๋ถ๋ถ์ input coordination์ด ๋ง์ฝ ๋์ ์ฐจ์์ด๋ผ๋ฉด, ์ด๋ค ๊ฒ์ ์ ํํ์ฌ์ grid๋ฅผ ํตํด scalar value๋ฅผ ๋ฝ์๋ด์ผ ํ๋๊ฐ์ ๋ํ ์ ์์ ์ค๋ช ์ด๋ค.
ํต์ฌ๋ถ๋ถ์, NeRF๋ฅผ ํ์ตํ ๋๋ view-direction์ ๋ํ coordination์ ์ถ๊ฐํ๊ณ , D-NeRF์ video representation์ ์๊ฐ์ถ์ ๋ํด์ ์ฐ์ ์์๋ฅผ ๋งค๊ธด๋ค.
์ฐ์ ์์๊ฐ ๋งค๊ฒจ์ง coordination์ ํ์ฉํ์ฌ์ grid๋ฅผ ํตํด scale ๋ฐ shift ๊ฐ์ ์ถ์ถํ๊ฒ ๋๋ค.
3. Feature normalization
ํด๋น ๋ถ๋ถ์ ๋๋ ๋ณด๊ณ ์กฐ๊ธ(?) ๋๋๋ค.
์ผ๋จ ๋ ผ๋ฌธ์ ์ ์๊ฐ ์ค๋ช ํ๋ ๊ฐ์ค์, CAM์์ intermediate feature๋ฅผ ๊ด์ฐฐํ์์ ๋, ๋ค์ํ ๋ถ์ฐ์ ๊ฐ์ง ํน์ง ๋ฒกํฐ๋ค์ด ํ์ตํ ๋ regularization์ด ์๋๋ ๊ฒ์ฒ๋ผ(?) ํ๋ํ๊ณ ์๋ค๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์, ๊ฐ intermediate feature๋ฅผ ๊ทธ๋ค์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ํ์ฉํด normalization์ ํด์ฃผ๊ณ ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ํ์ตํ์๊ณ , ์ด๋ฌ์ ๋ CAM์ด ๋ ์์ ํ๋๊ณ ์๋ ด์๋๊ฐ ๋นจ๋ผ์ก๋ค๊ณ ์์ ํ์๋ค.
๋ชจ๋ธ ์ ๋ ฅ๊ฐ ์ค๊ฐ์ normalization์ ์ ์ฉํ๋ค๋ ๊ฒ์ ์ฝ๊ฐ ์๋กญ๋ค(?)
- ์ ๊ฐ ์๋ชป ์ดํดํ ์ค ์๊ณ , ์ฝ๋๋ฅผ ์ดํด๋ดค๋๋ฐ ์ง์ง์๋ค?! ์์ฐ ใ ใ
IMAGE, NERF, VIDEO with CAM
IMAGE
์์์ ๋์จ, CAM ๋ฐฉ๋ฒ๋ก ๊ณผ ๊ฑฐ์ ๋น์ทํ ์๊ธฐ์ด๋ค.
๋ค๋ง IMAGE์ด๊ธฐ ๋๋ฌธ์, 2-dimensional coordinates๊ฐ ์ด์ฉ๋๋ค๋ ์ ์ด ์ฐจ๋ณ๋๋ค!
๋ํ feature normalization์์ ์ค๋ช ํ ๊ฒ ์ฒ๋ผ, intermediate feature F๊ฐ ๊ฐ layer๋ง๋ค normalization๋์ด์ ๋ค์ด๊ฐ๋ค.
๋๊ฐ์ด grid representation์ ํตํด์ scale๊ณผ shift factor๋ฅผ ์ถ์ถํ์ฌ ์ฌ์ฉํ๋ค.
์ถ๊ฐ๋ก, bilinearly interpolation์ ์ด๋ป๊ฒ ์ค๋ช ํ๋ฉด ์ข์๊นํ๋ค๊ฐ, ์์ฃผ ์ข์ ์๋ฃ๋ฅผ ์ฐพ์๋ค.
์ด ์๋ฃ๋, ์ ๊ฐ ์ํด์ ์ธ๊ธํ grid_sample์ ๋ํด์ ์์ฃผ ์์ธํ๊ฒ ๋ค๋ฃจ๊ณ ์์ด์, ํ๋ฒ ์ฝ์ด๋ณด๋ฉด ์ดํด์ ๋์์ด ๋ ๊ฒ ๊ฐ๋ค!
๋ ผ๋ฌธ์์ ์ธ๊ธํ ๋ด์ฉ์ ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, (์๊น ์ธ๊ธํ grid_sample ์ฝ๋์ ๋์จ ๋ณ์๋ช ์ ๊ธฐ์ค์ผ๋ก) grid์ ์ขํ๋ฅผ ๋ฐํ์ผ๋ก input์ ๋งค์นญ๋ ๋, ์์์ ์ด ์๊ธฐ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ฐ ์ด ์์์ ์ ํด๋นํ๋ ๊ฐ์ bilinear interpolation์ ์ด์ฉํ๋ค๋ ๊ฒ ๊ฐ๋ค.
NERF (Novel View Synthesis)
NeRF๋ ๋๊ฐ๋ค!
๋ค๋ง, ์ ๋ ฅ๊ฐ๊ณผ grid representation์ ์ด์ฉ๋๋ X์ ๊ฐ์ด ์ด์ง ๋ค๋ฅด๋ค๋ ์ ๋ง ์ ์ํ๋ฉด ๋๋ค.
MLP์ ๋ค์ด๊ฐ ๋๋, ๊ธฐ์กด NeRF์ฒ๋ผ 3์ฐจ์ ์ขํ๋ก ๋ถํฐ sampling ๋ S points์ camera parameters๋ค์ ํ์ฉํ์ฌ์, 5D feature๋ฅผ input์ผ๋ก ํ๋ฉด ๋๋ค.
๋ค๋ง, grid representation์์๋ camera parameter๋ง ์ด์ฉํด์ Nx2์ shape์ ๊ตฌ์ฑํ๋ค๋ ์ ! ์ ์ํด์ผํ๋ค.
๋ค๋ง, D-NeRF์ ๊ฐ์ dynamic scene์์๋ ์๊ฐ์ถ t๊ฐ ํต์ฌ์ด๊ธฐ ๋๋ฌธ์, grid representation์ ํ์ฉ๋๋ X๊ฐ 1์ฐจ์์ด๋ค.
VIDEO
VIDEO๋ D-NeRF์ ์ ์ฌํ๋ค.
CAM์์๋ NeRV ๋ ผ๋ฌธ์ ๊ธฐ๋ฐ์ผ๋ก, ์๊ฐ์ถ t๋ฅผ ํ์ฉํ์ฌ์ grid representation์ ์ํํ๋ค๊ณ ํ๋ค.
๊ฑฐ์ ๋ค ๋์ผํ์ง๋ง, ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ณ์ฐํ ๋, NxC๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ๊ฐ์ ์ฑ๋๋ง๋ค ๊ณ์ฐํ ๊ฐ์ผ๋ก normalizationํ ๊ฒ์ ์ ์ ์๋ค.
Result
- 1D signal์ ๋ํ ์ฑ๋ฅ๋ ์ข๋ค!
- Image generalization, novel view synthesis ๋ฟ๋ง ์๋๋ผ video representation์์๋ ์๋นํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.
- Dynamic scene์ ๋ํ ์ฑ๋ฅ๋ PSNR ๊ฐ์ด ๊ฐ์ฅ ๋๋ค..! (Parameter๋ ์ ์ด์ ํจ์จ์ ์ด๋ค)
Ablation study
- ํ์คํ CAM์์ ์ ์ํ grid-representation๊ณผ MLP๋ฅผ ํจ๊ป ์ ์ฉํ๋ ๋ฐฉ๋ฒ๋ก ์ด ์ ์๋ฏธํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค.
- 2024.02.09 Kyujinpy ์์ฑ.
(๊ฐ๋ง์ ์ฝ๊ฐ(?) ์ด๋ ค์ด ๋ ผ๋ฌธ์ ์ฝ๋๋ผ 2~3์๊ฐ์ ์ด ๊ฒ ๊ฐ๋ค! ๊ถ๊ธํ์ ์ ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์)