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

自动驾驶三维车道线检测系列—OpenLane数据集介绍

文章目录

  • 1. 背景介绍
  • 2. OpenLane数据集详细描述
    • 2.1 数据集特点
    • 2.2 坐标系定义
  • 3. 使用方法
  • 4. 结论

1. 背景介绍

自动驾驶技术的发展日新月异,而3D车道感知是其核心之一。本文将深入介绍OpenLane数据集——迄今为止规模最大、最接近真实世界的3D车道数据集。我们将一起探索其背景、详细内容、坐标系定义以及如何有效利用这一宝贵资源,以推动自动驾驶技术的研究与发展。

自动驾驶技术正逐渐从梦想走向现实,而精确的车道识别是实现安全自动驾驶的关键。传统的2D车道数据集虽然在学术界和工业界得到了广泛应用,但它们往往无法满足3D车道感知的需求。为了填补这一空白,OpenLane数据集应运而生,为研究者提供了一个全新的平台。

参考paper:PersFormer: 3D Lane Detection via Perspective Transformer and the OpenLane Benchmark

在这里插入图片描述

2. OpenLane数据集详细描述

OpenLane数据集以其真实性和规模著称。它收集了来自公共感知数据集的宝贵内容,涵盖了1000个路段的车道和最近路径对象(CIPO)注释。总体上,OpenLane包含了200K帧图像和超过880K条精心标注的车道信息。

2.1 数据集特点

  • 真实世界场景:所有数据均来源于真实世界的驾驶场景,包括城市道路、高速公路等多样环境。
  • 大规模覆盖:数据集规模空前,为研究者提供了丰富的样本进行模型训练和测试。
  • 高精度标注:每一条车道都经过了细致的人工标注,确保了数据的准确性和可靠性。
  • 多维度信息:除了车道线,还提供了CIPO等关键信息,为3D感知提供了更多维度的数据支持。

2.2 坐标系定义

OpenLane数据集采用相机坐标系(Camera Coordinate System)来定义车道的位置。所有标注均以精确的坐标点和相应的属性信息呈现,便于研究者进行空间分析和算法开发。坐标系参考:Three camera coord sys in eval code

详细解释如下:
Waymo(OpenLane)的相机坐标系定义为:X轴向前,Y轴向左,Z轴向上。
这与广泛使用的常规(标准)相机坐标系不同,在常规坐标系中:X轴向右,Y轴向下,Z轴向前。

3. 使用方法

OpenLane数据集的使用方法灵活多样,适用于不同类型的研究和应用开发:

  1. 数据预处理:根据研究需求对原始数据进行清洗和格式化,以适配特定的算法框架。
  2. 模型训练:使用标注的车道数据训练深度学习模型,进行车道检测和预测。
  3. 算法测试:在数据集上测试车道感知算法的性能,评估算法的准确性和鲁棒性。
  4. 可视化分析:利用数据可视化工具展示车道线和CIPO的分布,加深对场景的理解。

数据集下载参考:Download

数据集目录组织格式如下:

├── images
|   ├── training
|   |   ├── segment-xxx
|   |   |   ├── xxx.jpg
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.jpg
|   |   |   └── ...
|   |   └── ...
|   └── validation
|       ├── segment-xxx
|       |   ├── xxx.jpg
|       |   └── ...
|       ├── segment-xxx
|       |   ├── xxx.jpg
|       |   └── ...
|       └── ...
├── cipo
|   ├── training
|   |   ├── segment-xxx
|   |   |   ├── xxx.jpg.json
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.jpg.json
|   |   |   └── ...
|   |   └── ...
|   └── validation
|       ├── segment-xxx
|       |   ├── xxx.jpg.json
|       |   └── ...
|       ├── segment-xxx
|       |   ├── xxx.jpg.json
|       |   └── ...
|       └── ...
├── lane3d_300
|   ├── training
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   └── ...
|   ├── validation
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   └── ...
|   └── test
|       ├── curve_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── extreme_weather_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── intersection_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── merge_split_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── night_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── up_down_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── curve.txt
|       ├── extreme_weather.txt
|       ├── intersection.txt
|       ├── merge_split.txt
|       ├── night.txt
|       └── up_down.txt
├── lane3d_1000
|   ├── training
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   └── ...
|   ├── validation
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   ├── segment-xxx
|   |   |   ├── xxx.json
|   |   |   └── ...
|   |   └── ...
|   └── test
|       ├── curve_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── extreme_weather_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── intersection_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── merge_split_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── night_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── up_down_case
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   ├── segment-xxx
|       |   |   ├── xxx.json
|       |   |   └── ...
|       |   └── ...
|       ├── 1000_curve.txt
|       ├── 1000_extreme_weather.txt
|       ├── 1000_intersection.txt
|       ├── 1000_merge_split.txt
|       ├── 1000_night.txt
|       └── 1000_up_down.txt
└── scene└── SCENE└── scene.json

通用规则说明:我们使用XXX来泛指图像、CIPO(最近路径对象)、lane3d_300和lane3d_1000。我们在XXX/training/和XXX/validation/下提供训练/验证数据集分割,这与Waymo原始的训练/验证分割保持一致。XXX/training/segment-xxx表示后续文件属于一个完整路段。
文件夹结构详解

  • images/: 此文件夹包含Waymo开放数据集中的所有前视原始图像文件。我们从原始的tfrecord格式中提取了它们。总共包含1000个路段,其中798个用于训练,202个用于验证。
  • cipo/: 此文件夹包含所有CIPO注释。有关真实值JSON文件的详细信息,请参考CIPO注释文档。
  • lane3d_1000/: 此文件夹包含所有2D/3D车道注释。除了训练/验证分割外,我们在lane3d_1000/test/下提供了几种场景案例。每个案例包含从验证集中选取的特定主题的路段。我们在lane3d_1000/test/1000_XXX.txt中提供了相应的图像名称。有关真实值JSON文件的详细信息,请参考车道注释文档。
  • lane3d_300/: 此文件夹从lane3d_1000/中包含了一个小型数据集。我们为那些计算资源有限的用户提供此数据集。总共包含300个序列,其中240个用于训练,60个用于验证。
  • scene/: 此文件夹包含所有场景注释。它只有一个JSON文件。有关JSON文件的详细信息,请参考CIPO注释文档。

更好的理解:

  • 图像文件夹:存放了Waymo开放数据集中的1000个路段的前视图原始图像,分为798个训练路段和202个验证路段。
  • CIPO注释:提供了CIPO(最近路径对象)的详细注释信息,具体细节见CIPO注释文档。
  • 3D车道1000:提供了2D和3D车道的详细注释,包括训练/验证分割和特定场景测试案例,场景案例的细节和图像名称列表见对应文本文件。
  • 3D车道300:为计算资源受限用户提供的小型数据集,包含240个训练序列和60个验证序列。
  • 场景注释:包含场景的总体注释,详情见单一的JSON文件。

4. 结论

OpenLane数据集的发布,为自动驾驶领域的研究者提供了一个前所未有的研究资源。它不仅推动了3D车道感知技术的发展,也为整个自动驾驶技术的进步贡献了重要力量。我们期待研究社区能够利用这一数据集,开发出更加智能和安全的自动驾驶系统。
在这里插入图片描述

http://www.lryc.cn/news/408410.html

相关文章:

  • CMakeList学习笔记
  • 将git默认的编辑器设置为vin
  • ros2_control 6 自由度机械臂
  • Python 在自动化中的实际应用:用 Python 简化繁琐任务
  • 解释 Spring 框架的核心模块(如 IoC 容器、AOP )及其工作原理。描述如何使用 Spring Boot 快速搭建一个 RESTful Web服务?
  • 数据分析详解
  • SpringCloud之@FeignClient()注解的使用方式
  • 20.rabbitmq插件实现延迟队列
  • TS如何处理js模块的类型?
  • GPS定位系统(VUE框架)
  • 分布式光伏并网AM5SE-IS防孤岛保护装置介绍——安科瑞 叶西平
  • 神奇的方法解决Navicat闪退
  • openmv学习笔记(24电赛笔记)
  • Linux shell编程学习笔记67: tracepath命令 追踪数据包的路由信息
  • 生鲜云订单零售系统小程序的设计
  • BLE自适应跳频算法详解
  • [Meachines] [Easy] Beep Elastix-CMS-LFI
  • 甘肃麻花:酥脆香甜的陇原美味
  • C语言刷题小记2
  • JavaScript图片轮播
  • MSSQL注入前置知识
  • idea一键为实体类赋值
  • 秋招突击——7/24——知识补充——JVM类加载机制
  • 如何在 Microsoft SQL Server 中增加字段-完整指南
  • 快手电商Android一面凉经(2024)
  • 随机点名器
  • 添加动态云层
  • Spring Boot组成的分布式系统中实现日志跟踪
  • GPT-4o Mini 模型的性能与成本优势全解析
  • web前端 - HTML 基础知识大揭秘