paper link: https://arxiv.org/abs/2003.08934
Abstract
input = single continuous 5D coordinate(spatial location (x, y, z) and viewing direction(θ, φ))
-> camera rays 에서 얻은 5d coordinates + classic volume rendering techniques
-> output = volume density and view-dependent emitted radiance at that spatial location.
1. Introduction
(convolutional layers가 아닌) fully-connected neural network 를 최적화 한다.
from a single 5d coordinate to a single volume density and view-dependent RGB color
Process
1. 3d point들의 sample set을 생성하기 위해 camera rays를 scene에 걸쳐 전진(march)시킨다.(ray marching 참고)
2. 3d point들과 그에 해당하는 2d viewing directions를 neural network의 input으로 사용하고 이것은 output set의 color와 density들을 생성하도록 한다.
3. 이런 color와 density들을 2d image에 쌓기 위해 classical volume rendering techniques를 사용한다.
이러한 process는 미분 가능(differentiable) 하기 때문에 우리는 각 관찰된 이미지와 해당하는 views 사이의 에러를 줄이면서 모델을 최적화하기 위해 gradient decent를 사용할 수 있다.
적절하게 high-frequency scene representation을 sample 하도록 요구되는 query의 개수를 줄이기 위해 hierarchical sampling procedure 를 제시한다.
우리의 업적은 volumetric representations의 장점을 상속한다.
복잡한 현세계의 geometry와 appearance를 표현할 수 있고 사영된(projected) image들을 사용하는 gradient-based 최적화에 잘 맞는다.
- complex geometry와 matrials를 continuous scenes 에 표현하는 것
- 미분가능한 rendering procedure
- 각 5d input을 higher dimentional space에 맵핑시키기 위한 positional encoding
2. Related Work
computer vision에서 유망한 최근의 방향은 object와 scene들을 직접적으로 3d spatial location에서 implicit representation으로 (signed distance와 같이) 맵핑 시키는 MLP의 weights 안에 encoding 시키는 것이다. 이런 방법들은 현실적인 scene을 재생성하기에는 어렵다. 이 부분에서는 업적 자랑.
Neural 3D shape representations
최근 연구는 xyz coordinates을 signed distance functions / occpancy fields 로 맵핑시키는 deep networks를 최적화시킴으로써 continuous 3d shapes(level sets 처럼)의 implicit representation을 연구하고 있다.
복잡하고 high resolution geometry를 잠재적으로 나타낼 수 있음에도 불구하고, oversmoothed renderings 를 결과로 보여주면서 low geometric omplexity를 가진 간단한 shape에는 한계가 존재한다.
그래서 우리가 제안한다.
View synthesis and image-baed rendering
image reprojection 기반의 gradient-based mesh optimization은 주로 어렵다. loss landscape의 local minima 혹은 ㅔoor conditioning 때문에. 더불어 이런 전략은 최적화 전에 초기화로써 제공되는 fixed topology(이것은 일반적으로 현실세계에서 불가능한)를 포함하는 template mesh를 필요로 한다.
mesh based methods 보다 volumetric approaches가 낫다.
deep fully-connected neural network의 파라미터들 없이 continuous volume을 인코딩하는 것을 대신 함으로써 문제를 해결한다.
이것은 이전 volumetric approach 들보다 현저히 높은 품질의 랜더링을 생산해낸다. 또한 일부 storage cost만을 요구한다.
3. Neural Radiance Field Scene Representation
3D Cartesian unit vector D 로써 direction을 나타낸다.
MLP network:
3d coordinates X -> 8 fully-connected layers(ReLU activations, layer 당 256 channels)
=> outputs, 256-dimensional feature vector
여기서 나온 feature vector + camera ray's viewing direction -> 1 fully-connected layer(ReLU activiations, 128 channels)
=> view-dependent RGB color
4. Volume Rendering with Radiance Fields
어려운 공식
5. Optimizing a Neural Radiance Field
5.1 Positional encoding
Rahaman et al. 에서 deep networks는 낮은 frequency functions를 학습하는 것으로 편향된다는 것을 보여준다. 추가적으로 input을 네트워크로 전달하기 전에 high frequency functions를 사용하면서 higher dimensional space로 맵핑하는 것은 high frequency variation을 포함하는 데이터의 더 나은 fitting이 가능하게 한다.
transformer에서 사용되는 positional encoding은 input으로써 sequence안에서 token의 discrete positions을 순서의 개념이 없는 architecture에 전달하는 다른 목적을 가지고 있다. 반대로, 우리는 이러한 방법을 higher dimensional space에 continuous input coordinates에 맵핑하기 위해 사용한다. 이 방법은 MLP가 higher frequency function에 더 쉽게 근접하도록 한다.
5.2 Hierarchical volume sampling
sample들을 마지막 랜더링에서 그들의 예상된 결과로 균형있게 배치함으로써 랜더링 효율을 높인다.
우리는 동시에 두 개의 네트워크를 최적화한다. coarse, fine
5.3 Implementation details
batch size: 4096
Nc = 64 coordinates in the coarse volume
Nf = 128 additional coordiantes in the fine volume
optimizer: Adam(beta1 = 0.9, beta2 = 0.999, epsilon = 10-7)
learning rate: 5 x 10-4
decays: exponentially to 5 x 10-5
100-300k iterations to converage on a single NVIDIA V100 GPU(about 1-2 days)
6. Results
6.1 Datasets
Synthetic renderings of objects
DeepVosels dataset: 4 Lambertian(모든 방향에서 똑같은 밝기로 보이는 표면) objects, 512 x 512 pixels, upper heimsphere)
+ our own dataset(8 objects, non-Lambertian material. 6개의 viewpoints는 upper heimsphere, 2개는 full sphere, 800x800 pixels)
Real images of complex scenes
손에 잡히는 cellphone으로 찍은 8 scenes (LLFF 에서 5개, 우리가 찍은 3개)
20-62개의 이미지들, 1/8은 test set 으로 분리, 모든 이미지는 1008 x 756 pixels
6.2 Comparisons
Neural Volumes(NV)
Scene Representation Networks (SRN)
Local Light Field Fusion(LLFF)
6.3 Discussion
우리 방법은 network weights를 위해 5MB 만 필요
6.4 Ablation studies
7. Conclusion
hierarchical sampling strategy의 발전 가능성
deep neural network의 weights 안에서 scenes 을 encoding 하는 것에 대한 해석가능성