Waymo Open Dataset 完整快速上手指南:3 步跑通自动驾驶感知数据加载与评测
【免费下载链接】waymo-open-datasetWaymo Open Dataset项目地址: https://gitcode.com/gh_mirrors/wa/waymo-open-dataset
Waymo Open Dataset 是 Waymo 自动驾驶数据集的官方代码库,提供数据格式定义、模型评测指标和 TensorFlow 数据读取工具。无论你是想接触真实自动驾驶数据的新手,还是准备评测检测、跟踪、运动预测模型的算法开发者,按这篇走 10 分钟就能跑起来。
先搞清楚它是什么:数据集工具包,不是能直接启动的应用
一句话结论:这个仓库里没有原始数据,也没有python main.py这种入口,它的定位是"配套数据集的代码工具箱"。
它解决三件事:
- 数据格式:用 proto 把 Perception、Motion、End-to-End Driving 三个数据集的字段结构定死,
dataset.proto是数据格式的"字典" - 评测指标:检测 mAP、跟踪 MOTA、语义分割、运动预测等指标的官方实现,C++ 核心加 Python 封装,保证你和榜单算分口径一致
- 数据读取:一组 TensorFlow 辅助函数,把 TFRecord 里的点云、相机图像、标签框解析成好用的张量
边界说清楚:数据文件本身不在这个仓库里,需要单独申请下载;代码主体是 Apache 2.0,但wdl_limited/子目录是单独的 BSD 3-clause 加受限专利授权;数据集本身限非商业用途。搞清楚这三点,后面就不会踩坑。
环境准备:pip 和源码构建两种装法
核心依赖版本基线是Python 3.10 + TensorFlow 2.13 + numpy 1.23.5,装之前先确认你的环境,能省掉一半的报错。
方式一,直接装官方 pip 包(最省事):
pip install waymo-open-dataset方式二,从源码构建 wheel(需要改代码或跟最新提交时用),先装好 bazelisk:
cd src bazelisk build //waymo_open_dataset/waymo_open_dataset/pip_pkg_scripts:wheel产物在bazel-bin/下,拿到.whl后pip install进去即可。完整依赖锁定在 requirements.in 里,遇到版本冲突以它为准。如果你不想跟编译环境搏斗,直接跳下一节的 Docker 路线。
第一次运行:用 Docker 打开官方教程 Notebook
最短可跑路径是官方预制的 Jupyter 镜像——四条命令,浏览器里直接出结果:
git clone https://gitcode.com/gh_mirrors/wa/waymo-open-dataset cd waymo-open-dataset docker build -t wod_jupyter -f tutorial/cpu-jupyter.Dockerfile . docker run -p 8888:8888 wod_jupyter打开 http://localhost:8888 ,点进 tutorial_local.ipynb 逐格运行,你会依次看到:
- 解析仓库自带的两帧样例数据(
tutorial/frames),把点云和相机图像读出来 - 用假预测文件 + 假真值文件跑一遍检测指标计算,零门槛体验官方评测流程
- 3D 点云的直观可视化
跑完这个 notebook,你就完整走了一遍"读数据 → 算指标 → 画图"的主线。tutorial/ 目录里还有十几个按任务分的 notebook:运动预测、3D 语义分割、关键点、端到端驾驶、v2 版数据接口,各取所需。
核心目录速览:你真正会碰的 4 个路径
| 路径 | 干什么用 |
|---|---|
| tutorial/ | 官方 notebook 集合,每个任务一个入口,新手从这里起步 |
| src/waymo_open_dataset/utils/ | frame_utils、box_utils、geometry_utils等解析与绘图工具,读数据必 import |
| src/waymo_open_dataset/metrics/ | 检测/跟踪/分割/运动指标实现,含tools/下的命令行入口 |
| src/waymo_open_dataset/protos/ | dataset.proto等格式定义,字段看不明白时查这里 |
其余的math/(几何库)、data_conversion/(数据集版本迁移)、latency/(延迟赛提交框架)、v2/(新版列式数据接口)都属于特定场景代码,第一遍可以先跳过。
常见问题与注意事项
- 数据在哪里?仓库只有代码,没有数据集文件。需要从官方渠道申请下载后,用
tf.data.TFRecordDataset加载;想先尝鲜,用仓库里的tutorial/frames两帧样例即可。 - import tensorflow 报版本冲突?大概率是 Python 或 TF 版本偏离了 3.10 / 2.13 基线,要么按锁定文件重装依赖,要么直接用 Docker 镜像,一步到位。
- 许可证别踩雷:
wdl_limited/下的相机模型、分割与 Sim Agents 指标代码授权范围更窄,只能配合数据集规定用途使用;数据集本身也限非商用。商用前务必逐条核对。 - 标签口径不清楚?官方标注规范在 labeling_specifications.md,里面有车辆、行人、骑行者的 3D 框标注示例,评测前建议过一眼:
- 改完代码想回归测试?仓库大量使用 bazel 组织构建与测试,
bazelisk test //waymo_open_dataset/...是验证改动的第一选择。
【免费下载链接】waymo-open-datasetWaymo Open Dataset项目地址: https://gitcode.com/gh_mirrors/wa/waymo-open-dataset
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考