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

数据集介绍

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

数据集格式与内容

在这里插入图片描述

图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包含传感器的各类信息:

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

目标种类与目标投影

在这里插入图片描述
如上图所示,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)

在这里插入图片描述

其他样例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评价接口

from cruw.eval import evaluate_rod2021
# 这里提交评价,工具会自动评估模型性能
# submit_dir = '<SUBMISSION_DIR>'
# truth_dir = '<ANNOTATION_DIR>'
# evaluate_rod2021(submit_dir, truth_dir, dataset)
  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
### 回答1: 凯斯西储轴承故障诊断数据集是一个常用的数据集,用于轴承故障诊断和预测。利用Python进行时域和频域分析可以帮助我们更好地理解数据集,发现轴承故障的特征。 首先,我们可以使用Python的pandas库读取CSV文件,将数据加载到DataFrame。然后,我们可以对数据进行可视化,以便更好地理解数据的结构和变化趋势。我们可以使用matplotlib和seaborn库来绘制时间序列,从而显示出轴承的运行状态。 在进行时域分析时,我们可以计算各个信号的统计特征,例如均值、标准差、最大值和最小值等。此外,我们还可以计算自相关函数和互相关函数,以了解信号的相关性。这些统计特征和相关函数可以提供有关轴承运行状态的信息。 对于频域分析,我们可以使用Python的傅立叶变换库来将时域信号转换为频域信号。常用的傅立叶变换库包括numpy.fft和scipy.fftpack。通过对频谱进行分析,我们可以发现信号的频率成分,识别出频谱峰值,并检测出异常频率。 除了时域和频域分析外,我们还可以利用Python进行特征提取和特征选择。通过使用机器学习算法,如决策树、随机森林或支持向量机,我们可以训练模型来自动识别轴承故障。特征提取和选择可以帮助我们找到最具预测能力的特征,提高模型的准确性和效果。 总之,利用Python进行凯斯西储轴承故障诊断数据集的时域和频域分析可以帮助我们深入探究数据的特征和规律,从而更好地理解轴承的运行状态和预测故障。 ### 回答2: 凯斯西储轴承故障诊断数据集是一个用于轴承故障诊断的数据集,其包含了轴承在不同工作条件下的振动信号数据。 我们可以使用Python的科学计算库和信号处理库,如NumPy、SciPy和Matplotlib,对这个数据集进行时域频域分析。 首先,我们可以使用NumPy库读取数据集的数据。然后,我们可以使用Matplotlib库来绘制振动信号的时域形,以便观察到振动信号的幅值变化。时域形可以通过绘制时间和振动信号值之间的关系来表示。 接下来,我们可以使用SciPy库的FFT函数对振动信号进行频域分析。频域分析可以将振动信号转换为其频谱表示,以便我们可以观察到信号在不同频率上的能量分布。频域分析可以帮助我们发现轴承故障时是否会产生特定的频率分量。 最后,我们可以使用Matplotlib库绘制频域形,以显示振动信号的频率分布。频域形通常使用频率和信号能量之间的关系表示。 通过对凯斯西储轴承故障诊断数据集进行时域频域分析,我们可以更好地理解振动信号的特征,并通过检测信号的异常变化来诊断轴承的故障情况。这有助于提前预测和预防轴承故障,从而提高设备的可靠性和效率。 ### 回答3: 凯斯西储轴承故障诊断数据集是一个常用的数据集,用于轴承故障诊断和预测。利用Python对该数据集进行时域频域分析,可以帮助我们了解轴承的运行状态和可能的故障。 首先,我们需要导入需要的Python库,如numpy、pandas和matplotlib。然后,使用pandas的read_csv函数读取数据集文件,并将其转换为DataFrame格式。 接下来,我们可以首先进行时域分析。可以计算轴承振动信号的基本统计特性,如均值、方差、峰度和偏度。可以使用numpy的mean、var、kurtosis和skew函数分别计算这些特性。 此外,我们还可以绘制轴承振动信号的时域波形,以直观了解信号的变化。可以使用matplotlib的plot函数绘制信号的振动幅值随时间的变化情况。 然后,我们可以进行频域分析。频域分析可以帮助我们观察信号的频率成分,如频谱和谐波。可以使用numpy的fft函数计算信号的傅里叶变换,并使用matplotlib的plot函数绘制频谱。 此外,我们还可以计算信号的频域特性,如信号的能量、峰值频率和谐波含量。可以使用numpy的sum、argmax和mean函数分别计算这些特性。 最后,我们可以根据时域和频域分析的结果,对轴承的运行状态进行判别和诊断。根据振动特性的变化,可以预测可能的故障类型和发生时间。 总之,利用Python对凯斯西储轴承故障诊断数据集进行时域频域分析可以帮助我们更好地了解轴承的运行状态和可能的故障,从而采取相应的维修和保养措施。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

naca yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值