Skip to content

PRBonn/MapClosures

Repository files navigation

MapClosures



  •   Install   •   Paper   •   Contact Us

Effectively Detecting Loop Closures using Point Cloud Density Maps.

image


Install

Dependencies

  • Essentials

    sudo apt-get install --no-install-recommends -y build-essential cmake pybind11-dev python3-dev python3-pip
  • Optionally Built
    In this case you have two options:

    • Option 1: You can install them by the package manager in your operative system, e.g. in Ubuntu 22.04:
      sudo apt-get install libeigen3-dev libopencv-dev libtbb-dev
      this will of course make the build of MapClosures much faster.
    • Option 2: Let the build system handle them:
      cmake -B build -S cpp -DUSE_SYSTEM_TBB=OFF -DUSE_SYSTEM_OPENCV=OFF -DUSE_SYSTEM_EIGEN3=OFF
      this will be slower in terms of build time, but will enable you to have a different version of this libraries installed in your system without interfering with the build of MapClosures.

Once the dependencies are installed, the C++ library can be build by using standard cmake commands:

cmake -B build -S cpp
cmake --build build -j8

Python Package

We provide a python wrapper for MapClosures which can be easily installed by simply running:

make

Usage

The following command will provide details about how to use our pipeline:
map_closure_pipeline --help

CLI_usage

Citation

If you use this library for any academic work, please cite our original paper.

@inproceedings{gupta2024icra,
    author     = {S. Gupta and T. Guadagnino and B. Mersch and I. Vizzo and C. Stachniss},
    title      = {{Effectively Detecting Loop Closures using Point Cloud Density Maps}},
    booktitle  = {IEEE International Conference on Robotics and Automation (ICRA)},
    year       = {2024},
    codeurl    = {https://github.com/PRBonn/MapClosures},
}

Paper Results

As we decided to continue the development of MapClosures beyond the scope of the ICRA paper, we created a git tag so that researchers can consistently reproduce the results of the publication. To checkout at this tag, you can run the following:

git checkout ICRA2024

Our development aims to push the performances of MapClosures above the original results of the paper.

Note: You can download the ground-truth loop closure candidates for the datasets used in the paper from here. When run with -e flag, our pipeline will search for groundtruth data under the folder at path <data>/loop_closure/. If not found, it will first generate the groundtruth closures which might consume some time.

Acknowledgement

This repository is heavily inspired by, and also depends on KISS-ICP

Contributors