Caution
Commercial use of RoScenes is strictly forbidden.
[2024-07-14] You can now download the dataset at ModelScope.
[2024-07-13] Devkit for RoScenes released.
[2024-07-01] Paper accepted to ECCV 2024! π₯³
[2024-05-28] Please stay tuned for the updates! We are doing final checks on data privacy.
Note
Please refer to ModelScope for downloading the dataset.
After download and extract, the dataset folder should be organized as follows:
. [DATA_ROOT] # Dataset root folder
βββ πtrain # training set
β βββ πs001_split_train_difficulty_mixed_ambience_day # scene 001's data
β β βββ πdatabase # annotations, grouped by clip
β β β βββ π0076fd69_clip_[0000000000000-0000000029529] # a clip's database, please use our devkit to read
β β β β ...
β β βββ πimages # images, grouped by clips
β β βββ π0076fd69
β β β ...
β βββ πs002_split_train_difficulty_mixed_ambience_day
β βββ πs003_split_train_difficulty_mixed_ambience_day
β βββ πs004_split_train_difficulty_mixed_ambience_day
β βββ πnight_split_train_difficulty_mixed_ambience_night
β
β
βββ πvalidation # validation set
β βββ πs001_split_validation_difficulty_mixed_ambience_day # scene 001's data
β βββ πs002_split_validation_difficulty_mixed_ambience_day
β βββ πs003_split_validation_difficulty_mixed_ambience_day
β βββ πs004_split_validation_difficulty_mixed_ambience_day
β βββ πnight_split_validation_difficulty_mixed_ambience_night
β
β
βββ πtest # test set
βββ πNO_GTs005_split_test_difficulty_mixed_ambience_day # scene 005's data
βββ πNO_GTs006_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs007_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs008_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs009_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs010_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs011_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs012_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs013_split_test_difficulty_mixed_ambience_day
βββ πNO_GTs014_split_test_difficulty_mixed_ambience_day
Use PyPI to directly install RoScenes devkit:
pip install roscenes
Also, you can clone this repository and install roscenes manually for developing.
git clone https://github.com/roscenes/RoScenes.git
cd RoScenes
pip install -e .
import roscenes as ro
# load the training set
dataset = ro.load('[DATA_ROOT]/train/*')
# number of total frames
print(len(dataset))
Then, we can iterate over the dataset, in two ways:
You can use indexing:
# use integer indexing
index = 10
# a Frame instance
print(type(dataset[index]))
for i in range(len(dataset)):
# print num of objects for every frame
print(len(dataset[index].boxes3D))
OR, you can directly iterate it:
# a frame instance
for frame in dataset:
print(len(frame.boxes3D))
Important
Please refer to frame.py
, camera.py
for the detailed comments on box format, instrinsic and extrinsic definition, etc.
python -m roscenes.visualizer [DATA_ROOT]/train/s001_split_train_difficulty_mixed_ambience_day 0 vis_result
A example in companion with mmdet3d
is given in examples
.
Please go to that folder README.md for details.
Note that we use nuScenes detection score (NDS) to evaluate performance. Additionally, we provide an optimized implementation of NDS which could significantly speed-up calculation. It should produce identical result with the official NDS under same inputs. Benchmark is shown below:
Input frames | Boxes/Frame | Original nuScenes devkit | Ours |
---|---|---|---|
360 | 109 | 1697s | 118s |
Unfortunately, since the code is built from scratch, our evaluation suite can not be an in-place replacement to the original one ---- You need to modify the code. To take evaluation, please refer to the example given in examples/mmdet3d/mmdet3d_plugin/datasets/roscenes_dataset.py
and the README file in roscenes/evaluation/README.md
.
- Devkit release
- Dataset release
- Example dataset loader based on
MMDetection3D
- 3D detection task and evaluation suite
- 3D tracking task and evaluation suite