All Projects → wqi → WIMP

wqi / WIMP

Licence: other
[arXiv] What-If Motion Prediction for Autonomous Driving ❓🚗💨

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to WIMP

SelfDrivingRCCar
Autonomous RC Car using Neural Networks, Python and Open CV
Stars: ✭ 102 (+27.5%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-51.25%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (+83.75%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Carla
Open-source simulator for autonomous driving research.
Stars: ✭ 7,012 (+8665%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Pylot
Modular autonomous driving platform running on the CARLA simulator and real-world vehicles.
Stars: ✭ 104 (+30%)
Mutual labels:  prediction, autonomous-driving, autonomous-vehicles
Dig Into Apollo
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
Stars: ✭ 903 (+1028.75%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (+30%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Autonomousdrivingcookbook
Scenarios, tutorials and demos for Autonomous Driving
Stars: ✭ 1,939 (+2323.75%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Rtm3d
Unofficial PyTorch implementation of "RTM3D: Real-time Monocular 3D Detection from Object Keypoints for Autonomous Driving" (ECCV 2020)
Stars: ✭ 211 (+163.75%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Awesome Self Driving Car
An awesome list of self-driving cars
Stars: ✭ 185 (+131.25%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Apollo
An open autonomous driving platform
Stars: ✭ 19,814 (+24667.5%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
dig-into-apollo
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
Stars: ✭ 1,786 (+2132.5%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Error-State-Extended-Kalman-Filter
Vehicle State Estimation using Error-State Extended Kalman Filter
Stars: ✭ 100 (+25%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Lidarobstacledetection
Lidar Obstacle Detection
Stars: ✭ 90 (+12.5%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Apollo perception ros
Object detection / tracking / fusion based on Apollo r3.0.0 perception module in ROS
Stars: ✭ 179 (+123.75%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
SelfDrivingCarsControlDesign
Self Driving Cars Longitudinal and Lateral Control Design
Stars: ✭ 96 (+20%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Visualizing-lidar-data
Visualizing lidar data using Uber Autonomous Visualization System (AVS) and Jupyter Notebook Application
Stars: ✭ 75 (-6.25%)
Mutual labels:  self-driving-car, autonomous-driving, autonomous-vehicles
Awesome-3D-Object-Detection-for-Autonomous-Driving
Papers on 3D Object Detection for Autonomous Driving
Stars: ✭ 52 (-35%)
Mutual labels:  autonomous-driving, autonomous-vehicles
self-driving-car
Implementation of the paper "End to End Learning for Self-Driving Cars"
Stars: ✭ 54 (-32.5%)
Mutual labels:  self-driving-car, autonomous-vehicles
FusionAD
An open source autonomous driving stack by San Jose State University Autonomous Driving Team
Stars: ✭ 30 (-62.5%)
Mutual labels:  autonomous-driving, autonomous-vehicles

WIMP - What If Motion Predictor

Reference PyTorch Implementation for What If Motion Prediction [PDF] [Dynamic Visualizations]

Setup

Requirements

The WIMP reference implementation and setup procedure has been tested to work with Ubuntu 16.04+ and has the following requirements:

  1. python >= 3.7
  2. pytorch >= 1.5.0

Installing Dependencies

  1. Install remaining required Python dependencies using pip.

    pip install -r requirements.txt
  2. Install the Argoverse API module into the local Python environment by following steps 1, 2, and 4 in the README.

Argoverse Data

In order to set up the Argoverse dataset for training and evaluation, follow the steps below:

  1. Download the the Argoverse Motion Forecasting v1.1 dataset and extract the compressed data subsets such that the raw CSV files are stored in the following directory structure:

    ├── WIMP
    │   ├── src
    │   ├── scripts
    │   ├── data
    │   │   ├── argoverse_raw
    │   │   │   ├── train
    │   │   │   │   ├── *.csv
    │   │   │   ├── val
    │   │   │   │   ├── *.csv
    │   │   │   ├── test
    │   │   │   │   ├── *.csv
    
  2. Pre-process the raw Argoverse data into a WIMP-compatible format by running the following script. It should be noted that the Argoverse dataset is quite large and this script may take a few hours to run on a multi-threaded machine.

    python scripts/run_preprocess.py --dataroot ./data/argoverse_raw/ \
    --mode val --save-dir ./data/argoverse_processed --social-features \
    --map-features --xy-features --normalize --extra-map-features \
    --compute-all --generate-candidate-centerlines 6

Usage

For a detailed description of all possible configuration arguments, please run scripts with the -h flag.

Training

To train WIMP from scratch using a configuration similar to that reported in the paper, run a variant of the following command:

python src/main.py --mode train --dataroot ./data/argoverse_processed --IFC \
--lr 0.0001 --weight-decay 0.0 --non-linearity relu  --use-centerline-features \
--segment-CL-Encoder-Prob --num-mixtures 6 --output-conv --output-prediction \
--gradient-clipping --hidden-key-generator --k-value-threshold 10 \
--scheduler-step-size 60 90 120 150 180  --distributed-backend ddp \
--experiment-name example --gpus 4 --batch-size 25

Citing

If you've found this code to be useful, please consider citing our paper!

@article{khandelwal2020if,
  title={What-If Motion Prediction for Autonomous Driving},
  author={Khandelwal, Siddhesh and Qi, William and Singh, Jagjeet and Hartnett, Andrew and Ramanan, Deva},
  journal={arXiv preprint arXiv:2008.10587},
  year={2020}
}

Questions

This repo is maintained by William Qi and Siddhesh Khandelwal - please feel free to reach out or open an issue if you have additional questions/concerns.

We plan to clean up the codebase and add some additional utilities (possibly NuScenes data loaders and inference/visualization tools) in the near future, but don't expect to make significant breaking changes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].