pixel의 color는 pixel frustum 내에 존재하는 incoming radiance의 integration으로 계산됩니다. NeRF는 하나의 매우 작은 ray포인트로 캐스팅하기 때문에, aliasing이 발생합니다. conic 형태로 인코딩하게 되면, ray point의 volume 정보와 함께 샘플링하는 효과를 얻습니다.
사진과 같이 NeRF point sampling을 적용하게 되면, sample의 volume의 모양이나 크기가 고려되지 않게 ray가 샘플링됩니다.
따라서 1️⃣ cone 모양의 ray casting을 구현하여, 해당 문제를 해결하였습니다. 또한 encoding 과정에서 conical frustum에 맞는 2️⃣ IPE를 적용하였습니다.
1. Cone Tracing
기존 ray casting은 r(t)=o+td로 이루어지는 반면, cone casting에서는 radius를 정하고 반경 내의 ray를 casting합니다. cone의 radius r^은 world 좌표계 픽셀의 넓이에 2/12로 scale한 값으로 설정됩니다.
위의 그림과 같이 1️⃣ radius 내, 2️⃣ t0에서 t1 사이에 존재하는 points를 샘플링합니다. 해당 포인트 샘플링 식은 다음과 같습니다.
하지만, 위의 Expected PE는 closed form solution을 가지지 않기 때문에 cost를 알 수 없습니다. 따라서 conical frustum을 다변수 가우시안으로 근사하여 표현하는 방법을 고안하였고, 이것이 intergrated positional encoding(IPE)입니다.
2. IPE
F(x,⋅)로부터 ray mean distance μt와 ray variance σt2, σr2(perpendicular to rays)를 구하는 것으로 가우시안을 특정할 수 있습니다.
위의 값들을 통해 최종적인 다변수 가우시안을 표현하면 다음과 같습니다.
μ=o+μtd,Σ=σt2(dd⊤)+σr2(I−∣∣d∣∣22dd⊤)
Fourier Feature for PE
해당 가우시안에 Fourier feature을 적용하는 과정입니다. 우선 기존 PE를 matrix P와 sin, cos 행렬로 표현합니다.
multiscale scene 표현이 가능해졌으므로 single MLP만 사용합니다.
- encoding 과정에서 이미 volume이 고려되기 때문에 hierarchical sampling의 효과를 얻습니다.
- 모델 사이즈가 절반으로 줄게 됩니다. (fine network X)
NeRF보다 7% 빠르며, multiscale dataset에 대해선 22% 더 빠른 속도를 보입니다.
Reference
[1] Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields, Jonathan T. Barron, Google, https://arxiv.org/pdf/2103.13415