数据集介绍
-
CRUW是一个基于雷达频域图像的自动驾驶数据集:
- 目前是唯一一个开源的、多场景的、大型雷达频域图像检测数据集
- 论文:Rethinking of Radar’s Role: A Camera-Radar Dataset and Systematic Annotator via Coordinate Alignment
- 数据集:https://www.cruwdataset.org/
图1. 数据集的统计信息
图2. Parking Lot 场景样例
- 优点:
- 丰富的物体语义信息,带有目标中心点周围的形状信息
- 基于雷达数据标注,使用CFAR结合Mask RCNN的分割与检测结果标注目标
- 丰富的场景:拥有多个训练样例和四个场景的数据采集,丰富度较高
- 缺点:
- 场景目标单一:parking lot等场景下目标运动单一且目标较少,如上图1所示
- 标注物体较少:受制于检测模型性能,使用模型自动进行目标自动标注,导致很多场景下目标召回率较低
数据集格式与内容
图3. 下载后的数据(按照作者的设置数据集文件放置标准)
??其中,数据以sequence为最小组合,其中sequences意为序列,每个序列带有一个编号,序列下有多张图片及其对应的npy二进制文件(.npy文件是numpy专用的二进制文件,这里为频域图格式),annotations含有sequence对应的雷达图像中每个目标点的极坐标下的坐标(r,θ)和对应的种类(human,cylist等),另外calib中含有sequence对应的坐标转换矩阵(雷达坐标系与像素坐标系)。
数据集官方接口工具
- 作者提供了接口工具CRUW-devkit,类似于nuScenes的nuscenes-devkit,能够方便开发者进一步封装成dataloader,还有评价功能;
数据路径配置与参数设置
from cruw import CRUW
data_root ='path/to/cruw'
dataset = CRUW(data_root=data_root, sensor_config_name='sensor_config_rod2021')
print(dataset)
如上图所示,sensor_cfg包含传感器的各类信息:
- 对相机来说:包括像素,采样率,父路径、扩展名;
- 对雷达来说:包括ramap(radar map)的大小,采样率,天线数等信息;
目标种类与目标投影
如上图所示,ra2idx和idx2ra能够分辨将极坐标系和笛卡尔坐标系相互转化。
展示效果
- 取出数据
import os
import numpy as np
import matplotlib.pyplot as plt
from cruw.visualization.examples import show_dataset_rod2021
def get_paths(seq_name, frame_id):
image_path = os.path.join(data_root, 'sequences', 'train', seq_name,
dataset.sensor_cfg.camera_cfg['image_folder'],
'%010d.jpg' % frame_id)
chirp_path = os.path.join(data_root, 'sequences', 'train', seq_name,
dataset.sensor_cfg.radar_cfg['chirp_folder'],
'%06d_0000.npy' % frame_id)
anno_path = os.path.join(data_root, 'annotations', 'train', seq_name + '.txt')
return image_path, chirp_path, anno_path
- 可视化样例
seq_name = '2019_04_09_BMS1000'
frame_id = 400
image_path, chirp_path, anno_path = get_paths(seq_name, frame_id)
image_path = image_path.replace('\\', '/')
show_dataset_rod2021(image_path, chirp_path, anno_path, dataset)
其他样例
评价接口
from cruw.eval import evaluate_rod2021
|