一、感知算法概述:自动驾驶感知的使命、感知系统的输入与输出、感知算法的核心挑战
1.1 感知的使命:让车“看懂”世界
大家好,我是你们这趟旅程的向导。
咱们开门见山。自动驾驶感知,说白了就是给车装上一双“眼睛”和一副“大脑”。
车的使命是什么?是从A点安全、高效地开到B点。那感知的使命呢?就是回答三个最根本的问题:“我在哪?”、“周围有什么?”、“接下来会发生什么?”
我个人习惯把感知比作一个翻译官。传感器(摄像头、激光雷达)收集的是物理世界的原始信号——光波、点云、声波。这些信号本身是冰冷的、无序的。感知算法的任务,就是把这些“天书”翻译成车辆决策系统能理解的“语言”:比如“前方50米,有一辆白色轿车,时速30公里,正在向左变道”。
你想想看,如果翻译官出了错,把行人识别成路牌,或者漏掉了侧方来车,那后果……嗯,咱们做这行的,心里都清楚。
- 定位: 确定自车在全局地图中的精确位置(厘米级)。
- 检测: 找出所有障碍物(车、人、自行车、锥桶等)的位置、大小、类别。
- 跟踪: 持续锁定每个障碍物,预测其运动轨迹(速度、朝向、意图)。
- 场景理解: 读懂交通信号灯、车道线、路沿、可行驶区域等语义信息。
1.2 感知系统的输入:传感器在“看”什么?
聊完使命,咱们看看感知系统到底吃什么“粮食”。
不同的传感器,就像不同的感官,各有各的脾气。
| 传感器 | 输入数据 | 优点 | 缺点(我踩过的坑) |
|---|---|---|---|
| 摄像头 | RGB图像(2D像素矩阵) | 纹理丰富,能识别颜色、文字、类别 | 受光照影响大,缺乏深度信息(单目) |
| 激光雷达 | 3D点云(x, y, z, 反射率) | 精确的深度信息,不受光照影响 | 稀疏,无纹理,成本高,雨雪天性能下降 |
| 毫米波雷达 | 目标距离、速度、角度 | 全天候,直接测速,探测距离远 | 分辨率低,无法识别静止物体细节 |
| 超声波雷达 | 近距离障碍物距离 | 成本极低,近距离盲区补盲 | 探测距离短,易受干扰 |
我在项目中遇到过最头疼的事,就是下雨天激光雷达点云上全是噪点,像雪花一样。这时候,摄像头也看不清,毫米波雷达又分不清是雨滴还是行人。你看,单一传感器总有掉链子的时候。所以,多传感器融合不是锦上添花,而是生存刚需。
1.3 感知系统的输出:给下游“喂”什么?
感知算法处理完原始数据后,输出什么?不是一张漂亮的图,而是一份结构化的“环境报告”。
这份报告通常包含以下几个关键部分:
- 障碍物列表(Object List): 每个障碍物的ID、类别(car/pedestrian/bicycle)、3D位置(x, y, z)、尺寸(长宽高)、朝向角(yaw)、速度(vx, vy)、加速度(ax, ay)。
- 可行驶区域(Free Space / Drivable Area): 一张二值图或矢量边界,告诉规划模块“哪里能走,哪里不能走”。
- 车道线/路沿(Lane / Curb): 一组有序的点或曲线方程,描述车道边界和中心线。
- 交通标志/信号灯(Traffic Sign / Light): 检测到的标志类型(Stop, Speed Limit)和信号灯状态(红/黄/绿)。
- 自车定位(Ego Pose): 自车在全局坐标系下的位姿(x, y, z, roll, pitch, yaw)。
1.4 核心挑战:为什么感知这么难?
你可能会问,现在AI这么强,识别个车和人不是很简单吗?
说实话,在公开数据集上刷榜确实不难。但到了真实道路上,挑战就来了。
我总结了几个最让人头疼的核心挑战:
- 长尾问题(Long-tail Problem): 99%的场景都很常规,但就是那1%的“Corner Case”会要命。比如:路上突然滚下来一个轮胎、一辆卡车驮着另一辆卡车、行人穿着奇装异服……这些情况在训练数据里极少出现,但算法必须能处理。
- 环境变化(Domain Shift): 白天、黑夜、雨天、雪天、隧道、逆光……同一个传感器,在不同环境下看到的数据分布完全不同。模型在晴天训练得再好,到了雨天可能直接“失明”。
- 遮挡与截断(Occlusion & Truncation): 行人被车挡住一半,或者车辆只露出一个车头。算法需要具备“脑补”能力,推断出被遮挡部分的形状和位置。
- 实时性(Real-time): 车辆以60km/h行驶,每秒前进16.7米。感知算法必须在几十毫秒内完成处理,否则决策就晚了。精度和速度,永远是鱼和熊掌。
- 小目标检测(Small Object Detection): 远处的行人、路中间的锥桶、掉落的手机……这些目标在图像里只有几十个像素,很容易被漏检。
1.5 从仿真到实车:为什么必须走这一步?
很多同学喜欢在仿真环境里跑得飞起,一到实车就翻车。为什么?
说白了,仿真环境是“理想国”。光照完美、传感器噪声可控、障碍物模型标准。而真实世界是“修罗场”。
我个人习惯是:仿真用来验证算法逻辑和覆盖长尾场景,实车用来暴露工程问题和环境鲁棒性。
举个例子,你在仿真里用高精度地图做定位,一切完美。但实车上的GPS信号可能被高楼遮挡,IMU有漂移,轮速计有打滑。这些“脏数据”才是感知算法真正要面对的。
所以,这门课的核心思路就是:先让你在仿真里把算法逻辑跑通,再一步步带你到实车上,去解决那些“仿真里永远遇不到”的问题。
好,这一章咱们把感知的“世界观”建立起来了。下一章,咱们就正式进入技术细节,聊聊传感器标定——这是所有感知算法的地基。地基不牢,地动山摇啊。