LSD-SLAM: Large-Scale Direct Monocular SLAM

TL;DR A monocular SLAM system that uses image intensities directly instead of keypoints. It tracks the camera against keyframes with semi-dense depth maps and links the keyframes in a pose graph of sim(3) edges, so scale drift can be detected and corrected. It runs in real time on a CPU, maps hand-held outdoor trajectories of about 500 m, and reaches 1.47 cm trajectory RMSE on TUM RGB-D fr2/xyz.
What they do
Direct monocular methods align images on raw intensities rather than keypoints, but earlier ones were pure visual odometry with no global map or loop closure. LSD-SLAM builds a consistent large-scale map from a single camera. The map is a pose graph of keyframes, each with a semi-dense inverse depth map and its variance. Because monocular scale is unobservable and drifts, the edges between keyframes are 3D similarity transforms.
How it works
- Tracking. Each new 640x480 frame is aligned to the current keyframe on se(3) by minimizing a photometric error. Each pixel’s residual is normalized by a variance propagated from its depth uncertainty, under a Huber norm.
- Depth estimation. Frames that are not made keyframes refine the current keyframe’s depth through many small-baseline stereo comparisons and filtering. A new keyframe gets its depth by projecting points from the previous one, then is rescaled to a mean inverse depth of one.
- sim(3) keyframe alignment. A depth residual is added to the photometric one, which pins down the scale between two keyframes. A reciprocal tracking check rejects bad loop closures. ESM and a pyramid that starts at 20x15 pixels widen the convergence radius.
- Map optimization. The pose graph is continuously optimized in the background with g2o.
Results
- Absolute trajectory RMSE on TUM RGB-D: 4.52 cm on fr2/desk and 1.47 cm on fr2/xyz, against 13.50 and 3.79 for semi-dense mono-VO. PTAM fails on fr2/desk and scores 24.28 on fr2/xyz.
- On two simulated sequences it scores 0.04 cm and 0.35 cm.
- Maps a roughly 500 m, 6-minute hand-held outdoor trajectory with a large loop closure, and a scene whose average inverse depth spans less than 20 cm to more than 10 m.
- ESM and more pyramid levels widen the convergence radius but do not change tracking precision.
Limitations
Initialization from a random depth map needs enough early camera translation, and its convergence is left for future evaluation. Direct alignment is non-convex, so it needs a good starting guess, which is hardest for large loop closures. In the benchmark the first depth map was used to set the initial scale. Direct RGB-D SLAM, which uses sensor depth, is more accurate on three of the four sequences.
Figures




Abstract
We propose a direct (feature-less) monocular SLAM algorithm which, in contrast to current state-of-the-art regarding direct methods, allows to build large-scale, consistent maps of the environment. Along with highly accurate pose estimation based on direct image alignment, the 3D environment is reconstructed in real-time as pose-graph of keyframes with associated semi-dense depth maps. These are obtained by filtering over a large number of pixelwise small-baseline stereo comparisons. The explicitly scale-drift aware formulation allows the approach to operate on challenging sequences including large variations in scene scale. Major enablers are two key novelties: (1) a novel direct tracking method which operates on sim(3), thereby explicitly detecting scale-drift, and (2) an elegant probabilistic solution to include the effect of noisy depth values into tracking. The resulting direct monocular SLAM system runs in real-time on a CPU.
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
