ORB-SLAM2

Mur-Artal 2017 · 논문

한 줄 요약 — ORB-SLAM을 스테레오 및 RGB-D 카메라로 확장하여, 세 가지 센서 모달리티 모두에서 미터 단위 스케일과 최고 수준의 정확도를 갖춘 통합 오픈소스 SLAM 프레임워크를 제공합니다.

문제

ORB-SLAM은 단안 전용이었습니다: 깊이는 단일 카메라로부터 관측할 수 없으므로 지도와 궤적의 스케일을 알 수 없고, 부트스트래핑에는 다중 뷰 초기화가 필요하며, 시스템은 스케일 드리프트를 겪고 순수 회전 상황에서 실패할 수 있습니다. 스테레오와 RGB-D 카메라는 이러한 모든 문제를 해결하지만, 기존의 스테레오/RGB-D 시스템은 루프 클로징이 없거나, 일정 시간 동작을 위해 전역 일관성을 포기했거나, ICP/광도 정렬에 의존했습니다. ORB-SLAM2(IEEE TRO 2017)는 BA 기반 프레임워크를 일반화하여, 하나의 시스템이 “실내에서의 소규모 핸드헬드 시퀀스부터 산업 환경에서 비행하는 드론과 도시를 주행하는 자동차까지, 다양한 환경에서 표준 CPU상에서 실시간으로 동작”하도록 합니다.

방법 및 아키텍처

추적, 지역 매핑, 루프 클로징의 세 개의 병렬 스레드와, 루프 클로저 이후 전역 BA를 위한 네 번째 스레드로 구성됩니다. 추적은 운동만의 BA로 지역 지도에 대해 매 프레임을 지역화합니다; 지역 매핑은 공시야성 윈도우에 대한 지역 BA를 실행합니다; 루프 클로징은 DBoW2로 루프를 감지하고 공시야성 그래프/신장 트리에 대한 포즈 그래프 최적화로 드리프트를 보정한 다음, 신장 트리를 통해 키프레임 보정을 전파하여 결과를 다시 병합하는 전역 BA를 수행합니다.

{R,t}=argminR,tiXρ(x()iπ()(RXi+t)Σ2)\{\mathbf{R},\mathbf{t}\}=\operatorname*{argmin}_{\mathbf{R},\mathbf{t}}\sum_{i\in\mathcal{X}}\rho\left(\left\|\mathbf{x}^{i}_{(\cdot)}-\pi_{(\cdot)}\left(\mathbf{R}\mathbf{X}^{i}+\mathbf{t}\right)\right\|^{2}_{\Sigma}\right)

Huber 비용 ρ\rho, 키포인트 스케일 공분산 Σ\Sigma, 그리고 투영 함수 πm=(fxXZ+cx, fyYZ+cy)\pi_{\mathrm{m}}=\left(f_x\frac{X}{Z}+c_x,\ f_y\frac{Y}{Z}+c_y\right)와 세 번째 행 fxXbZ+cxf_x\frac{X-b}{Z}+c_x를 추가하는 스테레오 πs\pi_{\mathrm{s}}가 사용됩니다. 지역 BA는 공시야 키프레임 KL\mathcal{K}_L과 그들의 포인트 PL\mathcal{P}_L을, 경계 키프레임 KF\mathcal{K}_F를 고정한 채 최적화합니다; 전역 BA는 원점 키프레임을 제외한 모든 것을 자유롭게 두는 것을 제외하면 동일합니다.

실험 결과

29개의 공개 시퀀스에서 평가되었습니다(각각 5회 실행, 중앙값; Intel i7-4790):

SLAM에서의 의미

ORB-SLAM2는 ORB-SLAM을 단안, 스테레오, RGB-D 센서를 포괄하는 범용 SLAM 라이브러리로 발전시켰으며, 수년간 SLAM 논문에서 지배적인 정확도 기준선으로 남았습니다; RGB-D를 위한 가상 스테레오 기법과 가깝고 먼 포인트 정책은 널리 복제되었습니다. 이는 단안 SLAM(레벨 3)에서 스테레오 SLAM(레벨 7)과 RGB-D SLAM(레벨 4)으로 이어지는 자연스러운 다리이며, ORB-SLAM3의 시각-관성, 다중 지도 시스템의 직접적인 전신입니다.

실습

관련 문서