No More Potentially Dynamic Objects: Static Point Cloud Map Generation based on 3D Object Detection and Ground Projection
Video [youtube]
KITTI dataset (https://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d).
- velodyne laser data (*.bin) and clibration files (times.txt).
We tested the code on python 3.8 and Ubuntu 20.04 (ROS noetic).
bash setup_directories.sh
Change (~/dev/no_more_potentially_dynamic_objects
) to your project directory.
cd ~/Downloads/ ## change directory to the download directory
unzip ./data_odometry_velodyne.zip
mv ./dataset/sequences/00/velodyne ~/dev/no_more_potentially_dynamic_objects/data/KITTI/origin
unzip ./data_odometry_calib.zip
mv ./dataset/sequences/00/calib/times.txt ~/dev/no_more_potentially_dynamic_objects/data/KITTI
cd ~/dev/no_more_potentially_dynamic_objects ## change directory to the project directory
conda create -n no_more_dynamic python=3.8
conda activate no_more_dynamic
pip install -r requirements.txt
roscore
Open the different terminal (no anaconda environment is necessary. Instead, rospkg needs to be installed.)
python mini_kitti_publisher.py --dir ./data/KITTI
We used VoxelNeXt as an object detection method in our paper. For the environment setting, we followed documents on OpenPCDet.
Additionally, we visualized bounding boxes to test the inference results. To use visualization code, we prepared corresponding pcd and pkl file.
python visualization.py
We used patchwork-plusplus as an object detection method in our paper. Follow the setup process in patchwork-plusplus
python ground_segmentation.py --dir ./data/KITTI
python ground_projection.py --dir ./data/KITTI
python mini_kitti_publisher.py --dir ./data/KITTI --velodyne_dir projected
We used SC-A-LOAM as a mapping method in our paper.
The code in this repository is based on VoxelNeXt, patchwork-plusplus, SC-A-LOAM, and mini-kitti-publisher. Thanks to the authors of those codes.
Copyright 2023, Soojin Woo, Donghwi Jung, Seong-Woo Kim, Autonomous Robot Intelligence Lab, Seoul National University.
This project is free software made available under the MIT License. For details see the LICENSE file.