DS-SLAM

Yu 2018 · Paper

One-line summary — A semantic visual SLAM for dynamic environments that combines SegNet semantic segmentation with an optical-flow/epipolar moving-consistency check to reject moving objects, built on ORB-SLAM2 and producing a dense semantic octo-tree map.

Problem

Despite decades of progress, two problems remained poorly solved for mobile-robot SLAM: “how to tackle the moving objects in the dynamic environments” and “how to make the robots truly understand the surroundings and accomplish advanced tasks.” A person walking through the scene corrupts pose estimation (their features violate the static-world assumption), and purely geometric maps offer no semantics for higher-level tasks. DS-SLAM addresses both: robust localization in dynamic scenes, plus a semantic map usable for navigation and beyond.

Method & architecture

D=P2TFP1X2+Y2D = \frac{\lvert P_2^{T} F P_1 \rvert}{\sqrt{\lVert X \rVert^{2} + \lVert Y \rVert^{2}}}

exceeds a preset threshold ε\varepsilon.

L(nz1:t)=L(nz1:t1)+L(nzt),L(n \mid z_{1:t}) = L(n \mid z_{1:t-1}) + L(n \mid z_t),

where L(nzt)=τL(n \mid z_t) = \tau if voxel nn is observed occupied at time tt and 0 otherwise; only voxels whose probability exceeds a threshold are kept, so transient (dynamic) voxels never stabilize into the map.

Results

Why it matters for SLAM

Classical SLAM assumes a static world, and people walking through a scene can corrupt tracking badly — the TUM RGB-D dynamic sequences exist precisely to expose this. DS-SLAM, contemporaneous with DynaSLAM, is one of the canonical answers: fuse a segmentation network with geometric consistency checks inside an ORB-SLAM2 backbone. The “semantic prior + motion check” recipe it helped establish remains the standard baseline design for dynamic-environment SLAM, and its semantic octo-tree output foreshadowed maps built for high-level tasks rather than localization alone.