1. 摘要
在自动驾驶技术飞速发展的今天,高质量的数据集对于算法研发和评估至关重要。Apollo Synthetic 3D Lane数据集以其高保真度和丰富的环境变化,为3D车道检测方法的研究提供了一个理想的测试平台。本文将详细介绍这一数据集的背景、特点、数据结构以及使用方法。
参考论文:Gen-LaneNet: A Generalized and Scalable Approach for 3D Lane Detection 。
2. 背景介绍
Apollo Synthetic 3D Lane数据集是由Apollo公司推出的一款用于自动驾驶的合成数据集。它包含273k个独特的图像(非视频连续帧),涵盖了高速公路、城市、住宅区、市中心、室内停车场等多种虚拟场景。这些虚拟世界是通过Unity 3D引擎创建的,具有高视觉保真度。合成数据集的最大优势在于它提供的精确真实标签数据,同时还能模拟更多环境变化,如不同时间段、不同天气条件、不同的交通/障碍物以及不同的路面质量。
3. 数据集详细描述
3.1 特点
- 高保真度:使用Unity 3D引擎生成,图像质量接近真实世界。
- 环境多样性:包括不同时间、不同天气、不同交通状况和路面条件。
- 精确标签:提供2D/3D对象数据、语义/实例级分割、深度信息和3D车道线数据。
3.2 数据结构
数据集按照不同的环境变化和测试需求被划分为不同的子集,例如:
- 标准数据集:包含常见的驾驶场景。
- 罕见子集:包含较少见的复杂城市场景。
- 光照变化:模拟不同光照条件下的驾驶环境。
数据集的文件结构如下:
data_splits
├── standard
│ ├── 3D_LaneNet
│ │ └── test_pred_file.json
│ ├── Gen_LaneNet
│ │ └── test_pred_file.json
│ ├── train.json
│ └── test.json
├── rare_subset
│ ├── 3D_LaneNet
│ │ └── test_pred_file.json
│ ├── Gen_LaneNet
│ │ └── test_pred_file.json
│ ├── train.json
│ └── test.json
└── illus_chg
├── 3D_LaneNet
│ └── test_pred_file.json
├── Gen_LaneNet
│ └── test_pred_file.json
├── train.json
└── test.json
3. 代码工具
代码工具参考:A Synthetic Dataset for 3D lane Detection
-
parse_apollo_sim_raw_data.py:此代码提取感兴趣俯视区域内的车道线和中心线。根据提供的地面真实深度图和语义分割图,判断前景和背景遮挡。通常,被背景遮挡的远距离车道线不会被车道检测方法恢复,因此这些车道线会被丢弃。通过设置’vis=True’,此代码将在每个图像上绘制真实的车道线和中心线并保存。
-
prepare_data_split.py:此代码随机将整个数据集按照“标准”五折划分为训练集和测试集。特别是,从困难的城市地图生成的子集被进一步提取为“罕见子集”数据划分的测试集。
-
prepare_data_subset:给定标准的数据划分,此代码从训练集中排除对应特定“光照”条件(黎明前)的图像。相反,在测试集中,只保留对应该光照条件的图像。
5. 总结和讨论
Apollo Synthetic 3D Lane数据集为自动驾驶领域的研究人员提供了一个宝贵的资源。通过模拟真实世界的复杂性,它不仅推动了3D车道检测技术的发展,也为评估和比较不同算法提供了一个标准化的平台。我们鼓励研究人员利用这一数据集,开发出更准确、更鲁棒的车道检测算法。