Home

Awesome

PeakConv: Learning Peak Receptive Field for Radar Semantic Segmentation

Paper Info

teaser_schema

[PeakConv: Learning Peak Receptive Field for Radar Semantic Segmentation], CVPR 2023, accepted.

Main contributors: Liwen Zhang, Xinyan Zhang, Youcheng Zhang

This repository groups the implemetations of the PeakConv-based RSS-Net.

The models are trained and tested on the CARRADA dataset and its calibrated version CARRADA-RAC, which is done by our team. The CARRADA-RAC code can be found at CARRADA-RAC.

The CARRADA dataset is available on Arthur Ouaknine's personal web page at this link: https://arthurouaknine.github.io/codeanddata/carrada.

If you find this code useful for your research, please cite our paper:

@InProceedings{zlw_2022_pkc,
	       author = {Liwen, Zhang and Xinyan, Zhang and Youcheng, Zhang and Yufei, Guo and Yuanpei, Chen and Xuhui, Huang and Zhe, Ma},
	       title = {PeakConv: Learning Peak Receptive Field for Radar Semantic Segmentation},
	       booktitle = {CVPR 2023 accepted},
	       month = {March},
	       year = {2023}
	       }

Vanilla-PKC ReDA-PKC

Installation with Docker

It is strongly recommanded to use Docker with the provided Dockerfile containing all the dependencies.


1. Create the Docker image:
```bash
$ cd PKC/
$ docker build . -t "pkc:Dockerfile"

Note: The CARRADA dataset used for train and test is considered as already downloaded by default. If it is not the case, you can uncomment the corresponding command lines in the Dockerfile or follow the guidelines of the dedicated repository.

  1. Run a container and join an interactive session. Note that the option -v /host_path:/local_path is used to mount a volume (corresponding to a shared memory space) between the host machine and the Docker container and to avoid copying data (logs and datasets). You will be able to run the code on this session:
$ docker run -d --ipc=host -it -v /host_machine_path/datasets:/home/datasets_local -v /host_machine_path/logs:/home/logs --name pkc --gpus all pkc:Dockerfile sleep infinity
$ docker exec -it pkc bash

Installation without Docker

You can either use Docker with the provided Dockerfile containing all the dependencies, or follow these steps.

  1. Install this repository using pip:
$ cd PKC/
$ pip install -e .

With this, you can edit the PKC code on the fly and import function and classes of PKC in other project as well.

  1. Install all the dependencies using pip and conda, please take a look at the Dockerfile for the list and versions of the dependencies.

  2. Optional. To uninstall this package, run:

$ pip uninstall PKC

You can take a look at the Dockerfile if you are uncertain about steps to install this project.

Running the code

In any case, it is mandatory to specify beforehand both the path where the CARRADA dataset is located and the path to store the logs and models. Example: I put the Carrada folder in /home/datasets_local, the path I should specify is /home/datasets_local. The same way if I store my logs in /home/logs. Please run the following command lines while adapting the paths to your settings:

$ cd PKC/mvrss/utils/
$ python set_paths.py --carrada /home/datasets_local --logs /home/logs

Training

In order to train a model, a JSON configuration file should be set. The configuration file corresponding to the selected parameters to train the TMVA-Net architecture is provided here: MVRSS/mvrss/config_files/tmvanet.json. To train the TMVA-Net architecture, please run the following command lines:

$ cd PKC/mvrss/
$ python train.py --cfg config_files/pkcin.json

If you want to train the MV-Net architecture (baseline), please use the corresponding configuration file: mvnet.json.

Testing

To test a recorded model, you should specify the path to the configuration file recorded in your log folder during training. Per example, if you want to test a model and your log path has been set to /home/logs, you should specify the following path: /home/logs/carrada/tmvanet/name_of_the_model/config.json. This way, you should execute the following command lines:

$ cd PKC/mvrss/
$ python test.py --cfg /home/logs/carrada/pkcin/name_of_the_model/config.json

Note: the current implementation of this script will generate qualitative results in your log folder. You can disable this behavior by setting get_quali=False in the parameters of the predict() method of the Tester() class.

Acknowledgements

License

The PKC repo is released under the Apache 2.0 license.