diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..f724f97 --- /dev/null +++ b/README.en.md @@ -0,0 +1,119 @@ +

+

DUFOMap: Efficient Dynamic Awareness Mapping

+

+ +[![arXiv](https://img.shields.io/badge/arXiv-2403.01449-b31b1b?logo=arxiv&logoColor=white)](https://arxiv.org/abs/2403.01449) +[![page](https://img.shields.io/badge/Project-Page-green)](https://KTH-RPL.github.io/dufomap) +[![poster](https://img.shields.io/badge/RAL2024|Poster-6495ed?style=flat&logo=Shotcut&logoColor=wihte)](https://mit-spark.github.io/Longterm-Perception-WS/assets/proceedings/DUFOMap/poster.pdf) +[![video](https://img.shields.io/badge/video-YouTube-FF0000?logo=youtube&logoColor=white)](https://youtu.be/isDnAVoVD5M) + +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 | +| ------- | ------- | ------- | +| ![](assets/imgs/dufomap_leica.gif) | ![](assets/imgs/doals_train_128.gif) | ![](assets/imgs/two_floor_mid360.gif) | + + +🚀 2024-11-20: Update dufomap Python API from [SeFlow](https://github.com/KTH-RPL/SeFlow) try it now! `pip install dufomap` and run `python main.py --data_dir data/00` to get the cleaned map directly. Support all >=Python 3.8 in Windows and Linux. Please extract your own data to **the unified format** first follow [this wiki page](https://kth-rpl.github.io/DynamicMap_Benchmark/data/creation/#custom-data). + + +Clone quickly and init submodules: +```bash +git clone --recursive -b main --single-branch https://github.com/KTH-RPL/dufomap.git + + +# The easiest way to run DUFOMap: +pip install dufomap +python main.py --data_dir data/00 +``` + + +### Dependencies + +If you want to compile the C++ source version, please install the following dependencies: + +```bash +sudo apt update && sudo apt install gcc-10 g++-10 +sudo apt install libtbb-dev liblz4-dev +``` + +Or you can directly build docker image through our [Dockerfile](Dockerfile): +```bash +docker build -t dufomap . +``` + +### 1. Build & Run + +Build: + +```bash +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](https://kth-rpl.github.io/DynamicMap_Benchmark/data) or format your own dataset follow [custom dataset section](https://kth-rpl.github.io/DynamicMap_Benchmark/data/creation/#custom-data). + +```bash +wget https://zenodo.org/records/8160051/files/00.zip -p data +unzip data/00.zip -d data +``` + +Run: + +```bash +./build/dufomap_run data/00 assets/config.toml +``` + +![dufomap](assets/demo.png) + +## 2. Evaluation + +Please reference to [DynamicMap_Benchmark](https://github.com/KTH-RPL/DynamicMap_Benchmark) for the evaluation of DUFOMap and comparison with other dynamic removal methods. + +[Evaluation Section link](https://github.com/KTH-RPL/DynamicMap_Benchmark/blob/master/scripts/README.md#evaluation) + + +## 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](https://wasp-sweden.org/)) funded by the Knut and Alice Wallenberg Foundation including the WASP NEST PerCorSo. + +Feel free to explore below projects that use [ufomap](https://github.com/UnknownFreeOccupied/ufomap) (attach code links as follows): +- [RA-L'24 DUFOMap, Dynamic Awareness]() +- [RA-L'23 SLICT, SLAM](https://github.com/brytsknguyen/slict) +- [RA-L'20 UFOMap, Mapping Framework](https://github.com/UnknownFreeOccupied/ufomap) + +### 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} +} +```