自动驾驶CRUW数据集(大型毫米波频域图数据集)

数据集介绍

  • CRUW是一个基于雷达频域图像的自动驾驶数据集:

    • 目前是唯一一个开源的、多场景的、大型雷达频域图像检测数据集
    • 论文:Rethinking of Radar’s Role: A Camera-Radar Dataset and Systematic Annotator via Coordinate Alignment
    • 数据集:https://www.cruwdataset.org/

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第1张图片

图1. 数据集的统计信息

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第2张图片

图2. Parking Lot 场景样例
  • 优点:
    • 丰富的物体语义信息,带有目标中心点周围的形状信息
    • 基于雷达数据标注,使用CFAR结合Mask RCNN的分割与检测结果标注目标,并且在vertical和xy平面建立雷达检测与图像检测的对齐关系损失,使自动标注的精度较高;
    • 丰富的场景:拥有多个训练样例和四个场景的数据采集,样本量大;
  • 缺点:
    • 场景目标单一:parking lot等场景下目标运动单一目标较少,如上图2所示;
    • 标注物体较少:受制于检测模型性能,使用模型自动进行目标自动标注,导致很多场景下目标召回率较低,在一些密集的路口中,标注仅涉及到极小部分目标;

数据集格式与内容

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第3张图片

图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)

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第4张图片
如上图所示,sensor_cfg包含传感器的各类信息:

  1. 对相机来说:包括像素,采样率,父路径、扩展名;
  2. 对雷达来说:包括ramap(radar map)的大小,采样率,天线数等信息;

目标种类与目标投影

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第5张图片
如上图所示,ra2idx和idx2ra能够分辨将极坐标系和笛卡尔坐标系相互转化。


展示效果

  1. 取出数据
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)
    # 对应的帧的雷达npy文件
    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')
    # 返回图像、对应的雷达npy文件及标注文件
    return image_path, chirp_path, anno_path
  1. 可视化样例
# 序列id
seq_name = '2019_04_09_BMS1000'
# 帧id
frame_id = 400
# 得到数据
image_path, chirp_path, anno_path = get_paths(seq_name, frame_id)
# 这里因为windows的路径格式为"\\",兼容作者的ubuntu环境,要对源路径转换
image_path = image_path.replace('\\', '/')
# 展示
show_dataset_rod2021(image_path, chirp_path, anno_path, dataset)

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第6张图片

其他样例

自动驾驶CRUW数据集(大型毫米波频域图数据集)_第7张图片
自动驾驶CRUW数据集(大型毫米波频域图数据集)_第8张图片
自动驾驶CRUW数据集(大型毫米波频域图数据集)_第9张图片

评价接口

from cruw.eval import evaluate_rod2021
# 这里提交评价,工具会自动评估模型性能
# submit_dir = ''
# truth_dir = ''
# evaluate_rod2021(submit_dir, truth_dir, dataset)

你可能感兴趣的:(多传感器融合,深度学习,场景感知与理解,自动驾驶,计算机视觉,深度学习,目标检测,人工智能)