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 , find , where the score is horizontal image coverage and the constraints require edges to be near the CNN boundary and not overlap horizontally. A greedy update carries a worst-case optimality bound. A plane is the homogeneous vector , transformed between frames by . Each pixel on a plane pops up to the 3D point
and wall normals follow from verticality: . Camera rotation for initialisation comes from Manhattan vanishing points via .
Plane SLAM back-end. A factor graph (iSAM) estimates 6-DoF poses and plane landmarks from pop-up plane measurements plus odometry; each plane carries a ground/wall label. Because is over-parametrised (singular information matrix), planes are optimised in the minimal quaternion representation , , 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 along parallel walls), so two combinations with LSD-SLAM are proposed: (1) Depth Enhanced LSD SLAM fuses pop-up depth ( by error propagation) with LSD’s propagated depth as ; (2) LSD Pop-up SLAM runs plane SLAM with the enhanced LSD poses as odometry factors.
Results
- TUM fr3/structure_notexture_far (five white walls + ground): LSD-SLAM and ORB-SLAM both fail. Pop-up Plane SLAM achieves mean positioning error m on the 4.58 m trajectory (3.9%), endpoint error 0.10 m; plane normal error 2.83°, mean pixel depth error 6.2 cm, with 86.8% of pixel depths within 0.1 m.
- Corridor dataset II (60 m loop, hand-held 640×480 camera): LSD Pop-up SLAM closes the loop with 0.4 m error — 0.67% of trajectory length — while LSD and ORB SLAM perform poorly (ORB often fails to initialise).
- Runtime (i7 4.0 GHz + GPU for CNN): CNN segmentation 17.8 ms, edge detection/selection 13.2 ms, iSAM incremental update 17.4 ms; total 49.4 ms per processed frame (over 20 Hz single-threaded), with pop-up run on every 10th image (3 Hz). Map statistics: 146 planes, 344 poses, 1974 factors.
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.