/traffic_motion_predictor

Given 1 second of traffic and an agent's starting position, predict its trajectory 8 seconds in the future

Primary LanguageJupyter Notebook

traffic_motion_predictor

Given 1 second of traffic and an agent's starting position, predict its trajectory 8 seconds in the future

The pitch


Findings

name Pretrained CNN Backbone CNN Type Learning Rate Momentum minFDE_val minADE_val Epochs Batch Size Mixed Precision
simple_cnn_1 Yes mobile-net SimpleCNN 0.0001 0.9 228 1622 160 16 N
simple_cnn_1 Yes mobile-net SimpleCNN 0.0001 0.9 266 2158 92 16 N
simple_cnn_2 Yes mobile-net SimpleCNN 0.001 0.9 399 3032 92 16 N
simple_cnn_3 Yes mobile-net SimpleCNN 0.0001 0.9 92 28 Y

name to id:

  • simple_cnn_1: simple_cnn_rofjQV2NUK1trG6vmlqOSEDd7bHr9OxUHzAVEjV7d
  • simple_cnn_2: simple_cnn_rVW9hZ6wZcpHqLIen3Tio1r8haPBGTmtcUitSfVfJ
  • simple_cnn_3: simple_cnn_rSFaNYXVMP9P8hPScrKBmgGDA0oZSgELrCYk6Iqod

Setup

Setting up Python

  1. install python 3.10
  2. (optional) setup virtual environment

linux/mac:

python -m venv .env
source .env/bin/activate

windows:

python -m venv .env
./.env/Scripts/activate
  1. install dependencies
python -m pip install requirements.txt

Setting up NuScenes mini dataset

Download the Mini Dataset
mkdir -p data/sets/nuscenes  # Make the directory to store the nuScenes dataset in.
wget https://www.nuscenes.org/data/v1.0-mini.tgz  # Download the nuScenes mini split.
tar -xf v1.0-mini.tgz -C data/sets/nuscenes  # Uncompress the nuScenes mini split.

(for windows the easiest way is to just run these commands in wsl)

Adding the US Map expansion pack
  1. Open the downloads page and go to Full Dataset (v1.0) > Mini and click US
  2. download US Map expansion pack (v1.3)
  3. decompress both packages and drop basemap/, expansion/ and prediction/ (all from the maps expansion pack) into v1.0-mini/maps/

Jupyter Notebook