Giter Club home page Giter Club logo

dufomap's Introduction

DUFOMap: Efficient Dynamic Awareness Mapping

arXiv page [video coming soon] [poster coming soon]. Accepted by RA-L'24.

Quick Demo: Run with the same parameter setting without tuning for different sensor (e.g 16, 32, 64, and 128 channel LiDAR and Livox-series mid360), the following shows the data collected from:

Leica-RTC360 128-channel LiDAR Livox-mid360

0. Setup

sudo apt update && sudo apt install gcc-10 g++-10
sudo apt install libtbb-dev liblz4-dev

Dockerfile will be soon available.

Clone quickly and init submodules:

git clone --recursive -b main --single-branch https://github.com/KTH-RPL/dufomap.git

1. Build & Run

Build:

cmake -B build -D CMAKE_CXX_COMPILER=g++-10 && cmake --build build

Prepare Data: Teaser data (KITTI 00: 384.4Mb) can be downloaded via follow commands, more data detail can be found in the dataset section or format your own dataset follow custom dataset section.

wget https://zenodo.org/records/8160051/files/00.zip -p data
unzip data/00.zip -d data

Run:

./build/dufomap_run data/00 assets/config.toml

dufomap

2. Evaluation

Please reference to DynamicMap_Benchmark for the evaluation of DUFOMap and comparison with other dynamic removal methods.

Evaluation Section link

Acknowledgements

Thanks to HKUST Ramlab's members: Bowen Yang, Lu Gan, Mingkai Tang, and Yingbing Chen, who help collect additional datasets.

This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation including the WASP NEST PerCorSo.

Feel free to explore below projects that use ufomap (attach code links as follows):

Citation

Please cite our works if you find these useful for your research.

@article{daniel2024dufomap,
  author={Duberg, Daniel and Zhang, Qingwen and Jia, MingKai and Jensfelt, Patric},
  journal={IEEE Robotics and Automation Letters}, 
  title={{DUFOMap}: Efficient Dynamic Awareness Mapping}, 
  year={2024},
  volume={9},
  number={6},
  pages={1-8},
  doi={10.1109/LRA.2024.3387658}
}
@article{duberg2020ufomap,
  author={Duberg, Daniel and Jensfelt, Patric},
  journal={IEEE Robotics and Automation Letters}, 
  title={{UFOMap}: An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown}, 
  year={2020},
  volume={5},
  number={4},
  pages={6411-6418},
  doi={10.1109/LRA.2020.3013861}
}
@inproceedings{zhang2023benchmark,
  author={Zhang, Qingwen and Duberg, Daniel and Geng, Ruoyu and Jia, Mingkai and Wang, Lujia and Jensfelt, Patric},
  booktitle={IEEE 26th International Conference on Intelligent Transportation Systems (ITSC)}, 
  title={A Dynamic Points Removal Benchmark in Point Cloud Maps}, 
  year={2023},
  pages={608-614},
  doi={10.1109/ITSC57777.2023.10422094}
}

dufomap's People

Contributors

danielduberg avatar kin-zhang avatar pjensfelt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dufomap's Issues

关于论文中的limizations

你好,我在拜读论文时,看到最后的局限性部分说,如果在点云地图边界上的体素,虽然是动态体素,但是由于没有fully observed,也无法被划分为动态体素。我在测试数据时可能遇到了类似的问题,
image
测试时动态点云下面一半被过滤掉了,但是路面上方仍然有一串漂浮的点云,不知道有没有什么解决方案呢

Ask for Livox mid-360 dataset

Hi Dr.Zhang

Recently, I have been researching SLAM based on Livox mid-360, and very interested in your research.
I wonder could you share the dataset
[Indoor-Floor] Our own dataset, Collected by Livox mid-360 in a quadruped robot.

Thank you very much for considering my request. I look forward to your prompt response.

Best regards,

Cino

dynamic removal result between octomap and dufomap

Hi Qing Wen
I test dufomap and octomap with my dataset.
图片
The result above is from dufomap with the default config.toml. We can see that some dynamic objects(in red circle) are not trimmed.
The result below is from octomap(https://github.com/Kin-Zhang/octomap.git) with default config.yml. Even though the static objects(in green rectangle) are removed, the dynamic objects are almost deleted.
图片
In your paper, the SA\DA of dufomap performs better than octomap, which is inconsistent with my experiment. Can you explain why?
If you want to reproduce, you can download the dataset from: https://drive.google.com/drive/folders/1kpevt1zkFlDNiw-h6ISCD13-W8EdX6By?usp=drive_link

nothing different with the gt_point.pcd?

Hi, Kin
I run the code you pushed 4 days ago with configs in assets/. But the result dufomap_output.pcd seems no different with the gt_cloud.pcd. The dynamic points are still saved. Is it right?
Here is the screentshot:
选区_576

static areas remove too much

Hi Dr.Zhang

First of all, thank you for sharing the data. I have run dufomap with twofloor and our own data and found that static areas such as floors and walls will also be remove, which with configs in assets/.

I did not find this phenomenon on Octomap, but the running time is very slow

Can this phenomenon be optimized by adjusting parameters?

Here is the screenshots, run with twofloor:

dufomap_output_dynamic.pcd
lQDPKHz13-zXEF3NA0XNBW6wWrCHyUfKrPQGFCp5rPwoAA_1390_837

dufomap_output_static.pcd
lQDPJwrp0MccB13NA0XNBZCwUjSqZzgmMRQGFCqHv8pOAA_1424_837

octomapfg_output.pcd
lQDPJwolXW7pV13NAz3NBY2wPJGAMn0E0B0GFCqdmLrTAQ_1421_829

Best regards,

Cino

Ask for Leica-RTC360 dataset

Hi Dr.Zhang
I have tested the Teaser data (KITTI 00: 384.4Mb) you provided and the results are very good.
Now I plan to test the Leica RTC360 data and see how this algorithm performs in dense crowds.
Can you provide me with this dataset you are using.
Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.