Skip to content

yizhou-wang/RODNet

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 12, 2022 23:34
March 14, 2022 14:01
March 15, 2022 00:05
March 15, 2022 00:05
January 27, 2022 17:13
January 2, 2021 22:56
February 25, 2022 01:03
November 9, 2021 01:58
March 15, 2022 00:24

RODNet: Radar Object Detection Network

This is the official implementation of our RODNet papers at WACV 2021 and IEEE J-STSP 2021.

[Arxiv] [Dataset] [ROD2021 Challenge] [Presentation] [Demo]

RODNet Overview

Please cite our paper if this repository is helpful for your research:

@inproceedings{wang2021rodnet,
  author={Wang, Yizhou and Jiang, Zhongyu and Gao, Xiangyu and Hwang, Jenq-Neng and Xing, Guanbin and Liu, Hui},
  title={RODNet: Radar Object Detection Using Cross-Modal Supervision},
  booktitle={Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
  month={January},
  year={2021},
  pages={504-513}
}
@article{wang2021rodnet,
  title={RODNet: A Real-Time Radar Object Detection Network Cross-Supervised by Camera-Radar Fused Object 3D Localization},
  author={Wang, Yizhou and Jiang, Zhongyu and Li, Yudong and Hwang, Jenq-Neng and Xing, Guanbin and Liu, Hui},
  journal={IEEE Journal of Selected Topics in Signal Processing},
  volume={15},
  number={4},
  pages={954--967},
  year={2021},
  publisher={IEEE}
}

Installation

Clone RODNet code.

cd $RODNET_ROOT
git clone https://github.com/yizhou-wang/RODNet.git

Create a conda environment for RODNet. Tested under Python 3.6, 3.7, 3.8.

conda create -n rodnet python=3.* -y
conda activate rodnet

Install pytorch. Note: If you are using Temporal Deformable Convolution (TDC), we only tested under pytorch<=1.4 and CUDA=10.1. Without TDC, you should be able to choose the latest versions. If you met some issues with environment, feel free to raise an issue.

conda install pytorch=1.4 torchvision cudatoolkit=10.1 -c pytorch  # if using TDC
# OR
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch  # if not using TDC

Install cruw-devkit package. Please refer to cruw-devit repository for detailed instructions.

git clone https://github.com/yizhou-wang/cruw-devkit.git
cd cruw-devkit
pip install .
cd ..

Setup RODNet package.

pip install -e .

Note: If you are not using TDC, you can rename script setup_wo_tdc.py as setup.py, and run the above command. This should allow you to use the latest cuda and pytorch version.

Prepare data for RODNet

Download ROD2021 dataset. Follow this script to reorganize files as below.

data_root
  - sequences
  | - train
  | | - <SEQ_NAME>
  | | | - IMAGES_0
  | | | | - <FRAME_ID>.jpg
  | | | | - ***.jpg
  | | | - RADAR_RA_H
  | | |   - <FRAME_ID>_<CHIRP_ID>.npy
  | | |   - ***.npy
  | | - ***
  | | 
  | - test
  |   - <SEQ_NAME>
  |   | - RADAR_RA_H
  |   |   - <FRAME_ID>_<CHIRP_ID>.npy
  |   |   - ***.npy
  |   - ***
  | 
  - annotations
  | - train
  | | - <SEQ_NAME>.txt
  | | - ***.txt
  | - test
  |   - <SEQ_NAME>.txt
  |   - ***.txt
  - calib

Convert data and annotations to .pkl files.

python tools/prepare_dataset/prepare_data.py \
        --config configs/<CONFIG_FILE> \
        --data_root <DATASET_ROOT> \
        --split train,test \
        --out_data_dir data/<DATA_FOLDER_NAME>

Train models

python tools/train.py --config configs/<CONFIG_FILE> \
        --data_dir data/<DATA_FOLDER_NAME> \
        --log_dir checkpoints/

Inference

python tools/test.py --config configs/<CONFIG_FILE> \
        --data_dir data/<DATA_FOLDER_NAME> \
        --checkpoint <CHECKPOINT_PATH> \
        --res_dir results/