View Synthesis
테이블 위에 커피가 반쯤 담긴 잔을 올려놓은 뒤, 카메라의 위치와 각도를 바꿔가며 여러 장의 사진을 찍습니다. 사진을 찍은 뒤 테이블과 커피잔은 모두 치웁니다. 그런 뒤 치우기 전의 모습을 본 적 없는 사람에게 사진만 보여주며 사진 속의 테이블 위에 커피잔이 놓인 모습을 떠올려 보도록 요청한다고 생각해 보겠습니다.
두세 장 정도라면 부족하겠지만, 서로 다른 각도에서 찍은 충분한 양의 사진들을 보고 난 뒤라면 마치 눈앞에 있는 것처럼 생생히 떠올리는 것도 어렵지 않을 것입니다. 바라보는 각도를 천천히 달리할 때 표면에 반사된 조명이 반짝거리는 모습, 반쯤 비쳐 보이는 커피잔 바닥의 색조가 점차 옅게 바뀌는 모습도 떠올려볼 수 있을 것입니다. 정확히 어떤 특정 각도에서 찍은 사진을 본 적이 없다 하더라도 그 각도에서 어떻게 보이는 것이 당연하고 자연스러울지 미루어 짐작할 수 있는 것입니다. 그렇다면 상상의 범주를 넘어 새로운 각도에서 촬영한 것처럼 보이는 이미지를 얻고자 한다면 어떤 방법이 있을 수 있을까요?
이처럼 하나의 공간을 다양한 각도에서 촬영한 이미지 여러 장을 바탕으로 해당 공간을 임의의 각도에서 바라본 새로운 View를 합성하는 과제를 View Synthesis라고 합니다. 이번 글에서 소개해드리려는 NeRF 또한 View Synthesis를 위해 제안된 모델입니다.
NeRF 이전에도 View Synthesis를 위해 다양한 방법이 제시되어 왔습니다. 그러나 충분한 품질의 결과물을 얻는 데에 어려움을 겪다가, NeRF에 이르러 실제 사진에 가까운 정확성과 사실성을 얻을 수 있게 되었습니다.
NeRF(Neural Radiance Field)
NeRF는 3차원 공간의 하나의 위치(x, y, z)와 해당 지점을 바라보는 방향(θ, φ)마다 하나의 색상(RGB)과 밀도(σ)를 가진다는 생각으로부터 출발합니다. 동일한 위치의 지점이라도 바라보는 방향에 따라 다른 색상을 가질 수 있으며, 밀도는 한 지점이 갖는 일종의 불투명도를 가리켜 말합니다. 밀도는 한 지점의 색상이 최종 색상에 반영되는 정도를 결정하는 값으로, 위치가 같다면 바라보는 방향과 상관없이 일정합니다.
이로써 하나의 정적인 공간을 위치와 방향(x, y, z, θ, φ)을 입력받았을 때 하나의 색상과 밀도(RGBσ)를 반환하는 5차원 함수로 표현할 수 있습니다. NeRF는 하나의 네트워크를 이 5차원 함수에 근사하도록 학습시켜, 임의의 카메라 위치와 각도가 주어졌을 때 이미지상의 각 픽셀이 어떤 색상 값을 가지게 될지 계산하는 데에 사용합니다.
Rendering Procedure
NeRF가 임의의 지점에서 바라본 하나의 View를 렌더링 할 때, 한 픽셀의 색상값은 카메라 렌즈로 들어오는 일직선 위의 지점들의 색상을 누적하여 결정됩니다. NeRF는 광선 위의 지점들을 샘플링하여, 각 지점의 위치와 일직선의 각도로부터 네트워크의 출력값을 계산해 광선 위 해당 지점의 색상과 밀도를 얻습니다. 각 지점의 색상은 해당 지점의 밀도와 투과도만큼 누적됩니다. 밀도는 해당 지점의 고유한 값이며, 카메라 위치로부터 해당 지점까지 누적된 밀도가 높을수록 투과도는 0에 가까워집니다. 다시 말해 (1) 한 지점의 밀도가 높아 불투명하고 (2) 지점과 카메라 사이의 지점들의 밀도가 낮아 투과도가 높을수록 색상이 픽셀에 많이 반영된다고 할 수 있습니다. 네트워크는 이와 같은 방식으로 렌더링 된 픽셀의 색상과 실제 View의 픽셀 색상의 차이를 줄여나가는 방향으로 학습됩니다.
NeRF-based Novel View Synthesis
NeRF는 간결한 아이디어와 좋은 성능으로 처음 공개된 직후 큰 반향을 일으켰습니다. 그 뒤로 많은 후속 논문이 뒤를 이었으며 지금도 다양한 방향의 연구가 이루어지고 있습니다. 표현의 디테일과 전반적인 성능은 물론, 학습 속도와 렌더링 속도 역시 여러 테크닉을 통해 크게 향상되었으며 그 외에도 실사용을 고려한 흥미로운 연구 주제들이 존재합니다. NeRF 계열 모델의 발전을 앞으로도 기대해 볼 수 있는 이유입니다.
참고자료
[1] NeRF : Representing Scenes as Neural Radiance Fields for View Synthesis https://arxiv.org/abs/2003.08934
[2] NeRF in the Dark: High Dynamic Range View Synthesis from Noisy Raw Images https://arxiv.org/abs/2111.13679
[3] NeRF: Neural Radiance Field in 3D Vision, A Comprehensive Review https://arxiv.org/abs/2210.0037