일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Python
- web
- nerf
- 자료구조
- 딥러닝
- nlp
- Torch
- classification
- computervision
- 3d
- Vision
- pytorch
- algorithm
- Depth estimation
- clean code
- GAN
- 알고리즘
- math
- cs
- 머신러닝
- dl
- Front
- PRML
- SSL
- Meta Learning
- FGVC
- FineGrained
- CV
- ML
- REACT
- Today
- Total
KalelPark's LAB
[ Computer Vision ] What's Neural Radiance Fields? 본문
What's Neural Radiance Fields?
NeRF는 2D 이미지를 3D로 변환해주는 모델입니다. 쉽게 말하자면, 여러 장의 이미지를 입력 받아, 새로운 시점에서의 물체 이미지를 만들어내는 View Synthesis 모델입니다. N개 시점에서 불연속적인 2D 이미지를 입력 받아, 이미지가 연속적으로 구성될 수 있도록 임의의 시점에서 새로운 이미지를 만들어냅니다.
NeRF의와 기존 기술과의 차별점
2D 이미지에서 3D 모델을 추출해내는 기술 자체는 이미 기존에도 존재했던 기술입니다. Photogrammetry 기법 혹은 3D scanning을 이용한 3D 모델 생성 등은 여러 산업 현장에서 쓰이는 기술이지만, NeRF는 이들과 몇가지 근본적인 차별점이 존재합니다.
NerF는 훌륭한 빛 반사가 가능합니다. 기존 여러가지 스캐닝 방식은 빛을 반사하거나, 투명한 물체를 스캐닝하기 상당히 어렵습니다.
그러나 NeRF의 경우 특정 시점에서 바라본 물체/전경의 빛 반사까지 고려하여 3D 공간을 만들어내기에 한정적인 대상에 그치지 않고, 다양한 광경이나 객체를 3D화 할 수 있습니다.
또한, 초기 비용 및 리소스가 적게 듭니다. 기존 Photogrammetry기법들은 레이저나 스캐너 혹은 라이다를 사용하지만, 단순한 사진만을 가지고, 변환하는 것이 가능하기에, 상당히 비용이 적습니다.
NeRF의 한계 및 문제점 그리고 발전
대상 객체와 움직이 없는 정적인 물체에 제한된다는 문제점이 존재합니다. 또한 산출물 생성 시간입니다. 학습에 소요되는 시간이 상당히 크다는 단점이 존재합니다. 하지만, 최근 NeRF는 계속해서 발전을 해오고 있으며, 여러 논문들이 쏟아져 나오고 있습니다.
(하단 논문을 참고하시기 바랍니다.)
1. D-NeRF (Dynamic NeRF) : 시간을 반영하여, 객체의 움직임을 포착하는 것이 가능합니다. (Product는 아직 제한적)
2. NeRFPlayer : 상당히 빠른 속도로의 학습를 보여줍니다. (Frame pers 10s)
3. NeRF2Mesh : 후처리 툴로 3D 객체의 주변 시각적인 정보도 풍부하게 표현이 가능합니다.
* 또 다양한 논문으로는 Instruct-NeRF2NeRF 와 Ref-NPR, NeRF-Art를 권장합니다.
NeRF의 원리
NeRF는 물체의 위치 정보(Spatial Location)과 물체를 바라보는 방향(Viewing Direction)을 포함한 5차원 데이터를 입력받아,
RGB 값과 물체의 밀도(density)를 예측하는 완전 연결 계층을 학습합니다. 우선 물체의 위치 정보인 (x, y, z)만을 8개의 FC를 통과하여, 물체의 밀도를 예측합니다. 기존의 위치 정보와 물체를 바라보는 방향 값을 합쳐 9번째 FC를 통과시켜 RGB를 예측합니다. 이는 (Lambertian Effect) 때문입니다. 물체의 밀도는 각도와 상관 없이 동일해야 하므로, 처음 8개의 layer를 거칠 때 위치 정보만을 가지고 밀도를 파악하고, 색은 물체의 방향에 따라 다르기 때문에, 마지막 FC에 Input으로 활용합니다.
Volume Rendering
Image Rendering 분야에서 이미 사용되고 있으며, MLP로부터 얻은 RGB 값과 Density 값을 통하여, 하나의 Pixel 값을 생성합니다.
이러한 집합들을 여러 이미지로부터 얻은 Pixel들을 모아 물체를 생성합니다.
Reference
https://blog.testworks.co.kr/what-does-nerf-mean-in-ai/
'Data Science > Common' 카테고리의 다른 글
[ Computer Vision ] Gram Matrix(그람 행렬)란? (0) | 2023.05.12 |
---|---|
[ Computer Vision ] Unary Potential란? (0) | 2023.05.02 |
[ Computer Vision ] SAD(Sum of Absolute)란? (0) | 2023.05.01 |
[ Computer Vision ] 3D Vision과 관련된 여러 용어들 (0) | 2023.04.30 |
[ Computer Vision ] Mono Depth Estimation이란? (0) | 2023.04.28 |