This repository collects a set of scripts and documentation to explore the Waymo Open Dataset. It gives a more detailed overview of the structure of this dataset which makes parsing for specific applications easier.
git clone https://github.com/PaulKMueller/waymo_demystifier.git
cd waymo_demystifier
conda env create --file environment.yml
# This command creates the file "scenario_structure".
# The path for the TFRecord file to be parsed should be included in the config.yml.
python get_waymo_structure.py
An example of a parsed scenario is included (see data/scenario_example_structure.txt).
Unfortunately, it can be quite hard to get into doing research with the Waymo Open Dataset because it is hard to get your hands on explicit information on how the dataset is structured and what the different features mean. This repository tries to solve this issue. The following is a list of all the tfrecord-files' features with an explcit interpretation of what they mean. For more information on how the features are represented, see the usage of the script above and the file data/scenario_example_structure.txt.
- traffic_light_state/current/id: Identifier for a traffic light in the current state.
- traffic_light_state/current/state: The current state of the traffic light (like red, yellow, green).
- traffic_light_state/current/timestamp_micros: The timestamp of the current traffic light state in microseconds.
- traffic_light_state/current/valid: Indicates whether the current traffic light data is valid or reliable.
- traffic_light_state/current/x: The X-coordinate of a traffic light's position in the current state.
- traffic_light_state/current/y: The Y-coordinate of a traffic light's position in the current state.
- traffic_light_state/current/z: The Z-coordinate of a traffic light's position in the current state.
- traffic_light_state/future/id: Identifier for a traffic light in a future state.
- traffic_light_state/future/state: The state of the traffic light (like red, yellow, green) in the future.
- traffic_light_state/future/timestamp_micros: The timestamp of the future traffic light state in microseconds.
- traffic_light_state/future/valid: Indicates whether the data about future traffic light states is valid or reliable.
- traffic_light_state/future/x: The X-coordinate of a traffic light's position in a future state.
- traffic_light_state/future/y: The Y-coordinate of a traffic light's position in a future state.
- traffic_light_state/future/z: The Z-coordinate of a traffic light's position in a future state.
- traffic_light_state/past/id: Identifier for a traffic light in the past state.
- traffic_light_state/past/state: The state of the traffic light in the past.
- traffic_light_state/past/timestamp_micros: The timestamp of the past traffic light state in microseconds.
- traffic_light_state/past/valid: Indicates whether the data about past traffic light states is valid or reliable.
- traffic_light_state/past/x: The X-coordinate of a traffic light's position in a past state.
- traffic_light_state/past/y: The Y-coordinate of a traffic light's position in the past state.
- traffic_light_state/past/z: The Z-coordinate of a traffic light's position in a past state.
- state/current/bbox_yaw: The current yaw angle of a bounding box surrounding an object or vehicle.
- state/current/height: The current height of an object or vehicle.
- state/current/length: The current length of an object or vehicle.
- state/current/speed: The current speed of an object or vehicle.
- state/current/timestamp_micros: The timestamp of the current state in microseconds.
- state/current/valid: Indicates whether the current state data is valid or reliable.
- state/current/velocity_x: The component of the velocity in the X-axis direction currently.
- state/current/velocity_y: The component of the velocity in the Y-axis direction currently.
- state/current/vel_yaw: The current yaw velocity (rate of change of orientation).
- state/current/width: The current width of an object or vehicle.
- state/current/x: The current X-coordinate position of an object or vehicle.
- state/current/y: The current Y-coordinate position of an object or vehicle.
- state/current/z: The current Z-coordinate position of an object or vehicle.
- state/difficulty_level: May refer to the difficulty level of a scenario or task, possibly in a simulation or test environment.
- state/future/bbox_yaw: The future yaw angle of a bounding box surrounding an object or vehicle.
- state/future/height: The height of an object or vehicle in the future state.
- state/future/length: The length of an object or vehicle in the future state.
- state/future/speed: The speed of an object or vehicle in the future state.
- state/future/timestamp_micros: The timestamp of the future state in microseconds.
- state/future/valid: Indicates whether the data about the future state is valid or reliable.
- state/future/velocity_x: The component of the velocity in the X-axis direction in the future.
- state/future/velocity_y: The component of the velocity in the Y-axis direction in the future.
- state/future/vel_yaw: The future yaw velocity.
- state/future/width: The width of an object or vehicle in the future state.
- state/future/x: The X-coordinate position of an object or vehicle in a future state.
- state/future/y: The Y-coordinate position of an object or vehicle in a future state.
- state/future/z: The Z-coordinate position of an object or vehicle in a future state.
- state/id: A unique identifier for the state being described or analyzed.
- state/is_sdc: Indicates whether the current state is of a self-driving car (SDC).
- state/objects_of_interest: Likely refers to objects in the scenario that are of particular interest, possibly for an autonomous vehicle or traffic analysis.
- state/past/bbox_yaw: The past yaw angle of a bounding box surrounding an object or vehicle.
- state/past/height: The height of an object or vehicle in the past state.
- state/past/length: The length of an object or vehicle in the past state.
- state/past/speed: The speed of an object or vehicle in the past.
- state/past/timestamp_micros: The timestamp of the past state in microseconds.
- state/past/valid: Indicates whether the data about the past state is valid or reliable.
- state/past/velocity_x: The component of the velocity in the X-axis direction in the past.
- state/past/velocity_y: The component of the velocity in the Y-axis direction in the past.
- state/past/vel_yaw: The yaw velocity (rate of change of orientation) in the past.
- state/past/width: The width of an object or vehicle in the past state.
- state/past/x: The X-coordinate position of an object or vehicle in the past.
- state/past/y: The Y-coordinate position of an object or vehicle in the past.
- state/past/z: The Z-coordinate position of an object or vehicle in the past.
- state/scenario/id: A unique identifier for the scenario being described or analyzed.
- state/tracks_to_predict: Likely refers to the tracks or paths that are being predicted for certain objects or vehicles.
- state/type: Likely refers to the type of the state or the type of an object or scenario being analyzed.
- roadgraph_samples/dir: Direction of the road graph samples, possibly indicating the flow or layout of roads.
- roadgraph_samples/id: Identifier for each road graph sample.
- roadgraph_samples/type: The type of road graph samples, possibly indicating different features of the road or environment.
- roadgraph_samples/valid: Indicates whether the road graph samples are valid.
- roadgraph_samples/xyz: Coordinates (X, Y, Z) samples from a road graph or map.
- scenario/id: A unique identifier for the scenario being described or analyzed.
Of course we could not present the structure of the dataset without it existing in the first place. Thank you for that Waymo! In case you want to cite the Dataset, use their citations:
@InProceedings{Ettinger_2021_ICCV, author={Ettinger, Scott and Cheng, Shuyang and Caine, Benjamin and Liu, Chenxi and Zhao, Hang and Pradhan, Sabeek and Chai, Yuning and Sapp, Ben and Qi, Charles R. and Zhou, Yin and Yang, Zoey and Chouard, Aur'elien and Sun, Pei and Ngiam, Jiquan and Vasudevan, Vijay and McCauley, Alexander and Shlens, Jonathon and Anguelov, Dragomir}, title={Large Scale Interactive Motion Forecasting for Autonomous Driving: The Waymo Open Motion Dataset}, booktitle= Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month={October}, year={2021}, pages={9710-9719} }
@article{Kan_2023_arxiv, author={Chen, Kan and Ge, Runzhou and Qiu, Hang and Ai-Rfou, Rami and Qi, Charles R. and Zhou, Xuanyu and Yang, Zoey and Ettinger, Scott and Sun, Pei and Leng, Zhaoqi and Mustafa, Mustafa and Bogun, Ivan and Wang, Weiyue and Tan, Mingxing and Anguelov, Dragomir}, title={WOMD-LiDAR: Raw Sensor Dataset Benchmark for Motion Forecasting}, month={April}, journal={arXiv preprint arXiv:2304.03834}, year={2023} }
Also, check out their tutorial notebooks and repository at . Get the dataset via the following link: