第一章:自动驾驶感知系统概述

大家好,我是老张。在自动驾驶这个行当摸爬滚打了快十年,今天咱们来聊聊感知系统。

说实话,每次有新人问我「自动驾驶最难的是什么」,我第一反应都是感知。为什么?因为车要替人做决定,但车没有眼睛和耳朵。它得靠一堆传感器去「看」这个世界。这活儿,比想象中难得多。

1.1 三大核心传感器:各有各的脾气

自动驾驶的感知系统,说白了就是三样东西:摄像头、激光雷达、毫米波雷达。它们仨就像三个性格迥异的队友,各有长处,也各有短板。

摄像头:最像人眼,但也最怕「眼花」

摄像头是我个人最常用的传感器。它便宜、信息量大,能识别车道线、交通标志、行人、红绿灯——这些激光雷达和毫米波雷达都干不了。

但它的局限也很明显。我在项目中遇到过一个大坑:大晴天一切正常,一到傍晚逆光,摄像头直接「瞎」了。还有雨雾天气,能见度一低,识别率断崖式下降。

⚠️ 我曾经踩过的坑: 有一次测试,摄像头把路边的广告牌上的人像误识别成了真实行人,车直接一脚急刹。后来我们加了多帧校验,才把这种误检压下去。

摄像头的核心问题在于:它只能提供2D信息,没有深度。想算距离?得靠算法去「猜」。这就引出了YOLO这类目标检测模型的价值——我们后面细说。

激光雷达:精度之王,但怕「脏」

激光雷达的精度,我用一个数据说话:它能测出几厘米的距离误差。这对自动驾驶来说太重要了。你想,高速上100km/h,差个10厘米可能就是生与死的区别。

但激光雷达也有自己的脾气。第一,贵。第二,怕脏。我记得有一次测试车跑了一整天,激光雷达的窗口上沾了泥点,点云数据直接少了一大片。第三,它怕雨雪——雨滴会反射激光,产生大量噪点。

而且,激光雷达不认识颜色。它只能告诉你「那里有个物体」,但不知道那是红灯还是绿灯,是停止牌还是限速牌。所以它必须和摄像头配合使用。

毫米波雷达:全天候选手,但分辨率感人

毫米波雷达是我最放心的传感器——它几乎不受天气影响。雨、雪、雾、黑夜,它都能正常工作。而且它能直接测速度(多普勒效应),这对ACC自适应巡航来说简直是神器。

但它的缺点也很致命:分辨率太低。它只能告诉你「前方有障碍物」,但具体是什么?不知道。是车还是人?不知道。是静止的还是运动的?有时候也分不清。

我遇到过最尴尬的情况:毫米波雷达把路边的金属护栏识别成了静止车辆,导致系统误报警。后来我们加了一个「静止目标过滤」逻辑,才解决了这个问题。

1.2 传感器对比:一张表说清楚

特性 摄像头 激光雷达 毫米波雷达
测距精度 低(需算法估算) 高(厘米级) 中(米级)
目标识别 强(能识别类别) 弱(只能检测轮廓) 弱(只能检测金属物体)
天气适应性 差(怕雨雾逆光) 中(怕雨雪) 强(全天候)
成本
数据量 大(图像流) 大(点云) 小(稀疏点)

你想想看,这三个传感器单独拿出来,都有致命短板。但把它们组合在一起,就能互补。这就是多传感器融合的思路。

1.3 YOLO在感知系统中的定位

好,聊完了传感器,咱们说说YOLO。YOLO在感知系统里到底扮演什么角色?

说白了,YOLO是摄像头数据的「翻译官」。摄像头拍到了图像,但图像本身只是一堆像素点。YOLO的任务就是:告诉我图像里有什么,在什么位置。

🎯 YOLO的核心价值: 实时目标检测。它能在毫秒级时间内,从一张图像中检测出所有感兴趣的目标(车辆、行人、自行车、交通标志等),并给出它们的类别和边界框。

我习惯把感知系统分成三层:

  1. 数据层: 传感器原始数据(图像、点云、雷达点)
  2. 感知层: 目标检测、语义分割、深度估计(YOLO就在这里)
  3. 决策层: 路径规划、行为预测、控制执行

YOLO在感知层中,主要负责「视觉目标检测」这个子任务。它不负责测距(那是激光雷达的事),也不负责测速(那是毫米波雷达的事),但它负责「识别」——这是其他传感器做不到的。

举个例子。激光雷达检测到前方有一个障碍物,但不知道是什么。YOLO一看图像:「哦,那是个行人,而且他正在横穿马路。」这个信息一出来,决策层就知道该减速让行了。

💡 我的经验: 在实际工程中,YOLO的输出通常会和其他传感器的结果做「融合」。比如YOLO检测到行人,激光雷达给出精确距离,毫米波雷达给出速度。三者结合,才能得到完整的环境感知结果。

1.4 为什么选择YOLO?

你可能要问:目标检测模型那么多,为什么偏偏是YOLO?

原因很简单:

自动驾驶对实时性的要求极高。你想想,车速60km/h,每秒跑16.7米。如果检测延迟100毫秒,车就已经跑了1.67米。这在紧急制动场景下,可能就是生与死的距离。

YOLO的「单阶段检测」架构,让它天生就比Faster R-CNN这类两阶段模型快一个数量级。我实测过,YOLOv8在嵌入式设备上能做到30FPS以上,完全满足实时性要求。

当然,YOLO也有它的短板。比如对小目标的检测效果不如两阶段模型。但咱们做工程,讲究的是「够用就好」。在自动驾驶场景中,YOLO的精度已经足够支撑大部分应用。

嗯,这里要注意:YOLO不是万能的。它只处理摄像头数据。一个完整的感知系统,一定是多传感器融合的。YOLO只是其中一块拼图,但它是非常关键的一块。

1.5 本章小结

聊了这么多,总结一下:

  • 摄像头、激光雷达、毫米波雷达各有优劣,谁也替代不了谁
  • YOLO负责摄像头数据的「目标检测」,是感知层的核心组件
  • YOLO的优势在于实时性,适合自动驾驶这种对延迟敏感的场景
  • 实际工程中,YOLO的输出需要和其他传感器数据做融合

下一章,咱们会深入YOLO的模型结构,看看它到底是怎么做到「又快又准」的。到时候我会拿我自己训练的一个模型来拆解,保证干货满满。

公众号:蓝海资料掘金营,微信deep3321