1. 课程导入

轨迹预测(Trajectory Prediction)要解决的问题看似一句话就能说清:给定交通参与者(车辆、行人、骑行者等)在过去一段时间内的运动历史,以及周围道路结构与相邻目标的状态,预测它们在未来数秒内可能的运动轨迹。但真正把它做成一个可训练、可比较、可落地的系统,难点远不止“拟合一条曲线”。本课程围绕轨迹预测数据集与Benchmark评测工程展开,目标是把“模型能跑”推进到“结果可信、指标可比、误差可解释”。

一、任务定义:输入、输出与评价对象

在工程语境中,轨迹预测通常被形式化为一个条件概率建模问题。设第 i 个目标在历史窗口 T_obs 内的状态序列为 X_i,场景上下文(车道线、路口拓扑、信号灯、邻车状态)为 C,则模型需要估计未来窗口 T_pred 内的轨迹分布:

输入: X_i = [p_(t-H+1), ..., p_t]   # 历史位置/速度/朝向
      C   = {map, neighbors, signal} # 场景上下文
输出: P(Y_i | X_i, C)                # 未来轨迹的概率分布
      Y_i = [p_(t+1), ..., p_(t+F)]  # 未来 F 个时刻的位置
评价: minADE / minFDE / MR / NLL / brier-minFDE

这里的关键在于“分布”而非“单条轨迹”。真实交通中,同一历史可能对应直行、变道、减速让行等多种未来,因此主流数据集与Benchmark普遍要求模型输出 K 条候选轨迹及其概率,再用 minADE(最小平均位移误差)、minFDE(最小终点位移误差)、MR(Miss Rate,未命中率)等指标衡量。理解这些指标的定义,是后续所有实验设计的前提。

二、核心挑战:为什么轨迹预测“看起来简单、做起来难”

轨迹预测的困难来自多个层面,且彼此耦合。第一是多模态性:未来本质上是多分支的,模型若只回归均值,会得到“既不左转也不右转”的无效轨迹。第二是交互性:车辆之间、车辆与行人之间存在博弈与让行,预测必须考虑他者意图。第三是长尾与分布偏移:罕见但危险的场景(鬼探头、施工绕行)样本极少,却恰恰是安全最关心的。第四是评测口径不统一:不同论文对采样率、预测时域、是否使用地图、是否允许后处理的规定不同,导致数字不可直接比较。

工程视角的核心矛盾:模型能力提升往往依赖更大数据与更强结构,但若数据划分、评测协议、指标实现不一致,提升可能只是“评测口径差异”带来的假象。因此,数据集与Benchmark不是附属品,而是决定结论是否成立的基础设施。

三、数据集与Benchmark在工程中的角色

可以把整个轨迹预测工程链路理解为“数据—模型—评测—反馈”的闭环。数据集提供带标注的场景与真实未来,Benchmark提供统一的划分、指标与排行榜,二者共同定义了“什么叫做好”。下图给出本节的核心结构关系:

轨迹预测工程闭环:数据、模型、评测与反馈 数据集 Argoverse / nuScenes Waymo / INTERACTION 历史轨迹 + 地图 + 标注 预测模型 编码历史与场景 输出 K 条候选轨迹 概率 + 轨迹坐标 Benchmark 统一划分与指标 minADE / minFDE / MR 排行榜与复现协议 训练/验证 提交预测 误差分析 → 数据补充 / 模型改进 评测关注的四类问题 精度 minADE / minFDE 多模态 MR / NLL / 覆盖率 鲁棒性 长尾 / 分布偏移 效率 时延 / 显存

从图中可以看到,数据集与Benchmark并非“外围工具”,而是与模型同等重要的三个支点:数据决定模型能学到什么,Benchmark决定我们如何判断模型是否真的更好,反馈回路则决定工程能否持续迭代。

四、典型场景:一次“指标异常”的复盘

假设团队在 Argoverse 上训练了一个基线模型,本地验证 minADE=0.85,但提交到公开Benchmark后却只有 minADE=1.42。常见原因往往不是模型退化,而是评测工程细节不一致。可按下表逐项排查:

排查项 常见偏差 正确做法
预测时域 本地用 3s,Benchmark 要求 6s 严格对齐 T_pred 与采样率
候选轨迹数 本地 K=6,评测 K=1 确认 K 值与指标计算方式
地图使用 本地未用地图,榜单允许使用 记录是否使用 C 上下文
坐标与对齐 未做目标中心化或朝向归一化 统一坐标系与原点定义
缺失值处理 对无效帧直接插值 按数据集规范过滤或掩码

常见误区:把“本地验证集指标”直接当作“Benchmark成绩”。验证集只反映同分布下的表现,而Benchmark的划分、指标实现、后处理规则都可能不同。任何跨数据集、跨榜单的比较,都必须先对齐评测协议。

五、本课程的学习路径与目标

本课程共 30 章,整体遵循“先建立评测观,再掌握数据与模型,最后完成工程闭环”的路径。学习目标包括:

  • 概念层:准确理解轨迹预测的任务定义、多模态输出形式与主流指标含义。
  • 数据层:掌握 Argoverse、nuScenes、Waymo、INTERACTION 等数据集的字段结构、划分方式与预处理流程。
  • 模型层:理解主流预测范式的输入输出接口,能够把模型接入统一评测框架。
  • 评测层:能够独立实现 minADE、minFDE、MR 等指标,并识别评测中的口径陷阱。
  • 工程层:完成数据加载、训练、推理、评测、误差分析与复现实验的完整链路。

学习建议:每学完一个数据集或Benchmark,都动手写一次数据加载与指标计算脚本。轨迹预测的很多“坑”不在模型结构里,而在坐标系、时间对齐、无效帧和候选轨迹排序这些工程细节中。把评测做对,模型改进才有意义。

当你能够回答“这个 minADE 是在什么时域、多少候选、是否使用地图、如何处理缺失帧的条件下得到的”,你就真正进入了轨迹预测的工程语境。接下来的章节,将从数据集结构开始,逐步搭建这套可复现的评测体系。