2. 自动驾驶数据基础
自动驾驶数据工程的第一性问题不是“模型怎么训”,而是“数据从哪来、长什么样、如何被组织”。一辆具备L2+能力的测试车,单日可产生数TB原始数据,其中真正进入训练闭环的高价值样本可能不足千分之一。理解传感器数据类型、采集流程、标注体系、存储格式与主流数据集,是后续数据挖掘、筛选与价值评估的基础。
一、核心原理:多传感器数据是“时空对齐的异构流”
自动驾驶车辆通常搭载摄像头、激光雷达、毫米波雷达、IMU、GNSS/RTK与轮速计。它们输出的数据在维度、频率、坐标系和语义上完全不同:摄像头是2D像素阵列,激光雷达是3D点云,毫米波雷达是稀疏的距离-速度-角度目标列表,IMU是高频时序信号。数据基础的核心任务,是把这些异构流统一到同一时间基准和空间坐标系下。
时间同步通常采用PTP或GPS秒脉冲触发,保证各传感器时间戳误差在微秒级;空间对齐则依赖外参标定,将激光雷达点云投影到相机图像,或将雷达目标变换到车辆坐标系。只有完成时空对齐,多模态数据才具备联合标注与融合训练的价值。
二、方法流程:从路采到可用数据集的五步链路
- 采集规划:明确ODD(运行设计域),设计路线覆盖城市、高速、隧道、雨雾等场景,并配置触发策略,如急刹、近距离切入、施工区等事件触发。
- 车端记录:以rosbag、MCAP或自定义二进制格式记录原始话题,同时写入时间戳、车辆位姿、标定参数与采集元数据。
- 数据回传与脱敏:通过5G或离线硬盘回传,进行人脸、车牌脱敏,并校验丢帧、时间戳跳变等异常。
- 标注与质检:按任务类型分发标注,3D框、车道线、可行驶区域、轨迹预测等,质检通过后进入数据集版本管理。
- 格式转换与切分:转换为训练框架友好格式,并按场景、天气、地域切分训练/验证/测试集,避免数据泄漏。
三、标注体系与存储格式
标注体系决定模型能学到什么。常见标注类型包括:2D/3D目标框、语义分割、实例分割、车道线、可行驶区域、关键点、轨迹与行为标签。3D标注需给出中心点、尺寸、朝向角与类别,并处理遮挡与截断属性。
| 数据类型 | 典型格式 | 特点 | 适用场景 |
|---|---|---|---|
| 图像 | JPEG / PNG / H.264 | 压缩率高,便于回放 | 2D检测、分割 |
| 点云 | PCD / BIN / LAS | 保留XYZI,体积大 | 3D检测、跟踪 |
| 标注结果 | JSON / XML / Protobuf | 结构化,易版本管理 | 训练标签 |
| 采集记录 | rosbag / MCAP | 多话题同步,含时间戳 | 回放、仿真 |
| 训练集 | COCO / KITTI / nuScenes | 社区标准,工具链成熟 | 模型训练与评测 |
四、常见数据集概览与选型建议
KITTI是早期经典,含相机、激光雷达与标注,适合算法原型验证;nuScenes提供多传感器与360°标注,适合多模态融合;Waymo Open Dataset规模大、标注精细,适合3D检测与轨迹预测;Argoverse强调轨迹预测与高精地图;国内如nuPlan、DAIR-V2X等则覆盖车路协同场景。选型时应关注传感器配置、标注粒度、场景分布与许可协议。
五、误区与复盘
复盘时建议检查:时间戳对齐误差是否小于传感器周期的一半;标注类别定义是否覆盖长尾;数据集切分是否按场景而非随机;存储格式是否支持随机读取与压缩。数据基础打牢,后续高价值数据挖掘才有稳定的输入底座。
# 典型采集记录目录结构
dataset/
├── sensor/
│ ├── camera_front/ # 图像序列
│ ├── lidar_top/ # 点云帧
│ └── radar_front/ # 目标列表
├── calibration/ # 内外参
├── label/ # 标注JSON
└── meta/
├── timestamp.csv # 时间戳对齐表
└── route.json # 路线与场景标签