maplab 2.0
Cramariuc 2023 · 논문
한 줄 요약 — maplab 2.0은 ETH Zurich의 모듈형 오픈소스 매핑 플랫폼으로, 멀티세션 및 멀티로봇 시각-관성 매핑을 통합하며 추가적인 센서 모달리티와 딥러닝 모듈에 대한 지원을 제공한다.
문제
여러 센서 모달리티와 딥러닝을 SLAM에 통합하는 것은 현재 연구에서 가장 활발한 두 방향이다: 멀티모달리티는 어려운 환경에서의 강인성과 다양한 센서 구성을 가진 이종 멀티로봇 시스템의 상호운용성을 향한 발판이다. 기존 프레임워크(ORB-SLAM3, RTAB-Map, 원본 maplab)는 특정 센서 구성에 맞춰 밀접하게 통합되어 있어서, 새로운 특징 타입이나 모달리티마다 대대적인 엔지니어링이 필요하다. maplab 2.0은 그러한 모듈을 개발, 테스트, 통합해 완전한 SLAM 시스템으로 만들 수 있는 다재다능한 오픈 플랫폼을 제공한다.
방법 및 아키텍처
이 시스템은 세 가지 주요 구성 요소를 갖는다(이 논문은 아키텍처 중심으로, 그 기여는 새로운 추정 수식이 아니라 프레임워크 자체이다):
- 맵 구조. 맵은 팩터 그래프로 저장되는 미션(연속된 세션마다 하나씩)의 집합이다. 노드는 로봇 상태(6-DoF 포즈, 속도, IMU 바이어스)와 랜드마크(시각 특징, LiDAR 키포인트, 또는 시맨틱 객체를 나타낼 수 있는 3D 위치)이다. 엣지는 IMU 사전적분 제약, 상대 6-DoF 포즈 제약(오도메트리, 또는 충돌하면 최적화기가 비활성화할 수 있는 switchable constraint로도 표현 가능한 루프 클로저), 랜드마크 관측 오차이다. 절대 6-DoF 제약은 GPS나 표지(fiducial marker) 측정값을 주입한다. 휠 오도메트리는 관측 불가능한 축(z, 피치, 롤)에 무한 공분산을 갖는다.
- 랜드마크와 특징. 기존의 maplab 시각 파이프라인은 유지된다(BRISK/FREAK 디스크립터를 사용하는 ORB 검출, 자이로 보조 매칭, 삼각측량; 2D-3D 디스크립터 매칭 + 공가시성 필터링 + P3P-RANSAC을 통한 루프 클로저). 2.0에서 새로워진 것: 하나의 맵에 임의의 수의 특징 타입이 공존할 수 있다 — FLANN을 통해 매칭되는 부동소수점 디스크립터(예: SuperPoint, SIFT), inverted multi-index를 통한 바이너리 디스크립터 — 그리고 (RGB-D나 LiDAR로) 3D로 관측된 랜드마크는 삼각측량 대신 위치를 평균화하며, 유클리드 거리 오차항과 3D-3D RANSAC 루프 클로저를 사용한다.
- 매핑 노드(로봇별). 오도메트리에 구애받지 않는다: 어떤 외부 6-DoF 오도메트리라도 포즈 노드를 초기화할 수 있다(더 이상 IMU가 필수는 아니다). 원시 이미지나 포인트 클라우드는 나중 모듈을 위한 리소스로 맵에 첨부된다. 맵은 서브맵으로 나뉘어 서버로 스트리밍된다.
- 매핑 서버(신규). 정기적으로 서브맵을 수신하고, 각 서브맵을 독립적으로 전처리(로컬 번들 조정, 특징 품질 평가, 맵 내부 루프 클로저)한 다음 로봇별로 연결하고, 로봇들 간에 지속적으로 루프를 닫으며(시각 및/또는 LiDAR) 공동 멀티로봇 맵을 전역적으로 최적화하여, 이를 로봇들에게 다시 전송할 수 있다. 이 시스템은 DARPA Subterranean Challenge에서 우승 팀 CERBERUS의 멀티로봇 매핑 스택 일부로 배치되었다.
- 오프라인 콘솔. 배치 최적화, 멀티세션 맵 병합, 키프레이밍/희소화, ICP/G-ICP를 통한 LiDAR 루프 클로저, Voxblox 밀집 재구성, 그리고 플러그인 시스템.
- 시맨틱 루프 클로저 사용 사례. Mask R-CNN으로 탐지된 물체는 마스킹된 인스턴스에 대해 NetVLAD 디스크립터를 얻고, Deep SORT로 추적되어 클래스 레이블이 붙은 3D 랜드마크가 된다. 클래스 내 후보 매칭은 기하학적으로 검증되고, 공가시적인 랜드마크 클러스터는 Horn의 방법으로 정렬되어 추정된 공분산을 갖는 6-DoF 루프 클로저 제약을 구축한다.
실험 결과
- HILTI SLAM Challenge 2021 (9개 시퀀스, 총 52분): maplab 2.0은 최신 기술과 유사한 수준이다. 최선의 구성(예: SuperPoint+BRISK 특징을 사용한 FAST-LIO2 오도메트리, 또는 LiDAR ICP 제약을 포함한 구성)은 시퀀스당 APE RMSE가 약 0.04–0.19m에 도달한다 — 예를 들어 Construction 1에서 0.04m, Construction 2에서 0.07m로, ORB-SLAM3는 각각 1.55m, 2.77m를 기록한다. 세 가지 오도메트리 소스(ROVIO, OKVIS, FAST-LIO2)가 제시되며, SuperPoint/SIFT 디스크립터는 256에서 32 부동소수점으로 PCA 압축된다. maplab은 루프 클로저에 5개의 카메라를 모두 사용하는 유일한 방법이다.
- 대규모 멀티세션 매핑: 23개의 핸드헬드 미션(카메라 5대 + Ouster OS0-128), 2시간이 넘는 데이터로 실내-실외 전환을 포함해 약 10km에 걸친다. 처음 5개 맵은 매핑 서버를 통해 온라인으로 구축되고, 나머지는 콘솔에서 병합되며, 전역 시각 루프 클로저와 RTK-GPS 절대 제약을 사용한다.
- EuRoC (서버 대 콘솔): 11개 시퀀스 전체를 동시적인 멀티로봇 실험으로 실행하면(ROVIO + BRISK) 순차적 멀티세션 처리와 같은 평균 APE RMSE 0.043m를 얻지만, 병렬화된 서버는 3분 27초에 끝나는 반면 순차 처리는 35분 56초가 걸린다.
- 모달리티 시연: SuperPoint+SuperGlue 키포인트가 LiDAR 강도 이미지에서 직접 추적되어 HILTI 시퀀스를 매핑하며, 시맨틱 물체 루프 클로저 모듈은 커스텀 RGB-관성 오피스 데이터셋에서 누적 드리프트를 눈에 띄게 제거한다.
SLAM에서의 의미
실제 배치는 로봇이 한 번만 지도를 만드는 단일 로봇 매핑을 거의 포함하지 않는다: 맵은 며칠에 걸쳐, 여러 디바이스에 걸쳐 구축되고 확장되고 유지되어야 한다. maplab(1.0과 2.0)은 이런 멀티세션 생명주기를 중심으로 구축된 몇 안 되는 프로덕션 품질 오픈 프레임워크로, SubT 규모에서 입증되었으며 중앙집중식 협업 매핑의 자연스러운 백본이 되고, 완전한 시스템에 대해 새로운 모듈을 벤치마킹하는 데도 적합하다. 그 플러그인 아키텍처는 학습된 특징, 새로운 센서, 그리고 시맨틱 루프 클로저를 시각-관성 매핑에 통합하는 흔한 연구 수단이 되었다(ethz-asl/maplab).
관련 문서
- maplab — 이 시스템이 확장하는 원본 시각-관성 매핑 프레임워크
- Kimera-Multi — 분산형 대안 철학
- 맵 병합 — 멀티세션 및 멀티로봇 융합 뒤에 있는 핵심 연산
- Centralized vs Decentralized — 서버 기반 프레임워크가 설계 공간에서 위치하는 곳
- NetVLAD — maplab 2.0이 끼워 넣는 종류의 학습된 장소 인식
- SuperPoint — 프레임워크 내부에서 시연된 학습된 특징