nuScenes数据集详细解析

本文深入解析nuScenes数据集,涵盖场景、采样、车辆信息、标注和分类等内容。通过示例展示如何提取和可视化数据,为自动驾驶领域的深度学习研究提供参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nuScenes数据集

from nuscenes.nuscenes import NuScenes

nusc = NuScenes(version='v1.0-mini', dataroot='./data/nuscene/', verbose=True)

提取

1. 场景scene

20秒长的连续帧序列

# 查看所有场景
nusc.scene

nusc.list_scenes()
scene {
   
   "token":                   <str> -- 唯一的标识符.
   "name":                    <str> -- 短字符串标识符。
   "description":             <str> -- 更长的场景描述。
   "log_token":               <str> -- 外键。提取数据的位置记录日志的点。
   "nbr_samples":             <int> -- 这个场景中的样本数量
   "first_sample_token":      <str> -- 外键。指向场景中的第一个样本。
   "last_sample_token":       <str> -- 外键。指向场景中的最后一个样本。
}
# 获取第1个场景scene
myscene = nusc.scene[0]

# 获取某个场景的第1次sample的信息
mysample = nusc.get('sample', myscene['first_sample_token'])

获取样本数据sample_data,并可视化

  • radar_front_data = nusc.get(‘sample_data’, mysample[‘data’][‘RADAR_FRONT’])
  • nusc.render_sample_data(radar_front_data[‘token’])

获取样本标注sample_annotation,并可视化

  • my_annotation_metadata = nusc.get(‘sample_annotation’,my_sample[‘anns’][18])
  • nusc.render_annotation(my_annotation_metadata[‘token’])

2. 采样sample

带标注的关键帧

nusc.sample
sample {
   
   "token":                   <str> -- 唯一的标识符.
   "timestamp":               <int> -- Unix时间戳
   "scene_token":             <str> 
### 关于Nuscenes数据集配置指南 对于希望了解如何设置和使用Nuscenes数据集的研究人员来说,官方文档提供了详尽的信息[^2]。该资源不仅涵盖了安装所需的依赖项,还指导用户完成下载、预处理以及加载数据的过程。 #### 安装依赖库 为了能够顺利读取并操作Nuscenes中的文件,建议先按照课程文档说明来准备环境: ```bash pip install nuscenes-devkit ``` 此命令会安装`nuscenes-devkit`包,它是访问和解析Nuscenes数据的核心工具。 #### 初始化NuScenes类实例 一旦完成了上述准备工作,就可以通过Python脚本创建一个`NuScenes`对象来进行进一步的数据探索: ```python from nuscenes.nuscenes import NuScenes # 加载指定版本的数据集 nusc = NuScenes(version='v1.0-mini', dataroot='/path/to/nuscenes', verbose=True) ``` 这段代码展示了怎样利用开发套件提供的API接口连接到本地存储的特定版本(此处为mini版)Nuscenes数据集,并将其赋值给变量`nusc`以便后续调用。 #### 数据可视化 除了基本的操作外,还可以借助内置函数实现简单而直观的结果展示功能: ```python from nuscenes.utils.data_classes import Box from pyquaternion import Quaternion import numpy as np import matplotlib.pyplot as plt my_sample = nusc.sample[0] _, ax = plt.subplots(1, 1, figsize=(9, 9)) cs_record = nusc.get('calibrated_sensor', my_sample['data']['CAM_FRONT']) pc_annotated = PointCloud.from_file(nusc.get_sample_data_path(my_sample['data']['LIDAR_TOP'])) Rot_box = Quaternion(cs_record['rotation']).rotation_matrix Box.translate(np.array([1., 1., 0])) box.render(ax=ax) plt.show() ``` 以上片段演示了从获取样本信息到最后渲染图像框线图的整体流程,有助于更深入理解传感器捕捉的内容及其空间位置关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值