Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Master's Thesis on Simultaneous Localization and Mapping in dynamic environments. Separately reconstructs both the static environment and the dynamic objects from it, such as cars.
| Date | Stars |
|---|---|
| 2026-07-24 | 576 |
| 2026-07-25 | 576 |
| 2026-07-28 | 576 |
| 2026-07-30 | 576 |
| 2026-08-11 | 576 |
| 2026-08-18 | 575 |
| 2026-09-20 | 575 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# DynSLAM: Simultaneous Localization and Mapping in Dynamic Environments
This is a dense SLAM system written in C++. It builds on [InfiniTAM](https://github.com/victorprad/InfiniTAM), adding support
for stereo input, outdoor operation, voxel garbage collection,
and separate dynamic object (e.g., car) reconstruction.
Developed as part of my Master's Thesis, in the [Computer
Vision and Geometry Group](https://cvg.ethz.ch) of [ETH
Zurich](https://ethz.ch). Accepted to ICRA 2018 accompanying
the paper "Robust Dense Mapping for Large-Scale Dynamic
Environments" by Andrei Bârsan, Peidong Liu, Marc Pollefeys, and Andreas Geiger.
The source code is [hosted on GitHub](https://github.com/AndreiBarsan/DynSLAM).
## Preview
The following screenshot shows an early preview of DynSLAM in action. It
takes in stereo input, computes the depth map, using either ELAS or
dispnet, segments the input RGB using Multi-task Network Cascades to
detect object instances, and then separately reconstructs the static
background and individual object instances.
The top pane shows the dense reconstruction of the background. The
following panes show, in top-down, left-right order: the left RGB frame,
the computed depth map, the output of the instance-aware semantic
segmentation algorithm, the input RGB to the instance reconstructor,
memory usage statistics, and a novel view of the reconstructed object
instance.
The colors in the 3D reconstructions correspond to the voxel weights:
red-tinted areas are low-weight ones, whereas blue ones are high-weight
ones. Areas which remain low-weight even several frames after first
being observed are very likely to be noisy, while blue ones are ones
where the system is confident in its reconstruction.

## Related Repositories
* [My InfiniTAM fork](https://github.com/AndreiBarsan/InfiniTAM), which
is used by this system for the actual 3D reconstruction (via
volumetric fusion, using voxel hashing for map storage). My fork
contains a series of small tweaks designe to make InfiniTAM a little
easier to use as a component of a larger system.
* [My fork of the official implemntation of Multi-task Network Cascades](https://github.com/AndreiBarsan/MNC)
for image semantic segmentation. We need this for identifying where
the cars are in the input videos. Using semantics enables us to
detect both moving and static cars.
* [My fork of the modified Caffe used by MNC](https://github.com/AndreiBarsan/caffe-mnc). Since MNC's architecture requires
some tweaks to Caffe's internals, its authors forked Caffe and modified
it to their needs. I forked their fork and made it work with my tools,
while also making it faster by merging it with the Caffe master, which
enabled cuDNN 5 support, among many other things.
* [My mirror of libelas](https://github.com/AndreiBarsan/libelas-tooling)
which I use for pre-computing the depth maps. I'm working on getting
the depth computation to happen on the fly, and investigating other
methods for estimating depth from stereo.
## Regenerating Plots
The plots in the corresponding ICRA paper can all be regenerated from the raw
data included in this repository as follows:
1. Unzip `./raw-data-archives/raw-logz.7z` to `./csv`.
1. Install the data analysis dependencies (e.g., in a Python virtual
environment or using Anaconda). Installing the pacakges using the Anaconda
option can be done as:
```bash
conda install --yes jupyter pandas numpy scipy scikit-learn matplotlib seaborn
```
1. Start Jupyter:
```bash
cd notebooks && jupyter notebook
```
1. Regenerate Figure 6 using `./notebooks/StaticAndDynamicDepthAnalysis.ipynb`
1. Regenerate Figure 7 using `./notebooks/Voxel GC Stats.ipynb`
1. The other notebooks can be used to generate the various figures from [the
supplementary material](http://andreibarsan.github.io/dynslam).
## Building and Running DynSLExcerpt of 9,774 characters
Read on GitHub352
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:2c00b612c6aa77ea, topic:computer-vision, readme:computer vision, readme:semantic segmentation
matched fp:2c00b612c6aa77ea, topic:deep-learning
matched fp:2c00b612c6aa77ea, topic:slam, readme:slam