nuPlan数据集介绍

nuPlan链接icon-default.png?t=N7T8https://www.nuscenes.org/nuplan#challenge

简介

 nuPlan是世界上第一个大规模的planning benchmark,为的就是给大家提供一个长时的自车规划benchmark,提供了轻量的闭环仿真器、motion-planning评测还有可交互的可视化工具。nuPlan对于基于机器学习的、端到端的planning应该能提供很大帮助。

 数据集中提供了1200小时的人类驾驶数据,这些数据是在美国、亚洲等地采集,具有多种多样的交通场景。这个数据集还提供了标签,这些标签是由最新的离线模型标注的。在标注的3d框外还提供了10%的原始传感器数据。

此外nuPlan还提供了开源的仿真框架,支持闭环、开环仿真。闭环仿真意味着自车和其他车能够偏离原始运动的轨迹。

评测方式
评测方式

数据采集

 数据集在4个城市采集(波士顿、匹茨堡、拉斯维加斯、新加坡),共计1200小时,其中838小时数据在拉斯维加斯采集的,剩下的数据均匀地在其他城市采集。

数据集中去除了大雨和夜晚数据。所有数据都是手动驾驶以获得模仿学习能够使用的GT数据。所有的驾驶员驾驶原则是安全、自信有把握、坚决的,同时他们目的地也是明确的(即有明确的上下车点),路线也是直接去目的地。

传感器:

5x激光雷达(20Hz)

        2x Pandar 20P(前后保险杠)

        2x Pandar 40P(左右A柱)

        1x Pandar 40PT(车顶)

8x 相机(10Hz)

        D3工业相机D3RCM

        Sony IMX390,2000x1200分辨率

1x Honeywell HG1120 IMU(100Hz)

1x Trimble BX992(20Hz)

所有传感器均已标定、同步。

数据标注

Maps

和nuScenes相似,提供了2d HDmap的人工标注,例如路、人行道、十字路口、车道、交通灯等。

Auto labeling

nuPlan使用离线系统依据语义地图自动标注了可行驶区域上的Vehicle、Bicycle、Pedestrian、Traffic cone、Barrier、Construction zone sign、generic object,还有一部分人行道上和自车驾驶相关的目标。

Traffic lights

nuPlan依据所有车的行驶情况,推断出交通灯状态。这样所有观测到车的车道都能推断出红绿灯而不是只有自车道了。

场景

因为大部分场景自车都是直行,所以nuPlan提供了一个框架来做数据挖掘,以挖掘更感兴趣的场景。

规划框架

nuPlan提供了一套开源的框架来开发基于机器学习的规划器。步骤如下:训练模型->仿真->评测->可视化结果

开发流程

Train

nuPlan提供了一个机遇pytorch的框架来训练planners,输入可以是自车的信息、其他agent信息、静态/动态地图信息等等,他提供的baseline很容易修改。

simulate

框架模块

 整个框架中核心部分是场景仿真,这个框架中的观测模型、自车规划器、他车模型、运动控制、评测模块、可视化模块都是可以修改替代,这为开发人员提供了很大的便利。

Measure

计算评价指标依据:违规、人工驾驶相似性、自车动态舒适性、目标达成、特殊场景评测。

Visualize

nuBoard仪表板,能够渲染出场景中地图、自车、他车、交通灯等。

nuplan数据轨迹提取是指从nuplan数据集(一个用于自动驾驶研究和开发的开源数据集)中提取车辆、行人和交通标志等物体的运动轨迹。nuplan数据集包含了大量的自动驾驶场景数据,提取这些轨迹数据对于分析车辆行为、训练自动驾驶模型和验证算法性能非常重要。 以下是nuplan数据轨迹提取的一般步骤: 1. **数据准备**:下载并解压nuplan数据集,确保数据集的完整性。 2. **数据加载**:使用nuplan提供的API或工具加载数据集nuplan数据集通常包含传感器数据、车辆状态、地图信息等。 3. **数据解析**:解析加载的数据,提取出感兴趣的物体(如车辆、行人和交通标志)的位置和速度信息。 4. **轨迹生成**:根据提取的位置和速度信息生成物体的运动轨迹。通常可以使用时间戳来确保轨迹的时间顺序。 5. **数据存储**:将生成的轨迹数据存储为常用的数据格式,如CSV、JSON或数据库,以便后续分析和处理。 以下是一个简单的Python示例代码,展示了如何使用nuplan的API提取车辆轨迹: ```python import nuplan.database.nuplan_db as ndb from nuplan.database.nuplan_db import Scene, Log, EgoPose import pandas as pd # 连接到nuplan数据库 db = ndb.NuPlanDB('path_to_nuplan_db') # 选择一个场景 scene = db.scene[0] # 获取场景中的所有ego poses ego_poses = db.session.query(EgoPose).filter(EgoPose.scene_token == scene.token).all() # 提取轨迹数据 trajectory_data = [] for ego_pose in ego_poses: trajectory_data.append({ 'timestamp': ego_pose.timestamp, 'x': ego_pose.x, 'y': ego_pose.y, 'z': ego_pose.z, 'yaw': ego_pose.heading }) # 转换为DataFrame trajectory_df = pd.DataFrame(trajectory_data) # 保存为CSV文件 trajectory_df.to_csv('vehicle_trajectory.csv', index=False) ``` 通过上述步骤和代码示例,你可以从nuplan数据集中提取出车辆的运动轨迹,并将其保存为CSV文件以便后续分析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值