Package cruw-devkit
is a useful toolkit for the CRUW dataset including sensor configurations, sensor calibration parameters,
the mapping functions, metadata, visualization tools, etc. More components are still in the developing phase.
Please refer to our dataset website for more information about the CRUW Dataset.
This repository is maintained by Yizhou Wang. Free to raise issues and help improve this repository.
ACADEMIC OR NON-PROFIT ORGANIZATION NONCOMMERCIAL RESEARCH USE ONLY
This research is mainly conducted by the Information Processing Lab (IPL) at the University of Washington. It was partially supported by CMMB Vision – UWECE Center on Satellite Multimedia and Connected Vehicles. We would also like to thank the colleagues and students in IPL for their help and assistance on the dataset collection, processing, and annotation works.
- [2022/01/01] ROD2021 evaluation server is reopened. Welcome to submit your results! [Evaluation Server]
- [2021/11/17] ROD2021 Challenge Session @ ACM ICMR 2021. [Challenge Summary Paper]
- [2021/06/20] Our work is presented in the Workshop on Autonomous Driving (WAD) at CVPR 2021. Code will be release soon. [Paper] [Spotlight] [Poster] [WAD Full Video]
- [2021/02/06] The journal version of the RODNet paper is accepted by IEEE J-STSP. [Paper] [ArXiv] [Code] [Demo]
- [2020/12/20] We are organizing the ROD2021 Challenge at ACM ICMR 2021. Welcome your participation!
- [2020/11/01] Our radar object detection paper (RODNet) is accepted by WACV 2021. [Paper] [Code] [Presentation]
- [2022/02/02] add dataset script and fix installation bugs
- [2022/01/28] v1.1: add coordinate transform and other utils.
- [2022/01/27] handle camera images unavailable issue for ROD2021 testing set.
- [2022/01/25] add functions to transfer RF images/labels from polar to Cartesian coordinates.
- [2021/12/03] add evaluation for RODNet format results.
- [2021/11/09] add sensor config files.
- [2021/11/01] add some utils functions for evaluation.
- [2021/01/18] v1.0: stable version for ROD2021 Challenge.
Create a new conda environment. Tested under Python 3.6, 3.7, 3.8.
conda create -n cruw-devkit python=3.*
Run setup tool for this devkit.
conda activate cruw-devkit
pip install .
pip install -e . # development mode
The tutorials for the usages of cruw-devkit
package are listed in the tutorial folder.
Each training sequence (40 training sequences in total) has an txt
object annotation file.
The annotation format for the training set (each line in the txt
files):
frame_id range(m) azimuth(rad) class_name
...
For each sequence, a json
file is provided as annotations:
{
"dataset": "CRUW",
"date_collect": "2019_09_29",
"seq_name": "2019_09_29_onrd000",
"n_frames": 1694,
"fps": 30,
"sensors": "C2R2", // <str>: "C1R1", "C2R1", "C2R2"
"view": "front", // <str>: "front", "right-side"
"setup": "vehicle", // <str>: "cart", "vehicle"
"metadata": [
{ // metadata for each frame
"frame_id": 0,
"cam_0": {
"folder_name": "images_0",
"frame_name": "0000000000.jpg",
"width": 1440,
"height": 864,
"n_objects": 5,
"obj_info": {
"anno_source": "human", // <str>: "human", "mrcnn", etc.
"categories": [], // <str> [n_objects]: category names
"bboxes": [], // <int> [n_objects, 4]: xywh
"scores": [], // <float> [n_objects]: confidence scores [0, 1]
"masks": [], // <rle_code> [n_objects]: instance masks
"visibilities": [], // <float> [n_objects]: [0, 1]
"truncations": [], // <float> [n_objects]: [0, 1]
"translations": [] // <float> [n_objects, 3]: xyz(m)
}
},
"cam_1": {
"folder_name": "images_1",
"frame_name": "0000000000.jpg",
"width": 1440,
"height": 864,
"n_objects": 5,
"obj_info": {
"anno_source": "human", // <str>: "human", "mrcnn", etc.
"categories": [], // <str> [n_objects]: category names
"bboxes": [], // <int> [n_objects, 4]: xywh
"scores": [], // <float> [n_objects]: confidence scores [0, 1]
"masks": [], // <rle_code> [n_objects]: instance masks
"visibilities": [], // <float> [n_objects]: [0, 1]
"truncations": [], // <float> [n_objects]: [0, 1]
"translations": [] // <float> [n_objects, 3]: xyz(m)
}
},
"radar_h": {
"folder_name": "radar_chirps_win_RISEP_h",
"frame_name": "000000.npy",
"range": 128,
"azimuth": 128,
"n_chirps": 255,
"n_objects": 3,
"obj_info": {
"anno_source": "human", // <str>: "human", "co", "crf", etc.
"categories": [], // <str> [n_objects]: category names
"centers": [], // <float> [n_objects, 2]: range(m), azimuth(rad)
"center_ids": [], // <int> [n_objects, 2]: range indices, azimuth indices
"scores": [] // <float> [n_objects]: confidence scores [0, 1]
}
},
"radar_v": {
"folder_name": "radar_chirps_win_RISEP_v",
"frame_name": "000000.npy",
"range": 128,
"azimuth": 128,
"n_chirps": 255,
"n_objects": 3,
"obj_info": {
"anno_source": "human", // <str>: "human", "co", "crf", etc.
"categories": [], // <str> [n_objects]: category names
"centers": [], // <float> [n_objects, 2]: range(m), azimuth(rad)
"center_ids": [], // <int> [n_objects, 2]: range indices, azimuth indices
"scores": [] // <float> [n_objects]: confidence scores [0, 1]
}
}
},
{...}
]
}