自学内容网 自学内容网

数据集nuScenes及nuScenes devkit 的使用

研究显示nuScenes数据集

0 简介

0.1 nuScenes简介

标注了BEV视野下3D目标真值信息,同时有车辆底盘CAN信息,以及IMU位姿信息。关于数据集的信息可参考官网:https://www.nuscenes.org/nuscenes
nuScenes数据集本身比较大,如果想先了解一下数据结构建议下载mini数据集进行学习。
下载链接:https://www.nuscenes.org/nuscenes 点击download栏,登录后可下载**Full dataset (v1.0)**中mini数据。


nuScenes数据集(发音为/nuːsiːnz/)是由Motional(前身为nuTonomy)团队开发的用于自动驾驶的公共大规模数据集。motion公司正在让无人驾驶汽车成为一个安全、可靠、方便的现实。通过向公众发布我们的一部分数据,motion旨在支持公众对计算机视觉和自动驾驶的研究。

收集了波士顿和新加坡的1000个驾驶场景,这两个城市以交通密集和极具挑战性的驾驶情况而闻名。时长20秒的场景是手动选择的,展示了一组多样而有趣的驾驶动作、交通状况和意外行为。nuScenes的丰富复杂性将鼓励开发方法,使每个场景中有数十个物体的城市地区能够安全驾驶。收集不同大洲的数据进一步使我们能够研究计算机视觉算法在不同地区的泛化

为了方便常见的计算机视觉任务,例如对象检测和跟踪,我们在整个数据集上以2Hz的速度用精确的3D包围框注释了23个对象类。此外,我们还注释了对象级属性,如可见性、活动和姿势。

2019年3月,我们发布了包含所有1000个场景的完整nuScenes数据集。完整的数据集包括大约1.4M相机图像(camera images),390k激光雷达扫描(LIDAR sweeps),1.4M雷达扫描(RADAR sweeps)和1.4M物体边界框(object bounding boxes)在40k关键帧。其他功能(地图层,原始传感器数据等)将很快跟进。我们还组织了nuScenes 3D检测挑战,作为CVPR 2019自动驾驶研讨会的一部分。

nuScenes数据集的灵感来自开创性的KITTI数据集。**nuScenes是首个提供自动驾驶汽车整个传感器套件(6个摄像头、1个LIDAR、5个RADAR、GPS、IMU)数据的大规模数据集。**与KITTI相比,nuScenes包含了7倍多的对象注释。

2020年7月,我们发布了nuScenes-lidarseg。在nuScenes-lidarseg中,我们用32种可能的语义标签之一注释nuScenes中的关键帧中的每个激光雷达点(即激光雷达语义分割)。因此,nuScenes-lidarseg包含了14亿个注释点,横跨40000个点云和1000个场景(850个场景用于训练和验证,150个场景用于测试)。

0.2 数据搜集(Data collection)

0.2.1 场景选择(Scene planning)

对于nuScenes数据集,我们在波士顿和新加坡收集了大约15小时的驾驶数据。对于完整的nuScenes数据集,我们发布了来自波士顿海港和新加坡One North、皇后镇和荷兰村地区的数据。驾驶路线经过精心选择,以捕捉具有挑战性的场景。我们的目标是不同的地点、时间和天气条件。为了平衡职业频率分布,我们加入了更多带有稀有职业的场景(比如自行车)。使用这些标准,我们手动选择1000个持续时间为20秒的场景。这些场景都是用人工仔细标注的。

0.2.2 汽车配置(Car setup)

我们使用两辆传感器布局相同的雷诺Zoe汽车在波士顿和新加坡驾驶。传感器的放置位置请参考上图。我们发布的数据来自以下传感器:
在这里插入图片描述
相机(CAM)有六个,分别分布在前方(Front)、右前方(Front Right)、左前方(Front Left)、后方(Back)、右后方(Back Right)、左后方(Back Left);

激光雷达(LIDAR)有1个,放置在车顶(TOP);

毫米波雷达有五个,分别放置在前方(Front)、右前方(Front Right)、左前方(Front Left)、右后方(Back Right)、左后方(Back Left)。

具体配置参数如下:

# 1x spinning LIDAR (Velodyne HDL32E):
20Hz capture frequency
32 beams, 1080 (+-10) points per ring
32 channels
360° Horizontal FOV, +10° to -30° Vertical FOV, uniform azimuth angles
80m-100m Range, Usable returns up to 70 meters, ± 2 cm accuracy
Up to ~1.39 Million Points per Second

# 5x long range RADAR sensor (Continental ARS 408-21):
13Hz capture frequency
77GHz
Independently measures distance and velocity in one cycle using Frequency Modulated Continuous Wave
Up to 250m distance
Velocity accuracy of ±0.1 km/h

# 6x camera (Basler acA1600-60gc):
12Hz capture frequency
Evetar Lens N118B05518W F1.8 f5.5mm 1/1.8"
1/1.8'' CMOS sensor of 1600x1200 resolution
Bayer8 format for 1 byte per pixel encoding
1600x900 ROI is cropped from the original resolution to reduce processing and transmission bandwidth
Auto exposure with exposure time limited to the maximum of 20 ms
Images are unpacked to BGR format and compressed to JPEG
See camera orientation and overlap in the figure below.

# 1x IMU & GPS (Advanced Navigation Spatial):
Position accuracy of 20mm
Heading accuracy of 0.2° with GNSS
Roll & pitch accuracy of 0.1°
Localization takes into account IMU, GPS and HD lidar maps (see our paper for more details)

在这里插入图片描述

0.2.3 传感器矫正(Sensor calibration)

0.2.3.1 传感器标定

为了获得高质量的多传感器数据集,校准每个传感器的外参(extrinsics) 和内参(intrinsics) 是必不可少的。我们表示相对于自我框架(ego frame)的外部坐标,即后车轴的中点。最相关的步骤如下:

  • LIDAR extrinsics
    我们使用laser liner来精确测量激光雷达与自我框架的相对位置。
  • Camera extrinsics
    我们在摄像机和激光雷达传感器前放置一个立方体形状的校准目标。标定目标由三个已知模式的正交平面组成。在检测到模式后,通过对准校准目标的平面来计算从相机到激光雷达的变换矩阵。给出上面计算的激光雷达到自我帧的转换,然后我们可以计算相机到自我帧的转换和由此产生的外部参数。
  • RADAR extrinsics
    我们把雷达安装在水平位置。然后我们通过在城市环境中驾驶来收集雷达测量数据。在对移动物体的雷达回波进行滤波后,我们使用暴力方法校准偏航角,以使静态物体的补偿距离率最小化。
  • Camera intrinsic calibration
    我们使用一组已知模式的校准目标板来推断相机的固有参数和畸变参数。
0.2.3.2 传感器同步(Sensor synchronization)

为了在激光雷达和相机之间实现良好的跨模态数据对齐,当顶部激光雷达扫过相机的FOV中心时,相机的曝光被触发图像的时间戳为曝光触发时间;所述LIDAR扫描的时间戳为当前LIDAR帧实现完全旋转的时间。考虑到相机的曝光时间几乎是瞬时的,这种方法通常会产生良好的数据对齐。请注意,相机运行在12Hz,而激光雷达运行在20Hz。12个相机曝光尽可能均匀地分布。

0.2.3.3 数据格式(Data format)

本文档描述了nuScenes中使用的数据库模式。所有注释和元数据(包括校准、地图、车辆坐标等)都包含在关系数据库中。下面列出了数据库表。每一行都可以由其唯一的主键token标识。可以使用sample_token等外键链接到表sample的token。有关最重要的数据库表的介绍,请参阅本教程。

在这里插入图片描述

0.2.3.3.1 attribute

属性是可以在类别保持不变的情况下更改的实例的属性。例如:一辆正在停放/停止/移动的车辆,以及一辆自行车是否有人骑。

attribute {
   
   "token":                   <str> -- 唯一的标识符
   "name":                    <str> -- 属性名
   "description":             <str>

原文地址:https://blog.csdn.net/weixi234/article/details/143850156

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!