2. 自动驾驶感知基础
感知是自动驾驶系统的“眼睛”。车辆要在开放道路中安全行驶,首先必须把摄像头、激光雷达、毫米波雷达等传感器采集到的原始信号,转化为可被规划与控制模块理解的环境描述:哪里有车、哪里有人、车道线在哪、可行驶区域边界如何。理解不同传感器的数据特点,以及 2D/3D 目标检测、语义分割、多传感器融合的基本概念与典型模型,是构建持续训练与自动迭代数据闭环的起点。
一、三类传感器的数据特点
摄像头输出的是稠密的二维图像,包含丰富的颜色、纹理和语义信息,非常适合识别交通标志、车道线、红绿灯和行人外观。但图像缺少直接深度,受光照、逆光、雨雾影响大,测距精度依赖标定与几何模型。激光雷达输出三维点云,每个点带有精确的 XYZ 坐标和反射强度,能直接给出目标的三维位置、尺寸和朝向,测距精度高,但点云稀疏、无纹理,远距离目标点少,且成本与雨雪衰减仍是工程挑战。毫米波雷达通过发射电磁波并接收回波,直接测量目标的距离与径向速度,在雨雾、夜间等恶劣条件下仍能稳定工作,但其角分辨率较低,点云稀疏,容易产生多径和虚假目标,通常用于测距测速和盲区监测。
二、2D 目标检测与语义分割
2D 目标检测的任务是在图像中定位并分类目标,输出边界框和类别。典型模型分为两阶段与单阶段:Faster R-CNN 通过区域建议网络生成候选框再分类回归,精度高但速度较慢;YOLO 系列将检测视为回归问题,单次前向即可输出全部框,适合实时场景。语义分割则对每个像素分类,输出车道线、可行驶区域、天空、建筑等掩码。FCN 首次实现端到端像素级预测,U-Net 通过编码器-解码器与跳跃连接保留细节,DeepLab 系列引入空洞卷积与 ASPP 扩大感受野。在自动驾驶中,语义分割常用于可行驶区域和车道线提取,2D 检测则用于交通参与者识别。
三、3D 目标检测与点云表示
3D 目标检测直接输出目标的三维中心、尺寸和朝向角,是下游预测与规划的关键输入。点云表示方式决定模型结构:VoxelNet 将点云体素化后用 3D 卷积提取特征;PointPillars 将点云划分为柱体,用 2D 卷积高效处理,兼顾速度与精度;CenterPoint 以中心点热力图方式回归 3D 框,结构简洁;PV-RCNN 融合体素与关键点特征,进一步提升精度。工程中常将点云投影到 BEV 视角,与图像特征在统一空间对齐,便于后续融合。
四、多传感器融合的基本概念与典型模型
多传感器融合的目标是取长补短:用摄像头提供语义,用激光雷达提供精确几何,用毫米波雷达提供速度与恶劣天气鲁棒性。按融合阶段可分为前融合、特征融合和后融合。前融合在原始数据层对齐,信息损失小但对标定和时间同步要求极高;特征融合在 BEV 或特征图空间拼接,是当前主流;后融合对各传感器独立检测结果做关联与滤波,工程落地简单但信息利用不充分。典型模型包括 BEVFormer、BEVFusion、TransFusion 等,它们将多视角图像与点云统一到 BEV 表示,再输出检测与分割结果。
五、典型模型与任务对照清单
| 任务 | 输入数据 | 典型模型 | 输出 |
|---|---|---|---|
| 2D 目标检测 | RGB 图像 | YOLO、Faster R-CNN | 2D 边界框 + 类别 |
| 语义分割 | RGB 图像 | FCN、U-Net、DeepLab | 像素级类别掩码 |
| 3D 目标检测 | 激光雷达点云 | PointPillars、CenterPoint、PV-RCNN | 3D 框 + 朝向 |
| 多传感器融合 | 图像 + 点云 + 雷达 | BEVFormer、BEVFusion、TransFusion | BEV 统一环境模型 |
六、案例场景:城市路口感知
在城市路口,摄像头识别红绿灯与行人,激光雷达提供行人与车辆的精确三维位置,毫米波雷达补充被遮挡车辆的径向速度。融合模块将三者对齐到 BEV 空间,输出每个交通参与者的位置、尺寸、朝向和速度。若仅用摄像头,逆光下可能漏检;若仅用激光雷达,远处行人点云过少;若仅用毫米波雷达,角分辨率不足难以区分相邻车道。三者互补才能形成稳定感知。
七、常见误区与复盘
- 误区一:认为激光雷达可以完全替代摄像头。点云无纹理,无法识别交通标志和颜色语义。
- 误区二:忽视时间同步与标定。多传感器融合中,几毫秒的时间偏差或微小外参误差都会导致 BEV 空间错位。
- 误区三:只关注模型精度,忽视数据分布。持续训练中,长尾场景和恶劣天气样本不足会显著拉低实际表现。
- 复盘建议:建立传感器数据质量监控,记录标定参数、时间戳和置信度,为自动迭代提供可追溯的数据基础。
# 典型感知数据配置示例
sensors:
camera:
resolution: 1920x1080
fps: 30
lidar:
channels: 128
range: 200m
points_per_second: 2400000
radar:
range: 250m
velocity_resolution: 0.1m/s
fusion:
space: BEV
sync_tolerance_ms: 5
calibration: extrinsic + temporal