Skip to content

Implementation of "MotionCNN: A Strong Baseline for Motion Prediction in Autonomous Driving" for Waymo Open Motion Dataset

License

Notifications You must be signed in to change notification settings

stepankonev/MotionCNN-Waymo-Open-Motion-Dataset

Repository files navigation

Refactored implementation of paper "MotionCNN: A Strong Baseline for Motion Prediction in Autonomous Driving"

MotionCNN Neural Network Scheme This repository contains updated code for our team's solution of Waymo Motion Prediction Challenge 2021 where we have achieved 3rd place.

If you find this repo helpful feel free to share and ⭐️ it

Related repos

Team behind this solution:

Listed as in the paper

Dataset

Download datasets uncompressed/tf_example/{training,validation,testing}

Training and prerendering

In order to train the model first you need to prepare the dataset in a convenient format

python prerender.py \
    --data-path path/to/original/split \
    --output-path path/to/preprocessed/split \
    --config path/to/config.yaml \
    --n-jobs 16 \
    --n-shards 8 \
    --shard-id 0 \

Rendering the training split without sharding might be very resource demanding, so we recommend to use sharding (the number of shards depends on your computer's configuration)

Once the dataset is preprocessed, you can run the training script

python train.py \
    --train-data-path path/to/preprocessed/training/split \
    --val-data-path path/to/preprocessed/validation/split \
    --checkpoints-path path/to/save/checkpoints \
    --config path/to/config.yaml \
    [--multi-gpu]

TODO:

Recently a Waymo Open Motion Dataset support was added to trajdata repo, that provides a unified way to work with different motion datasets. We aim to refactor this code to consume trajdata format

Citation

@misc{konev2022motioncnn,
      title={MotionCNN: A Strong Baseline for Motion Prediction in Autonomous Driving}, 
      author={Stepan Konev and Kirill Brodt and Artsiom Sanakoyeu},
      year={2022},
      eprint={2206.02163},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}