T-RODNet has been accepted by IEEE Transactions on Instrumentation and Measurement (TIM).
Please cite our paper if this repository is helpful for your research:
Statement: This code is based on RODNet.[Arxiv]
On the CRUW dataset
Models | AP | AR |
---|---|---|
RODNet-CDC | 76.33 | 79.28 |
RODNet-HG | 79.43 | 83.59 |
RODNet-HWGI | 78.06 | 81.07 |
DCSN | 75.30 | 79.92 |
T-RODNet | 83.27 | 86.98 |
On the CARRADA dataset
Models | mIoU | mDice |
---|---|---|
FCN-8s | 34.5 | 40.9 |
U-Net | 32.8 | 38.2 |
DeepLabv3+ | 32.7 | 38.3 |
RSS-Net | 32.1 | 37.8 |
RAMP-CNN | 27.9 | 30.5 |
MV-Net | 26.8 | 28.5 |
TMVA-Net | 41.3 | 51.0 |
T-RODNet | 43.5 | 53.6 |
Create a conda environment for T-RODNet. Tested under Python 3.6, 3.7, 3.8.
conda create -n trodnet python=3.* -y
conda activate trodnet
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
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.
If you want to installcruw-devkit
package, please refer to cruw-devit
repository for detailed instructions.
Note: Our code have revised the 'cruw' evaluation package. You can use it in (evaluate/ex_evaluate_rod2021.py).
Download ROD2021 dataset. Follow this script to reorganize files as below.
Note: To facilitate testing and evaluation of network performance. We strongly recommend testing as follows:
The test set uses the following 4 sequences from the training set:
[2019_04_09_BMS1001, 2019_04_30_MLMS001, 2019_05_23_PM1S013, 2019_09_29_ONRD005].
The train set uses the remaining 36 sequences.
data_root
- sequences
| - train---------------------------------------> 36 train set
| | - <SEQ_NAME>
| | | - IMAGES_0
| | | | - <FRAME_ID>.jpg
| | | | - ***.jpg
| | | - RADAR_RA_H
| | | - <FRAME_ID>_<CHIRP_ID>.npy
| | | - ***.npy
| | - ***
| |
| - test----------------------------------------> 4 test set
| - <SEQ_NAME>
| | - RADAR_RA_H
| | - <FRAME_ID>_<CHIRP_ID>.npy
| | - ***.npy
| - ***
|
- annotations
| - train---------------------------------------> 36 train set
| | - <SEQ_NAME>.txt
| | - ***.txt
| - test----------------------------------------> 4 test set
| - <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>
python tools/train.py --config configs/<CONFIG_FILE> \
--data_dir data/<DATA_FOLDER_NAME> \
--log_dir checkpoints/
Note: Please change the 'out_path' in (test.py).
python tools/test.py --config configs/<CONFIG_FILE> \
--data_dir data/<DATA_FOLDER_NAME> \
--checkpoint <CHECKPOINT_PATH> \
--res_dir results/
In this section, we have created new evaluation tools to facilitate testing. Therefore there is no need to test by uploading the website.
python evaluate/ex_evaluate_rod2021.py
If you find this article very helpful in your research, or if you wish to have a reference when using our results, please cite the following papers:
@ARTICLE{9989400,
author={Jiang, Tiezhen and Zhuang, Long and An, Qi and Wang, Jianhua and Xiao, Kai and Wang, Anqi},
journal={IEEE Transactions on Instrumentation and Measurement},
title={T-RODNet: Transformer for Vehicular Millimeter-Wave Radar Object Detection},
year={2023},
volume={72},
number={},
pages={1-12},
doi={10.1109/TIM.2022.3229703}}