2. 自动驾驶系统基础
自动驾驶系统并不是一个单一模型,而是一条由多模块串联、持续闭环迭代的工程链路。理解这条链路,是建立模型监控与漂移检测体系的前提:只有先明确每个模块的输入输出、时序约束和失效模式,才能定义“监控什么、在哪监控、漂移如何判定”。本节从模块结构、数据闭环、部署形态三个角度梳理监控需求的来源。
一、核心原理:四模块串联的时序链路
典型的自动驾驶软件栈可抽象为感知、预测、规划、控制四个核心模块,它们以固定频率或事件触发方式协同工作:
- 感知(Perception):融合摄像头、激光雷达、毫米波雷达等传感器数据,输出目标检测框、语义分割、车道线、可行驶区域、自车定位与姿态等。它是整条链路的信息源头,输入分布最易受天气、光照、场景变化影响。
- 预测(Prediction):基于感知结果与地图信息,推断其他交通参与者未来数秒的轨迹与意图,输出多模态轨迹概率分布。其输入依赖感知质量,误差会向下游放大。
- 规划(Planning):结合预测结果、导航目标、交通规则与车辆动力学约束,生成安全、舒适、合法的行驶轨迹。规划模块常包含行为决策与轨迹优化两层。
- 控制(Control):将规划轨迹转化为油门、刹车、转向等执行器指令,通过横纵向控制算法跟踪目标轨迹,直接决定乘坐体验与安全边界。
四个模块之间存在明确的数据流与误差传播关系:感知漏检会导致预测缺失,预测偏差会导致规划保守或激进,规划抖动会加剧控制超调。因此监控不能只看单模块指标,还要关注跨模块的端到端表现。
二、数据闭环:从车端回传到模型迭代
数据闭环是自动驾驶模型持续进化的核心机制。其基本流程为:车端采集原始数据与推理结果 → 按触发策略回传(如接管、急刹、低置信度、长尾场景)→ 数据挖掘与去重 → 人工或自动标注 → 模型训练与离线评测 → 仿真与实车验证 → OTA 下发。闭环的每一环都会引入分布变化,因此监控必须覆盖“数据—模型—部署”全链路。
闭环中的关键监控信号:回传数据的场景分布是否偏移、标注质量是否稳定、训练集与线上推理输入的特征分布差异、模型版本切换后的指标波动、OTA 后各模块的实时健康度。
三、模型部署形态与监控差异
不同部署形态决定了监控的采集方式、延迟要求和可观测粒度。常见形态包括:
| 部署形态 | 典型位置 | 监控重点 | 挑战 |
|---|---|---|---|
| 车端嵌入式推理 | 域控制器 / SoC | 时延、内存、算力占用、输出置信度分布 | 资源受限,难以全量上报 |
| 边缘计算节点 | 路侧 / 边缘机房 | 多车数据聚合、区域场景漂移 | 网络抖动、时钟同步 |
| 云端离线训练 | 数据中心 GPU 集群 | 训练/验证集分布、指标回归、版本对比 | 离线与线上不一致 |
| 仿真与回放平台 | 云端 / 本地 | 场景覆盖率、回归通过率、边界案例 | 仿真与真实域差异 |
四、案例/场景:一次雨天漂移的排查
某车型在雨天夜间出现感知漏检率上升,表现为远处车辆检测置信度下降。排查路径如下:
- 监控发现感知模块 M1 的输入亮度均值与对比度分布较基线明显左移,属于输入数据漂移。
- 进一步查看预测模块 M2 的轨迹 ADE 上升,说明感知误差已向下游传播。
- 规划模块 M3 出现更多保守减速与急刹,控制模块 M4 跟踪误差增大,端到端舒适度指标下降。
- 回溯数据闭环:雨天样本在训练集中占比不足,且标注时对小目标存在漏标。
- 处理措施:补充雨天夜间数据、增强标注规范、在监控中增加“光照—天气”切片指标与告警阈值。
经验:漂移往往先在感知输入层出现,再逐级放大到规划与控制。监控应设置分层阈值,优先在 M1、M2 处捕获早期信号,避免问题传导到安全关键的控制层才被发现。
五、误区与复盘
- 误区一:只监控最终输出。端到端指标滞后且难以定位根因,必须保留模块级中间信号。
- 误区二:把离线评测等同于线上监控。离线数据集无法覆盖线上长尾分布,二者需互补。
- 误区三:忽略部署形态差异。车端资源受限,监控采样率与上报策略需分级设计。
- 误区四:没有版本基线。模型、数据、配置任一变更都会影响指标,必须记录版本并建立基线对比。
# 监控配置示例(模块级指标与阈值)
monitor:
perception:
metrics: [mAP, recall, latency_ms, confidence_mean]
drift_window: 1h
alert_threshold: { recall_drop: 0.05, latency_p99: 80 }
prediction:
metrics: [ADE, FDE, multimodal_entropy]
alert_threshold: { ADE_increase: 0.3 }
planning:
metrics: [min_distance, jerk, decel_max]
alert_threshold: { jerk_p99: 3.0 }
control:
metrics: [tracking_error, steer_rate]
alert_threshold: { tracking_error_p95: 0.25 }
综上,四模块链路、数据闭环与部署形态共同决定了监控需求:既要覆盖输入分布与模块指标,也要贯通离线与线上、车端与云端,形成可定位、可告警、可回溯的监控体系。