第一章:自动驾驶感知系统概述
大家好,我是老张。在自动驾驶这个行当摸爬滚打了快十年,今天咱们来聊聊感知系统。
说实话,每次有新人问我「自动驾驶最难的是什么」,我第一反应都是感知。为什么?因为车要替人做决定,但车没有眼睛和耳朵。它得靠一堆传感器去「看」这个世界。这活儿,比想象中难得多。
1.1 三大核心传感器:各有各的脾气
自动驾驶的感知系统,说白了就是三样东西:摄像头、激光雷达、毫米波雷达。它们仨就像三个性格迥异的队友,各有长处,也各有短板。
摄像头:最像人眼,但也最怕「眼花」
摄像头是我个人最常用的传感器。它便宜、信息量大,能识别车道线、交通标志、行人、红绿灯——这些激光雷达和毫米波雷达都干不了。
但它的局限也很明显。我在项目中遇到过一个大坑:大晴天一切正常,一到傍晚逆光,摄像头直接「瞎」了。还有雨雾天气,能见度一低,识别率断崖式下降。
摄像头的核心问题在于:它只能提供2D信息,没有深度。想算距离?得靠算法去「猜」。这就引出了YOLO这类目标检测模型的价值——我们后面细说。
激光雷达:精度之王,但怕「脏」
激光雷达的精度,我用一个数据说话:它能测出几厘米的距离误差。这对自动驾驶来说太重要了。你想,高速上100km/h,差个10厘米可能就是生与死的区别。
但激光雷达也有自己的脾气。第一,贵。第二,怕脏。我记得有一次测试车跑了一整天,激光雷达的窗口上沾了泥点,点云数据直接少了一大片。第三,它怕雨雪——雨滴会反射激光,产生大量噪点。
而且,激光雷达不认识颜色。它只能告诉你「那里有个物体」,但不知道那是红灯还是绿灯,是停止牌还是限速牌。所以它必须和摄像头配合使用。
毫米波雷达:全天候选手,但分辨率感人
毫米波雷达是我最放心的传感器——它几乎不受天气影响。雨、雪、雾、黑夜,它都能正常工作。而且它能直接测速度(多普勒效应),这对ACC自适应巡航来说简直是神器。
但它的缺点也很致命:分辨率太低。它只能告诉你「前方有障碍物」,但具体是什么?不知道。是车还是人?不知道。是静止的还是运动的?有时候也分不清。
我遇到过最尴尬的情况:毫米波雷达把路边的金属护栏识别成了静止车辆,导致系统误报警。后来我们加了一个「静止目标过滤」逻辑,才解决了这个问题。
1.2 传感器对比:一张表说清楚
| 特性 | 摄像头 | 激光雷达 | 毫米波雷达 |
|---|---|---|---|
| 测距精度 | 低(需算法估算) | 高(厘米级) | 中(米级) |
| 目标识别 | 强(能识别类别) | 弱(只能检测轮廓) | 弱(只能检测金属物体) |
| 天气适应性 | 差(怕雨雾逆光) | 中(怕雨雪) | 强(全天候) |
| 成本 | 低 | 高 | 中 |
| 数据量 | 大(图像流) | 大(点云) | 小(稀疏点) |
你想想看,这三个传感器单独拿出来,都有致命短板。但把它们组合在一起,就能互补。这就是多传感器融合的思路。
1.3 YOLO在感知系统中的定位
好,聊完了传感器,咱们说说YOLO。YOLO在感知系统里到底扮演什么角色?
说白了,YOLO是摄像头数据的「翻译官」。摄像头拍到了图像,但图像本身只是一堆像素点。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