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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学步_技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值