2. 自动驾驶数据基础

自动驾驶数据工程的第一性问题不是“模型怎么训”,而是“数据从哪来、长什么样、如何被组织”。一辆具备L2+能力的测试车,单日可产生数TB原始数据,其中真正进入训练闭环的高价值样本可能不足千分之一。理解传感器数据类型、采集流程、标注体系、存储格式与主流数据集,是后续数据挖掘、筛选与价值评估的基础。

一、核心原理:多传感器数据是“时空对齐的异构流”

自动驾驶车辆通常搭载摄像头、激光雷达、毫米波雷达、IMU、GNSS/RTK与轮速计。它们输出的数据在维度、频率、坐标系和语义上完全不同:摄像头是2D像素阵列,激光雷达是3D点云,毫米波雷达是稀疏的距离-速度-角度目标列表,IMU是高频时序信号。数据基础的核心任务,是把这些异构流统一到同一时间基准和空间坐标系下。

时间同步通常采用PTP或GPS秒脉冲触发,保证各传感器时间戳误差在微秒级;空间对齐则依赖外参标定,将激光雷达点云投影到相机图像,或将雷达目标变换到车辆坐标系。只有完成时空对齐,多模态数据才具备联合标注与融合训练的价值。

自动驾驶多传感器数据采集与时空对齐链路 摄像头 Camera 2D图像 30fps 激光雷达 LiDAR 3D点云 10Hz 毫米波雷达 Radar 目标列表 20Hz IMU / GNSS 位姿 100Hz 车载采集平台 时间同步 PTP/GPS 外参标定 原始数据落盘 时空对齐 统一时间戳 车辆坐标系变换 点云-图像投影 标注数据集 3D框 / 语义 / 轨迹 训练/验证集 感知 / 预测 / 规划

二、方法流程:从路采到可用数据集的五步链路

  1. 采集规划:明确ODD(运行设计域),设计路线覆盖城市、高速、隧道、雨雾等场景,并配置触发策略,如急刹、近距离切入、施工区等事件触发。
  2. 车端记录:以rosbag、MCAP或自定义二进制格式记录原始话题,同时写入时间戳、车辆位姿、标定参数与采集元数据。
  3. 数据回传与脱敏:通过5G或离线硬盘回传,进行人脸、车牌脱敏,并校验丢帧、时间戳跳变等异常。
  4. 标注与质检:按任务类型分发标注,3D框、车道线、可行驶区域、轨迹预测等,质检通过后进入数据集版本管理。
  5. 格式转换与切分:转换为训练框架友好格式,并按场景、天气、地域切分训练/验证/测试集,避免数据泄漏。

三、标注体系与存储格式

标注体系决定模型能学到什么。常见标注类型包括: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等则覆盖车路协同场景。选型时应关注传感器配置、标注粒度、场景分布与许可协议。

实操提示:若团队首次搭建数据链路,建议先用nuScenes或KITTI跑通“读取-可视化-训练-评测”闭环,再迁移到自采数据,可显著降低工具链踩坑成本。

五、误区与复盘

常见误区:只关注数据量,忽视场景分布与标注一致性;时间同步未校验,导致融合模型性能骤降;标注规范频繁变更,造成版本混乱;存储格式不统一,回放与训练工具重复开发。

复盘时建议检查:时间戳对齐误差是否小于传感器周期的一半;标注类别定义是否覆盖长尾;数据集切分是否按场景而非随机;存储格式是否支持随机读取与压缩。数据基础打牢,后续高价值数据挖掘才有稳定的输入底座。

# 典型采集记录目录结构
dataset/
├── sensor/
│   ├── camera_front/   # 图像序列
│   ├── lidar_top/      # 点云帧
│   └── radar_front/    # 目标列表
├── calibration/        # 内外参
├── label/              # 标注JSON
└── meta/
    ├── timestamp.csv   # 时间戳对齐表
    └── route.json      # 路线与场景标签