All Projects → rohanchandra30 → Tracknpred

rohanchandra30 / Tracknpred

This is the code base for our ACM CSCS 2019 paper: "RobustTP: End-to-End Trajectory Prediction for Heterogeneous Road-Agents in Dense Traffic with Noisy Sensor Inputs". This codebase contains implementations for several trajectory prediction methods including Social-GAN and TraPHic.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tracknpred

Android Yolo
Real-time object detection on Android using the YOLO network with TensorFlow
Stars: ✭ 604 (+586.36%)
Mutual labels:  yolo, prediction
Yolo resnet
Implementing YOLO using ResNet as the feature extraction network
Stars: ✭ 82 (-6.82%)
Mutual labels:  yolo
Yolo
Kill a random process
Stars: ✭ 59 (-32.95%)
Mutual labels:  yolo
Mlbox
MLBox is a powerful Automated Machine Learning python library.
Stars: ✭ 1,199 (+1262.5%)
Mutual labels:  prediction
Limit orderbook prediction
Stars: ✭ 61 (-30.68%)
Mutual labels:  prediction
Opendatacam
An open source tool to quantify the world
Stars: ✭ 1,214 (+1279.55%)
Mutual labels:  yolo
Awesome Cv Paper Review
计算机视觉各个方向论文速览
Stars: ✭ 57 (-35.23%)
Mutual labels:  cvpr
Stgcn
implementation of STGCN for traffic prediction in IJCAI2018
Stars: ✭ 87 (-1.14%)
Mutual labels:  prediction
Ergo
A Python library for integrating model-based and judgmental forecasting
Stars: ✭ 82 (-6.82%)
Mutual labels:  prediction
Dcm Net
This work is based on our paper "DualConvMesh-Net: Joint Geodesic and Euclidean Convolutions on 3D Meshes", which appeared at the IEEE Conference On Computer Vision And Pattern Recognition (CVPR) 2020.
Stars: ✭ 75 (-14.77%)
Mutual labels:  cvpr
Mirdeep2
Discovering known and novel miRNAs from small RNA sequencing data
Stars: ✭ 70 (-20.45%)
Mutual labels:  prediction
Neural prophet
NeuralProphet - A simple forecasting model based on Neural Networks in PyTorch
Stars: ✭ 1,125 (+1178.41%)
Mutual labels:  prediction
Ai Reading Materials
Some of the ML and DL related reading materials, research papers that I've read
Stars: ✭ 79 (-10.23%)
Mutual labels:  prediction
Darknet ros
YOLO ROS: Real-Time Object Detection for ROS
Stars: ✭ 1,101 (+1151.14%)
Mutual labels:  yolo
Yolo Custom Object Detector
Making custom object detector using Yolo (Java and Python)
Stars: ✭ 84 (-4.55%)
Mutual labels:  yolo
Yolo Autonomous Drone
YOLO Autonomous Drone - Deep Learning Person Detection: The YOLO Drone localizes and follows people with the help of the YOLO Deep Network
Stars: ✭ 58 (-34.09%)
Mutual labels:  yolo
Deep Segmentation
CNNs for semantic segmentation using Keras library
Stars: ✭ 69 (-21.59%)
Mutual labels:  prediction
Dispnet Flownet Docker
Dockerfile and runscripts for DispNet and FlowNet1 (estimation of disparity and optical flow)
Stars: ✭ 78 (-11.36%)
Mutual labels:  cvpr
Flink Jpmml
flink-jpmml is a fresh-made library for dynamic real time machine learning predictions built on top of PMML standard models and Apache Flink streaming engine
Stars: ✭ 88 (+0%)
Mutual labels:  prediction
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+1343.18%)
Mutual labels:  prediction

TrackNPred: A Software Framework for End-to-End Trajectory Prediction

This is the code base for our ACM CSCS 2019 paper,

RobustTP: End-to-End Trajectory Prediction for Heterogeneous Road-Agents in Dense Traffic with Noisy Sensor Inputs.
Rohan Chandra, Uttaran Bhattacharya, Christian Roncal, Aniket Bera, Dinesh Manocha

Please cite our work if you found this useful:

@article{chandra2019robusttp,
  title={RobustTP: End-to-End Trajectory Prediction for Heterogeneous Road-Agents in Dense Traffic with Noisy Sensor Inputs},
  author={Chandra, Rohan and Bhattacharya, Uttaran and Roncal, Christian and Bera, Aniket and Manocha, Dinesh},
  journal={arXiv preprint arXiv:1907.08752},
  year={2019}
}

A Visualized Approach to Deep Learning

Overview

We present RobustTP, an end-to-end algorithm for predicting future trajectories of road-agents in dense traffic with noisy sensor input trajectories obtained from RGB cameras (either static or mov-ing) through a tracking algorithm. In this case, we consider noise as the deviation from the ground truth trajectory. The amount of noise depends on the accuracy of the tracking algorithm. Our approach is designed for dense heterogeneous traffic, where the road agents corresponding to a mixture of buses, cars, scooters, bicycles, or pedestrians. RobustTP is an approach that first computes trajectories using a combination of a non-linear motion model and a deep learning-based instance segmentation algorithm. Next,these noisy trajectories are trained using an LSTM-CNN neural network architecture that models the interactions between road-agents in dense and heterogeneous traffic. We also release a software framework, TrackNPred. The framework consists of implementations of state-of-the-art tracking and trajectory predictionmethods and tools to benchmark and evaluate them on real-world dense traffic datasets

TrackNPred currently supports the following:

  1. Tracking by Detection:
  1. Trajectory Prediction

If you want to use TraPHic ONLY, then use this repository as it's easier.

Dependencies

Support Python 3.5 and above. For a list of dependencies see requirements.txt

Installing Dependencies:

  1. Create a conda environement
    conda create --name <env name e.g. tnp>
  2. Source into the environment
    source activate <env name>
  3. Install the set of requirements
    cd /path/to/requirements_file
    conda install --file requirements.txt

Note that a lot of the requirements will not be installed by default. These need to installed manually as described later.

Dataset

  • Currently we only accept .mp4 file.
  • The mp4 file must consist of a string and a number after that string.
  • We need to create a folder that has the same name as the video file and put the video in that folder.
  • The datafolder needs to exist in the Direcotry specified in the GUI/commandline.
    Example: if the data directory is resources/data/TRAF, and the video name is TRAFx.mp4, then the location of the video should be resources/data/TRAF/TRAFx/TRAFx.mp4.
  • Note that currently, all the data has to reside inside resources/data.
  • All of the files generated will be in the corresponding datafolder.

Usage

  1. Inside the conda environment, run python setup.py to get resources folder containing dataset and model weights.
  2. . Try to run python main.py. It will run into an error stating that a dependency was not found.
  3. Manually install the dependency with conda install DEPENDENCY (occasionally with conda install -c CHANNEL DEPENDENCY, where the channel name can be found by searching for the dependency file in the Anaconda cloud).
  4. Repeat Steps 2-3 till all dependency issues are resolved and the GUI opens.
  5. We provide the options of GUI and command line control:
    Examples:
    • Run python main.py to get the GUI, which will give you the options you can choose.
    • Run python main_cmd.py -l 11 -l 12 to run dataset TRAF11 and TRAF12 in command line.
    • Run python main_cmd.py -l 11 --detection False --tracking False --train True --eval True to only run prediction training and evaluating on dataset TRAF11 in command line.
      • -l is required. It takes in a series of numbers and specifies which dataset you want to run.
      • Other flags are not required, but you can play around the options that was provided in the GUI. Please see how they are defined in the main_cmd.py file.

Results

Our trajectory prediction algorithm outperforms state-of-the-art methods for end-to-end trajectory prediction using sensor inputs. We achieve an improvementof upto 18% in average displacement error and an improvement of up to 35.5% in final displacement error at the end of the prediction window (5 seconds) over the next best method. All experiments were set up on an Nvidia TiTan Xp GPU.

We evaluate RobustTP with methods that use manually annotated trajectory histories, on the TRAF Dataset. The results are reported in the following format: ADE/FDE, where ADE is the average displacement RMSE over the 5 seconds of prediction and FDE is the final displacement RMSE at the end of 5 seconds. We observe that RobustTP is at par with the stat-of-the-art:

RNN-ED S-GAN CS-LSTM TraPHic RobustTP
3.24/5.16 2.76/4.79 1.15/3.35 0.78/2.44 1.75/3.42

We also evaluate RobustTP using trajectory histories that are computed by two detection methods: Mask R-CNN and YOLO:

Using Mask R-CNN Using YOLO

TrackNPred is developed and maintained by-

  1. Tianrui Guan.
  2. Christian Roncal.
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].