ORB-SLAM
Mur-Artal 2015 · Paper
One-line summary — A complete, versatile monocular SLAM system that uses ORB features for every task — tracking, mapping, relocalization, and loop closing — with automatic initialisation and survival-of-the-fittest map management.
Problem
Prior monocular SLAM systems each solved part of the problem: PTAM had keyframe BA but no loop closure, patch features useless for place recognition, and manual initialisation; other systems could not handle large environments or recover from tracking loss. ORB-SLAM (IEEE TRO 2015, University of Zaragoza) builds on PTAM’s main ideas, DBoW2 place recognition, and scale-aware loop closing to address all of these in one unified framework, operating in real time in small and large, indoor and outdoor environments.
Method & architecture
One feature for everything. The same ORB features (oriented FAST + rotated BRIEF, matched by Hamming distance) serve tracking, mapping, relocalization, and loop detection, so no work is duplicated.
Automatic initialisation. A homography and a fundamental matrix are computed in parallel from the same correspondences , i.e. vs , each scored by symmetric transfer error with an outlier-truncated kernel:
with thresholds , . The heuristic picks the homography when (planar/low-parallax scenes) and the fundamental matrix otherwise (); degenerate or ambiguous configurations are detected and initialisation is postponed.
Three parallel threads.
- Tracking localises every frame by matching the local map and refining with motion-only BA. All optimisation minimises robust reprojection error over poses and points :
with Huber kernel and tied to the keypoint’s pyramid scale. Keyframes are inserted generously (e.g. whenever the frame tracks less than 90% of the reference keyframe’s points).
- Local mapping triangulates new points, runs local BA over the covisibility neighbourhood, and culls aggressively: a new point must be found in more than 25% of the frames predicting it visible and be observed from at least three keyframes; keyframes whose points are 90% seen by at least three other keyframes are deleted. The covisibility graph links keyframes sharing at least 15 point observations (edge weight = number of shared points).
- Loop closing detects candidates with DBoW2, computes a 7-DoF alignment (monocular scale drifts) from the two-view constraint , , then corrects drift by pose-graph optimisation over the essential graph — spanning tree + covisibility edges with + loop edges — minimising
followed by an optional full BA.
Results
All experiments on an Intel Core i7-4700MQ (4 cores @ 2.40 GHz), 8 GB RAM, processing images at their true frame rate:
- NewCollege (2.2 km robot sequence): the first monocular system reported to process the whole sequence. Median tracking time 30.57 ms/frame (ORB extraction 11.10 ms, initial pose 3.38 ms, local map tracking 14.84 ms); local mapping median 383.59 ms/keyframe, dominated by local BA at 296.08 ms.
- TUM RGB-D (16 sequences): keyframe trajectory RMSE, e.g. fr1_xyz 0.90 cm (PTAM 1.15, LSD-SLAM 9.00), fr2_xyz 0.30 cm, fr2_desk_person 0.63 cm (LSD-SLAM 31.73). PTAM lost track in eight sequences and LSD-SLAM in three; ORB-SLAM ran all but fr3_nstr_tex_far, where it correctly detects the twofold planar ambiguity and refuses to initialise.
- Relocalization: from an fr2_xyz map, recall 78.4% vs PTAM’s 34.9%; relocalizing walking_xyz frames against a sitting_xyz map (heavy occlusion), 77.9% vs PTAM’s 0%.
- Lifelong operation: keyframe count saturates while a PTAM-style policy grows without bound — the map grows with scene content, not with time.
- KITTI (10 sequences): processes all but the highway sequence 01 in real time at 10 fps; trajectory error typically around 1% of the map dimension (0.3% on 03, 5% on loop-free 08), improved slightly by 20 iterations of full BA.
Why it matters for SLAM
ORB-SLAM unified the best ideas of a decade — PTAM’s parallel tracking/mapping, keyframe BA, bag-of-words place recognition, covisibility, Sim(3) loop closing — into one robust open-source system, and became the de facto standard monocular SLAM baseline for years. Its H/F initialisation, covisibility/essential graph machinery, and survival-of-the-fittest culling were adopted by virtually all subsequent feature-based systems, and it spawned the ORB-SLAM2/3 lineage that still anchors SLAM benchmarking today.
Related
- PTAM
- ORB-SLAM2
- ORB-SLAM3
- Covisibility graph
- Visual Place Recognition (VPR)
- Keypoints
- Pose graph optimization — the essential-graph correction step