Neural Radiance Field
- 다른 이름: NeRF, NeRFs, radiance field
- 카테고리: Sensing › 3D maps & reconstruction
- 태그: 3d-reconstruction, computer-vision, neural-rendering, perception, deep-learning
3D 위치와 보는 방향을 색상과 밀도로 대응시키는 신경 장면 표현으로, 자세가 알려진 이미지로 학습하여 장면의 새로운 시점을 렌더링할 수 있게 한다.
정의
신경 방사 필드(Neural Radiance Field, NeRF)는 신경망으로 3D 장면을 표현하는 방법으로, 2020년 Mildenhall 등이 제안했다. 네트워크는 3D 점과 보는 방향을 입력으로 받아 그 점에서의 색상과 부피 밀도를 출력한다. 새로운 카메라 자세에서 이미지를 렌더링하려면 각 픽셀을 지나는 광선을 쏘고, 광선을 따라 많은 샘플 점에서 네트워크를 평가한 뒤, 고전적인 볼륨 렌더링으로 밀도에 따라 가중해 색상을 합성한다.
NeRF는 카메라 자세가 알려진 장면 이미지 집합으로 학습되며, 카메라 자세는 보통 COLMAP 같은 SfM(structure-from-motion) 도구로 추정한다. 학습은 렌더링된 이미지가 실제 사진과 일치하도록 네트워크를 조정한다. 렌더링 과정이 미분 가능하므로 사진만으로 충분한 지도 신호가 되며, 3D 정답 데이터는 필요 없다. 입력 좌표의 위치 인코딩 덕분에 네트워크가 미세한 디테일을 포착할 수 있다.
원래 방법은 학습과 렌더링이 느렸다. 이후 연구는 다중 해상도 해시 그리드와 복셀 그리드 같은 더 빠른 장면 표현을 도입해 학습 시간을 몇 시간에서 몇 분으로 줄였고, NeRF를 대규모 장면, 동적 장면, 자세를 모르는 이미지로 확장했다. 나중에 나온 명시적 표현인 3D 가우시안 스플래팅(3D Gaussian Splatting)이 이제는 실시간 렌더링이 필요한 곳에서 자주 선택된다.
로봇공학에서 NeRF는 일반 카메라로부터 조밀한 형상과 외관을 제공한다. 밀도 필드에서 깊이를 읽을 수 있고, 색상과 함께 의미 필드나 특징 필드를 학습할 수 있으며, 표현을 임의의 점에서 질의할 수 있다. 한계로는 자세가 잘 추정된 시점이 많이 필요하다는 점, 적은 시점에서만 본 영역의 아티팩트, 그리고 장면이 바뀔 때 모델을 최신 상태로 유지하는 비용이 있다.
중요한 이유
NeRF는 깊이 센서 없이 카메라 이미지만으로 장면과 물체의 상세한 3D 모델을 만드는 방법을 로봇에 제공한다. 지도 작성, 물체 재구성, 파지 계획, 시뮬레이션에 새로운 접근법을 열었으며, 인식과 조작 및 내비게이션을 연결하는 연구에서 흔한 구성 요소이다.
주요 응용
- 카메라 이미지로부터 장면과 물체의 3D 재구성
- 시뮬레이션과 합성 학습 데이터를 위한 새로운 시점 렌더링
- 내비게이션과 검사를 위한 조밀한 지도 작성
- 농업 장면에서 과일 같은 물체의 위치 파악과 계수
- 재구성된 형상으로부터의 파지 계획
실제 사례
NeRF를 사용하는 로보틱스 팀은 보통 휴대용 카메라, 드론, 또는 로봇 자체 카메라로 이미지 집합을 촬영하고, COLMAP이나 로봇의 기구학으로 카메라 자세를 복원한 뒤, Nerfstudio 같은 프레임워크로 모델을 학습시킨다. 학습된 필드는 이후 오프라인으로 사용된다. 예를 들어 메시나 점군을 추출하거나, 파지 계획을 위한 깊이를 렌더링하거나, 물체의 위치를 파악하거나 개수를 세거나, 시뮬레이션과 합성 데이터를 위한 사실적인 시점을 생성한다. 학습과 갱신은 기존 지도 작성에 비해 여전히 비용이 크기 때문에 NeRF는 주로 정적 장면이나 일회성 재구성에 쓰이며, 팀은 형상을 신뢰하기 전에 학습에 쓰이지 않은 시점에서 재구성 품질을 확인한다.
흔한 오해
- NeRF는 3D 메시를 저장한다 — 네트워크 가중치에 연속 함수를 저장하며, 메시나 점군은 나중에 추출해야 한다
- NeRF에는 깊이 센서가 필요하다 — 카메라 자세가 알려진 일반 RGB 이미지로 학습된다
- 모든 NeRF는 실시간으로 렌더링된다 — 원래 정식화는 느리며, 실시간 사용은 가속된 변형이나 가우시안 스플래팅 같은 다른 표현에 의존한다
알아야 할 사람
- 3D 재구성을 다루는 인식 엔지니어
- 실제 장면으로부터 시뮬레이션을 구축하는 로봇 학습 연구자
- 농업 및 검사 로보틱스 팀
- 컴퓨터 비전 전공 학생
관련 기술
- 3D 가우시안 스플래팅(3D Gaussian Splatting)
- COLMAP
- SfM(Structure from Motion)
- Nerfstudio
- 볼륨 렌더링(Volume Rendering)
- 부호 거리 필드(Signed Distance Field)
관련 용어
관련 프로젝트
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- pySLAM: Hybrid Python/C++ visual SLAM pipeline with classic and deep-learning front-ends
- OpenMind OM1: AI-native operating system for robots with modular perception, cognition, and action
동영상
- NERFs (No, not that kind) - Neural Radiance Fields - Computerphile: Computerphile