4. 预测算法指标

各位同学,今天我们来聊聊预测模块的评估指标。说实话,预测这部分在自动驾驶里经常被低估——很多人觉得“不就是猜别人怎么走吗?”但我在实际项目中吃过不少亏,才明白预测指标选不对,整个系统都会出问题。

咱们先理清一个概念:预测评估分三个层次。最基础的是轨迹预测指标,评估单车轨迹准不准;再往上走是交互预测指标,看多车之间的博弈关系有没有捕捉到;最后是场景级评估,从全局视角看预测结果对规划决策的影响。嗯,一层比一层难,也一层比一层贴近实际。

核心观点: 别只看ADE/FDE这些“漂亮数字”。我见过很多模型在公开数据集上指标刷得飞起,一上车就崩。为什么?因为场景级评估没做好。

4.1 轨迹预测指标:最常用的“三板斧”

先讲最基础的。轨迹预测指标,说白了就是衡量“你预测的轨迹跟真实轨迹差多远”。我个人习惯把指标分成两类:确定性指标和概率性指标。

4.1.1 ADE 与 FDE:两个最朴素的指标

ADE(Average Displacement Error):平均位移误差。就是预测轨迹上每个点与真实轨迹对应点的欧氏距离的平均值。

FDE(Final Displacement Error):最终位移误差。只看终点位置的偏差。

公式很简单,但我想强调一点:ADE和FDE是“配对”使用的。只看ADE,可能终点偏了但平均误差不大;只看FDE,可能中间轨迹完全走样。我建议两个指标一起报,就像汽车的油门和刹车,缺一个都不行。

指标 含义 适用场景
ADE 整条轨迹的平均偏差 评估整体预测精度
FDE 终点位置的偏差 评估终点预测能力(如路口决策)

避坑指南: 我曾经在高速场景只用ADE评估,结果模型预测的轨迹“中间偏了但终点对了”,ADE看起来不错。但规划模块拿到这个轨迹后,中间那段偏差点导致变道时机完全错误。后来我学乖了——ADE和FDE必须一起看。

4.1.2 MR:错过率,一个“生死攸关”的指标

MR(Miss Rate),错过率。它衡量的是:在所有预测样本中,有多少条轨迹的FDE超过了某个阈值(比如2米)。

你想想看,如果模型预测的轨迹终点偏差超过2米,那规划模块很可能做出错误决策。MR就是用来卡这个“生死线”的。

我个人习惯把MR和ADE/FDE放在一起看。举个例子:

  • 模型A:ADE=0.3m, FDE=0.6m, MR=5%
  • 模型B:ADE=0.2m, FDE=0.4m, MR=15%

你会选哪个?我选A。为什么?因为模型B虽然平均误差小,但有15%的情况会“完全跑偏”。这在自动驾驶里是不可接受的——你想想看,每100次预测就有15次可能撞上护栏,谁敢用?

4.1.3 minADE 与 minFDE:多模态预测的“最优解”

现在的预测模型大多是多模态的——输出K条候选轨迹。这时候怎么评估?用minADE和minFDE。

minADE:从K条预测轨迹中,选一条跟真实轨迹最接近的,计算ADE。

minFDE:同理,选最接近的那条算FDE。

说白了,就是“给你K次机会,你最好的一次表现如何”。

注意: minADE/minFDE有个“作弊”风险。我曾经见过一个模型,输出50条轨迹,几乎覆盖了所有可能方向。minADE当然很低,但实际部署时你不可能同时用50条轨迹去规划。所以,minADE只能作为参考,不能作为唯一指标。

4.2 交互预测指标:从“单打独斗”到“团队协作”

轨迹预测指标只关心“单个目标准不准”。但自动驾驶场景里,车与车、车与行人之间是相互影响的。这就引出了交互预测指标。

我记得有一次,我们的模型在单目标预测上指标很好,但多车交互场景下,预测的轨迹之间出现了“穿模”——两辆车预测轨迹交叉了,但实际它们会互相避让。这就是交互预测没做好的典型表现。

常用的交互预测指标包括:

  • Collision Rate(碰撞率):预测轨迹中,两车轨迹交叉或距离过近的比例。
  • Interaction-Aware ADE:在交互场景下,考虑其他目标影响的ADE。
  • Social Consistency Score:衡量预测轨迹是否符合社会规范(如让行、保持安全距离)。

嗯,这些指标目前还没有统一标准,但我在实际项目中会自己定义一个“交互合理性得分”——如果预测轨迹导致两车距离小于1米,直接扣分。你想想看,真实驾驶员谁会贴那么近?

4.3 场景级评估:从“点”到“面”的全局视角

这是我最想强调的部分。场景级评估,说白了就是把预测结果放到整个自动驾驶系统中去检验。

为什么需要场景级评估?我给你讲个真实案例。有一次,我们的预测模型在公开数据集上ADE只有0.25米,业界领先。但上车测试时,车辆在十字路口频繁急刹。排查后发现:预测模型对右转车辆的轨迹预测“过于保守”,导致规划模块认为对方会撞上来,于是频繁减速。

你看,单看预测指标没问题,但放到场景里就出问题了。所以我现在做评估,一定会加场景级指标:

  • Planning Discomfort Rate:因预测结果导致规划模块产生急刹、急转向的比例。
  • Decision Conflict Rate:预测结果与规划决策产生冲突的比例。
  • Scenario Coverage:模型在各类场景(直行、转弯、变道、路口等)上的表现一致性。

我的经验: 场景级评估最好用“闭环”方式做。就是让预测模块跟规划、控制模块一起跑,看最终车辆行为是否合理。我曾经用“开环”评估(只看预测准不准)骗了自己很久,直到闭环测试才发现问题。

4.4 知识体系总览

下面这张图是我自己整理的预测评估指标体系,你可以把它当作一个“检查清单”——做评估时,逐项对照,看看自己漏了哪个。

预测算法评估指标体系 轨迹预测指标 交互预测指标 场景级评估 ADE FDE MR minADE/minFDE 碰撞率 交互ADE 社会一致性 规划不适率 决策冲突率 场景覆盖率 评估原则: 单一指标不可靠 → 多指标联合评估 开环评估有局限 → 闭环场景级验证 → →

4.5 小结:别让指标“骗”了你

最后我想说一句:指标是工具,不是目的。我见过太多团队为了刷指标而刷指标——把minADE从0.3刷到0.28,但实际路测表现反而变差了。为什么?因为过度拟合了指标,忽略了场景级表现。

我个人建议的评估流程是:

  1. 先用ADE/FDE/MR做快速筛选,排除明显差的模型。
  2. 再用交互指标评估多车场景,看模型是否“懂社交”。
  3. 最后做场景级闭环测试,这才是真正的“考场”。

嗯,这套流程我用了好几年,踩过坑也填过坑,希望对你有帮助。下一节我们会深入讲每个指标的具体计算方法和代码实现,到时候我会带上实际数据,咱们手算一遍。

一句话总结: 预测评估不是比谁的数字漂亮,而是比谁的数字能真实反映系统表现。记住这一点,你就能少走很多弯路。

可可精品资料库