一、自动驾驶数据采集概述

1.1 自动驾驶系统架构简介

聊自动驾驶之前,我们先看看它的整体架构。说白了,一辆能自己跑的车,核心就三块:感知、决策、控制。

感知层负责「看」和「听」。摄像头、激光雷达、毫米波雷达、超声波传感器……这些设备把周围环境变成数据。我早期做项目时,最头疼的就是传感器标定——装歪一度,后面全白干。

决策层负责「想」。感知数据进来后,预测模块判断行人会不会过马路,规划模块算出一条安全路径。嗯,这里有个坑:决策模块的输入质量,完全取决于数据采集的精度。

控制层负责「动」。方向盘打多少、油门踩多深,都由它执行。控制算法再牛,如果采集的车辆状态数据有延迟,那也是纸上谈兵。

核心观点:数据采集贯穿整个架构。没有高质量的数据,感知是瞎子,决策是傻子,控制是疯子。

下面这张图,是我自己画的一个简化版架构。你看一眼就明白了。

感知层 摄像头 激光雷达 毫米波雷达 超声波 GPS/IMU 决策层 感知融合 预测模块 规划模块 行为决策 控制层 横向控制(转向) 纵向控制(速度) 执行器反馈 数据采集贯穿全流程

1.2 数据采集在自动驾驶中的核心作用

你想想看,自动驾驶算法本质上是个「数据驱动」的东西。模型再漂亮,没有真实场景数据喂进去,它就是一堆数学公式。

数据采集的作用,我总结为三点:

  1. 训练算法模型——感知模型需要标注好的图像、点云数据。我记得有一次,团队花了两周采集高速场景数据,结果发现大部分都是直道,弯道样本严重不足。后来专门补采,模型性能才上去。
  2. 验证系统可靠性——仿真测试跑一万遍,不如真实路测一小时。为什么?因为真实世界的 corner case 你根本想不到。比如突然窜出来的猫、逆光下的行人。
  3. 持续迭代优化——自动驾驶没有「做完」一说。今天采集的数据,明天可能就发现新问题。我习惯在每个版本发布前,专门跑一遍「数据回放」,看看有没有异常。

我的经验:数据采集不是越多越好。关键在「覆盖度」——各种天气、光照、道路类型、交通参与者行为都要有。我曾经见过一个团队,采集了 100TB 数据,但 80% 都是晴天直道,你说这数据价值有多大?

1.3 主流数据采集平台介绍

目前业界用得最多的,就是百度的 Apollo 和 Google 的 Waymo。我两个平台都深度用过,说说我的感受。

Apollo 数据采集平台

Apollo 是开源的,这对我们做研发来说太友好了。它的数据采集框架叫 Cyber RT,支持多传感器数据同步录制。

核心特点:

  • 支持激光雷达、摄像头、毫米波雷达、IMU 等多种传感器
  • 数据格式为 .record 文件,方便回放和转换
  • 提供可视化工具 DreamView,可以实时查看采集效果

我刚开始用 Apollo 时,踩过一个坑:传感器时间戳不同步。后来发现是 PTP 时钟配置没弄对。嗯,这个后面章节会详细讲。

Waymo 数据采集平台

Waymo 不开源,但它的公开数据集 Waymo Open Dataset 是行业标杆。采集车搭载了 5 个激光雷达、多个摄像头和雷达。

核心特点:

  • 传感器配置极其丰富,覆盖 360 度无死角
  • 数据标注质量高,包含 2D/3D 检测框、轨迹、语义分割
  • 提供场景标签(如「夜间」、「雨天」、「施工区域」)

说实话,Waymo 的数据质量确实高。但它的采集硬件成本也高得吓人——一套传感器系统据说要几十万美元。

平台对比

对比项 Apollo Waymo
开源程度 完全开源 仅公开数据集
传感器配置 可自定义 固定配置
数据格式 .record .tfrecord
适用场景 研发、教学、定制化 算法验证、竞赛
硬件成本 中等(约 5-10 万美元) 极高(约 30-50 万美元)

避坑指南:我曾经帮一个客户选型,他们想用 Waymo 的配置做量产车采集。我直接劝退了——成本太高,而且传感器布局不适合他们的车型。后来改用 Apollo 方案,省了 60% 的成本。

说到底,选哪个平台取决于你的目标。做研究、搞教学,Apollo 是首选。做顶级算法验证、发论文,Waymo 数据集更合适。

好了,这一章就到这里。数据采集这件事,看着简单,做起来全是细节。后面我们会一步步拆解,从传感器选型到数据存储,每个环节我都会把踩过的坑讲给你听。

可可精品资料库