4. 数据集与标注
交通参与者运动预测模型的性能上限,很大程度上由训练数据的规模、场景覆盖度与标注质量决定。与目标检测只需给出单帧包围盒不同,运动预测需要的是时序轨迹、交互关系与未来意图的联合表达。因此,理解 Argoverse、nuScenes、Waymo Open Motion Dataset 等主流公开数据集的组织方式、坐标系约定与标注规范,是开展预测工程的第一道基本功。
一、核心原理:运动预测数据集的三层信息结构
一个可用于运动预测的数据集,通常由三层信息构成:感知层(传感器原始数据与标定参数)、场景层(地图矢量、车道拓扑、交通元素)、标注层(参与者轨迹、类别、意图标签)。三层之间通过统一的时间戳与坐标系对齐,才能形成“过去—现在—未来”的完整样本。
预测任务的标准样本形式是:给定过去 T_obs 帧(常见 2 秒)的轨迹与地图,预测未来 T_pred 帧(常见 3~6 秒)的轨迹。标注的核心难点在于:轨迹必须在全局坐标系下保持连续,同时要处理遮挡、截断、传感器切换带来的跳变。
二、方法流程:从原始数据到可训练样本
以 Argoverse 2 为例,构建一个预测样本通常经历以下步骤:
- 场景筛选:按区域、时段、交通密度过滤,保证场景多样性,避免长直路段占比过高。
- 轨迹提取:从标注文件中读取每个 track 的全局位姿序列,按时间戳对齐到 10 Hz。
- 坐标归一化:将全局坐标转换到以“当前帧自车”或“预测目标”为原点的局部坐标系,朝向对齐到 x 轴。
- 地图裁剪:以目标为中心裁剪半径 50~100 m 内的车道矢量,保留拓扑连接关系。
- 样本切分:按 T_obs / T_pred 切分,过滤轨迹缺失率超过阈值的样本。
- 标签生成:为每条轨迹附加意图类别、是否交互、是否被遮挡等辅助标签。
# 以 Argoverse 2 为例的目录结构
argoverse2/
├── train/
│ ├── 0000b0f9-.../ # 场景 ID
│ │ ├── city_info.json # 城市、地图信息
│ │ ├── ego_track.parquet # 自车轨迹
│ │ ├── obstacle.parquet # 其他参与者轨迹
│ │ └── map/ # 矢量地图
├── val/
└── test/
三、标注规范与工具
标注规范决定了数据的一致性与可用性。运动预测标注通常要求:
- 轨迹连续性:同一目标在连续帧中 ID 不变,遮挡后重新出现需判断是否合并。
- 坐标系一致:所有轨迹统一到全局坐标系,再按样本转换到局部坐标系。
- 类别粒度:至少区分车辆、行人、骑行者、静态障碍物;部分数据集细分卡车、公交、摩托。
- 意图标签:直行、左转、右转、变道、停车、掉头等,用于多模态预测监督。
- 质量校验:速度突变、轨迹穿越建筑物、ID 跳变等需自动检测并人工复核。
常用标注与可视化工具包括:SUSTechPOINTS(3D 点云标注)、Scale AI / Labelbox(多传感器融合标注)、Argoverse API 与 nuScenes devkit(数据读取与可视化)。工程中常配合 matplotlib、plotly 或 rerun 做轨迹回放检查。
is_new_track 标志。
四、案例与场景:路口左转交互样本
以 nuScenes 中一个典型无保护左转场景为例:自车在路口等待,对向直行车流不断。预测模型需要同时输出自车“左转”意图与对向车辆“直行”轨迹。该样本的标注要点包括:
- 自车轨迹在等待阶段速度接近 0,需保留静止段以学习“等待—启动”行为。
- 对向车辆需标注其与自车的交互关系,如
yield、pass_first。 - 地图需包含路口内虚拟车道连接线,否则模型无法理解左转路径。
| 数据集 | 场景数 | 标注频率 | 预测时长 | 特色标签 |
|---|---|---|---|---|
| Argoverse 2 | 250,000 | 10 Hz | 6 s | 矢量地图、路口拓扑 |
| nuScenes | 1,000 | 2 Hz(标注) | 6 s | 多传感器、23 类目标 |
| Waymo OMD | 103,354 | 10 Hz | 8 s | 交互标签、高密度标注 |
五、误区与复盘
复盘建议:在数据管线中建立样本可视化抽检机制,每周随机抽取 50 个样本回放轨迹与地图,检查是否存在坐标跳变、地图缺失、意图标签错误等问题。数据质量的一次系统性排查,往往比模型结构调优带来更显著的收益。