주제 정보
- 저장소: UZ-SLAMLab/ORB_SLAM3 — ⭐ 9,142 · 🍴 3,192 · C++ · GPL-3.0 · 생성 2020-07-18 · 최근 릴리스 v1.0 (2021-12-22) · master 최근 커밋 2022-02-10(저장소 푸시 2024-07-24) · 열린 이슈 573. 릴리스 1.0 이후 기능 추가가 멈춘 연구용 완결 프로젝트지만, 오픈소스 시각 SLAM의 기준 구현으로 계속 인용·복제되고 있다.
- 논문: “ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual–Inertial, and Multimap SLAM” — arXiv 2007.11898(v1 2020-07-23 · v2 2021-04-23) · IEEE Transactions on Robotics 2021(DOI
10.1109/TRO.2021.3075644) · 분야cs.RO· 논문과 코드가 같은 이름의 한 쌍이다(제목에 “Open-Source Library”가 들어간 드문 사례). - 저자·소속: Carlos Campos · Richard Elvira · Juan J. Gómez Rodríguez · José M. M. Montiel · Juan D. Tardós — Universidad de Zaragoza(스페인). 2015년 ORB-SLAM, 2017년 ORB-SLAM2, 2020~21년 ORB-SLAM3까지 같은 랩이 10년간 한 계보를 밀어붙인 결과물이고, 지도교수급 두 명(Montiel·Tardós)이 1저자부터 막내 저자까지 전부를 공동저자로 올렸다.
- 인용: OpenAlex 기준 4,263회(IEEE T-RO 2021 정식판 레코드 · 프리프린트 DOI
10.48550/arXiv.2007.11898레코드와 별개). Semantic Scholar는 이 런에서 첫 호출부터 HTTP 429(레이트리밋)였으므로 재시도를 멈추고 OpenAlex 수치만 인용한다. - 계보 규모: 같은 그룹의 raulmur/ORB_SLAM2는 ⭐ 10,249(같은 GPLv3 계열). 즉 ORB-SLAM2 + ORB-SLAM3 합계 약 1.9만 스타 — 한 연구실이 만든 두 저장소가 로보틱스·AR 커뮤니티의 시각 SLAM 표준을 사실상 독점해 왔다.
- 함께 읽기(블로그 계보): 라이다 SLAM의 표준 Google Cartographer(09-03)와 정확히 대칭되는 카메라·IMU SLAM이고, 카메라-IMU 외부 파라미터·시간 동기화가 성능을 좌우한다는 점에서 OpenCalib / SensorsCalibration(09-29)과 직결된다. 위치추정 궤적을 채점하는 odometry 트랙을 가진 벤치마크는 KITTI(09-11), 대규모 로보틱스 알고리즘 모음은 PythonRobotics(08-25)다.
핵심 내용
논문의 주장은 초록 첫 문장에 압축돼 있다. “ORB-SLAM3는 단안·스테레오·RGB-D 카메라와 핀홀·어안 렌즈 모델을 모두 쓰면서 시각 SLAM · 시각-관성 SLAM · 멀티맵 SLAM을 수행할 수 있는 최초의 시스템이다.” 하나의 코드베이스에서 4가지 센서 구성(단안 / 단안+IMU / 스테레오 / 스테레오+IMU)과 2가지 렌즈 모델을 모두 지원하고, 추적이 끊기면 새 지도를 열고 다시 그 장소를 지나갈 때 자동으로 병합한다. 그리고 결과는 장난감이 아니다 — 스테레오-관성이 EuRoC 드론 데이터셋 평균 3.5 cm, 빠른 손동작 환경(TUM-VI 실내)에서 9 mm 오차를 낸다(초록).
- ① 정확도 — 같은 시퀀스에서 4가지 구성 비교(EuRoC V202 · RMS ATE, 논문 Table VI): ORB-SLAM2 스테레오 3.5 cm(0.035 m) → ORB-SLAM3 스테레오 2.8 cm → 단안+IMU 2.1 cm → 스테레오+IMU 1.4 cm(0.014 m). 같은 카메라·같은 CPU에서 IMU를 붙이고 맵 병합을 켜는 것만으로 오차가 2.5배 줄었다.
- ② 경쟁 시스템 대비(초록 + VII절): “기존 접근보다 2~5배 더 정확”이 논문의 요약 문장이다. 세부적으로 단안-관성 구성에서는 MSCKF · OKVIS · ROVIO보다 5~10배, VI-DSO · VINS-Mono보다 2배 이상 정확하다. 스테레오-관성에서는 Kimera · VINS-Fusion보다 3~4배 앞선다.
- ③ 멀티세션(다중 주행)에서 격차가 더 벌어진다: EuRoC에서 VINS-Mono 대비 단일 세션 2.6배, 여러 세션을 이어붙인 멀티세션에서는 3.2배 정확. 열쇠는 과거 지도를 BA(번들 조정)에 다시 끌어오는 Atlas 멀티맵 + 중기/장기 데이터 연관이다. 시각 정보가 부족해 추적을 놓치면(추적 점 15개 미만 → ‘visually lost’) 새 맵을 시작하고, 재방문 시 개선된 장소 인식(recall 향상)으로 두 맵을 하나의 전역 지도로 정합한다.
- ④ 관성 초기화를 ‘몇 초’로 줄였다: 기존 시스템은 IMU 스케일을 잡는 데 시간이 걸렸다 — ORB-SLAM-VI는 첫 스케일 추정까지 15초, VI-DSO는 20~30초가 필요했다. ORB-SLAM3는 MAP 추정 기반 초기화로 2초 궤적으로 5% 스케일 오차를 얻고, 초기화 5초·15초 뒤 BA로 1% 스케일까지 수렴한다. 그래서 첫 프레임부터 IMU를 쓰고 모든 시퀀스를 완주한다.
- ⑤ 실시간 — GPU 없이 CPU만으로(Table VI): 실험 장비는 Intel Core i7-7700 @3.6 GHz, 32 GB, GPU 없음 · 카메라 20 Hz · IMU 200 Hz · 752×480 해상도. 프레임당 추적 전체 시간은 스테레오+IMU 33.05 ms, 모노+IMU 23.22 ms, 스테레오 31.48 ms, 단안 21.52 ms — 20 Hz(50 ms 예산) 안에 여유 있게 들어온다. 비용의 대부분은 ORB 특징 추출(12~15.7 ms)이고, IMU 적분은 0.22 ms로 사실상 공짜다.
- ⑥ 저자들이 스스로 밝힌 한계(실차 관점에서 중요): TUM-VI의 900 m 실내 주행(magistrale)에서는 오차가 약 1 m로 늘고, 긴 야외 시퀀스에서는 스케일·가속도 바이어스 드리프트로 10~70 m 오차가 난다. 하늘이 화면에 크게 들어오는 어안 영상에서 먼 점들이 원인이어서 “20 m보다 먼 점은 버린다”는 임시 처방을 넣었다고 논문이 직접 적는다. 순수 시각-관성만으로 도시 규모 자율주행을 감당할 수 없다는 증거를 저자들이 먼저 제시한 셈이다.
왜 유명한가 / 활용 가치
- 오픈소스 시각 SLAM의 사실상 기준점: ⭐9,142 · 🍴3,192 · 인용 4,263회. 형제 저장소 ORB-SLAM2(⭐10,249)까지 합치면 약 1.9만 스타로, “카메라로 위치를 잡는 코드”를 찾을 때 가장 먼저 나오는 이름이다. 스테레오/단안/IMU/어안을 한 저장소에서 돌릴 수 있어, 논문을 재현하지 않고도 실험실 밖 로봇에 바로 이식됐다.
- 자율주행 스택에서의 자리 — GNSS가 죽는 구간: 인지·예측·계획에 가려져 있지만 위치추정은 4대 모듈 중 하나이고, 터널·지하주차장·도심 협곡처럼 위성이 안 잡히는 구간에서는 카메라+IMU의 관성 항법이 유일한 단서다. 라이다 대비 카메라+IMU는 훨씬 저렴한 센서 조합이라는 점도 실차 양산 관점에서 크다.
- 멀티맵 = HD맵 정합과 같은 문제: 여러 번 주행한 세션의 지도를 하나로 병합하는 Atlas 구조는, 자율주행의 다중 주행 HD맵 정합·변경 감지와 수학적으로 같은 문제를 푼다. 오늘날 Cartographer(09-03)식 라이다 SLAM과 함께 차량 위치추정 백엔드의 양대 축을 이룬다.
- 생태계 효과: ROS/ROS2 래퍼, 모바일·AR 응용, 재현 구현이 다수 파생됐고, 논문의 관성 초기화 절차는 이후 VIO 시스템들이 참조하는 표준 단계가 됐다. “정확도 + 복잡한 센서 구성을 하나의 라이브러리로 묶어 공개”한 것이 인용을 끌어온 실질적 이유다.
- 주의할 점 두 가지(그대로 베끼면 안 되는 이유): 첫째, GPL-3.0 copyleft라 상용 자율주행 제품에 그대로 넣을 수 없다(별도 라이선스 필요). 둘째, v1.0(2021-12) 이후 기능 개발이 멈춘 상태(master 커밋 2022-02)이고, 위 ⑥의 관성 드리프트 때문에 실차에서는 GNSS·HD맵·라이다와의 융합이 전제여야 한다.
시사점 및 결론
이 프로젝트의 진짜 주장은 “우리가 가장 정확하다”가 아니라 “정확한 위치추정을 누구나 돌릴 수 있는 라이브러리로 만들어 공개했다”는 쪽이다. 카메라 두 장과 200 Hz IMU로 GPS 없이 1.4 cm까지 가는 시스템을, GPU 없이 CPU만으로 20 Hz 실시간에 돌리고, 4가지 센서 구성과 어안 렌즈까지 한 코드베이스에서 지원한다. 그 결과가 ⭐9,142와 인용 4,263회다. 반면 같은 논문이 야외 10~70 m 드리프트를 스스로 기록해 둔 대목이 실무적으로 더 중요하다 — 위치추정이 틀리면 차는 자신 있게 엉뚱한 차선으로 간다는 것이 자율주행에서 위치추정이 인지보다 위험한 이유이고, 그래서 실제 양산 스택은 카메라 SLAM 하나에 기대지 않고 GNSS·HD맵·라이다·휠 오도메트리를 융합한다. GPL-3.0과 멈춘 개발 이력은 이 저장소를 “상용 부품”이 아니라 “연구용 참조 구현”으로 규정한다. 저비용 센서로 위치추정을 직접 다뤄보려는 사람이라면, 가장 먼저 빌드해 볼 코드가 여기 있다.
원문: https://arxiv.org/abs/2007.11898 · 코드: https://github.com/UZ-SLAMLab/ORB_SLAM3 · 형제 계보: https://github.com/raulmur/ORB_SLAM2
목록으로 돌아가기