Pop-up SLAM

Yang 2016 · Paper

One-line summary — Integrates single-image “pop-up” plane detection into monocular SLAM, using planes as landmarks in a factor graph so that dense semantic mapping and state estimation survive low-texture environments where point-feature methods fail.

Problem

Feature-based SLAM systems rely on salient point features and are “not robust in challenging low-texture environments because there are only few salient features”; corridors, white walls, and floors make LSD-SLAM and ORB-SLAM fail outright. Even when they survive, “the resulting sparse or semi-dense map also conveys little information for motion planning”. Prior work that used planes or scene layout for dense map regularisation still “require decent state estimation from other sources”. Pop-up SLAM demonstrates that scene understanding can improve both state estimation and dense mapping, especially in low-texture environments.

Method & architecture

The system has three parts: a single-image plane “pop-up” front-end, a plane-landmark SLAM back-end, and two fusion schemes with point-based LSD-SLAM.

Single-image plane pop-up. A CNN segments the ground region; instead of fitting polylines, the true wall–ground boundary is selected from detected line segments by submodular optimisation: given detected edges V={e1,,en}V=\{e_1,\dots,e_n\}, find maxSVF(S), st ⁣:SI\max_{S\subseteq V}F(S),\ st\colon S\in I, where the score F=C(S)F=C(S) is horizontal image coverage and the constraints I=IcloseIovlpI=I_{close}\cap I_{ovlp} require edges to be near the CNN boundary and not overlap horizontally. A greedy update SS{arg maxeS(eS)}S\leftarrow S\cup\{\operatorname{arg\,max}_{e\notin S}\bigtriangleup(e\mid S)\} carries a 1k+1\frac{1}{k+1} worst-case optimality bound. A plane is the homogeneous vector π=(n,d)\boldsymbol{\pi}=(\mathbf{n}^\top,d)^\top, transformed between frames by πw=Tw,cπc\boldsymbol{\pi}_w=\text{T}_{w,c}^{-\top}\boldsymbol{\pi}_c. Each pixel u\mathbf{u} on a plane pops up to the 3D point

pc=dcnc(K1u)K1u\mathbf{p}_{c}=\frac{-d_{c}}{\mathbf{n}_{c}^{\top}(\text{K}^{-1}\mathbf{u})}\text{K}^{-1}\mathbf{u}

and wall normals follow from verticality: nwall,c=ngnd,c×(pc1pc0)\mathbf{n}_{wall,c}=\mathbf{n}_{gnd,c}\times(\mathbf{p}_{c1}-\mathbf{p}_{c0}). Camera rotation for initialisation comes from Manhattan vanishing points via vi=KRw,cei\mathbf{v}_{i}=\mathbf{K}\mathbf{R}_{w,c}^{\top}\mathbf{e}_{i}.

Plane SLAM back-end. A factor graph (iSAM) estimates 6-DoF poses x0,,xtx_0,\dots,x_t and plane landmarks π0,,πn\boldsymbol{\pi}_0,\dots,\boldsymbol{\pi}_n from pop-up plane measurements plus odometry; each plane carries a ground/wall label. Because (n,d)(\mathbf{n}^\top,d)^\top is over-parametrised (singular information matrix), planes are optimised in the minimal quaternion representation qR4\mathbf{q}\in\mathbb{R}^4, q=1\|q\|=1, updated via the exponential map. Data association uses plane normal difference, mutual distance, and projection overlap; loop closure uses ORB bag-of-words, after which factors of the duplicate plane are shifted onto the matched landmark. Plane measurements are re-popped-up (<1 ms per hundred planes) after each pose update.

Point-plane fusion. Plane-only SLAM is under-constrained in corridors (a free direction tfreet_{free} along parallel walls), so two combinations with LSD-SLAM are proposed: (1) Depth Enhanced LSD SLAM fuses pop-up depth dpd_p (σp2dp2\sigma_p^2\propto d_p^2 by error propagation) with LSD’s propagated depth dld_l as N(σl2dp+σp2dlσl2+σp2,σl2σp2σl2+σp2)\mathcal{N}\left(\frac{\sigma_{l}^{2}d_{p}+\sigma_{p}^{2}d_{l}}{\sigma_{l}^{2}+\sigma_{p}^{2}},\frac{\sigma_{l}^{2}\sigma_{p}^{2}}{\sigma_{l}^{2}+\sigma_{p}^{2}}\right); (2) LSD Pop-up SLAM runs plane SLAM with the enhanced LSD poses as odometry factors.

Results

Why it matters for SLAM

Pop-up SLAM is an early example of injecting structural and semantic priors into geometric SLAM, showing that scene understanding and SLAM are mutually beneficial: single-image priors rescue SLAM in degenerate scenes, and SLAM gives the priors 3D consistency. It influenced later planar and structure-aware SLAM work and is a direct precursor to the same authors’ object-level CubeSLAM, which reuses its ground-plane backprojection geometry.