๐ฐ๐ท ํ๊ตญ์ด / ๐ฌ๐ง English
ํฌ์ค๋ณด์ด ํ๋์ด๊ฐ ์๋ ค์ฃผ๋ ์ ํํ ํ๋ญํฌ ์์ธ! ํฌ์ฐฝ์ด ๋๊ณ ์ถ์ ์ฌ๋๋ค์ NeRF๋ชจ๋ธ์ ์ด์ฉํด ๋ฝ์, ํ๋์ด ํผ๊ท์ด๋ฅผ ์๋ฆฌ์กฐ๋ฆฌ ์ดํด๋ณด๊ณ ์์ ๊ณผ ๋น๊ตํ๋ฉฐ ์ด๋ํด๋ณด๋๊ฑด ์ด๋จ๊น? ๐๐ป
๋ฐ์ดํฐ์ผ๋์ 2022 ํ๋ก์ ํธ ์ค๋ช ๋ฐํ์์ / ๋ฐํ์๋ฃ
์ต์ข ๊ฒฐ๊ณผ๋ฌผ (์ค์ ํผ๊ท์ด), ๊ฒฐ๊ณผ๋ฌผ ์ ์ฑํ๊ฐ | NeRF 3D ํํ |
---|---|
PlankHyundong/
โโโ nerf_quick_start.ipynb
โโโ notebooks
โ โโโ nerf_colab.ipynb
โ โโโ nerf_wandb_colab.ipynb
โ โโโ colmap_colab.ipynb
โ โโโ extract_mesh_colab.ipynb
โ โโโ sampling_colab.ipynb
โโโ data
โโโ video
โ โโโ video.MOV
โโโ (images)
โ โโโ ...
โโโ (logs)
โโโ ...
- notebook ํด๋์๋ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋๋ ํ์ดํ๋ผ์ธ์ ํ์ํ ๋ ธํธ๋ถ์ด ๊ฐ๊ฐ ์ ์ฅ๋์ด ์์ต๋๋ค.
- ์ ์ฒด ์ํฌํ๋ก๋ฅผ ๋น ๋ฅด๊ฒ ํ์ด๋ณผ ์ ์๋๋ก
nerf_quick_start.ipynb
์ด๋ผ๋ ๋จ์ผ ๋ ธํธ๋ถ์ ์ ๊ณตํฉ๋๋ค. nerf_quick_start.ipynb
์ ์ด 4๋จ๊ณ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ์ํ ๋ฐ์ดํฐ๋
data/video/video.MOV
์ ๊ฒฝ๋ก์ ์์ต๋๋ค. - ์ฒ์ ๋ถ๋ถ์ ํด๋น ํด๋๋ฅผ clone๋ฐ๋ ์ ์ ์ถ๊ฐํด๋์์ต๋๋ค.
- ์ ํด๋์
images
,logs
๋ผ๋ ํ์ ํด๋๋ฅผ ์์ฑํฉ๋๋ค. ๊ฐ ํด๋์๋ ์ํ๋งํ ์ด๋ฏธ์ง๋ค๊ณผ config, mesh, weight ๋ฐ ์์ ํ์ผ ๋ฑ์ด ์ ์ฅ๋ฉ๋๋ค.
output | ์ค๋ช | |
---|---|---|
1๏ธโฃ | RGB ๋น๋์ค | ํผ์ฌ์ฒด๋ฅผ ๊ฐ์ด๋ฐ์ ๋๊ณ ์ดฌ์์๊ฐ 360๋๋ก ํ์ ํ๋ฉฐ ์์์ ์์งํฉ๋๋ค. |
2๏ธโฃ | N * RGB ์ด๋ฏธ์ง ์ธํธ | ๋น๋์ค๋ฅผ ์ํ๋งํ์ฌ ์ด๋ฏธ์ง๋ค์ ์ป์ด๋ ๋๋ค. |
3๏ธโฃ | N * ์นด๋ฉ๋ผ ํฌ์ฆ ์ธํธ | ์นด๋ฉ๋ผ ํฌ์ฆ๋ NeRF ํ์ต์ ํ์ํฉ๋๋ค. 2๏ธโฃ ์์ ์ํ๋ง๋ ์ด๋ฏธ์ง๋ค์ LLFF๋ฅผ ์ํํฉ๋๋ค. |
4๏ธโฃ | ํ์ต๋ NeRF ๋ชจ๋ธ ํ์ผ | NeRF ๋ชจ๋ธ์ ํ์ต์ํต๋๋ค. NeRF ๋ชจ๋ธ์ ๋ด๊ธด 3D ํํ์ implicit 3D ํํ์ด๋ผ๊ณ ํฉ๋๋ค. |
5๏ธโฃ | ๋ฉ์ฌ ์ค๋ธ์ ํธ ํ์ผ | implicit 3D ํํ์ ๋ฉ์ฌ๋ฅผ ์ ์ฉํฉ๋๋ค. 'explicit' 3D ํํ์ ํํ๋ก ๋ณํํฉ๋๋ค. |
6๏ธโฃ | 3D ํ๋ฆฐํฐ ์ธ์ ํ์ผ | ์ฌ๋ผ์ด์ ์ํํธ์จ์ด๋ฅผ ์ด์ฉํฉ๋๋ค. 3D ํ๋ฆฐํฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ธํ ํ๊ณ ์ธ์ ์ค๋น๋ฅผ ๋ง์นฉ๋๋ค. |
6๏ธโฃ | 3D ํ๋ฆฐํฐ๋ก ์ถ๋ ฅํ ํผ๊ท์ด | 3D ํ๋ฆฐํฐ๋ก ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ๋ฝ์๋ ๋๋ค. |
์๋์์๋ ํ์ดํ๋ผ์ธ ๊ฐ๊ฐ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๊ถ์ฅ, 360๋ ์ดฌ์ |
---|
์ด ํ๋ก์ ํธ์์ ์ดฌ์ํ ๋ฐฉ๋ฒ |
โ ์ดฌ์ ๊ถ์ฅ์ฌํญ๊ณผ ์ฃผ์์ฌํญ์ ๋ค์์ ํ์ธํด์ฃผ์ธ์!
- ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ์ดฌ์ํ ๋น๋์ค๋ฅผ ์ด๋ฏธ์ง๋ก ๋ฑ๊ฐ๊ฒฉ ์ํ๋งํฉ๋๋ค.
- โ ์นด๋ฉ๋ผ ํธ๋์ ํ ๋ฆฌ๊ฐ ๊ธธ๋ค๋ฉด ๋ ์๊ฒ ์๋ผ ์ฃผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- โ ์นด๋ฉ๋ผ ํธ๋์ ํ ๋ฆฌ๊ฐ ์งง๊ณ ๋ ์ฆ๋ฅผ ์ด์ด๋๋ ์๊ฐ์ด ์งง์ ๊ฒฝ์ฐ, ๋์์์ผ๋ก๋ถํฐ ์ด๋ฏธ์ง๋ฅผ ๋๋ฌด ์๊ฒ ์ํ๋งํ๋ค๋ฉด ์ฑ๋ฅ์ ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
โ ์์ธํ ํ๋ผ๋ฏธํฐ๋ ๋ค์์ ํ์ธํด์ฃผ์ธ์!
NOTE: ๋ฐ๋์ GPU ๋ฐํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- NeRF ์ ์ ๋ ฅ์ (์ด๋ฏธ์ง, ์นด๋ฉ๋ผํฌ์ฆ) ์ ์งํฉ์ ๋๋ค.
- ์ปค์คํ ์ด๋ฏธ์ง๋ก๋ถํฐ ์ด๋ฏธ์ง ๊ฐ๊ฐ์ ํด๋นํ๋ ์นด๋ฉ๋ผ ํฌ์ฆ๋ฅผ ๊ณ์ฐํ๊ธฐ ์ํด COLMAP์ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ LLFF ์ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์คํ์ด ์๋ฃ๋๋ฉด ๋ฐ์ดํฐ์
ํด๋ ์์ NeRF ๋ชจ๋ธ์ ์คํ์ํค๋ ๋ฐ ํ์ํ
poses_bounds.npy
ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
โ LLFF ํ๊ฒฝ ๊ตฌ์ถ์ ์ด๋ ค์์ด ์๊ธฐ๋ฉด ๋ค์์ ํ์ธํด์ฃผ์ธ์!
NOTE: ๋ฐ๋์ GPU ๋ฐํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
์ต์ | ์ญํ |
---|---|
--no_ndc , --spherify , --lindisp |
forward facing scene ์์๋ ํ์ํ์ง ์์ง๋ง, 360 scene ์ ๋ํด์๋ ๋ฐ๋์ ์ฌ์ฉํด์ผ ํ๋ ํ๋๊ทธ์ ๋๋ค. |
RGB | RGB_still | disparity |
---|---|---|
โ wandb ์ฐ๋๊ณผ nerf ํ๋ผ๋ฏธํฐ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ๋ค์์ ํ์ธํด์ฃผ์ธ์!
NOTE: ๋ฐ๋์ GPU ๋ฐํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- NeRF ๋ชจ๋ธ๋ก ํ์ต์ํจ ํ์ต์ํจ ๋ชจ๋ธ์ ๋ก๋ํ ๋ค,
PyMCubes
ํจํค์ง๋ฅผ ํตํด ํ๋ฉด(iso-surface)์ ์ถ์ถํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฌผ์ธ3d.obj
ํ์ผ์ ์ ์ฅํ๋ ๋จ๊ณ์ ๋๋ค. - ํ์ต๋ NeRF ๋ชจ๋ธ์ 3D ํํ(implicit representation)์ ์๊ฐํ ํ๊ธฐ ์ํด
pyrender
์ ์ด์ฉํดturntable.mp4
์์์ ์์ฑํฉ๋๋ค. - ์ด ๋ ธํธ๋ถ์ ์ถ์ฒ๋ NeRF ๊ณต์ ์ ์ฅ์์ ๋๋ค.
- ์๋ฎฌ๋ ์ดํฐ๋ฅผ ํตํด ์์งํ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ ์ง์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ํตํด NeRF ๋ชจ๋ธ์ ํ์ต์์ผฐ๊ธฐ ๋๋ฌธ์ ์ถ์ถํ mesh์ ๋ ธ์ด์ฆ๊ฐ ๋ง์ ์ ์์ต๋๋ค.
- ์ด ๊ฒฝ์ฐ 3d ํ๋ฆฐํฐ๋ก ์ถ๋ ฅ ์ blender๋ก ์ง์ ๋ ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํด์ฃผ์ด์ผ ํฉ๋๋ค.
โ ๋ฉ์ฌ ๋ง๋ค๊ธฐ์ ๊ด๋ จ๋ ํ๋ผ๋ฏธํฐ์ ์คํ ๊ฒฐ๊ณผ์ ๋ฐ์ดํฐ์ ๋ฐ๋ฅธ mesh ๋ค๋ฌ๊ธฐ ์ ์์ฌํญ์ ์๊ณ ์ถ๋ค๋ฉด, ๋ค์์ ํ์ธํด์ฃผ์ธ์!
์ฌ๋ผ์ด์ ์ํํธ์จ์ด | ์ถ๋ ฅ ์ค์ธ ๋ชจ์ต |
---|---|
โ 3D ํ๋ฆฐํฐ ์ต์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์๊ณ ์ถ๋ค๋ฉด ๋ค์์ ํ์ธํด์ฃผ์ธ์!
before | after | |
---|---|---|
๋ผํํธ ์ ๊ฑฐ |
- Google COLAB
- ํ๋ญํฌํ๋ํ์ ๋ชจ๋ ์คํ์ Google COLAB Pro, Google COLAB Pro+ ์์ ์งํ๋์์ต๋๋ค.
- ํ๊ฒฝ์ ๋ํ ๊ฑฑ์ ์์ด ์คํํ ์ ์๋๋ก ์ด๋ฏธ ์์กด์ฑ์ด ๋ชจ๋ ์คํฌ๋ฆฝํธ๋ก ์ ์๋์ด ์๋ ํ๋ญํฌํ๋ํ์ ๋ ธํธ๋ถ๋ค์ด ์ค๋น๋์ด ์์ต๋๋ค.
- Weight and Bias (wandb)
- Local Light Field Fusion (LLFF), COLMAP
- Tensorflow 1.15
- NeRF ๊ณต์ ์ ์ฅ์์ NeRF ๊ณต์ ์ ์ฅ์๋ฅผ ์์ ํ์ฌ wandb ๊ฐ ์๋์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ์์ ํ ์ ์ฅ์๋ TensorFlow 1.15 ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Google COLAB | WandB | Tensorflow (1.15.x) |
---|---|---|
Blender | Sindoh | 3DWOX1/DP203 |
---|---|---|
YongJae Cho ๐ง |
dusruddl2 ๐ ๐ป |
Sumyeong-Jang ๐ ๐ป |
Janghoo Lee ๐ ๐ป |
cmoweg ๐ ๐ป |
Seung-Jun Chu ๐ป ๐ง |
yunimini ๐ป |
Heeheegwan ๐ป ๐ง |
namsuhan-hub ๐ป |
- ์ด ํ๋ก์ ํธ๋ all-contributors ์คํ์ ์ค์ํฉ๋๋ค. ์ด๋ค ๊ธฐ์ฌ์ด๋ ์๊ด์์ด ํ์ํฉ๋๋ค!
- ์ธ์ข ๋ํ๊ต ์ธ๊ณต์ง๋ฅ ๋์๋ฆฌ SAI
- ํ๋ก์ ํธ ์นธ๋ฐ