当前位置: 首页 > 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函数来获…...

Qwen3-Reranker-0.6B效果展示:代码搜索Query ‘Python list to dict‘重排

Qwen3-Reranker-0.6B效果展示&#xff1a;代码搜索Query Python list to dict重排 今天咱们来聊聊一个特别实用的AI工具——Qwen3-Reranker-0.6B。你可能听说过各种大语言模型&#xff0c;但这个模型有点不一样&#xff0c;它专门干一件事&#xff1a;帮你从一堆文本里找出最相…...

CentOS虚拟机启动卡在紧急模式?别慌,手把手教你用xfs_repair修复XFS元数据损坏

CentOS虚拟机启动卡在紧急模式&#xff1f;手把手教你用xfs_repair拯救XFS元数据 当你正准备开始一天的工作&#xff0c;突然发现CentOS虚拟机无法正常启动&#xff0c;屏幕上赫然显示着"emergency mode"的红色警告。这种突如其来的系统崩溃&#xff0c;往往让运维人…...

Mac Mouse Fix终极指南:重新定义macOS鼠标交互体验的开源解决方案

Mac Mouse Fix终极指南&#xff1a;重新定义macOS鼠标交互体验的开源解决方案 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 在macOS生态系统中&#xff0…...

保姆级教程:手把手配置GD32的RTC外部低速时钟(LXTAL)与内部IRC40K

GD32 RTC时钟源配置实战&#xff1a;从LXTAL到IRC40K的深度解析 在嵌入式开发中&#xff0c;实时时钟(RTC)模块的稳定运行往往决定了设备的时间记录精度和低功耗表现。作为GD32微控制器的重要外设之一&#xff0c;RTC模块支持多种时钟源配置方案&#xff0c;其中外部低速晶振(L…...

SeqGPT-560M部署避坑:常见‘加载中’卡顿、端口冲突、GPU未识别解决

SeqGPT-560M部署避坑&#xff1a;常见‘加载中’卡顿、端口冲突、GPU未识别解决 1. 模型简介与核心价值 SeqGPT-560M是阿里达摩院推出的零样本文本理解模型&#xff0c;这个560M参数量的轻量级模型专门针对中文场景优化&#xff0c;无需训练就能直接处理文本分类和信息抽取任…...

单台三相模块化多电平(MMC)小信号建模之旅

单台三相模块化多电平&#xff08;mmc&#xff09;小信号建模 内含功率外环、环流抑制、电流内环、PLL等控制部分完整建模在电力电子领域&#xff0c;三相模块化多电平&#xff08;MMC&#xff09;变换器因其诸多优点而备受关注。今天咱就唠唠单台MMC的小信号建模&#xff0c;这…...

用Arduino UNO R3和MPU6050搞定平衡小车:从硬件接线到PID参数调试全记录

从零打造Arduino平衡小车&#xff1a;硬件搭建与PID调参实战指南 1. 项目准备与硬件选型 平衡小车作为入门机器人的经典项目&#xff0c;融合了传感器技术、控制算法和机电一体化设计。在开始动手前&#xff0c;我们需要准备以下核心组件&#xff1a; 核心硬件清单&#xff1a;…...

PROJECT MOGFACE效果对比:不同提示词(Prompt)工程下的输出质量

PROJECT MOGFACE效果对比&#xff1a;不同提示词&#xff08;Prompt&#xff09;工程下的输出质量 你是不是也遇到过这种情况&#xff1f;用同一个AI模型&#xff0c;别人生成的回答妙语连珠&#xff0c;你得到的却平平无奇。问题可能就出在那几句“悄悄话”——提示词上。 今…...

企业网管必看:华为交换机双协议登录避坑指南(含Telnet与SSH共存配置)

华为交换机双协议登录实战&#xff1a;Telnet与SSH安全共存配置手册 作为企业网络管理员&#xff0c;每次接手新设备时最头疼的莫过于不同厂商、不同版本间的配置差异。上周我负责的某数据中心网络升级项目中&#xff0c;就遇到了华为S5735交换机同时配置Telnet和SSH的"坑…...

Token省着用:GLM-4.7-Flash优化OpenClaw长任务执行策略

Token省着用&#xff1a;GLM-4.7-Flash优化OpenClaw长任务执行策略 1. 当Token消耗成为自动化拦路虎 上周我让OpenClaw帮我整理半年的技术文档&#xff0c;结果第二天收到账单时差点从椅子上摔下来——一次自动化任务竟然烧掉了近20万Token。这个数字让我意识到&#xff0c;如…...