当前位置: 首页 > 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车道感知技术的发展,也为整个自动驾驶技术的进步贡献了重要力量。我们期待研究社区能够利用这一数据集,开发出更加智能和安全的自动驾驶系统。
在这里插入图片描述

相关文章:

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

文章目录 1. 背景介绍2. OpenLane数据集详细描述2.1 数据集特点2.2 坐标系定义 3. 使用方法4. 结论 1. 背景介绍 自动驾驶技术的发展日新月异,而3D车道感知是其核心之一。本文将深入介绍OpenLane数据集——迄今为止规模最大、最接近真实世界的3D车道数据集。我们将…...

CMakeList学习笔记

设置项目:project project(planning VERSION 1.0.0 LANGUAGES CXX) # 项目的名字 版本 1.1.0 编程语言 CXX 设置包含目录:include_directories、targer_include_directories 设置编译类型:add_executable、add_library add_executable(demo d…...

将git默认的编辑器设置为vin

git默认编辑器现状 如下&#xff0c;很多linux发行版&#xff0c;未加修改的情况下&#xff0c;git的默认编辑器使用起来不太方便 Signed-off-by: root <rootxxx.COM># Please enter the commit message for your changes. Lines starting # with # will be ignored, a…...

ros2_control 6 自由度机械臂

系列文章目录 前言 ros2_control 是一个实时控制框架&#xff0c;专为普通机器人应用而设计。标准的 c 接口用于与硬件交互和查询用户定义的控制器命令。这些接口增强了代码的模块化和与机器人无关的设计。具体的应用细节&#xff0c;例如使用什么控制器、机器人有多少个关节以…...

Python 在自动化中的实际应用:用 Python 简化繁琐任务

文章目录 1、概述2、自动化文件和目录管理3.数据处理与分析4.网页爬虫5. 系统管理6。定时任务7.结语 1、概述 这篇文章将深入探讨Python在自动化中的实际应用&#xff0c;帮助您用Python简化繁琐任务。 我们将从多个方面入手&#xff0c;展示如何利用Python进行文件管理、数据…...

解释 Spring 框架的核心模块(如 IoC 容器、AOP )及其工作原理。描述如何使用 Spring Boot 快速搭建一个 RESTful Web服务?

Spring框架是一个广泛使用的Java企业级应用程序开发框架&#xff0c;它提供了一系列的模块来帮助开发者构建健壮、可测试、可维护的应用程序。 其中&#xff0c;最核心的模块包括IoC容器和AOP&#xff08;Aspect Oriented Programming&#xff0c;面向切面编程&#xff09;。 …...

数据分析详解

一、数据分析教程 1. 入门教程 在线课程&#xff1a;如Coursera、Udemy、网易云课堂等平台提供了大量数据分析的入门课程&#xff0c;涵盖统计学基础、Python/R语言编程、数据可视化等内容。书籍推荐&#xff1a;《Python数据分析实战》、《R语言实战》等书籍是数据分析入门的…...

SpringCloud之@FeignClient()注解的使用方式

FeignClient介绍 FeignClient 是 Spring Cloud 中用于声明一个 Feign 客户端的注解。由于SpringCloud采用分布式微服务架构&#xff0c;难免在各个子模块下存在模块方法互相调用的情况。比如订单服务要调用库存服务的方法&#xff0c;FeignClient()注解就是为了解决这个问题的…...

20.rabbitmq插件实现延迟队列

问题 前面谈到基于死信的延迟队列&#xff0c;存在的问题&#xff1a;如果第一个消息延时时间很长&#xff0c;而第二个消息延时时间很短&#xff0c;第二个消息并不会优先得到执行。 下载插件 地址&#xff1a;https://github.com/rabbitmq/rabbitmq-delayed-message-excha…...

TS如何处理js模块的类型?

现在很多插件都直接用ts开发了&#xff0c;本身包含了类型定义常见的第三方插件&#xff0c;都有’types/xxx’包&#xff0c;安装即可使用其他的&#xff0c;可通过declare module定义类型 比如&#xff1a; // someModule.js export function greet(name) {return Hello, $…...

GPS定位系统(VUE框架)

源码下载&#xff1a;小宅博客网 博主之前写的《GPS定位系统&#xff08;MVC框架&#xff09;》版本&#xff0c;并没有做到前后端分离&#xff0c;不太适合多人协作开发&#xff0c;这边博主分享一个基于asp.net web api vue3的GPS定位系统框架&#xff0c;本框架继承了MVC框…...

分布式光伏并网AM5SE-IS防孤岛保护装置介绍——安科瑞 叶西平

产品简介 功能&#xff1a; AM5SE-IS防孤岛保护装置主要适用于35kV、10kV及低压380V光伏发电、燃气发电等新能源并网供电系统。当发生孤岛现象时&#xff0c;可以快速切除并网点&#xff0c;使本站与电网侧快速脱离&#xff0c;保证整个电站和相关维护人员的生命安全。 应用…...

神奇的方法解决Navicat闪退

原因 打开Navicat操作上面的工具等就会闪退&#xff0c;原因竟然是屏幕划词&#xff01;&#xff01;&#xff01; 解决方法 看别人提到有道词典的划词功能的原因 我没有安装有道词典&#xff0c;但我安装豆包&#xff0c;它也有划词翻译的功能&#xff0c;关闭即可...

openmv学习笔记(24电赛笔记)

感光元件 openmv采用小孔摄像模式&#xff0c;将图像映射到感光原件上面&#xff0c;来传递图片&#xff0c;通过图片快速的刷新行成视频&#xff0c;在IDE中通过对感光原件的编辑可以控制视频的效果。 重置感光元件到默认状态 import sensor #导入感光元件这个库sensor.res…...

Linux shell编程学习笔记67: tracepath命令 追踪数据包的路由信息

0 前言 网络信息是电脑网络信息安全检查中的一块重要内容&#xff0c;Linux和基于Linux的操作系统&#xff0c;提供了很多的网络命令&#xff0c;今天我们研究tracepath命令。 Tracepath 在大多数 Linux 发行版中都是可用的。如果在你的系统中没有预装&#xff0c;请根据你的…...

生鲜云订单零售系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商品分类管理&#xff0c;商品信息管理&#xff0c;订单评价管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&#…...

BLE自适应跳频算法详解

前言 &#xff08;1&#xff09;自适应跳频算法是相当的简单&#xff0c;小学生都能够看懂&#xff0c;而且网上已经有相当多的关于自适应跳频算法的介绍。既然如此&#xff0c;为什么我还要写这样一篇博客呢&#xff1f; &#xff08;2&#xff09;原因很简单&#xff0c;我发…...

[Meachines] [Easy] Beep Elastix-CMS-LFI

信息收集 IP AddressOpening Ports10.10.10.7TCP:22, 25, 80, 110, 111, 143, 443, 993, 995, 3306 $ nmap -p- 10.10.10.7 --min-rate 1000 -sC -sV Nmap scan report for 10.10.10.7 (10.10.10.7) Host is up (0.53s latency). Not shown: 65486 filtered tcp ports (no-…...

甘肃麻花:酥脆香甜的陇原美味

在甘肃的美食画卷中&#xff0c;甘肃麻花以其独特的魅力占据着重要的一席之地。甘肃食家巷麻花&#xff0c;那金黄酥脆的外形&#xff0c;宛如一件件精美的艺术品。每一根麻花的纹理都清晰可见&#xff0c;缠绕交织&#xff0c;散发着诱人的光泽。 制作甘肃麻花是一门传统的手艺…...

C语言刷题小记2

前言 本篇博客还是为大家分享一些C语言的OJ题目&#xff0c;如果你感兴趣&#xff0c;希望大佬一键三连。多多支持。下面进入正文部分。 题目1竞选社长 分析&#xff1a;本题要求我们输入一串字符&#xff0c;并且统计个数的多少&#xff0c;那么我们可以通过getchar函数来获…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文通过代码驱动的方式&#xff0c;系统讲解PyTorch核心概念和实战技巧&#xff0c;涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

云原生安全实战:API网关Envoy的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口&#xff0c;负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...

数据分析六部曲?

引言 上一章我们说到了数据分析六部曲&#xff0c;何谓六部曲呢&#xff1f; 其实啊&#xff0c;数据分析没那么难&#xff0c;只要掌握了下面这六个步骤&#xff0c;也就是数据分析六部曲&#xff0c;就算你是个啥都不懂的小白&#xff0c;也能慢慢上手做数据分析啦。 第一…...