iMAP
Sucar 2021 · 논문
한 줄 요약 — 최초의 NeRF 스타일 SLAM 시스템: 단일 MLP가 사전 데이터 없이 실시간으로 학습되어, 실시간 RGB-D 추적과 매핑의 유일한 장면 표현으로 사용됩니다.
문제
밀집 RGB-D SLAM은 항상 명시적인 지도 구조 — TSDF 복셀 그리드(KinectFusion), 서펠(ElasticFusion) — 에 의존해 왔으며, 이는 신중한 메모리 관리를 필요로 하고, 해상도를 사전에 고정하며, 카메라가 한 번도 보지 못한 곳에는 구멍을 남깁니다. NeRF는 MLP가 장면을 연속적이고 컴팩트하게 표현할 수 있음을 이미 보여주었지만, 이는 포즈가 알려진 이미지에 대한 수 시간의 오프라인 학습을 통해서만 가능했습니다. iMAP은 MLP가 실시간 SLAM 시스템의 지도 그 자체가 될 수 있는지를 물었습니다: 손에 든 RGB-D 카메라의 스트림에서 “사전 데이터 없이 실시간 동작 중에 학습”되면서, 동시에 추적에도 사용됩니다.
방법 및 아키텍처
지도 네트워크. 폭 256의 은닉층 4개를 가진 단일 MLP가 3D 포인트를 색상과 볼륨 밀도로 매핑합니다, — 시선 방향은 입력에 없습니다(반사광은 모델링되지 않습니다). 입력은 최적화 가능한 가우시안 위치 임베딩 (는 행렬, , 임베딩 크기 93)를 통과하며, 이는 두 번째 레이어에도 연결(concatenate)됩니다.
미분 가능 렌더링. 포즈 를 가진 픽셀 에 대해, 역투영된 광선을 따라 개의 샘플 이 취해집니다(coarse 32개 + fine 12개 구간). 밀도는 점유율 ()가 되고, 광선 종료 가중치는 이며, 깊이·색상·깊이 분산은 다음과 같이 렌더링됩니다
결합 최적화(매핑). 네트워크 가중치 와 키프레임 포즈 는 희소 픽셀 샘플 에 대해 ADAM으로 함께 최적화되며, ()를 최소화합니다. 여기서 광도 손실은 L1 오차이고, 기하학적 손실은 물체 경계와 같이 불확실한 영역의 가중치를 낮추기 위해 분산으로 정규화됩니다:
병렬 추적. PTAM의 분리 방식을 따라, 별도의 프로세스가 동일한 손실로 고정된 네트워크에 대해 실시간 카메라 포즈만을 약 10 Hz로 최적화하며, 결합 매핑은 약 2 Hz로 실행됩니다. 둘 다 하나의 데스크톱 GPU 위에서 순수 PyTorch 멀티프로세싱으로 동작합니다.
망각 방지를 위한 키프레임 선택. (고정된 지도 스냅샷 기준으로) 정규화된 깊이 오차가 미만인 픽셀의 비율 가 아래로 떨어지면, 즉 상당히 새로운 영역이 보이면 해당 프레임이 키프레임이 됩니다. 키프레임 집합은 재생 메모리 뱅크 역할을 하여 단일 MLP가 장면의 이전 부분을 치명적으로 망각하지 않도록 합니다.
능동 샘플링. 반복마다 이미지당 200개의 픽셀만 렌더링됩니다. 각 이미지는 그리드로 나뉘고, 셀별 평균 손실이 분포 로 정규화되며, 새 샘플은 이에 비례하여 배정되어 지도가 불확실한 곳에 계산을 집중시킵니다. 동일한 손실-비례 방식이 키프레임 간에도 샘플을 배정하며, 매핑 반복마다 개 프레임(손실 기반으로 샘플링된 키프레임 3개 + 마지막 키프레임 + 실시간 프레임)의 한정된 윈도우가 최적화됩니다.
실험 결과
- Replica(방 규모 8개 장면, 2000프레임 궤적): 평균 Accuracy 4.43 cm, Completion 5.56 cm, Completion Ratio(<5 cm) 79.06%를 평균 약 13개의 키프레임만으로 달성 — iMAP의 포즈를 사용한 TSDF fusion의 3.45 cm / 6.63 cm 대비, iMAP은 관측되지 않은 영역을 그럴듯하게 채워 넣음으로써 평균 완성률이 약 4% 더 높습니다(office-3에서는 +11%).
- 메모리: 방 전체가 약 1 MB 파라미터의 MLP로 매핑되는 반면, TSDF 그리드는 해상도 128/256/512에서 각각 8.38 / 67.10 / 536.87 MB입니다.
- TUM RGB-D(ATE RMSE): fr1-desk / fr2-xyz / fr3-office에서 4.9 / 2.0 / 5.8 cm — BAD-SLAM(1.7/1.1/1.73)이나 ORB-SLAM2(1.6/0.4/1.0)를 이기지는 못하지만 2~6 cm로 경쟁력이 있으며, 이들과 달리 관측되지 않은 영역의 구멍을 채웁니다.
- 처리 시간: 추적 6회 반복에 101 ms, 매핑 10회 반복에 448 ms(동시 실행, 동일 GPU) — 추적 10 Hz, 지도 갱신 2 Hz. 능동 샘플링은 무작위 샘플링보다 더 빠르게 수렴하고 더 많이 완성합니다.
- 깊이 센서가 실패하는 검은색, 반사성, 투명한 표면을 포함한 손에 든 Azure Kinect 실시간 녹화에서도 시연되었습니다 — 광도 손실과 네트워크 보간이 이를 복원해 냅니다.
SLAM에서의 의미
iMAP은 신경 암묵적 SLAM 연구 전체의 시작을 알렸습니다. 여기서 확립된, 미분 가능한 지도에 대한 추적/매핑 분리 — 고정된 지도에 대한 포즈 최적화, 재생된 키프레임에 대한 지도 최적화 — 는 오늘날 NeRF 및 3DGS 기반 SLAM에서도 여전히 사용되는 틀입니다. 또한 “지도”가 무엇인지를 재정의했습니다: 포인트를 삽입하는 데이터 구조가 아니라, 연속성·컴팩트성·구멍 채우기를 공짜로 얻는 피팅 대상 함수라는 것입니다. 단일 MLP 용량의 한계(망각, 큰 장면에서의 과도한 매끄러움)는 NICE-SLAM의 계층적 그리드, Co-SLAM의 해시 그리드, 그리고 결국 커뮤니티가 명시적 3D 가우시안 지도로 전환하게 된 직접적인 동기가 되었습니다.