[自动驾驶算法][从0开始轨迹预测]:三、常用的轨迹预测数据集--Argoverse v2

文章目录

    • 1. 轨迹数据集总览
    • 2. Argoverse v2数据集
      • 2.1 传感器布局与坐标系统
      • 2.2 轨迹预测数据集
        • 1. 数据集的下载和读取
        • 2. 场景文件的数据结构:
        • 3. 地图文件的数据结构


写在前面:

“工欲善其事,必先利其器”!

在深度学习中,数据是实现人工智能任务的三大基本要素之一,另外两个分别是算力和算法。

在深度学习任务中,数据的质量和数量对最终效果有决定性的影响。由于深度学习模型的复杂性,需要大量的数据来训练,否则模型的泛化能力会比较差,也就是过拟合。数据的质量和数量都很重要,数据的质量主要体现在数据的清洗和标注,一个高质量的数据集能够提高模型训练的质量和预测的准确率.

数据处理的步骤主要有以下几个环节:数据采集、数据存储、数据清洗、数据标注、数据增强等.
数据处理的目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据.

数据决定了一个深度学习任务的上限,而模型仅仅是无限接近这个上限。

1. 轨迹数据集总览

数据集预测类别
Argoverse v1机动车
Argoverse v2机动车
Nuscense机动车、行人
WaymoOpenSource机动车
ApolloScape机动车
ETH行人
UCY行人

2. Argoverse v2数据集

数据集官网:Argoverse 2

argoversev2官方使用指南

2.1 传感器布局与坐标系统

img
  1. 激光雷达:

激光雷达扫描以 10 Hz 的频率收集。此外,还提供了全局坐标系中的 6-DOF 自车辆位姿。激光雷达回波由两个 32 束激光雷达捕获,它们以 10 Hz 的频率沿同一方向旋转,但方向相差 180°。所有雷达感知到的数据都转到了自车坐标系中。坐标系:X向前,Y向左,Z向上,符合右手系

  1. 相机:

7个环形摄像机的 20 fps 图像,以提供全全景视野,以及来自 2 个立体摄像机的 20 fps 图像;提供了相机内参、外参和全局坐标系中6-DOF自车位姿。坐标系:Z向前(景深方向),Y向下,X向右,符合右手系

  1. 自车坐标系:ISO坐标系,坐标系:X向前,Y向左,Z向上,符合右手系。
  2. BEV坐标系:
img

上图所示为argoverse数据集的bev坐标系和bev像素坐标系,在argoverse数据集中,标注结果是建立在自车系基础上的,而自车坐标系是以车轴中心点作为坐标原点,以车辆朝向为x方向,以车辆左侧为y方向,以垂直向上为z方向,所形成的右手坐标系。所以在argoverse数据集中,bev坐标系使用与自车坐标系相同的坐标系。而bev像素坐标系则是坐标原点位于bev图的左下角,向上是y轴,向右是x轴,形成右手坐标系。所以在argoverse数据集中的bev图一般h小于等于w,车头朝右。

2.2 轨迹预测数据集

1. 数据集的下载和读取

按照教程(建议使用s5cmd)下载motion-forecast数据集以及安装av2的api,下载后的数据集目录:

data_root├── train│   ├── 0000b0f9-99f9-4a1f-a231-5be9e4c523f7│   │   ├── log_map_archive_0000b0f9-99f9-4a1f-a231-5be9e4c523f7.json│	│	└── scenario_0000b0f9-99f9-4a1f-a231-5be9e4c523f7.parquet│   ├── 0000b6ab-e100-4f6b-aee8-b520b57c0530│   ├── ...├── val│   ├── 00010486-9a07-48ae-b493-cf4545855937│   ├── 00062a32-8d6d-4449-9948-6fedac67bfcd│   ├── ...├── test│   ├── 0000b329-f890-4c2b-93f2-7e2413d4ca5b│   ├── 0008c251-e9b0-4708-b762-b15cb6effc27│   ├── ...

每个场景数据文件包括一个以log_map_archive_{uuid}.json命名的地图文件,和一个以scenario_{uuid}.parquet命名的场景文件,数据集文件的读取:

import pandas as pd
from av2.map.map_api import ArgoverseStaticMapdef load_av2_df(scenario_file: Path):scenario_id = scenario_file.stem.split("_")[-1]  # unique uuid like: '37052017-85f3-4676-bf91-9f275a7389e2'df = pd.read_parquet(scenario_file)static_map = ArgoverseStaticMap.from_json(scenario_file.parents[0] / f"log_map_archive_{scenario_id}.json")return df, static_map, scenario_id
2. 场景文件的数据结构:
  • scenario_id:场景唯一的uuid
  • city:该场景处于的城市名称
  • track_id:障碍物唯一的id
  • focal_track_id: 该场景中用于做单轨迹预测的障碍物id
  • observed:布尔值,指示障碍物状态是否属于当前场景
  • position_x/position_y: (x, y) 障碍物边界框中心坐标。
  • heading:朝向角(以弧度为单位,地图坐标系)。
  • velocity_x/velocity_y:(v_x, v_y) 障碍物的瞬时速度(以米/秒为单位)。
  • timestep:与障碍物状态对应的时间步[0, num_scenario_timesteps)。
  • num_timestamps:场景的时长/帧数
  • start_timestamp:开始的时间戳
  • end_timestamp:结束的时间戳
  • object_type: 推理得到的障碍物类别(10)
    • Dynamic
      • VEHICLE
      • PEDESTRIAN
      • MOTORCYCLIST
      • CYCLIST
      • BUS
    • Static
      • STATIC
      • BACKGROUND
      • CONSTRUCTION
      • RIDERLESS_BICYCLE
    • UNKNOWN
  • object_category:用于该条轨迹在轨迹预测任务中的类别
    • TRACK_FRAGMENT: 质量较低的轨迹,可能仅包含一段时间戳.
    • UNSCORED_TRACK: 用于上下午输入的未打分的轨迹.
    • SCORED_TRACK: 高质量的轨迹 - 用于多智能体预测.
    • FOCAL_TRACK: 场景中主要的轨迹 - 用于单轨迹预测.
3. 地图文件的数据结构
  • drivable_areas:可行驶区域
    • value:area_boundarylist(x,y,z)
    • key:id
  • pedestrain_crossing:人行横道
    • value:edge_1:list(x,y,z);edge_2:list(x,y,z)
    • key:id
  • lane_segmments:车道段
    • value:
      • centerlinelist(x,y,z)
      • id
      • is_intersection:bool
      • lane_type:车道类型
        • VEHICLE
        • BIKE
        • BUS
      • left_lane_boundary:list(x,y,z)
      • left_lane_mark_type:左侧车道线线形
      • left_neighbor_id:左侧车道id,None为空
      • predecessors:前继车道id
      • right_lane_boundary:list(x,y,z)
      • right_lane_mark_type
      • right_neighbor_id
      • successors:后继lane id
    • key:id

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/251194.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

x-shell安装、使用以及配置cuda、cudnn和conda

x-shell安装、使用以及安装最新版本conda x-shell安装远程连接服务器conda安装和环境配置 x-shell安装 x-shell是一款终端模拟软件,用于在Windows界面下远程访问和使用不同系统下的服务器。免费版本下载地址: https://www.xshell.com/zh/free-for-home-…

通过ETLCloud CDC构建高效数据管道解决方案

随着企业数据规模的快速增长和多样化的数据,如何高效地捕获、同步和处理数据成为了业务发展的关键。本文将介绍如何利用ETLCloud CDC技术,构建一套高效的CDC数据管道,实现实时数据同步和分析,助力企业实现数据驱动的业务发展。 一…

SpringBoot security 安全认证(一)——登录验证

本节内容:使用springboot自动security模块实现用户登录验证功能; 登录过程如下图: AuthenticationManager内容实现用户账号密码验证,还可以对用户状态(启用/禁用),逻辑删除,账号是否…

IPSec VPN与NQA联动实现主备对等体和主备链路快速切换案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 厦门微思网络​​​​​​https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle OC…

java设计模式:策略模式

在平常的开发工作中,经常会用到不同的设计模式,合理的使用设计模式,可以提高开发效率,提高代码质量,提高代码的可拓展性和维护性。今天来聊聊策略模式。 策略模式是一种行为型设计模式,运行时可以根据需求动…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目,需要在 conf.d 目录中增加一个 .conf 配置文件: server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录(需要修改 n…

redis布隆过滤器(Bloom)详细使用教程

文章目录 布隆过滤器1. 原理2. 结构和操作3. 特点和应用场景4. 缺点和注意事项 应用-redis插件布隆过滤器使用详细过程安装以及配置springboot项目使用redis布隆过滤器下面是布隆过滤器的一些基础命令 扩展 布隆过滤器 Bloom 过滤器是一种概率型数据结构,用于快速判…

AcWing算法学习笔记:贪心(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)

贪心 一、区间问题①区间选点②最大不相交区间数量③区间分组④区间覆盖 二、Huffman树(合并果子)三、排序不等式(排队打水)四、绝对值不等式(货仓选址)五、推公式(耍杂技的牛) 一、…

常见API

文章目录 Math类1.1 概述1.2 常见方法 System类2.1 概述2.2 常见方法 Runtime3.1 概述3.2 常见方法 Object类4.1 概述4.2 常见方法 Objects类5.1 概述5.2 常见方法 BigInteger类6.1 引入6.2 概述6.3 常见方法6.4 底层存储方式: 7 BigDecimal类7.1 引入7.2 概述7.3 常…

leetcode 1.两数之和(C++)DAY1(待补充哈希表法)

文章目录 1.题目描述示例提示 2.解答思路3.实现代码结果4.总结 1.题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&…

猫用空气净化器真的能除菌吗?除毛可以用宠物空气净化器吗?

猫咪给我们带来了无尽的欢乐,但它们换毛时家里到处都是猫毛。我们会在地板、沙发上发现一大堆,甚至衣服也难逃其影响。这些浮毛中可能携带着微生物和尘螨等。对于免疫力较低的老年人、孩子和孕妇来说,他们更容易感染这些微生物。而对于鼻炎患…

openlayers加载天地图

申请天地图key 官方:https://www.tianditu.gov.cn/ 申请key:https://sso.tianditu.gov.cn/login?servicehttps%3A%2F%2Fconsole.tianditu.gov.cn%2F 进去之后,先登录,如果没账号先注册一个就行。 可以创建个应用,…

Unity制作随风摇摆的植物

今天记录一下如何实现随风摇摆的植物,之前项目里面的植物摇摆实现是使用骨骼动画实现的,这种方式太消耗性能,植物这种东西没必要,直接使用顶点动画即可。 准备 植物不需要使用标准的PBR流程,基础的颜色贴图加上法向贴…

153基于matlab的滚动轴承故障诊断

基于matlab的滚动轴承故障诊断,基于小波包分解,得到数据峭度值,以正常与故障数据峭度差值进行最大尺度重构,对重构信号进行包络谱分析。程序已调通,可直接运行。 153matlab 信号重构 包络谱分析 故障诊断 (xiaohongshu…

网络流数据集处理(深度学习数据处理基础)

一、数据集处理 处理数据集是一个文件夹 一个文件夹处理的,将原网络流数据集 放入一个文件夹 处理转换成 Json文件。(数据预处理)然后将这些文件处理成目标文件格式 再分割成训练集和测试集。每次运行只会处理一个文件夹。 运行train.py 导入…

html,css,js速成

准备&#xff1a;vscode配好c&#xff0c;python&#xff0c;vue环境&#xff0c;并下载live server插件。 1. html hypertext markup language(超文本标记语言) 1. 基础语法 一个html元素由开始标签&#xff0c;填充文本&#xff0c;结束标签构成。 常见标签说明<b>…

VC++中使用OpenCV绘制直线、矩形、圆和文字

VC中使用OpenCV绘制直线、矩形、圆和文字 在VC中使用OpenCV绘制直线、矩形、圆和文字非常简单&#xff0c;分别使用OpenCV中的line、rectangle、circle、putText这四个函数即可。具体可以参考OpenCV官方文档&#xff1a;https://docs.opencv.org/4.x/index.html 下面的代码展…

微信小程序实现时间轴效果

目录 引言时间轴效果的应用场景微信小程序的优势时间轴效果的设计思路时间轴界面布局数据结构设计实现时间轴效果WXML结构设计WXSS样式设计JavaScript逻辑实现说明引言 时间轴效果的应用场景 时间轴效果作为一种独特且直观的信息展示形式,已经被广泛应用于各种场景中,提供了…

【EI会议征稿通知】第四届光学与图像处理国际学术会议(ICOIP 2024)

第四届光学与图像处理国际学术会议&#xff08;ICOIP 2024&#xff09; 2024 4th International Conference on Optics and Image Processing 光学器件的实用化、图像处理的更优化等话题深受国内外专家、学者们关注。为推动光学与图像处理的发展&#xff0c;促进该领域学术交…

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…