NOTE: A new version of the Trajectron has been released! Check out Trajectron++!
The Trajectron: Probabilistic Multi-Agent Trajectory Modeling with Dynamic Spatiotemporal Graphs
This repository contains the code for The Trajectron: Probabilistic Multi-Agent Trajectory Modeling with Dynamic Spatiotemporal Graphs by Boris Ivanovic and Marco Pavone.
Installation
First, we'll create a conda environment to hold the dependencies.
conda create --name dynstg python=3.6 -y
source activate dynstg
pip install -r requirements.txt
Then, since this project uses IPython notebooks, we'll install this conda environment as a kernel.
python -m ipykernel install --user --name dynstg --display-name "Python 3.6 (DynSTG)"
Now, you can start a Jupyter session and view/run all the notebooks with
jupyter notebook
When you're done, don't forget to deactivate the conda environment with
source deactivate
Scripts
Run any of these with a -h
or --help
flag to see all available command arguments.
code/train.py
- Trains a new Trajectron.code/test_online.py
- Replays a scene from a dataset and performs online inference with a trained Trajectron.code/evaluate_alongside_sgan.py
- Evaluates the performance of the Trajectron against Social GAN. This script mainly collects evaluation data, which can be visualized withsgan-dataset/Result Analyses.ipynb
.code/compare_runtimes.py
- Evaluates the runtime of the Trajectron against Social GAN. This script mainly collects runtime data, which can be visualized withsgan-dataset/Runtime Analysis.ipynb
.sgan-dataset/Qualitative Plots.ipynb
- Can be used to visualize predictions from the Trajectron alone, or against those from Social GAN.
Datasets
The preprocessed datasets are available in this repository, under data/
folders (i.e. sgan-dataset/data/
).
If you want the original ETH or UCY datasets, you can find them here: ETH Dataset and UCY Dataset.