ORB-SLAM

Mur-Artal 2015 · 논문

한 줄 요약 — ORB 특징점을 추적, 매핑, 재지역화, 루프 클로징 등 모든 작업에 사용하고, 자동 초기화와 적자생존(survival-of-the-fittest) 방식의 지도 관리 기능을 갖춘 완전하고 다용도적인 단안 SLAM 시스템입니다.

문제

이전의 단안 SLAM 시스템들은 문제의 일부만을 해결했습니다: PTAM은 키프레임 BA를 갖췄지만 루프 클로저가 없었고, 패치 특징점은 장소 인식에 쓸모가 없었으며 수동 초기화가 필요했습니다. 다른 시스템들은 대규모 환경을 다루지 못했거나 추적 실패로부터 복구할 수 없었습니다. ORB-SLAM(IEEE TRO 2015, University of Zaragoza)은 PTAM의 핵심 아이디어, DBoW2 장소 인식, 스케일을 고려한 루프 클로징을 기반으로 하여, 이 모든 문제를 하나의 통합 프레임워크에서 해결하며 크고 작은, 실내와 실외 환경 모두에서 실시간으로 동작합니다.

방법 및 아키텍처

모든 것을 위한 하나의 특징점. 동일한 ORB 특징점(방향 불변 FAST + 회전된 BRIEF, 해밍 거리로 매칭)이 추적, 매핑, 재지역화, 루프 감지를 모두 담당하여 중복 작업이 없습니다.

자동 초기화. 동일한 대응점 xcxr\mathbf{x}_c \leftrightarrow \mathbf{x}_r로부터 단응 행렬과 기초 행렬이 병렬로 계산됩니다. 즉 xc=Hcrxr\mathbf{x}_c = \mathbf{H}_{cr}\,\mathbf{x}_rxcFcrxr=0\mathbf{x}_c^{\top}\mathbf{F}_{cr}\,\mathbf{x}_r = 0이며, 각각 이상값을 절단하는 커널을 갖는 대칭 전달 오차(symmetric transfer error)로 점수가 매겨집니다:

SM=i(ρM(dcr2(xci,xri,M))+ρM(drc2(xci,xri,M))),ρM(d2)={Γd2if d2<TM0if d2TMS_M = \sum_i \Big( \rho_M\big(d_{cr}^2(\mathbf{x}_c^i, \mathbf{x}_r^i, M)\big) + \rho_M\big(d_{rc}^2(\mathbf{x}_c^i, \mathbf{x}_r^i, M)\big) \Big), \qquad \rho_M(d^2) = \begin{cases} \Gamma - d^2 & \text{if } d^2 < T_M \\ 0 & \text{if } d^2 \geq T_M \end{cases}

χ2\chi^2 임계값은 TH=5.99T_H = 5.99, TF=3.84T_F = 3.84입니다. 휴리스틱 RH=SHSH+SFR_H = \frac{S_H}{S_H + S_F}RH>0.45R_H > 0.45일 때 단응 행렬을 선택하고(평면적/저시차 장면), 그렇지 않으면 기초 행렬을 선택합니다(Erc=KFrcK\mathbf{E}_{rc} = \mathbf{K}^{\top}\mathbf{F}_{rc}\,\mathbf{K}); 퇴화(degenerate)되거나 모호한 구성은 감지되어 초기화가 지연됩니다.

세 개의 병렬 스레드.

C=i,jρh(ei,jΩi,j1ei,j),ei,j=xi,jπi(Tiw,Xw,j),C = \sum_{i,j} \rho_h\big(\mathbf{e}_{i,j}^{\top}\,\mathbf{\Omega}_{i,j}^{-1}\,\mathbf{e}_{i,j}\big), \qquad \mathbf{e}_{i,j} = \mathbf{x}_{i,j} - \pi_i(\mathbf{T}_{iw}, \mathbf{X}_{w,j}),

Huber 커널 ρh\rho_h와, 키포인트의 피라미드 스케일에 결부된 Ωi,j=σi,j2I2×2\mathbf{\Omega}_{i,j} = \sigma_{i,j}^2 \mathbf{I}_{2\times 2}가 사용됩니다. 키프레임은 관대하게(generously) 삽입됩니다(예: 프레임이 참조 키프레임 포인트의 90% 미만을 추적할 때마다).

C=i,jei,jΛi,jei,j,ei,j=logSim(3)(SijSjwSiw1)R7,C = \sum_{i,j} \mathbf{e}_{i,j}^{\top} \mathbf{\Lambda}_{i,j}\, \mathbf{e}_{i,j}, \qquad \mathbf{e}_{i,j} = \log_{\mathrm{Sim}(3)}\big(\mathbf{S}_{ij}\,\mathbf{S}_{jw}\,\mathbf{S}_{iw}^{-1}\big) \in \mathbb{R}^7,

이후 선택적으로 전역 BA가 수행됩니다.

실험 결과

모든 실험은 Intel Core i7-4700MQ(4코어 @ 2.40 GHz), 8 GB RAM에서 이미지를 실제 프레임 속도로 처리하며 수행되었습니다:

SLAM에서의 의미

ORB-SLAM은 지난 10년간의 최고의 아이디어들 — PTAM의 병렬 추적/매핑, 키프레임 BA, bag-of-words 장소 인식, 공시야성, Sim(3) 루프 클로징 — 을 하나의 견고한 오픈소스 시스템으로 통합하여 수년간 사실상의(de facto) 표준 단안 SLAM 기준선이 되었습니다. H/F 초기화, 공시야성/필수 그래프 메커니즘, 적자생존 방식의 정리(culling)는 이후 거의 모든 특징점 기반 시스템에 채택되었으며, 오늘날까지 SLAM 벤치마킹의 근간이 되는 ORB-SLAM2/3 계보를 낳았습니다.

관련 문서