跳转至

算法评估与验证指标

本页用于把算法"能跑"升级为"可量化、可对比、可回归",建立从模块级到系统级的完整指标体系。


1. 为什么需要统一指标体系

自动驾驶算法跨模块耦合强,缺乏统一指标体系会导致:

  • 局部优化,系统退化:感知指标提升但规划输入质量下降
  • 问题难以发现:没有基准,修改后的退化无法被检测
  • 团队沟通成本高:各模块用不同指标,无法横向对比

指标体系的价值

指标体系不是"考核工具",而是"工程健康度仪表盘"。好的指标能让团队在问题发生之前就发现趋势。


2. 感知层指标

2.1 目标检测指标

IoU(交并比):

\[\text{IoU} = \frac{|A \cap B|}{|A \cup B|}\]

Precision 与 Recall:

\[\text{Precision} = \frac{TP}{TP + FP}, \quad \text{Recall} = \frac{TP}{TP + FN}\]

mAP(mean Average Precision):

  1. 对每个类别计算 Precision-Recall 曲线
  2. 计算曲线下面积(AP)
  3. 对所有类别取均值(mAP)

常用评测标准:

标准 IoU 阈值 说明
KITTI 0.7(车),0.5(行人/自行车) 2D/3D 框评测
nuScenes 2D 中心距离阈值(0.5/1/2/4 m) 多类别、多距离
Waymo OD 3D IoU 0.7 开放数据集基准

2.2 TIDE 误差分析

TIDE(A General Toolbox for Identifying Object Detection Errors)将误差分解为六类:

误差类型 说明
Cls(分类错误) 位置正确但类别错
Loc(定位错误) 类别正确但位置偏差大
Both(双重错误) 位置和类别都不对但有重叠
Dupe(重复检测) 对同一目标重复预测
BG(背景误检) 将背景误检为目标
Miss(漏检) 未检测到任何真值目标

2.3 3D 目标检测特有指标

指标 说明
中心距离误差 预测框中心与真值中心的 3D 距离
朝向误差 预测朝向与真值朝向之差(弧度)
速度误差 预测速度与真值速度之差
NDS(nuScenes) 综合得分,含检测率+位置+朝向+速度+属性

3. 预测层指标

3.1 基础轨迹误差

ADE(Average Displacement Error):

\[\text{ADE} = \frac{1}{N} \sum_{t=1}^{N} \| \hat{p}_t - p_t \|_2\]

FDE(Final Displacement Error):

\[\text{FDE} = \| \hat{p}_T - p_T \|_2\]

其中 \(\hat{p}_t\) 为预测轨迹点,\(p_t\) 为真值轨迹点,\(T\) 为预测时域末端。

3.2 多模态预测指标

预测模型通常输出多条候选轨迹(多模态),使用最优轨迹评估:

\[\text{minADE}_k = \min_{j \in [1,k]} \text{ADE}(\hat{\tau}_j, \tau_{\text{gt}})\]
\[\text{minFDE}_k = \min_{j \in [1,k]} \text{FDE}(\hat{\tau}_j, \tau_{\text{gt}})\]

MR(Miss Rate): FDE 超过阈值(如 2 m)的比例。

NLL(负对数似然): 用于评估概率分布质量,值越小越好。

指标 说明 建议监控
minADE₆ 6 条候选中最佳的平均误差
minFDE₆ 6 条候选中最佳的终点误差
MR(2m) 最终误差 > 2m 的比例
多模态覆盖率 候选轨迹覆盖真实分布的比例 可选

4. 规划层指标

4.1 开环 vs 闭环评估

评估方式 说明 局限
开环(Replay) 将规划输出与真实驾驶轨迹对比 无交互,不能评估因果
闭环(Closed-loop) 在仿真中执行规划结果,观察后续状态 依赖仿真保真度

开环指标的陷阱

开环 L2 误差低不等于闭环安全。车辆跟踪规划轨迹后,交通参与者的反应会改变,开环中"好"的决策可能在闭环中导致碰撞。

4.2 规划评估指标

指标 说明 计算方式
碰撞率 与障碍物发生碰撞的场景比例 碰撞场景数 / 总场景数
最小 TTC 规划轨迹上的最小碰撞时间 \(\min_t TTC(t)\)
最小 THW 跟车场景最小时间间距 \(\min_t \frac{d(t)}{v(t)}\)
轨迹平顺性 jerk 均方根 \(\sqrt{\frac{1}{N}\sum \dddot{s}^2}\)
任务效率 完成规划目标的速度与路径质量 平均速度、额外路径长度

4.3 nuPlan 基准

nuPlan 是 Motional 开放的闭环规划基准:

  • Reactive Simulation:其他交通参与者对自车行为做出响应
  • 评分维度:驾驶舒适度、碰撞率、完成率、进度效率
  • 挑战场景:无保护左转、密集城区、紧急变道

5. 控制层指标

指标 说明 参考目标
横向误差 RMSE 跟踪参考轨迹的横向精度 < 10 cm(城区)
航向误差 P95 95分位航向偏差 < 2°(城区)
速度误差 RMSE 纵向速度跟踪精度 < 1 km/h
峰值横向加速度 舒适性 < 3 m/s²
峰值纵向 jerk 舒适性(乘坐体验) < 5 m/s³(非紧急)
急刹频次 每百公里 jerk > 4 m/s³ 的次数 < 2 次/百公里

6. 系统级指标

6.1 接管率(Disengagement Rate)

接管率是衡量系统整体能力的最直接指标:

\[\text{接管率} = \frac{\text{人工干预次数}}{\text{自动驾驶里程(千公里)}}\]

DMV(加州 DMV)每年公开各企业的接管率数据,是行业公认对标指标。

接管类型分类:

类型 说明
技术接管(TOR) 系统主动请求人工接管
主动接管 安全员主动干预
计划内接管 进入测试区域前的预设接管

只有"计划外技术/主动接管"才计入接管率统计。

6.2 任务完成率

\[\text{任务完成率} = \frac{\text{全程无人工干预完成的次数}}{\text{总测试次数}}\]

6.3 MRC 触发率

每次触发最小风险条件(MRC)都需要记录和分析:

\[\text{MRC率} = \frac{\text{MRC触发次数}}{\text{自动驾驶里程(万公里)}}\]

7. 仿真评估体系

7.1 主流仿真平台

平台 特点 适用
CARLA 开源,Unreal Engine,丰富场景 感知/规划研究
SUMO 交通流仿真,微观交通 规划/V2X仿真
lgsvl 商用级,ROS 2 原生支持 系统集成测试
NVIDIA Drive Sim 传感器级物理仿真 感知数据生成
nuPlan 真实轨迹 + 反应式仿真 规划基准评测

7.2 场景分类

按难度和出现频率分层管理场景:

Level 1(日常工况,高频):直道跟车、简单变道、有灯路口
Level 2(较难工况,中频):无保护左转、匝道汇入、施工绕行
Level 3(长尾工况,低频):鬼探头、急 cut-in、极端天气
Level 4(事故边界):从真实事故案例重建的场景

8. 回归测试框架

8.1 回归策略

触发回归的时机:
  ├─ 模型版本更新
  ├─ 算法参数变更
  ├─ 依赖模块接口变更
  └─ 定期(每周)全量回归

回归通过标准:
  ├─ 感知:mAP ≥ 基线 × 99%
  ├─ 预测:minFDE₆ ≤ 基线 × 101%
  ├─ 规划:碰撞率 = 0,任务完成率 ≥ 基线
  └─ 控制:横向误差 RMSE ≤ 基线 × 105%

8.2 门禁设计

门禁级别 触发条件 处置方式
红线(阻塞发布) 碰撞率上升、接管率倒退 > 10% 自动拒绝合并
黄线(人工评审) 性能指标下降 1–10% 需要 TL 审批
绿线(自动通过) 所有指标持平或提升 自动合并

9. 数据闭环工程实践

9.1 场景挖掘流程

路测数据
    │
    ├─ 规则挖掘:基于告警、接管、传感器异常触发
    ├─ 模型挖掘:用困难样本检测模型找感知难例
    └─ 聚类分析:对 embedding 做聚类,发现未覆盖场景
    │
    ↓
场景库(标注+分级)
    │
    ↓
训练集更新 → 模型迭代 → 回归验证 → 发布

9.2 最小可执行评估清单

  • [ ] 是否为每个模块定义了模块级指标?
  • [ ] 是否有与系统级指标的映射关系?
  • [ ] 是否有稳定可复现的回放基准集?
  • [ ] 是否定义了发布前必须通过的门禁项?
  • [ ] 是否建立了"问题→根因→修复→验证"的可追踪链路?
  • [ ] 是否有自动化回归流水线(CI/CD 集成)?