2. 感知系统基础

感知系统是自动驾驶与机器人系统的“感官入口”,它把物理世界中的光、声、电磁波、惯性等信号转换为可计算的数据,再通过算法提取出目标、车道、可行驶区域、障碍物运动状态等语义信息。理解感知系统,不能只记住“有哪些传感器”,而要同时看清三条主线:传感器类型决定数据形态,数据特性决定算法选择,感知任务决定输出接口与置信度表达方式。本节围绕这三条主线展开,为后续置信度评估与安全降级建立共同语言。

一、传感器类型:从被动到主动,从稀疏到稠密

常见车载传感器可分为主动与被动两类。被动传感器本身不发射能量,如可见光相机、红外相机,依赖环境光照或热辐射成像;主动传感器主动发射信号并接收回波,如激光雷达、毫米波雷达、超声波雷达。主动传感器在夜间、逆光等条件下通常更稳定,但可能受到同类传感器互扰、雨雾衰减等影响。

  • 相机:输出二维图像,纹理与颜色信息丰富,适合分类、检测、语义分割、交通标志识别;但缺乏直接深度,受光照、眩光、雨雾影响大。
  • 激光雷达:输出三维点云,测距精度高、空间分辨率高,适合障碍物检测、可行驶区域分割、SLAM;但成本较高,雨雪雾天性能下降,点云稀疏且无序。
  • 毫米波雷达:输出距离、速度、角度,对雨雾、夜间鲁棒,测速直接;但角分辨率较低,点云稀疏,易受金属反射与多径干扰。
  • 超声波雷达:短距测距,常用于泊车与近距避障;成本低,但探测距离短、方向性弱。
  • IMU/GNSS:提供姿态、加速度、角速度与全局位置,常作为运动补偿与多传感器融合的基准,但存在漂移与遮挡问题。

二、数据特性:不同模态的“脾气”

数据特性直接决定感知算法的输入表示与置信度来源。图像是稠密、规则网格,适合卷积网络;点云是稀疏、无序、三维分布,适合点云网络或体素化方法;雷达点云更稀疏但带有多普勒速度;IMU 是高频时序信号,适合滤波与积分。多传感器融合时,必须处理时间同步、空间标定、坐标系变换与数据对齐问题。

传感器 数据形态 优势 主要局限 典型感知任务
相机 2D 图像 / 视频流 纹理丰富、成本低、分类能力强 无直接深度、受光照影响 目标检测、语义分割、车道线识别
激光雷达 3D 点云 测距准、空间分辨率高 成本高、雨雾衰减、点云稀疏 障碍物检测、可行驶区域、SLAM
毫米波雷达 距离-速度-角度点 测速直接、全天候鲁棒 角分辨率低、点云稀疏 自适应巡航、盲区监测、目标跟踪
超声波 短距回波 成本低、近距可靠 距离短、方向性弱 泊车辅助、近距防撞
IMU/GNSS 时序运动与定位 高频、全局参考 漂移、遮挡、多路径 定位、运动补偿、融合基准

三、感知任务分类:从“看到”到“看懂”

感知任务通常按输出粒度分为四层:检测给出目标框与类别;分割给出像素级或点级类别;跟踪在时间维度上维持目标 ID 与运动轨迹;预测估计目标未来轨迹与意图。此外还有车道线检测、可行驶区域分割、交通标志识别、深度估计、光流估计等专门任务。不同任务对置信度的表达方式不同:检测常用分类置信度与框回归不确定性,分割常用像素概率,跟踪常用关联置信度与轨迹存在概率。

核心关系:传感器提供原始观测,数据特性决定特征提取方式,感知任务决定输出语义,算法则是在给定数据与任务下寻找最优映射。置信度评估必须绑定到具体任务与具体输出,不能脱离任务谈“感知准不准”。

四、常见感知算法概述与场景案例

传统方法中,图像处理常用边缘检测、HOG、SIFT 等手工特征;点云常用地面分割、聚类、RANSAC 拟合。深度学习方法已成为主流:图像侧有 CNN、YOLO 系列、Faster R-CNN、Mask R-CNN、Transformer 检测器;点云侧有 PointNet、PointPillars、VoxelNet、CenterPoint;多模态融合有 BEV 融合、早期融合、晚期融合与特征级融合。跟踪方面,卡尔曼滤波、匈牙利匹配、SORT/DeepSORT 是常见组合。

# 典型感知流水线伪代码
raw = sensor.read()                # 图像 / 点云 / 雷达点
sync = time_align(raw, imu)        # 时间同步与运动补偿
calib = transform(sync, extrinsics)# 坐标变换到统一坐标系
feat = backbone(calib)             # 特征提取
det = detector(feat)               # 检测 / 分割
trk = tracker(det, history)        # 跟踪与 ID 维持
conf = confidence_estimator(det, trk, sensor_health)
if conf < threshold:
    degrade_policy()               # 触发安全降级

以一个城市路口场景为例:相机检测到前方有行人,但逆光导致分类置信度下降;激光雷达点云确认该位置存在三维障碍物;毫米波雷达给出该目标的速度。融合模块综合三者,输出“行人,位置可信,速度中等,分类置信度偏低”。此时系统不应直接忽略,而应降低车速、扩大安全距离,并请求更多计算资源或切换降级策略。这就是感知置信度与安全降级之间的直接联系。

实践提示:做感知系统设计时,先明确每个传感器能提供什么、不能提供什么,再定义任务输出与置信度字段。不要先选算法再补数据,否则后期融合与降级会非常被动。

常见误区:把“检测框多”当成“感知好”;把单一传感器置信度直接当成系统置信度;忽略时间同步与标定误差;在雨雾天气仍用晴天阈值。这些都会导致置信度虚高,进而使安全降级失效。

感知系统基础:传感器 → 数据 → 任务 → 算法 → 置信度 传感器层 相机 激光雷达 毫米波雷达 超声波 IMU / GNSS 数据特性层 2D 图像 / 视频流 3D 点云 距离-速度-角度 时序运动信号 感知任务层 目标检测 语义分割 目标跟踪 轨迹预测 车道线 / 可行驶区域 算法层 CNN / Transformer / PointNet / PointPillars / BEV 融合 / 卡尔曼滤波 / 匈牙利匹配 置信度与降级 分类置信度 / 轨迹存在概率 / 传感器健康度 → 降级策略 主动 / 被动 稀疏 / 稠密 检测 / 分割 / 跟踪 / 预测 输出语义与不确定性