一、感知系统概述

1.1 什么是感知系统

感知系统,说白了就是自动驾驶汽车的「眼睛」和「耳朵」。

我经常跟团队里的新人说:你想想看,人开车靠什么?靠眼睛看路、看车、看行人,靠耳朵听喇叭、听周围动静。感知系统干的就是同样的事——只不过它用的是摄像头、激光雷达、毫米波雷达这些传感器。

在我参与过的几个量产项目中,感知系统通常包含三个层面:

  • 传感器层:采集原始数据,比如图像、点云、雷达回波
  • 感知算法层:从数据中提取有意义的信息,比如「前方5米有个行人」
  • 感知融合层:把多个传感器的结果综合起来,形成统一的场景理解

嗯,这里要注意:感知系统不是简单的「传感器+算法」堆砌。我见过不少团队,传感器装了一堆,算法也跑得挺快,但实际路测时就是各种漏检、误检。为什么?因为缺乏系统性的精度闭环验证。

核心观点:感知系统的本质,是从物理世界中提取结构化信息,供后续的规划、控制模块使用。它的输出质量,直接决定了整个自动驾驶系统的安全边界。

1.2 感知系统的核心任务

感知系统要干的事,归纳起来就三个:检测、分类、跟踪。我习惯把它们叫做「感知三件套」。

检测(Detection)

检测就是回答「哪里有东西」。

举个例子,摄像头拍到一张图像,检测算法要能框出所有车辆的位置。激光雷达扫到一帧点云,检测算法要能找出所有障碍物的轮廓。

我在项目中遇到过最头疼的问题:检测的召回率和精度怎么平衡?召回率高了,虚警一堆;精度高了,又容易漏检。这个平衡点,说实话没有标准答案,得看具体场景。

避坑指南:我曾经在一个高速NOA项目里,为了追求检测精度,把置信度阈值设得很高。结果呢?高速上有个静止的故障车,系统没检测到——因为点云特征太稀疏,置信度不够。从那以后,我养成了一个习惯:先保证召回率,再用后处理去过滤虚警。

分类(Classification)

分类就是回答「这个东西是什么」。

检测框出来了,你得知道框里的是车、是人、是自行车,还是路边的垃圾桶。分类的粒度可以很粗(车辆 vs 非车辆),也可以很细(轿车 vs SUV vs 卡车)。

我个人习惯把分类问题分成两类:

  • 粗分类:区分动静态物体,比如车辆、行人、骑行者、静止障碍物
  • 细分类:进一步区分子类,比如救护车、警车、工程车

你想想看,如果分类错了会怎样?把行人分类成自行车,规划模块可能就不会做紧急避让——后果很严重。

跟踪(Tracking)

跟踪就是回答「这个东西接下来会去哪」。

单帧检测只能告诉你「现在」的情况。但自动驾驶需要预测未来。跟踪算法通过多帧关联,估计出每个物体的速度、加速度、运动轨迹。

我记得有一次做城市道路测试,有个行人突然从路边停着的公交车前面窜出来。单帧检测根本来不及反应,但跟踪算法提前几帧就发现了这个行人的运动趋势——因为他的位置在连续几帧里都在向车道方向移动。这就是跟踪的价值。

任务 输入 输出 典型指标
检测 图像/点云/雷达数据 目标位置(Bounding Box) 召回率、精度、mAP
分类 检测框内的特征 目标类别标签 分类准确率、混淆矩阵
跟踪 多帧检测结果 目标ID、轨迹、运动状态 MOTA、ID Switch、MT/ML

1.3 精度闭环验证的必要性

好,现在聊一个关键问题:为什么要做精度闭环验证?

我直接说结论:因为感知系统不是「开发完就完事」的。

你想想看,一个感知模型在训练集上跑得再好,到了真实道路上,光照变了、天气变了、场景变了,性能一定会掉。我见过最夸张的一次,一个模型在测试集上mAP做到0.85,上了路直接掉到0.3——因为训练数据里全是晴天,而测试那天是雨天。

精度闭环验证,说白了就是:

  1. 定义精度标准:什么样的感知输出算「合格」?比如检测召回率不低于95%,分类准确率不低于98%
  2. 持续测量精度:在真实路测、仿真场景中,不断评估感知系统的实际性能
  3. 发现精度问题:哪些场景下精度下降了?是传感器问题还是算法问题?
  4. 闭环改进:针对发现的问题,优化算法、补充数据、调整参数,然后重新验证

重要提醒:精度闭环验证不是一次性的工作。我参与过的项目,从开发到量产,精度验证至少要做三轮:

  • 第一轮:算法开发阶段,用离线数据集验证
  • 第二轮:系统集成阶段,用实车采集数据验证
  • 第三轮:量产前,用大规模路测数据做最终验证

每一轮都可能发现新问题,然后回到算法开发去改进。这就是「闭环」的含义。

我个人习惯把精度闭环验证比作「体检」。你不能只在入职时体检一次,然后三年不体检。感知系统也一样,它需要持续监控、持续改进。尤其是在OTA升级后,一定要重新跑一遍精度验证流程——我曾经吃过这个亏,升级了一个模型版本,结果夜间检测性能反而下降了,还好验证流程及时发现了问题。

经验之谈:精度闭环验证最难的不是技术,而是「定义什么是对的」。同一个场景,不同标注员可能给出不同的标注结果。所以,我建议在项目启动时就建立一套完善的标注规范和验收标准,否则后面验证出来的「精度问题」,可能只是标注不一致导致的假象。

感知系统精度闭环验证流程 传感器数据采集 感知算法处理 感知输出结果 精度评估 (召回率/精度/mAP) 是否达标? 达标 → 部署 不达标 问题分析与定位 (传感器/算法/数据问题) 闭环改进 (算法优化/数据补充) 迭代优化 数据流 决策节点 达标路径 不达标路径

这张图展示了我常用的精度闭环验证流程。你看,从传感器数据采集,到算法处理,再到精度评估,如果达标就直接部署;如果不达标,就进入问题分析环节,找到根因后做闭环改进,然后重新验证。这个循环会一直持续,直到精度满足要求为止。

嗯,最后说一句:精度闭环验证不是锦上添花,而是自动驾驶量产落地的必要条件。没有它,你永远不知道你的感知系统在真实世界里到底表现如何。

可可精品资料库