☰
Waymo Open Dataset 版本演进全览:从感知数据集到 E2E 端到端驾驶挑战的更新脉络
2026/10/15 12:14:55 网站建设 项目流程
  • 自动驾驶
  • 数据集
  • 计算机视觉

【免费下载链接】waymo-open-dataset

Waymo Open Dataset

项目地址:https://gitcode.com/gh_mirrors/wa/waymo-open-dataset
点击查看免费下载

Waymo Open Dataset 官方仓库中的 LOG.md 记录了从 2021 年 3 月到 2025 年 4 月期间数据集与代码库的历次版本更新。本文以该更新日志为骨架,梳理 Perception(感知)、Motion(运动)、E2E Driving(端到端驾驶)、Object Asset、Sim Agents 等数据集与挑战的演进路径,并结合仓库内实际源码(proto 定义、指标实现、教程与配置文件)逐条验证每条更新的落地细节,帮助研究者和参赛者在面对不同版本数据、指标与提交格式时快速定位对应代码与使用方法。

一、更新日志总览:数据集版本与配套代码的协同演进

从 LOG.md 可以清晰看到 Waymo Open Dataset 的演进遵循"数据集新版本 + 配套代码(指标、proto、教程)"的节奏,主要里程碑包括:

时间主要发布内容关联文档/教程
2025-04E2E Driving 数据集扩增至 2,037 训练 runs;新增 1,505 runs 测试集与 479 runs 验证集(含 rater feedback 标签与场景标签);发布 Rater Feedback Score 计算代码tutorial_vision_based_e2e_driving.ipynb
2025-03发布 E2E Driving 训练集(相机图像 + 高层指令);Motion 指标修复、Sim Agents 指标扩展、交通灯违规指标新增end_to_end_driving_data.proto
2024-10Motion 数据集 v1.3.0:改善交通灯信息的时间对齐—
2024-04允许使用公开开源模型的冻结预训练权重;提交 metadata 新增必填字段motion_submission.proto 等
2024-03Perception v1.4.3 / v2.0.1:改进 3D 语义分割标签;Motion v1.2.1:发布相机 token 与 embedding;行为分桶 mAP 逻辑改进tutorial_womd_camera.ipynb
2023-12pip 包 v1.6.1:修复 WOSAC 碰撞/离路有效性检查 bug—
2023-08发布超过 120 万个对象中心资产(vehicle/pedestrian),含点云序列、相机 patches 与 2D panoptic 分割tutorial_object_asset.ipynb
2023-03Perception v2.0.0(模块化格式)与 v1.4.2;Motion v1.2.0(LiDAR 数据);四大 2023 挑战配套代码tutorial_v2.ipynb 等
2022-12 / 2022-06Perception v1.4.1 / v1.4.0:2D video panoptic segmentation 标签改进与引入tutorial_2d_pvps.ipynb
2022-04/05v1.3.x:3D Camera-Only 检测挑战(LET 指标、测试集、num_top_lidar_points_in_box字段)tutorial_camera_only.ipynb
2022-03Perception v1.3.0:3D 语义分割、2D/3D keypoint 标签与指标、Occupancy Flow 挑战、soft mAPtutorial_3d_semseg.ipynb
2021-09Motion v1.1:车道连接、车道边界、车道邻居lane_neighbors_and_boundaries.md
2021-03发布 Motion 数据集(10 万+ segments 轨迹与 3D 地图);实时检测挑战说明latency/README.md

需要说明的是,日志中某些条目链接指向 waymo.com 官网或 GitHub 仓库,本文只依据当前仓库内的实际代码展开,官方站点的外部链接不在此赘述。

二、2025 年更新:End-To-End Driving 数据集与 Rater Feedback 指标

2.1 E2E 数据集结构(v1.0.0)

2025 年 3 月日志发布了 E2E Driving 训练集,2025 年 4 月日志进一步给出完整规模:

  • 训练集:扩充 200 runs,总计2,037 runs;
  • 测试集:新增1,505 runs可供下载;
  • 验证集:479 runs,并且首次附带 rater feedback 标签与场景标签(scenario tags),供参赛者验证模型表现。

E2E 数据集的格式定义在 end_to_end_driving_data.proto 中,核心消息为E2EDFrame:

  • frame:复用 WOD 的 Frame,只填充context.name(帧唯一标识)、context.camera_calibrations(所有相机标定)以及frame.images(相机图像);
  • future_states/past_states:4Hz 采样、未来(0, 5s]与过去(-4s, 0]的 ego 状态,由EgoTrajectoryStates承载,含pos_x/pos_y/pos_z、vel_x/vel_y、accel_x/accel_y;其中未来位置 x、y 是预测目标,z 仅用于可视化;
  • intent:EgoIntent.Intent枚举,表示当前时刻 ego 车辆的驾驶意图,取值包括GO_STRAIGHT、GO_LEFT、GO_RIGHT(以及UNKNOWN);
  • preference_trajectories:带人工评分(rater score)的未来轨迹,仅对部分帧有效,最多 3 条,评分范围为[0, 10](包含端点);其他帧中该字段被标记为无效,评分为 -1 或留空。

坐标系统约定(源码注释):右手坐标系,+x = 前进、+y = 左、+z = 上,原点位于 ego 车辆后轴中点。

2.2 Rater Feedback Score 指标实现

2025 年 4 月日志的关键代码更新是公开了 Rater Feedback Score 的计算代码,并更新了 Colab 教程演示用法。对应实现位于 rater_feedback_utils.py,核心函数为get_rater_feedback_score,其输入输出约定(批大小B、推理轨迹数I、人工标注轨迹数P、时间步T):

inference_trajectories: [B, I, T, 2] # 模型推理轨迹(仅 x、y) inference_probs: [B, I] # 各轨迹的概率 rater_specified_trajectories: [B, P, T, 2] # 人工标注参考轨迹 rater_feedback_labels: [B, P] # 人工评分(0~10) init_speed: [B] # 初始速度,用于缩放阈值

关键可调参数与默认值:

参数默认值含义
lat_lng_threshold_multipliers(1.0, 4.0)横/纵向阈值乘子
decay_factor0.1信任区域之外的分数衰减因子
frequency4(Hz)轨迹采样频率
length_seconds5(s)轨迹长度
default_num_of_rater_specified_trajectories3每帧默认使用的人工轨迹数
minimum_score_outside_trust_region4.0未完全落入信任区域的推理轨迹的最低分

实现要点(可从源码确认):

  1. 预处理:通过process_rater_specified_trajectories将人工轨迹在"轨迹条数"和"waypoint 数"两个维度上进行截断或补全(末尾重复),统一为[B, P, T, 2]与[B, P];
  2. 信任区域(trust region):以人工标注轨迹为基准,在第 3s 与第 5s 两个时刻(_THRESHOLD_TIME_SECONDS = [3, 5])用位移向量推导纵向方向、90° 逆时针旋转得到横向方向,将推理轨迹与人工轨迹的差向量分别投影得到横/纵向距离;
  3. 阈值随速度缩放:get_lat_lng_thresholds用np.clip(0.5 + 0.5 * (init_speed - 1.4) / (11 - 1.4), 0.5, 1.0)生成随初始速度线性缩放的因子,乘以基础阈值_BASE_THRESHOLDS = [1.0, 1.8];
  4. 打分:横/纵归一化距离取最大后,信任区域内分数平直(指数为max(normalized_distances - 1.0, 0),衰减为decay_factor^exponent);未完全落入信任区域的推理轨迹分数被裁剪到minimum_score_outside_trust_region以上;最终按inference_probs加权求和得到每帧的rater_feedback_score;
  5. 可视化:设置output_trust_region_visualization=True时,返回信任区域的中心、宽高与朝向,便于调试。

该指标的评价逻辑在 end_to_end_driving_metrics.proto 的E2EDMetrics中定义:按场景簇(construction、intersection、pedestrian、cyclist、multi_lane_maneuver、single_lane_maneuver、cut_in、foreign_object_debris、special_vehicle、spotlight、others)分别给出 rater feedback 分数,最终average_score为各簇均值;另附ade_at_three_sec与ade_at_five_sec(按 rater 最高分 ground truth 计算每帧 ADE 再取平均)。对应的提交格式见 end_to_end_driving_submission.proto:

  • TrajectoryPrediction:5s @ 4Hz,共 20 个 waypoint,首个 waypoint 在 t+0.25s,末个在 t+5s,只含 x、y;
  • FrameTrajectoryPredictions.frame_name必须与E2EDFrame.frame.context.name一致;
  • E2EDChallengeSubmission需要为测试集每一帧都给出预测,并填写submission_type(E2ED_SUBMISSION)、account_name、unique_method_name、authors、affiliation、description等元数据。

2.3 教程中的实际用法

tutorial_vision_based_e2e_driving.ipynb 中给出了两条使用路径:一是官方评测服务器会运行 rater feedback metric 并更新排行榜(教程中同时提供了简化 ADE 实现便于参赛者自评);二是直接调用from waymo_open_dataset.metrics.python import rater_feedback_utils,从data_list[i].preference_trajectories读取人工轨迹与评分(注意先判断preference_score != -1以过滤无效帧),再调用get_rater_feedback_score计算。

三、2025 年 3 月更新:指标修复与新数据集配套

2025 年 3 月日志在发布 E2E 训练集的同时,还包含几项与指标代码库相关的修复与新增,均可在当前仓库中找到对应实现:

  • Motion Prediction 指标边界修复:修复了 box heading 在个别边界情况下发生翻转(flip)的问题,对应实现位于 motion_metrics.cc;
  • Sim Agents 指标扩展:允许模拟维度(simulated dimensions)与更灵活的场景时间配置,使 Scenario Generation 挑战能够复用同一套指标;配套教程 tutorial_scenario_gen.ipynb 与 tutorial_sim_agents.ipynb;
  • TTC 指标车辆过滤:time-to-collision(TTC)指标原本对"对象是车辆"做了若干假设,因此对非车辆对象计算不正确;本次为 Sim Agents 与 Scenario Generation 引入车辆过滤。在 challenge_2024_config.textproto 中可以看到time_to_collision使用 10-bin 直方图(min_val: 0.0, max_val: 5.0, additive_smoothing_pseudocount: 0.1)且independent_timesteps: true,底层计算函数为 interaction_features.py 中的compute_time_to_collision_with_object_in_front;
  • 交通灯违规指标(traffic light violation):当车辆在路口闯红灯时触发,同样仅过滤车辆。核心实现在 traffic_light_features.py 的compute_red_light_violation:判定条件为"对象所在车道有交通信号灯 AND 信号灯处于 STOP 状态 AND 对象越过信号灯停止线",使用 bernoulli 分布作为指标聚合方式(challenge_2024_config.textproto 中metametric_weight: 0.0);
  • Occupancy Flow 指标临时禁用:由于 tensorflow-graphics 已弃用,occupancy_flow_metrics.py中的 warp 相关函数被临时禁用(直接抛出NotImplementedError),日志说明将在适配 TF 2.13+ 后重新启用。这一点在 occupancy_flow_metrics.py 第 324-331 行的注释中有明确说明。

四、2024 年更新:规则放宽、提交元数据与相机数据

4.1 2024 年 4 月:公开预训练权重与必填元数据字段

  • 规则放宽:挑战规则允许使用公开开源模型的冻结预训练权重进行训练(含预训练、联合训练或微调),以便提交挑战结果;
  • 提交元数据新增必填字段:在 motion、sim agents、occupancy flow 三者的 submission proto 中新增一组字段,缺失会导致服务器返回错误。以 end_to_end_driving_submission.proto 为参照(同类字段同样出现在 motion/sim_agents/occupancy_flow 的 submission proto 中),包括:
    • uses_public_model_pretraining:是否使用了公开开源 LLM/VLM 进行预训练(必填);
    • public_model_names:使用的开源模型名称与配置;
    • num_model_parameters:模型参数量估算,格式为整数加乘数后缀(如"200K",来自集合[K, M, B, T, ...])(必填)。

4.2 2024 年 3 月:Perception v1.4.3/v2.0.1 与 Motion v1.2.1

  • 3D 语义分割标签改进:重点改善 motorcyclist 类别的 ground truth 质量,对应挑战教程见 tutorial_3d_semseg.ipynb;
  • Motion v1.2.1 相机数据:发布 8 个相机(front、front-left、front-right、side-left、side-right、rear-left、rear-right、rear)的图像token 与 VQ-GAN 预训练模型提取的图像 embedding,而非原始图像;与 LiDAR 一致,覆盖每个 9s 窗口的前 1s;配套教程与读取工具见 tutorial_womd_camera.ipynb 与 womd_camera_utils.py;
  • 相机数据时间对齐修复:1.2.1 版本为 LiDAR 数据提供新的时间戳与每时间步更新的位姿变换矩阵,修复了部分帧中 LiDAR 与 roadgraph 输入未对齐的问题;
  • mAP 行为分桶改进:Motion Prediction 挑战的 mAP 指标背后的行为分桶(behavior bucketing)逻辑被改进,源码层面体现在 motion_metrics.cc 的 P/R 统计与轨迹类型处理(如把RIGHT_U_TURN并入RIGHT_TURN桶),以及 motion_metrics.proto 中的配置结构;
  • Sim Agents 相关指标调整:运动学指标改用更平滑的速度/加速度估计;修复高架桥(over-passes)场景下 offroad 计算的边界情况;重新校准指标配置与 composite metrics 权重;simulated collision 与 offroad 以发生率(rates)而非似然值(likelihoods)上报。

4.3 2024 年 10 月:Motion v1.3.0

该次更新只有一项内容:改善交通灯信息的时间对齐(time alignment)。

五、2023 年更新:模块化数据集、对象资产与四大挑战

5.1 2023 年 8 月:Object Asset 数据集

发布大规模对象中心资产数据集,包含超过 120 万张图像与 LiDAR 观测,对象类别为车辆与行人,来源于 Perception Dataset v2.0.0:

  • LiDAR 特征:多传感器(5 个相机 + 顶部 LiDAR)提取的 3D 点云序列,支持 3D 对象形状重建;所有车辆对象还通过点云形状配准提供了精化的 box 位姿;
  • 相机特征:most_visible_camera的相机 patch 序列、对应相机上投影的 LiDAR 返回、逐像素相机射线信息,以及支持对象 NeRF 重建的自动标注 2D panoptic 分割;
  • 配套教程与读取代码:tutorial_object_asset.ipynb、object_asset.py、object_asset_codec.py(含编解码与测试)。

5.2 2023 年 3 月:Perception v2.0.0 与 v1.4.2

  • v2.0.0 模块化格式:引入 modular 格式,用户可按需选择下载组件;包含 v1.4.2 除地图外的全部特性;教程见 tutorial_v2.ipynb,配套实现位于 v2/(如 camera_image.py、lidar.py、pose.py 等);
  • v1.4.2:2D video panoptic segmentation 标签新增"每像素被多少相机覆盖"的 mask(num_top_lidar_points_in_box之类的覆盖字段见 dataset.proto);新增 3D 地图数据(以 polyline/polygon 形式)——车道连接、边界、邻居的细节见 lane_neighbors_and_boundaries.md。

5.3 2023 年 3 月:Motion v1.2.0

  • 为训练集新增 LiDAR 数据(每个 9s 窗口的前 1s),配套教程 tutorial_womd_lidar.ipynb 与读取工具 womd_lidar_utils.py;
  • 地图数据新增 driveway 入口,并调整部分道路边缘边界的高度估计;
  • tf_examples 格式的最大地图点数提升至30k、采样间距降至1.0m,使地图覆盖与 scenario proto 格式对齐,并新增了 scenario proto 到 tf_examples 的转换代码(见 scenario_conversion.cc)。

5.4 四大 2023 挑战配套代码

  • Sim Agents Challenge:tutorial_sim_agents.ipynb,指标代码在 sim_agents_metrics/;
  • Pose Estimation Challenge:tutorial_keypoints.ipynb,指标定义见 pose_estimation_metric.md;
  • 2D Video Panoptic Segmentation Challenge:tutorial_2d_pvps.ipynb;
  • Motion Prediction Challenge:tutorial_motion.ipynb。

5.5 2023 年 12 月:pip 包 v1.6.1(WOSAC 指标修复)

修复了 WOSAC 指标中碰撞(collision)与离路(offroad)的有效性检查 bug,并修改了当对象无效时 collision/offroad 检查的行为。

六、2022 年更新:感知数据集三大标签能力落地

2022 年是 Perception 数据集标签能力快速扩充的一年,围绕 2022 年挑战展开:

  • 2022 年 6 月(v1.4.0):新增2D video panoptic segmentation标签及配套代码,后续在 v1.4.1(2022 年 12 月)改进标签质量,教程见 tutorial_2d_pvps.ipynb;
  • 2022 年 5 月(v1.3.2):改进 3D 语义分割标签的时间一致性并修复误标点;修复 2D keypoint 标签的图像裁剪问题;在 dataset.proto 中新增num_top_lidar_points_in_box字段用于 3D Camera-Only 检测挑战;
  • 2022 年 5 月(part 2):发布 3D Camera-Only 检测挑战教程 tutorial_camera_only.ipynb,在 Python metrics ops 中支持计算3D-LET-APL(教程Compute Metrics一节),并修复 Occupancy and Flow 挑战的指标实现 bug;
  • 2022 年 4 月(v1.3.1):为 3D Camera-Only 检测挑战新增LET-3D-APL 与 LET-3D-AP指标;新增 80 段 20 秒相机测试片段;在 label.proto 的 LiDAR 标签元数据中新增z 轴速度与加速度;修复 dataset.proto 中projected_lidar_labels的不一致;Occupancy and Flow 挑战默认配置从 aggregate waypoints 切换为subsampled waypoints(见 occupancy_flow_metrics.proto);
  • 2022 年 3 月(v1.3.0):新增3D 语义分割标签/教程/指标、2D 与 3D keypoint标签/教程/指标(仅行人提供 2D↔3D 对应关系)、Occupancy Flow 预测挑战教程与工具,并为 Motion Prediction 挑战新增soft mAP指标——soft mAP 在 motion_metrics.cc 中体现为:当已为该组联合轨迹找到真阳性时跳过后续重复正样本,仅按置信度排序取一次测量,避免同一轨迹被重复计数。

七、2021 年更新:Motion 数据集的诞生与车道拓扑增强

7.1 2021 年 3 月:Motion 数据集发布

Waymo Open Dataset 首次扩展出Motion 数据集:包含超过 10 万 segments的对象轨迹与对应的 3D 地图。仓库同步补充了该数据集的支持代码,并新增实时检测挑战(real-time detection)的说明与示例,见 latency/README.md(配套的 latency 评测代码位于 latency/ 目录,含 wod_latency_evaluator.py)。

7.2 2021 年 9 月:Motion v1.1——车道连接、边界与邻居

v1.1 版本为地图数据加入了车道拓扑信息,完整技术细节见 lane_neighbors_and_boundaries.md,要点如下:

  • 车道连接(lane connections):每条车道携带一组进入/离开该车道的车道 ID 列表;
  • 车道边界(lane boundaries):每条车道关联左右两侧的边界要素(boundary features),并标明该边界生效的车道区段;
  • 车道邻居(lane neighbors):每条车道关联左右相邻车道——即智能体可能变道进入的车道;
  • 同时改进时间戳精度与stop sign 的 Z 值。

八、从日志看仓库定位:如何使用这些版本信息

  1. 快速定位代码:当需要复现某一指标或读取某一格式数据时,可先对照本表的时间与版本号,再到对应 proto 与 metrics 目录确认字段与实现。例如读取 E2E 验证集需处理preference_trajectories中的preference_score,而 rater feedback 的计算入口统一在 rater_feedback_utils.py;
  2. 注意版本差异:Occupancy Flow 的 warp 函数因 tensorflow-graphics 弃用被临时禁用(TF 2.13+ 环境),若需该功能应同步旧版本代码;Motion v1.2.1 之前的相机数据存在 LiDAR/roadgraph 时间对齐问题,使用时建议取用最新版本;
  3. 提交格式自查:2024 年 4 月起 motion/sim agents/occupancy flow(以及后续 E2E)的提交元数据中uses_public_model_pretraining与num_model_parameters为必填,缺失将导致服务器拒绝;
  4. 指标口径:Sim Agents 的 collision/offroad 以发生率上报、TTC 与交通灯违规指标仅对车辆对象计算,这些口径差异直接影响结果解读与参赛调优。

九、总结

从 2021 年发布 Motion 数据集,到 2022 年补齐感知标签(panoptic 分割、keypoint、3D 语义分割、Occupancy Flow),再到 2023 年模块化 v2 格式与对象资产、2024 年相机 embedding 与提交元数据规范化,直至 2025 年 E2E 端到端驾驶数据集与 Rater Feedback 指标的公开,LOG.md 完整呈现了 Waymo Open Dataset 从"感知为主"走向"感知 + 运动 + 端到端驾驶"的多模态演进路线。对研究者和挑战赛参赛者而言,这份日志既是版本导航,也是快速定位仓库内配套代码(proto、指标、教程、配置文件)的索引。

  • 自动驾驶
  • 数据集
  • 计算机视觉

【免费下载链接】waymo-open-dataset

Waymo Open Dataset

项目地址:https://gitcode.com/gh_mirrors/wa/waymo-open-dataset
点击查看免费下载

相关推荐

上一篇:oneTBB task_scheduler_observer 详解:观察调度器线程进出场,实现线程亲和性绑定与自定义调度钩子
下一篇:如何高效部署Ming-Image-0.1-Design服务:vLLM-Omni部署指南与80GB显存硬件要求解析

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询