애니 논문: NeRF: 사진 몇 장으로 새로운 시점을 합성하다
NeRF: 여러 장의 사진으로 새로운 시점 만들기
NeRF(Neural Radiance Fields)는 Mildenhall 등이 ECCV 2020에서 발표한 기법으로, 한 장면을 여러 각도에서 찍은 사진 수십 장과 각 사진의 카메라 위치만 있으면 그 장면을 3차원으로 복원합니다. 장면을 삼각형 메시나 점구름으로 저장하는 대신, 공간의 한 점과 그 점을 바라보는 방향을 넣으면 색과 밀도를 답하는 신경망 하나로 표현합니다. 이 신경망을 광선을 따라 적분하는 볼륨 렌더링에 태우면 촬영하지 않은 시점의 이미지도 합성할 수 있고, 이 방식이 3D 캡처와 배경 제작의 흐름을 바꾸었습니다.
핵심 아이디어는 장면 자체를 신경 방사장(Neural Radiance Field)으로 두는 것입니다. 3차원 위치 (x, y, z)와 보는 방향 (θ, φ), 이렇게 5개의 값을 넣으면 그 점의 색 (R, G, B)과 체적 밀도 σ를 돌려주는 작은 신경망 하나가 장면 전체를 대신합니다.
위치 (x, y, z)는 장면 속 한 점의 좌표이고, 방향 (θ, φ)는 그 점을 어느 쪽에서 바라보는지를 나타냅니다. 방향을 함께 넣기 때문에 보는 각도에 따라 달라지는 반사나 광택을 표현할 수 있습니다. 출력 중 체적 밀도 σ는 그 점에서 빛이 얼마나 막히는지를 뜻하며, 방향과 무관하게 위치만으로 결정됩니다. 광선이 얼마나 통과했는지를 나타내는 투과율은 σ를 광선 위에서 누적해 계산합니다.
작동 원리와 볼륨 렌더링
NeRF는 장면을 여러 방향에서 촬영한 수십 장의 사진 데이터로 학습합니다. 각 사진은 특정 위치에서 촬영되어 장면의 다양한 각도와 깊이 정보를 담고 있습니다. 학습된 신경망 모델은 이러한 데이터를 바탕으로 미지의 시점에서의 이미지를 생성합니다.
학습부터 새 시점 합성까지의 과정은 다음과 같습니다:
- 데이터 수집: 장면을 여러 각도에서 촬영하고, COLMAP 같은 도구로 사진마다 카메라의 위치와 방향을 추정합니다.
- 신경망 학습: 카메라에서 픽셀마다 광선을 쏘고 그 위의 점들을 샘플링합니다. 신경망이 예측한 색과 밀도를 광선을 따라 누적해 만든 픽셀 색이 실제 사진과 같아지도록 파라미터를 갱신합니다.
- 새로운 시점 합성: 학습이 끝나면 사진에 없던 카메라 위치에서 같은 방식으로 광선을 쏘아 렌더링해 새 시점의 이미지를 얻습니다.
이 과정을 통해 실제 촬영이 어려운 복잡한 장면이나 특정 시점의 시각화를 효과적으로 구현할 수 있습니다.
실제 적용 사례와 체감 효과
쓸 때 좋은 점: 사진 수십 장과 카메라 위치만 있으면 3D 모델링 없이 장면이 만들어집니다. 유리·금속처럼 각도에 따라 색이 변하는 표면, 나뭇가지나 머리카락처럼 경계가 얇은 물체는 기존 포토그래메트리가 잘 무너지던 지점인데 NeRF는 여기서 눈에 띄게 낫습니다. 건축물 가상 투어, 영화·게임의 배경 캡처, VR/AR 콘텐츠처럼 실제 공간을 자유로운 시점으로 다시 보여줘야 하는 작업에 그대로 쓰입니다.
반면 힘든 점: 원본 NeRF는 장면 하나를 학습하는 데 고성능 GPU로도 하루 가까이 걸리고, 렌더링도 실시간과는 거리가 멉니다(Instant-NGP나 3D Gaussian Splatting 같은 후속 기법이 이 시간을 크게 줄였습니다). 촬영 각도가 충분히 겹치지 않거나 조명·노출이 흔들리면 허공에 안개 같은 뿌연 덩어리가 남고, 카메라 위치 추정이 어긋나면 결과가 통째로 무너집니다. 게다가 학습된 모델은 그 장면 전용이라 새 장면마다 처음부터 다시 학습해야 합니다.
시각적 이해: 예시 도식
NeRF를 통해 생성된 가상 이미지의 원리를 간단히 도식화하면 다음과 같습니다:
이 도식에서는 입력 좌표 가 신경망 모델 을 통해 색상과 밀도 정보를 얻어 최종적으로 새로운 시점의 이미지를 생성하는 과정을 보여줍니다.
출처
리깅 파이프라인 자동화 도구
반복 작업은 스크립트에게. 현업에서 쓰는 리깅 툴 모음.
리깅 도구 보기