MRS-Map

Stückler 2014 · Paper

One-line summary — An octree-based multi-resolution surfel map for RGB-D SLAM that stores joint shape and color statistics per surfel, enabling noise-aware probabilistic registration, key-view pose-graph SLAM, and real-time object tracking on a CPU.

Problem

Dense RGB-D mapping at a single fixed resolution faces an unavoidable trade-off: fine resolution captures detail but wastes memory, coarse resolution loses fidelity. RGB-D sensor noise also grows quadratically with depth, so treating all measurements at one resolution is statistically wrong. GPU-bound systems like KinectFusion further exclude light-weight or low-cost robot platforms. What is needed is a compact representation that adapts detail to measurement quality and supports fast, robust registration of images, maps, and multi-view object models — entirely on a CPU.

Method & architecture

S2(PAB)S2(PA)+S2(PB)+δδTNANB(NA+NB),δ:=NBS(PA)NAS(PB),\mathcal{S}^2(\mathcal{P}^{A\cup B}) \leftarrow \mathcal{S}^2(\mathcal{P}^A) + \mathcal{S}^2(\mathcal{P}^B) + \frac{\delta\delta^T}{N_A N_B (N_A + N_B)}, \qquad \delta := N_B\,\mathcal{S}(\mathcal{P}^A) - N_A\,\mathcal{S}(\mathcal{P}^B),

from which mean μ=1PS\mu = \frac{1}{\lvert\mathcal{P}\rvert}\mathcal{S} and covariance Σ=1P1S2μμT\Sigma = \frac{1}{\lvert\mathcal{P}\rvert-1}\mathcal{S}^2 - \mu\mu^T follow. The distribution is 6D — position jointly with color in an Lαβ\alpha\beta space that separates luminance from chrominance. Up to six orthogonal view directions keep distinct surfaces in one voxel apart; surfels need at least 10 points.

p(ss,ix,sm,j)=N(di,j(x);0,Σi,j(x)),di,j(x):=μm,jT(x)μs,i,Σi,j(x):=Σm,j+R(x)Σs,iR(x)T,p(s_{s,i} \mid x, s_{m,j}) = \mathcal{N}\big(d_{i,j}(x);\, 0,\, \Sigma_{i,j}(x)\big), \quad d_{i,j}(x) := \mu_{m,j} - T(x)\,\mu_{s,i}, \quad \Sigma_{i,j}(x) := \Sigma_{m,j} + R(x)\,\Sigma_{s,i}\,R(x)^T,

so the covariances learned from data automatically weight reliable geometry — no keypoint extraction. The log-likelihood L(x)=aAlogΣa(x)+daT(x)Σa1(x)da(x)L(x) = \sum_{a\in\mathcal{A}} \log\lvert\Sigma_a(x)\rvert + d_a^T(x)\,\Sigma_a^{-1}(x)\,d_a(x) is optimized by fast approximate Levenberg-Marquardt (typically 10-20 iterations) followed by ~5 Newton iterations with trilinear interpolation of model surfels; evaluation is parallelized over CPU cores. A closed-form estimate of the pose covariance captures uncertainty along unobservable dimensions (e.g. viewing a planar surface).

Results

All timings on a notebook Intel Core i7-3610QM (2.3 GHz quad-core) at full 640×480 resolution, maximum map resolution 0.0125 m. Incremental registration (TUM RGB-D benchmark, median translational RPE): 4.4 mm on fr1/desk vs warp 5.8, GICP 10.2, 3D-NDT 7.9, fovis 6.3; best on most fr1 sequences (e.g. fr1/plant 3.5 mm, fr1/xyz 2.6 mm, fr2/xyz 1.4 mm). Average runtime 75.15 ms on fr1/desk vs warp 108.64, GICP 4015.4, 3D-NDT 414.87 — about 15 Hz, and it retains ICP-like robustness for skipped frames where warp diverges. SLAM: better RMSE RPE than RGB-D SLAM on eight of eleven sequences when all frames are processed, e.g. freiburg1_room 0.111 m vs 0.219 m, freiburg2_desk 0.100 m vs 0.143 m, freiburg1_teddy 0.066 m vs 0.138 m; failures on freiburg1_floor (texture-poor floor) and freiburg2_large_loop (far, uncertain depth). One graph-optimization iteration takes up to a few ms (freiburg2_desk: median 0.79 ms at max 64 key views, 138 edges). Object modeling/tracking: median ATE about 1-2 cm for 360° model building; tracking of learned models with median ATE 16-30 mm at 32-50 ms per frame; demonstrated live at RoboCup@Home 2011/2012 (both won) on the robot Cosero.

Why it matters for SLAM

MRS-Map showed that statistical surfel representations — rather than dense voxel grids — support accurate RGB-D tracking with modest memory and no GPU, making dense-ish SLAM and object tracking feasible on real robot hardware. Its uncertainty-aware surfel registration (an RGB-D descendant of NDT) and multi-resolution octree design influenced later surfel-based systems such as ElasticFusion and surfel-based LiDAR mapping, and it was a standard comparison baseline for dense RGB-D SLAM systems (DVO-SLAM, ElasticFusion) through the mid-2010s.