MonoSLAM
Davison 2007 · Paper
One-line summary — The first real-time monocular SLAM system: a single hand-held camera and an Extended Kalman Filter jointly estimating camera motion and a sparse 3D landmark map at 30 Hz.
Problem
Before MonoSLAM, real-time SLAM systems required stereo rigs, laser scanners, or wheel odometry; a single camera was considered insufficient because one view provides bearing but no depth, and a bare camera has no motion measurement at all. Davison, Reid, Molton, and Stasse (IEEE TPAMI 2007) showed that a single hand-held camera suffices for real-time SLAM — provided the estimation framework explicitly handles the depth uncertainty of monocular feature initialisation and supplies a motion prior in place of odometry.
Method & architecture
One EKF over camera + map. The state is a single stacked vector with full joint covariance,
where each landmark is a 3D point and the 13-parameter camera state comprises position, orientation quaternion, and linear/angular velocity: . The off-diagonal blocks are the point: observing one feature improves the estimates of the camera and of all correlated features. Storage and update cost are in map size, bounding the map to roughly 100 features at 30 Hz.
Constant-velocity motion model (prediction). With no odometry, a smoothness prior replaces control input: each timestep an unknown acceleration of zero-mean Gaussian profile applies a velocity impulse , giving the state update
Small assumes smooth motion; large tolerates jerky motion but demands more measurements per frame.
Active search (measurement). A landmark’s predicted camera-frame position is , projected through a calibrated wide-angle (about 100° FOV) camera model with radial distortion. Propagating state uncertainty through the projection Jacobians yields the innovation covariance
which defines an elliptical gate (3 standard deviations) inside which normalized cross-correlation template matching runs. doubles as an information measure: the 10–12 most informative features are selected per frame, squashing uncertainty along its longest axis.
Probabilistic feature initialisation. A new salient patch (Shi–Tomasi) defines only a ray; depth is represented by 100 particles spread uniformly over 0.5–5.0 m along it. Each frame, every depth hypothesis projects to its own search ellipse, matching likelihoods reweight the particles via Bayes’ rule, and when the depth ratio the distribution collapses to a Gaussian and the feature joins the EKF state — typically after 2–4 frames. Map management adds/deletes features to keep a target number visible from any pose.
Results
- Real-time budget: on a 1.6 GHz Pentium M at 30 Hz (33 ms available), a typical frame costs 19 ms — image loading 2 ms, correlation searches 3 ms, Kalman filter update 5 ms, feature initialisation search 4 ms, graphical rendering 5 ms.
- Ground-truth accuracy: a hand-held camera revisiting four surveyed way-points (known to about 1 cm) localized to a few centimetres with 1–2 cm jitter — e.g. way-point (1.00, 0.00, 0.62) m estimated at (0.93±0.03, 0.06±0.02, 0.63±0.02) m; residual biases shrank by around 1 cm per loop as SLAM pulled the map into consistency.
- Applications: real-time localization of the HRP-2 humanoid walking a 0.75 m-radius circle (fusing its 200 Hz chest gyro as an extra EKF measurement), and live augmented reality with a hand-held camera. Code released as the open-source SceneLib library.
Why it matters for SLAM
MonoSLAM proved a single cheap camera suffices for real-time SLAM, effectively founding visual SLAM as a field (and beginning Davison’s lab’s lineage — iMAP, MonoGS, and MASt3R-SLAM come from the same group decades later). It is also the cleanest pedagogical example of filter-based SLAM: one EKF, one joint state, active search from predicted uncertainty — the baseline against which every keyframe-optimisation system since has been argued. Its own paper points at the successors: the depth-particle initialisation directly inspired inverse-depth parameterisations, and the ceiling set the agenda that PTAM and “Visual SLAM: Why Filter?” answered.
Related
- PTAM
- Visual-SLAM why filter?
- Visual Odometry
- ORB-SLAM
- Scale ambiguity
- Camera models beyond pinhole — the wide-angle model MonoSLAM relies on