SuMa
Behley (Bonn) 2018 · Paper
One-line summary — SuMa (Surfel-based Mapping) performs real-time LiDAR SLAM by maintaining the environment as a surfel map and tracking each new scan with projective frame-to-model ICP on rendered range-image views, showing that dense-map LiDAR SLAM with online loop closure works at urban scale without hand-crafted feature extraction.
Problem
Laser-based mapping systems mostly reduce the 3D point cloud before alignment — features (LOAM), subsampled clouds, voxel grids, or NDT maps — while dense frame-to-model approaches from RGB-D SLAM (KinectFusion, ElasticFusion) use all available information. Bringing the dense paradigm to rotating outdoor LiDAR means coping with (1) fast sensor motion causing large displacements between scans, (2) comparably sparse point clouds, and (3) large-scale environments — all in real time, with loop closures integrated online rather than as an offline afterthought.
Method & architecture
The pipeline runs seven steps per scan: preprocessing, model rendering, frame-to-model ICP, map update, loop-closure detection, loop-closure verification, and pose-graph optimization (in a separate thread).
-
Preprocessing to vertex/normal maps: each point cloud is projected via into a vertex map (900×64 for KITTI’s HDL-64E) using spherical coordinates,
where and is the vertical field of view. A normal map is computed by cross products over forward differences of neighboring vertices.
-
Projective frame-to-model ICP: the active surfel map is rendered at the last pose into model maps ; correspondences come from pixel lookup instead of nearest-neighbor search. The point-to-plane error
is minimized by Gauss–Newton with increments , Huber weighting, and outlier rejection (distance > 2 m or normal angle > 30°).
-
Surfel map with stability filtering: each surfel carries position , normal , radius , creation/update timestamps, and a stability log-odds ratio maintained by a binary Bayes filter,
where is the angle and the distance between measurement and surfel. Only stable surfels are rendered; compatible measurements refine surfels by exponential moving average (); unstable old surfels (dynamics, clutter) are removed.
-
Map deformation via poses: surfel coordinates live in the frame of their creation pose, so after pose-graph optimization the map is corrected by simply updating poses — no re-integration of past scans.
-
Map-based loop closure: the map is split into active (, with ) and inactive parts; odometry uses only the former, loop search only the latter. The nearest inactive pose within 50 m is tried with multiple ICP initializations, and a candidate is accepted only if the residual against a composed virtual view of map plus scan satisfies (with ), then verified over 5 subsequent scans before a constraint enters the gtsam pose graph.
Results
- KITTI odometry training set (relative rotational error in deg/100 m / translational error in %): frame-to-frame ICP 0.9/2.9; frame-to-model 0.3/0.7; frame-to-model with loop closure 0.3/0.8 — versus LOAM −/0.8, Stereo LSD-SLAM 0.3/0.9, SOFT-SLAM 0.2/0.7. Loop closures barely change the KITTI relative metrics but visibly improve global trajectory consistency.
- KITTI test set: 0.0032 deg/m rotational and 1.4% translational error (LOAM: 0.0017 deg/m, 0.7%).
- Runtime on an i7-6700 + GTX 960 (4 GB): odometry + map update take 31 ms on average (max 71 ms); with loop-closure detection and verification at most 189 ms; 48 ms per scan overall — about 20 Hz, twice the sensor rate.
- Reported failure modes: highways with few structured objects, and consistently moving traffic (e.g. traffic jams) that gets wrongly integrated as surfels — precisely the gap SuMa++ later addressed with semantics.
Why it matters for SLAM
SuMa brought the surfel-based dense mapping idea pioneered for short-range RGB-D sensors (ElasticFusion) to outdoor spinning LiDAR, handling far larger ranges and non-uniform point densities. It established GPU-rendered range images plus projective ICP as a standard LiDAR tracking mechanism, offering a dense-map alternative to feature-based pipelines like LOAM, and its map-based loop-closure criterion showed how to verify loops with low scan overlap. Its range-image pipeline directly enabled the semantic extension SuMa++ and later learned processing of LiDAR range images.