第2章 感知系统基础:自动驾驶感知系统架构与功能边界

大家好,我是你们的老朋友。今天咱们聊聊感知系统的基础架构。说实话,我在这个领域摸爬滚打十几年,见过太多因为架构设计不合理导致项目翻车的案例。所以这一章,我想把最核心的东西掰开揉碎了讲给你听。

2.1 传感器家族:三驾马车

自动驾驶的感知系统,说白了就是给车装上眼睛和耳朵。目前主流的方案,靠的是三种传感器:摄像头、毫米波雷达、激光雷达。它们各有各的脾气,也各有各的短板。

2.1.1 摄像头:最像人眼的传感器

摄像头的工作原理很简单——捕捉可见光。它分辨率高,能识别颜色、纹理、文字。比如红绿灯、车道线、交通标志,这些都得靠摄像头。

但摄像头有个致命弱点:怕黑、怕雨、怕雾。我在项目中遇到过,大雾天摄像头基本就是瞎子。还有一次,夕阳直射镜头,整个画面白茫茫一片,车道线全丢了。嗯,这就是它的物理极限。

关键参数:

  • 分辨率:通常200万~800万像素
  • 帧率:30fps~60fps
  • 视场角:水平60°~120°
  • 动态范围:120dB以上才够用

2.1.2 毫米波雷达:全天候选手

毫米波雷达发射电磁波,通过回波测距测速。它不怕雨雪雾,能直接测量目标的速度——这一点摄像头做不到。

但雷达也有坑。它分辨率低,无法区分行人还是自行车。我见过一个案例,雷达把路边的金属垃圾桶当成了静止车辆,导致系统误刹车。说白了,雷达只能告诉你「那里有东西」,但说不清「那是什么」。

避坑指南:我曾经在高速场景测试时发现,雷达对静止目标的检测非常不稳定。后来查了资料才知道,这是多普勒效应的固有限制——雷达对相对速度为零的目标,信噪比会急剧下降。所以,别指望雷达能完美检测静止障碍物。

2.1.3 激光雷达:高精度但娇贵

激光雷达通过发射激光束,测量反射时间,生成点云数据。它的精度极高,能构建厘米级的三维环境模型。

但激光雷达贵啊!早期64线激光雷达要几十万人民币。而且它怕雨雪——雨滴会反射激光,产生大量噪点。我记得有一次测试,下着小雨,点云图里全是雨滴的反射点,根本看不清路沿。

传感器类型 优势 劣势 典型应用
摄像头 高分辨率、颜色识别 光照敏感、恶劣天气差 车道线、交通标志、红绿灯
毫米波雷达 全天候、直接测速 分辨率低、无法分类 自适应巡航、盲区监测
激光雷达 高精度3D感知 成本高、雨雪干扰 高精地图、障碍物检测

2.2 感知系统的功能边界

你想想看,为什么L3级自动驾驶迟迟不能落地?说白了,就是感知系统有太多「做不到」的事。这些做不到的事,就是功能边界。

2.2.1 物理边界

每个传感器都有物理极限。摄像头的极限是光照和天气,雷达的极限是分辨率和静止目标,激光雷达的极限是雨雪和成本。这些边界是硬件决定的,软件再牛也突破不了。

举个例子:摄像头在隧道出口处,光线从暗到亮,需要几帧才能自适应。这期间,车道线检测可能失效。这就是物理边界带来的功能降级。

2.2.2 算法边界

算法也不是万能的。深度学习模型对训练集之外的场景,表现会急剧下降。我见过一个案例,模型在德国高速上表现完美,但到了中国城市道路,面对加塞、逆行、三轮车,直接懵了。

注意:算法边界往往比物理边界更隐蔽。物理边界你还能通过规格书查到,算法边界只有实际跑过才知道。我曾经在测试中发现,模型对「背着大包的行人」检测率极低,因为训练集里没有这种样本。这就是典型的算法边界——数据分布偏移。

2.2.3 系统边界

系统边界是指多个传感器融合后,仍然无法覆盖的场景。比如,摄像头和雷达都失效的极端天气,或者传感器之间的时间同步误差导致的目标错位。

我记得有一次,摄像头检测到前方有车,但雷达没检测到。融合模块认为这是虚警,直接过滤掉了。结果呢?那辆车确实存在,只是雷达被前车的金属尾气遮挡了。这就是系统边界——融合策略的缺陷。

2.3 感知系统的知识体系

下面这张图,是我自己整理的感知系统知识体系。它涵盖了传感器、算法、系统集成三个层面。你仔细看看,每个层面都有对应的功能边界。

感知系统知识体系 传感器层 • 摄像头:可见光成像,高分辨率,颜色识别 • 毫米波雷达:电磁波测距测速,全天候 • 激光雷达:激光点云,高精度3D建模 算法层 • 目标检测:YOLO、Faster R-CNN、PointPillars • 语义分割:UNet、DeepLab • 多传感器融合:卡尔曼滤波、匈牙利匹配 系统层 • 时间同步:硬件触发、软件对齐 • 功能降级:传感器失效时的安全策略 • 预期功能安全:SOTIF(ISO 21448)

2.4 功能边界的工程实践

知道了边界在哪,接下来就是怎么应对。我个人习惯,在项目初期就做三件事:

  1. 定义ODD(运行设计域):明确系统在什么条件下工作。比如「晴天、白天、城市道路、限速60km/h」。超出这个范围,系统可以降级或退出。
  2. 建立传感器失效模型:每个传感器都有哪些失效模式?摄像头被遮挡、雷达被干扰、激光雷达被雨雪影响。把这些列出来,设计对应的降级策略。
  3. 设计冗余架构:关键功能不能依赖单一传感器。比如自动紧急制动(AEB),必须同时用摄像头和雷达,两者都确认有障碍物才触发。

我的经验:我曾经在一个项目中,只用了摄像头做AEB。结果有一次,摄像头把路边的树影误识别为行人,直接一脚急刹。从那以后,我坚持AEB必须双传感器确认。这就是用血的教训换来的经验。

2.5 小结

感知系统不是万能的。它有物理边界、算法边界、系统边界。作为功能安全工程师,我们的任务不是让系统无所不能,而是让系统在边界内安全运行,在边界外优雅降级。

说白了,知道什么时候该刹车,比知道怎么刹车更重要。这就是预期功能安全的核心思想。


专注资料整理