HKUST-Aerial-Robotics / SIMPL

SIMPL: A Simple and Efficient Multi-agent Motion Prediction Baseline for Autonomous Driving
MIT License
161 stars 13 forks source link

SIMPL: A Simple and Efficient Multi-agent Motion Prediction Baseline for Autonomous Driving

Introduction

This is the project page of the paper

which is accepted for publication in the IEEE Robotics and Automation Letters (RA-L), 2024.

Preprint: arXiv

Video: YouTube

Qualitative Results


Todo List

Gettting Started

Install dependencies

Play with pretrained models (Argoverse 1)

Generate a subset of the dataset for testing using the script. It will generate 1k samples to data_argo/features/:

sh scripts/argo_preproc_small.sh

The dataset directory should be organized as follows:

data_argo
├── features
│   ├── train
│   │   ├── 100001.pkl
│   │   ├── 100144.pkl
│   │   ├── 100189.pkl
...
│   └── val
│       ├── 10018.pkl
│       ├── 10080.pkl
│       ├── 10164.pkl
...

The pre-trained weights are located at saved_models/. Use the script below to visualize prediction results:

sh scripts/simpl_av1_vis.sh

Since we store each sequence as a single file, the system may raise error OSError: [Erron 24] Too many open files during evaluation and training. You may use the command below to solve this issue:

ulimit -SHn 51200
ulimit -s unlimited

To evaluate the trained models:

sh scripts/simpl_av1_eval.sh

You are supposed to get:

Validation set finish, cost 289.01 secs
-- minade_1: 1.428 minfde_1: 3.240 mr_1: 0.512 brier_fde_1: 3.240 minade_k: 0.658 minfde_k: 0.947 mr_k: 0.081 brier_fde_k: 1.558

Train from scratch

multi-GPU based on DDP

sh scripts/simpl_av1_train_ddp.sh


- For model evaluation, please refer to the following scripts:

single-GPU

sh scripts/simpl_av1_eval.sh

multi-GPU based on DDP

sh scripts/simpl_av1_eval_ddp.sh



### Train/Evaluate/Visualize SIMPL using Argoverse 2
Please refer to the scripts in the directory `scripts/`, and the usage is similar to scripts for the Argoverse 1 dataset. If you have any questions, please feel free to raise an issue or contact us via email.

## Acknowledgment
We would like to express sincere thanks to the authors of the following packages and tools:
- [LaneGCN](https://github.com/uber-research/LaneGCN)
- [HiVT](https://github.com/ZikangZhou/HiVT)
- [DSP](https://github.com/HKUST-Aerial-Robotics/DSP)

## License
This repository is licensed under [MIT license](https://github.com/HKUST-Aerial-Robotics/SIMPL/blob/main/LICENSE).