DDAD 自动驾驶深度数据集使用教程
DDAD 项目地址: https://gitcode.com/gh_mirrors/dd/DDAD
1. 项目介绍
DDAD(Dense Depth for Autonomous Driving)是由丰田研究院(Toyota Research Institute, TRI)开发的一个用于自动驾驶的长距离密集深度估计数据集。该数据集包含了在复杂多样的城市环境中,通过安装在自动驾驶车辆上的高密度LiDAR生成的单目视频和准确的地面真实深度数据。DDAD数据集涵盖了美国(旧金山、湾区、剑桥、底特律、安娜堡)和日本(东京、台场)的城市场景。
DDAD数据集的主要特点包括:
- 长距离深度估计(最远可达250米)
- 高密度LiDAR生成的精确地面真实深度
- 360度全景覆盖
- 多摄像头同步数据
2. 项目快速启动
2.1 数据下载
首先,您需要下载DDAD数据集。数据集分为训练+验证集和测试集。
- 训练+验证集(257 GB,md5 checksum: c0da97967f76da80f86d6f97d0d98904)
- 测试集(即将发布)
下载链接:DDAD数据集下载
2.2 数据加载
使用TRI Dataset Governance Policy (DGP)代码库加载数据集。以下是一个简单的代码示例:
from dgp.datasets import SynchronizedSceneDataset
# 加载同步的摄像头和LiDAR帧
dataset = SynchronizedSceneDataset('<path_to_dataset>/ddad.json',
datum_names=('lidar', 'CAMERA_01', 'CAMERA_05'),
generate_depth_from_datum='lidar',
split='train')
# 遍历数据集
for sample in dataset:
# 每个样本包含请求的数据列表
lidar, camera_01, camera_05 = sample[0:3]
point_cloud = lidar['point_cloud'] # Nx3 numpy ndarray
image_01 = camera_01['rgb'] # PIL Image
depth_01 = camera_01['depth'] # (H, W) numpy ndarray,由'lidar'生成
2.3 深度估计模型训练
参考Packnet-SfM代码库(基于PyTorch),了解如何集成和使用DDAD进行深度估计的训练、推理和评估,以及预训练模型的使用。
3. 应用案例和最佳实践
3.1 自动驾驶中的深度估计
DDAD数据集特别适用于自动驾驶中的深度估计任务。通过使用DDAD数据集,研究人员和开发者可以训练和评估各种深度估计模型,从而提高自动驾驶系统的感知能力。
3.2 多传感器融合
DDAD数据集提供了多摄像头和LiDAR的同步数据,非常适合用于多传感器融合的研究。通过融合不同传感器的数据,可以提高深度估计的准确性和鲁棒性。
4. 典型生态项目
4.1 Packnet-SfM
Packnet-SfM是一个基于PyTorch的深度估计模型,特别适用于单目深度估计任务。Packnet-SfM提供了详细的教程和预训练模型,可以与DDAD数据集结合使用。
4.2 DGP(Dataset Governance Policy)
DGP是TRI开发的一个数据集管理工具,用于加载和管理DDAD数据集。DGP提供了丰富的功能,如数据加载、数据预处理、数据可视化等。

通过以上模块的介绍和代码示例,您可以快速上手使用DDAD数据集,并结合相关生态项目进行深度估计的研究和开发。