Here is a preview of the readme in codes. Task detects dynamic points in maps and removes them, enhancing the maps:
Folder quick view:
methods
: contains all the methods in the benchmarkscripts/py/eval
: eval the result pcd compared with ground truth, get quantitative tablescripts/py/data
: pre-process data before benchmark. We also directly provided all the dataset we tested in the map. We run this benchmark offline in computer, so we will extract only pcd files from custom rosbag/other data format [KITTI, Argoverse2]
Quick try:
- Teaser data on KITTI sequence 00 only 384.8MB in Zenodo online drive
wget https://zenodo.org/records/8160051/files/00.zip unzip 00.zip -d ${data_path, e.g. /home/kin/data}
- Clone our repo:
git clone --recurse-submodules https://github.com/KTH-RPL/DynamicMap_Benchmark.git
- Go to methods folder, build and run through
cd methods/dufomap && cmake -B build -D CMAKE_CXX_COMPILER=g++-10 && cmake --build build ./build/dufomap_run ${data_path, e.g. /home/kin/data/00} ${assets/config.toml}
Feel free to pull a request if you want to add more methods or datasets. Welcome! We will try our best to update methods and datasets in this benchmark. Please give us a star ๐ and cite our work ๐ if you find this useful for your research. Thanks!
- 2024/04/18 DUFOMap is accepted by RA-L'24. Updated benchmark: DUFOMap and dynablox submodule instruction in the benchmark. Datasets will soon be updated.
- 2024/03/18 Added the first data-driven method DeFlow into our benchmark. Create BeautyMap repo (wait for public and open-source after review).
- 2024/03/08 Fix statements on our ITSC'23 paper: KITTI sequences pose are also from SemanticKITTI which used SuMa. In the DUFOMap paper Section V-C, Table III, we present the dynamic removal result on different pose sources. Check discussion in DUFOMap paper if you are interested.
- 2023/06/13 The benchmark paper Accepted by ITSC 2023 and release five methods (Octomap, Octomap w GF, ERASOR, Removert) and three datasets (01, 05, av2, semindoor) in benchmark paper.
- 2024/03/27: I will update a document page soon (tutorial, manual book, and new online leaderboard), and point out the commit for each paper. Since there are some minor mistakes in the first version. Stay tune with us!
Please check in methods
folder.
Online (w/o prior map):
- DUFOMap (Ours ๐): RAL'24, Benchmark Instruction
- Octomap w GF (Ours ๐): ITSC'23, Benchmark improvement ITSC 2023
- dynablox: RAL'23 official link, Benchmark Adaptation
- Octomap: ICRA'10 & AR'13 official link, Benchmark implementation
Learning-based (data-driven) (w pretrain-weights provided):
- DeFlow (Ours ๐): ICRA'24, Benchmark Adaptation
Offline (need prior map).
- BeautyMap (Ours ๐): under review, official code
- ERASOR: RAL'21 official link, benchmark implementation
- Removert: IROS 2020 official link, benchmark implementation
Please note that we provided the comparison methods also but modified a little bit for us to run the experiments quickly, but no modified on their methods' core. Please check the LICENSE of each method in their official link before using it.
You will find all methods in this benchmark under methods
folder. So that you can easily reproduce the experiments. Or click here to check our score screenshot directly.
Last but not least, feel free to pull request if you want to add more methods. Welcome!
Download all these dataset from Zenodo online drive. Or create by yourself through the scripts we provided.
- Semantic-Kitti, outdoor small town VLP-64
- Argoverse2.0, outdoor US cities VLP-32
- [UDI-Plane] Our own dataset, Collected by VLP-16 in a small vehicle.
- [KTH-Campuse] Our Multi-Campus Dataset, Collected by Leica RTC360 3D Laser Scan.
- [HKUST-Building] Our fusionportable Dataset, collected by Leica BLK360 Imaging Laser Scanner
- [Indoor-Floor] Our own dataset, Collected by Livox mid-360 in a quadruped robot.
Welcome to contribute your dataset with ground truth to the community through pull request.
First all the methods will output the clean map, if you are only user on map clean task, it's enough. But for evaluation, we need to extract the ground truth label from gt label based on clean map. Why we need this? Since maybe some methods downsample in their pipeline, we need to extract the gt label from the downsampled map.
Check create dataset readme part in the scripts folder to get more information. But you can directly download the dataset through the link we provided. Then no need to read the creation; just use the data you downloaded.
-
Visualize the result pcd files in CloudCompare or the script to provide, one click to get all evaluation benchmarks and comparison images like paper have check in scripts/py/eval.
-
All color bar also provided in CloudCompare, here is tutorial how we make the animation video.
This benchmark implementation is based on codes from several repositories as we mentioned in the beginning. Thanks for these authors who kindly open-sourcing their work to the community. Please see our paper reference section to get more information.
This work was partially supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation
Please cite our works if you find these useful for your research:
@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}
}
@article{daniel2024dufomap,
author = {Daniel, Duberg and Zhang, Qingwen and Jia, Mingkai and Jensfelt, Patric},
title = {DUFOMap: Efficient Dynamic Awareness Mapping},
journal = {arXiv preprint arXiv:2403.01449},
year = {2024},
}