LSD-SLAM

Engel 2014 · Paper

One-line summary — The first large-scale direct monocular SLAM: semi-dense probabilistic depth maps tracked by photometric error minimisation on a CPU, with scale-drift-aware Sim(3)\mathrm{Sim}(3) keyframe alignment and pose-graph loop closure.

Problem

By 2014 the two existing options for monocular SLAM each had a hard limitation. Feature-based systems (PTAM lineage) were accurate but discarded everything except keypoints — “information contained in straight or curved edges … is discarded.” Direct dense methods (DTAM, variational VO) used all image data but were “computationally demanding and require a state-of-the-art GPU,” and all existing direct methods were pure odometries with no global map or loop closure. On top of that, any monocular system drifts in scale over long trajectories, which a 6-DoF pose graph cannot represent. LSD-SLAM (Engel, Schöps, Cremers, ECCV 2014) targets all three: direct, large-scale-consistent, CPU real-time.

Method & architecture

Three components run concurrently (Fig. 3 of the paper): tracking, depth map estimation, and map optimization.

Ep(ξji)=pΩDirp2(p,ξji)σrp(p,ξji)2δ,rp:=Ii(p)Ij(ω(p,Di(p),ξji)),E_p(\boldsymbol{\xi}_{ji}) = \sum_{\mathbf{p}\in\Omega_{D_i}} \left\| \frac{r_p^2(\mathbf{p},\boldsymbol{\xi}_{ji})}{\sigma_{r_p(\mathbf{p},\boldsymbol{\xi}_{ji})}^{2}} \right\|_{\delta}, \qquad r_p := I_i(\mathbf{p}) - I_j\big(\omega(\mathbf{p}, D_i(\mathbf{p}), \boldsymbol{\xi}_{ji})\big),

σrp(p,ξji)2:=2σI2+(rp(p,ξji)Di(p))2Vi(p),\sigma_{r_p(\mathbf{p},\boldsymbol{\xi}_{ji})}^{2} := 2\sigma_I^2 + \left(\frac{\partial r_p(\mathbf{p},\boldsymbol{\xi}_{ji})}{\partial D_i(\mathbf{p})}\right)^{2} V_i(\mathbf{p}),

where ω\omega is the projective warp, δ\|\cdot\|_\delta the Huber norm, and σI2\sigma_I^2 image noise. Propagating each pixel’s depth variance into the residual is the paper’s second key novelty: pixels with uncertain depth are automatically down-weighted. Minimisation is iteratively re-weighted Gauss–Newton on the Lie manifold.

E(ξji):=pΩDirp2(p,ξji)σrp2+rd2(p,ξji)σrd2δ,rd:=[p]3Dj([p]1,2),E(\boldsymbol{\xi}_{ji}) := \sum_{\mathbf{p}\in\Omega_{D_i}} \left\| \frac{r_p^2(\mathbf{p},\boldsymbol{\xi}_{ji})}{\sigma_{r_p}^{2}} + \frac{r_d^2(\mathbf{p},\boldsymbol{\xi}_{ji})}{\sigma_{r_d}^{2}} \right\|_{\delta}, \qquad r_d := [\mathbf{p}']_3 - D_j\big([\mathbf{p}']_{1,2}\big),

with p=ωs(p,Di(p),ξji)\mathbf{p}' = \omega_s(\mathbf{p}, D_i(\mathbf{p}), \boldsymbol{\xi}_{ji}). Loop candidates are the ten closest keyframes plus an appearance-based (FAB-MAP) proposal; each is verified by a reciprocal tracking check that both directions ξjki\boldsymbol{\xi}_{jk i} and ξijk\boldsymbol{\xi}_{i jk} agree statistically. ESM and a coarse-to-fine pyramid starting at 20×15 pixels enlarge the convergence radius.

E(ξW1ξWn):=(ξji,Σji)E(ξjiξWi1ξWj)TΣji1(ξjiξWi1ξWj).E(\boldsymbol{\xi}_{W1} \dots \boldsymbol{\xi}_{Wn}) := \sum_{(\boldsymbol{\xi}_{ji}, \Sigma_{ji}) \in \mathcal{E}} \big(\boldsymbol{\xi}_{ji} \circ \boldsymbol{\xi}_{Wi}^{-1} \circ \boldsymbol{\xi}_{Wj}\big)^T \Sigma_{ji}^{-1} \big(\boldsymbol{\xi}_{ji} \circ \boldsymbol{\xi}_{Wi}^{-1} \circ \boldsymbol{\xi}_{Wj}\big).

Results

Why it matters for SLAM

LSD-SLAM proved that direct methods could be a serious, scalable alternative to feature-based SLAM: more of the image used, richer semi-dense maps, robustness where corners are scarce. Its two exports — variance-normalised photometric alignment as the tracking primitive, and Sim(3)\mathrm{Sim}(3) pose graphs for monocular scale drift — are now standard vocabulary (ORB-SLAM adopted the Sim(3)\mathrm{Sim}(3) essential-graph idea for loop closing). It directly seeded DSO (same group, replacing the pose graph with windowed photometric BA) and CNN-SLAM (learned depth on the LSD-SLAM skeleton).