当前位置: 首页 > news >正文

Argoverse2数据集的导入

AV2数据集介绍:

一个用于自动驾驶域中感知和预测研究的三个数据集的集合。带标注的传感器数据集包含1000个多模态数据序列,包括来自七个环视摄像机和两个双目摄像机的高分辨率图像,以及激光雷达点云和6自由度地图配准位姿。序列包含26个目标类别的三维长方体标注,所有这些标注都是充分采样的,以支持训练和三维感知模型的评估。激光雷达数据集包含20,000个未标记的激光雷达点云序列和地图配准位姿。该数据集是有史以来最大的激光雷达传感器数据集合,支持自监督学习和新兴的点云预测任务。最后,运动预测数据集包含250,000个场景,挖掘每个场景中自车与其他参与者之间有趣和具有挑战性的交互。模型的任务是预测每个场景中scored actors的未来运动,并提供跟踪历史,捕捉目标的位置、航向、速度和类别。在所有三个数据集中,每个场景都包含自己的高精地图,带有3D车道和人行横道几何形状--来自六个不同城市的数据。

数据集下载地址:

argoverse/argoverse-api: Official GitHub repository for Argoverse dataset

下载后解压:

其中forecast-mae文件夹是通过forecast中的preprocess.py进行预处理得到的数据。

forecast-mae的地址是https://github.com/jchengai/forecast-mae.git

from argparse import ArgumentParser
from pathlib import Path
from typing import Listimport ray
from tqdm import tqdmfrom src.datamodule.av2_extractor import Av2Extractor
from src.utils.ray_utils import ActorHandle, ProgressBar#不要超过CPU核心数
ray.init(num_cpus=16)def glob_files(data_root: Path, mode: str):file_root = data_root / modescenario_files = list(file_root.rglob("*.parquet"))   #使用rglob方法遍历指定文件夹及其子文件夹下的所有文件,寻找扩展名为.parquet的文件,并将它们的路径存储在scenario_files列表中。return scenario_files@ray.remote
def preprocess_batch(extractor: Av2Extractor, file_list: List[Path], pb: ActorHandle):for file in file_list:extractor.save(file)pb.update.remote(1)def preprocess(args):batch = args.batchdata_root = Path(args.data_root)for mode in ["train", "val", "test"]:save_dir = data_root / "forecast-mae" / modesave_dir.mkdir(exist_ok=True, parents=True)extractor = Av2Extractor(save_path=save_dir, mode=mode)scenario_files = glob_files(data_root, mode)if args.parallel:pb = ProgressBar(len(scenario_files), f"preprocess {mode}-set")pb_actor = pb.actorfor i in range(0, len(scenario_files), batch):preprocess_batch.remote(extractor, scenario_files[i : i + batch], pb_actor)pb.print_until_done()else:for file in tqdm(scenario_files):extractor.save(file)   #把轨迹文件*.parquet存储为.pt文件if __name__ == "__main__":parser = ArgumentParser()parser.add_argument("--data_root", "-d", type=str, required=True)parser.add_argument("--batch", "-b", type=int, default=50)parser.add_argument("--parallel", "-p", action="store_true")args = parser.parse_args()preprocess(args)

下载AV2数据集的相关包,请文后本文绑定的资源下载。

然后如何读取数据呢,请看


from datetime import datetime
import os
import hydra
import random
import math
from hydra.utils import instantiateimport numpy as np
import torch
from src.datamodule.av2_datamodule import Av2DataModule
from arguments import get_argsdef main(conf):av2datamoudle=Av2DataModule(data_root="/home/user/Argoverse2",data_folder="forecast-mae",train_batch_size=32,val_batch_size=32,test_batch_size=32,shuffle=True,num_workers=8,pin_memory=True,)av2datamoudle.setup()train_sdata_loader =  av2datamoudle.train_dataloader()passfor i, data in enumerate(train_sdata_loader):passif __name__ == "__main__":main()

这样即可

相关文章:

  • 【计算机组成体系结构】SRAM和DRAM
  • 了解linux计划任务
  • NumPy学习:NumPy(Numerical Python)基础(一)
  • Java 22种设计模式详解
  • debian11,debian 如何删除虚拟内存,交换分区
  • UE5 树叶飘落 学习笔记
  • 创建第一个 Flink 项目
  • XUbuntu22.04之8款免费UML工具(一百九十七)
  • 【Flink on k8s】- 12 - Flink kubernetes operator 的高级特性
  • 在目标检测的图框标注中注意一下几点
  • java中用thumbnailator依赖写一个压缩图片的类,只要图片大小超过1M就无线循环下去的详细代码实例?
  • 【ARM Trace32(劳特巴赫) 使用介绍 13 -- Trace32 变量篇】
  • 得帆云助力容百科技构建CRM系统,实现LTC全流程管理
  • 【管理运筹学】背诵手册(七)| 网络计划与排队论
  • 游戏架构之面向对象模型和组件模型
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • es6(二):字符串的扩展
  • export和import的用法总结
  • java2019面试题北京
  • Java到底能干嘛?
  • java中的hashCode
  • mac修复ab及siege安装
  • MobX
  • MySQL主从复制读写分离及奇怪的问题
  • redis学习笔记(三):列表、集合、有序集合
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 初探 Vue 生命周期和钩子函数
  • 分布式事物理论与实践
  • 高性能JavaScript阅读简记(三)
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于HAProxy的高性能缓存服务器nuster
  • 将回调地狱按在地上摩擦的Promise
  • 你不可错过的前端面试题(一)
  • 前端临床手札——文件上传
  • 树莓派 - 使用须知
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $.ajax中的eval及dataType
  • (02)Hive SQL编译成MapReduce任务的过程
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (转)【Hibernate总结系列】使用举例
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ***通过什么方式***网吧
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET Standard 的管理策略
  • .NET 材料检测系统崩溃分析
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .netcore 获取appsettings
  • .NET企业级应用架构设计系列之开场白
  • :not(:first-child)和:not(:last-child)的用法
  • @Autowired多个相同类型bean装配问题