This repository contains a script for automatic label generation for a radar clutter data set, i.e. a data set in which clutter detections are annotated. It takes the public RadarScenes data set and generates new ground-truth for it.
The three classes distinguished in the new annotations are moving object, stationary and clutter. The former two identify detections that represent real moving and nonmoving objects (including the ground), respectively. All other detections are clutter.
The label generation method in this repository was first presented in the paper "Tackling Clutter in Radar Data - Label Generation and Detection Using PointNet++" by J. Kopp, D. Kellner, A. Piroli and K. Dietmayer (arXiv, IEEE). Please make sure to cite this paper when using the code or the generated ground-truth in your own work.
BibTeX Entry
@inproceedings{Kopp2023,
title = {{Tackling Clutter in Radar Data -- Label Generation and Detection Using PointNet++}},
author = {Kopp, Johannes and Kellner, Dominik and Piroli, Aldi and Dietmayer, Klaus},
booktitle = {2023 IEEE International Conference on Robotics and Automation (ICRA)},
publisher = {IEEE},
pages = {1493--1499},
year = {2023},
month = {may},
doi = {10.1109/ICRA48891.2023.10160222},
isbn = {979-8-3503-2365-8},
url = {https://ieeexplore.ieee.org/document/10160222/}
}
In addition to that, you will probably want to cite the original RadarScenes data set.
- A working Python installation, version >=3.6
- A current version of pip (upgrade via
python3 -m pip install --upgrade pip
)
-
Download the original RadarScenes data set from https://zenodo.org/record/4559821 and extract the zip file. For the remainder of these instructions, it assumed that the extracted data is stored in
~/workspace/RadarScenes_Clutter/
. However, you may replace this with a path of your choice. -
Install the RadarScenes utility Python package. This can be done e.g. in a newly created virtual environment as follows.
On Linux:python3 -m venv ~/.virtualenvs/radar_scenes_venv # create a virtual Python environment named "radar_scenes_venv" source ~/.virtualenvs/radar_scenes_venv/bin/activate # activate the environment python3 -m pip install radar_scenes
On Windows:
python3 -m venv %HOMEPATH%\.virtualenvs\radar_scenes_venv # create a virtual Python environment named "radar_scenes_venv" %HOMEPATH%\.virtualenvs\radar_scenes_venv\Scripts\activate.bat # activate the environment python3 -m pip install radar_scenes
For a more detailed description of the installation, see https://github.com/oleschum/radar_scenes#installation.
-
Download the script for label generation provided in this repository. There are multiple ways to do this. You can either clone the entire git repository (assuming git is installed on your system) via
git clone https://github.com/uulm-mrm/clutter-ds.git /path/for/storing/script/ # target directory may e.g. be ~/clutter_dataset_generation/
or download the repository as a zip file from https://github.com/uulm-mrm/clutter-ds/archive/refs/heads/main.zip and extract it locally
or copy the code of the two source files directly.
-
Execute the label generation script
# Navigate to the directory in which the label generation script is stored cd /path/for/storing/script/ # or ~/clutter_dataset_generation/ or any other path you chose in step 3 # Execute the script from within the virtual environment (if necessary, reactivate the environment as seen in step 2) python3 ./src/generate_clutter_labels.py --dataset-path ~/workspace/RadarScenes_Clutter/
After confirming that the original data set files may be overwritten, you will see the script processing the sequences one by one. The entire execution may take several minutes, depending on your system.
Once the script's execution is completed, the finished radar clutter data set is available in the directory ~/workspace/RadarScenes_Clutter/
. Since the original storage format is maintained, all code intended for the RadarScenes data set will also work with the new data. Only the label definition has to be adapted.
See above.