← all repositories
AndreiBarsan/DynSLAM

A SLAM system that knows which voxels belong to the car

ETH Zurich master's thesis project that separates moving objects from static background in real-time 3D reconstruction.

575 stars Jupyter Notebook Computer VisionDomain Apps
DynSLAM
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

DynSLAM is a dense SLAM system for autonomous driving scenarios. It takes stereo video, computes depth maps, segments cars and other objects via instance-aware semantic segmentation, then reconstructs the static background and each dynamic object separately. The result is a voxel-colored map where red-tinted areas signal low confidence and blue areas signal high confidence.

The interesting bit

Most SLAM systems treat moving objects as noise to filter out. DynSLAM does the opposite: it uses Multi-task Network Cascades to identify cars whether they’re moving or parked, then gives each object its own reconstruction thread. The README is admirably frank about the glue-code nature of the project—it is essentially a heavily modified InfiniTAM fork stitched together with custom Caffe forks, libelas, and a lot of preprocessing scripts.

Key highlights

  • Accepted to ICRA 2018; paper titled “Robust Dense Mapping for Large-Scale Dynamic Environments”
  • Supports both ELAS and DispNet for depth estimation
  • Includes preprocessed demo sequence from KITTI Odometry Sequence 06 for quick testing
  • Voxel garbage collection for long outdoor sequences
  • Jupyter notebooks included for regenerating all paper plots from raw data

Caveats

  • Cannot run inside Docker as of February 2018 due to OpenGL GUI dependency; CLI-only mode remains “future work”
  • Depth and segmentation must be preprocessed offline; no on-the-fly computation yet
  • KITTI Raw sequences “should work” but are untested due to rolling-shutter complications
  • CUDA 8 and OpenCV 2.4.9 required, which are increasingly dated

Verdict

Worth studying if you’re building SLAM for dynamic environments and want to see how volumetric fusion can be hacked to track objects separately. Skip it if you need something production-ready or containerized; this is research code with the usual thesis-project rough edges.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.