Nuscenes数据集总结(上)

一. 简介

nuScenes 数据集是由Motional(前身为 nuTonomy)团队开发的自动驾驶公共大规模数据集。在波士顿和新加坡收集了 1000 个驾驶场景.

nuScenes 数据集的灵感来自开创性的KITTI数据集。nuScenes 是第一个提供来自自动驾驶汽车的整个传感器套件(6 个摄像头、1 个激光雷达、5 个雷达、GPS、IMU)的数据的大规模数据集。与 KITTI 相比,nuScenes 包含 7 倍以上的对象注释。

二.数据采集

1.场景规划

在波士顿和新加坡收集了大约 15 小时的驾驶数据。对于完整的 nuScenes 数据集,发布了来自波士顿海港和新加坡 One North、皇后镇和荷兰村地区的数据。
在这里插入图片描述
在这里插入图片描述

2.汽车设置

使用两辆具有相同传感器布局的雷诺 Zoe汽车在波士顿和新加坡行驶。数据是从研究平台收集。
在这里插入图片描述
相机(CAM)有六个,分别分布在前方(Front)、右前方(Front Right)、左前方(Front Left)、后方(Back)、右后方(Back Right)、左后方(Back Left);激光雷达(LIDAR)有1个,放置在车顶(TOP);毫米波雷达有五个,分别放置在前方(Front)、右前方(Front Right)、左前方(Front Left)、右后方(Back Right)、左后方(Back Left)。

三.数据集的下载

1.到Nuscenes数据集的官网进行下载,下载地址戳这里

2.没有账户的小伙伴可以注册一下,因为下载数据集得有账户,然后选择这个mini版的即可

在这里插入图片描述

四.数据集的使用

1.导入nuscenes-devkit库

pip install nuscenes-devkit

2.加载数据集信息

from nuscenes.nuscenes import NuScenes
nusc = NuScenes(version='v1.0-mini', dataroot='数据集的具体路径', verbose=True)

在这里插入图片描述

3.场景scene

使用如下代码,查看当前数据集中所有的场景

nusc.list_scenes()

在这里插入图片描述
使用如下代码查看具体某个场景的信息

my_scene = nusc.scene[0]
print(my_scene)

在这里插入图片描述

4.样本sample

每个scene大约持续20s,那sample就是每0.5秒进行一次采样。也可以这样理解sample和scene,sence相当于20s的视频,sample就是每0.5s取一帧的图像。

使用如下代码,获取具体场景的具体的一个sample的token值

first_sample_token = my_scene['first_sample_token']  #获取第一个sample的token值
print(first_sample_token)

在这里插入图片描述
使用如下代码,通过sample的token值获取sample的具体信息

my_sample = nusc.get('sample', first_sample_token)
print(my_sample)

在这里插入图片描述

5.样本数据 sample_data

可视化前方的毫米波雷达传感器

通过如下代码,获取sample的data数据

print(my_sample['data'])

在这里插入图片描述
(1)获取具体sample中的具体传感器的信息

sensor_radar = 'RADAR_FRONT'  #这里选择的传感器为前方的毫米波雷达传感器
radar_front_data = nusc.get('sample_data',my_sample['data'][sensor_radar])
print(radar_front_data)

(2)通过传感器信息的token值进行可视化

nusc.render_sample_data(radar_front_data['token'])

在这里插入图片描述

可视化前方的相机
# 可视化前方的相机
sensor_CAM_FRONT = 'CAM_FRONT'  #这里选择的传感器为前方的毫米波雷达传感器
CAM_FRONT_data = nusc.get('sample_data', my_sample['data'][sensor_CAM_FRONT])
print(CAM_FRONT_data)
nusc.render_sample_data(CAM_FRONT_data['token'])

在这里插入图片描述

可视化顶部激光雷达
# 可视化顶部激光雷达
sensor_LIDAR_TOP = 'LIDAR_TOP'  #这里选择的传感器为前方的毫米波雷达传感器
LIDAR_TOP_data = nusc.get('sample_data', my_sample['data'][sensor_LIDAR_TOP])
print(LIDAR_TOP_data)
nusc.render_sample_data(LIDAR_TOP_data['token'])

在这里插入图片描述

可视化其他传感器也是同样的方式!!!

6.样本标注 sample_annotation

在sample_data中已经展示了传感器采集到的信息,这一部分将展示样本标注的信息,方法与之前是类似的。

(1)获取sample的标注数据,然后输出相关信息

my_annotation_token = my_sample['anns'][18]
my_annotation_metadata = nusc.get('sample_annotation',my_annotation_token)
my_annotation_metadata

(2)通过sample标注信息的token值,进行可视化

# 获取特定sample的标注信息
my_annotation_token = my_sample['anns'][18]
my_annotation_metadata = nusc.get('sample_annotation', my_annotation_token)
print(my_annotation_metadata)
# 可视化
nusc.render_annotation(my_annotation_metadata['token'])
time.sleep(3)

在这里插入图片描述

7.实例 instance

通过nusc.instance[0]获取具体的实例,instance表示某个实例对象,例如一辆汽车

# 获取某个实例对象,并输出其信息
my_instance = nusc.instance[5]
print(my_instance)
# 通过实例的token值,进行可视化
instance_token = my_instance['token']
nusc.render_instance(instance_token)
time.sleep(3)

在这里插入图片描述

8.类别categories

使用如下代码展示数据集中所有的种类

nusc.list_categories()

在这里插入图片描述

9.属性attributes

通过如下代码展示数据集的具体属性

nusc.list_attributes()

在这里插入图片描述

10.可视化 visibility

# 选取当前sample标注信息中的一个token值
anntoken = my_sample['anns'][9]
nusc.render_annotation(anntoken)
time.sleep(3)

在这里插入图片描述

11.传感器sensor

通过下面代码展示数据集中传感器信息

print(nusc.sensor)

在这里插入图片描述

12.校准传感器 calibrated_sensor

通过下面代码获取传感器的校准信息

# 展示传感器的校准信息
sensor_token = nusc.calibrated_sensor[0]
print(sensor_token)

在这里插入图片描述

13.车辆姿态 ego_pose

通过下面代码获取车辆姿态信息

# 车辆姿态ego_pose信息
print(nusc.ego_pose[0])

在这里插入图片描述

14.日志 log

通过下面代码获取日志信息

# 日志信息
print(nusc.log[0])

在这里插入图片描述

15.地图 map

# 地图信息
print(nusc.map[0])

在这里插入图片描述
本文主要参考:https://blog.csdn.net/qq_47233366/article/details/123450282?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-123450282-blog-125823828.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-123450282-blog-125823828.pc_relevant_default&utm_relevant_index=2

撒花撒花,欢迎收看Nuscenes数据集总结(下)

nuscenes数据集 devkit是为了帮助研究者和开发者更好地利用nuscenes数据集而开发的一套工具和库。nuscenes数据集是一个广泛使用的自动驾驶领域的开源数据集,其中包含了来自于纽约和新加坡的高质量传感器数据和注释。它提供了一个丰富的环境来进行自动驾驶相关的研究和开发。 nuscenes数据集devkit提供了一系列功能来处理、分析和可视化nuscenes数据集。它包括了Python API,可以用于读取和解析nuscenes数据集,提取有用的信息。研究者和开发者可以使用这些功能来快速访问和处理数据,为他们的研究和开发工作节省了大量的时间和精力。 除了数据处理外,nuscenes数据集devkit还包括了一些强大的视觉化工具。它提供了一个交互式的图形界面,可以用于可视化和浏览nuscenes数据集中的传感器数据、注释和场景信息。这对于研究者和开发者来说非常有用,可以帮助他们更好地理解数据,分析结果,并进行模型评估和验证。 此外,nuscenes数据集devkit还提供了一些实用的功能,如路线规划、物体检测和跟踪等。这些功能可以帮助研究者和开发者进行高级驾驶场景的仿真和测试,以及开发自动驾驶系统的算法和模型。 综上所述,nuscenes数据集devkit是一个强大的工具和库,它为研究者和开发者提供了便捷的数据处理、分析和可视化功能,帮助他们更好地利用nuscenes数据集进行自动驾驶相关的研究和开发工作。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值