mapmos

Building Volumetric Beliefs for Dynamic Environments Exploiting Map-Based Moving Object Segmentation (RAL 2023)

https://github.com/prbonn/mapmos

Science Score: 65.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
    Organization prbonn has institutional domain (www.ipb.uni-bonn.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

cloud deep-learning map minkowski-engine minkowskiengine mos moving object point point-cloud segmentation static
Last synced: 4 months ago · JSON representation ·

Repository

Building Volumetric Beliefs for Dynamic Environments Exploiting Map-Based Moving Object Segmentation (RAL 2023)

Basic Info
Statistics
  • Stars: 169
  • Watchers: 8
  • Forks: 10
  • Open Issues: 0
  • Releases: 2
Topics
cloud deep-learning map minkowski-engine minkowskiengine mos moving object point point-cloud segmentation static
Created over 2 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

Building Volumetric Beliefs for Dynamic Environments Exploiting Map-Based Moving Object Segmentation

Our approach identifies moving objects in the current scan (blue points) and the local map (black points) of the environment and maintains a volumetric belief map representing the dynamic environment.

Click here for qualitative results! [![MapMOS](https://github.com/PRBonn/MapMOS/assets/38326482/a4238431-bd2d-4b2c-991b-7ff5e9378a8e)](https://github.com/PRBonn/MapMOS/assets/38326482/04c7e5a2-dd44-431a-95b0-c42d5605078a) Our predictions for the KITTI Tracking sequence 19 with true positives (green), false positives (red), and false negatives (blue).

Installation

First, make sure the MinkowskiEngine is installed on your system, see here for more details.

Next, clone our repository bash git clone git@github.com:PRBonn/MapMOS && cd MapMOS

and install with bash make install

or bash make install-all if you want to install the project with all optional dependencies (needed for the visualizer). In case you want to edit the Python code, install in editable mode: bash make editable

How to Use It

Just type

bash mapmos_pipeline --help to see how to run MapMOS.

This is what you should see

Screenshot from 2023-08-03 13-07-14

Check the Download section for a pre-trained model. Like KISS-ICP, our pipeline runs on a variety of point cloud data formats like bin, pcd, ply, xyz, rosbags, and more. To visualize these, just type

bash mapmos_pipeline --visualize /path/to/weights.ckpt /path/to/data

Want to evaluate with ground truth labels? Because these labels come in all shapes, you need to specify a dataloader. This is currently available for SemanticKITTI, NuScenes, HeLiMOS, and our labeled KITTI Tracking sequence 19 and Apollo sequences (see [Downloads](#downloads)).
Want to reproduce the results from the paper? For reproducing the results of the paper, you need to pass the corresponding config file. They will make sure that the de-skewing option and the maximum range are set properly. To compare different map fusion strategies from our paper, just pass the `--paper` flag to the `mapmos_pipeline`.

Training

To train our approach, you need to first cache your data. To see how to do that, just cd into the MapMOS repository and type

bash python3 scripts/precache.py --help

After this, you can run the training script. Again, --help shows you how: bash python3 scripts/train.py --help

Want to verify the cached data? You can inspect the cached training samples by using the script `python3 scripts/cache_to_ply.py --help`.
Want to change the logging directory? The training log and checkpoints will be saved by default to the current working directory. To change that, export the `export LOGS=/your/path/to/logs` environment variable before running the training script.

HeLiMOS

We provide additional training and evaluation data for different sensor types in our HeLiMOS paper. To train on the HeLiMOS data, use the following commands:

shell python3 scripts/precache.py /path/to/HeLiMOS helimos /path/to/cache --config config/helimos/*_training.yaml python3 scripts/train.py /path/to/HeLiMOS helimos /path/to/cache --config config/helimos/*_training.yaml

by replacing the paths and the config file names. To evaluate for example on the Velodyne test data, run

shell mapmos_pipeline /path/to/weights.ckpt /path/to/HeLiMOS --dataloader helimos -s Velodyne/test.txt

Note that our sequence -s encodes both the sensor type Velodyne and split test.txt, just replace these with Ouster, Aeva, or Avia and/or train.txt or val.txt to run MapMOS on different sensors and/or splits.

Downloads

You can download the post-processed and labeled Apollo dataset and KITTI Tracking sequence 19 from our website.

The weights of our pre-trained model can be downloaded as well.

Publication

If you use our code in your academic work, please cite the corresponding paper:

bibtex @article{mersch2023ral, author = {B. Mersch and T. Guadagnino and X. Chen and I. Vizzo and J. Behley and C. Stachniss}, title = {{Building Volumetric Beliefs for Dynamic Environments Exploiting Map-Based Moving Object Segmentation}}, journal = {IEEE Robotics and Automation Letters (RA-L)}, volume = {8}, number = {8}, pages = {5180--5187}, year = {2023}, issn = {2377-3766}, doi = {10.1109/LRA.2023.3292583}, codeurl = {https://github.com/PRBonn/MapMOS}, }

Acknowledgments

This implementation is heavily inspired by KISS-ICP.

License

This project is free software made available under the MIT License. For details see the LICENSE file.

Owner

  • Name: Photogrammetry & Robotics Bonn
  • Login: PRBonn
  • Kind: organization
  • Email: cyrill.stachniss@igg.uni-bonn.de
  • Location: Bonn

Photogrammetry & Robotics Lab at the University of Bonn

Citation (CITATION.cff)

cff-version: 1.2.0
preferred-citation:
  title: "Building Volumetric Beliefs for Dynamic Environments Exploiting Map-Based Moving Object Segmentation"
  doi: "10.1109/LRA.2023.3292583"
  year: "2023"
  type: article
  journal: "IEEE Robotics and Automation Letters (RA-L)"
  url: https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/mersch2023ral.pdf
  codeurl: https://github.com/PRBonn/MapMOS
  authors:
    - family-names: Mersch
      given-names: Benedikt
    - family-names: Guadagnino
      given-names: Tiziano
    - family-names: Chen
      given-names: Xieyuanli
    - family-names: Vizzo
      given-names: Ignacio
    - family-names: Behley
      given-names: Jens
    - family-names: Stachniss
      given-names: Cyrill

GitHub Events

Total
  • Issues event: 3
  • Watch event: 21
  • Delete event: 10
  • Issue comment event: 8
  • Push event: 21
  • Pull request event: 20
  • Fork event: 2
  • Create event: 9
Last Year
  • Issues event: 3
  • Watch event: 21
  • Delete event: 10
  • Issue comment event: 8
  • Push event: 21
  • Pull request event: 20
  • Fork event: 2
  • Create event: 9

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 37
  • Total Committers: 2
  • Avg Commits per committer: 18.5
  • Development Distribution Score (DDS): 0.027
Past Year
  • Commits: 23
  • Committers: 1
  • Avg Commits per committer: 23.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Benedikt Mersch b****h@g****m 36
Meher Malladi r****7@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 12
  • Total pull requests: 34
  • Average time to close issues: 5 days
  • Average time to close pull requests: about 5 hours
  • Total issue authors: 10
  • Total pull request authors: 2
  • Average comments per issue: 2.83
  • Average comments per pull request: 0.03
  • Merged pull requests: 29
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 18
  • Average time to close issues: 9 days
  • Average time to close pull requests: about 2 hours
  • Issue authors: 4
  • Pull request authors: 1
  • Average comments per issue: 4.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Terminal-K (2)
  • AyanamiHao (1)
  • vb44 (1)
  • Jonathan5345 (1)
  • Zero-Yi (1)
  • ZiliangMiao (1)
  • Skrsch (1)
  • beyounged (1)
  • JulesSanchez (1)
  • iwander-all (1)
Pull Request Authors
  • benemer (39)
  • mehermvr (2)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/python.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
pyproject.toml pypi
  • diskcache >=5.3.0
  • kiss-icp >=0.2.10
  • pytorch_lightning >=1.6.4