All Projects → MichiganCOG → Vip

MichiganCOG / Vip

Licence: mit
Video Platform for Action Recognition and Object Detection in Pytorch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vip

Ssd Pytorch
SSD: Single Shot MultiBox Detector pytorch implementation focusing on simplicity
Stars: ✭ 107 (-38.86%)
Mutual labels:  object-detection, ssd, neural-networks, detection
Paddlex
PaddlePaddle End-to-End Development Toolkit(『飞桨』深度学习全流程开发工具)
Stars: ✭ 3,399 (+1842.29%)
Mutual labels:  neural-networks, resnet, detection
Realtime Action Detection
This repository host the code for real-time action detection paper
Stars: ✭ 271 (+54.86%)
Mutual labels:  ssd, action-recognition, detection
Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (+15.43%)
Mutual labels:  object-detection, neural-networks, detection
Rectlabel Support
RectLabel - An image annotation tool to label images for bounding box object detection and segmentation.
Stars: ✭ 338 (+93.14%)
Mutual labels:  object-detection, ssd, detection
A Pytorch Tutorial To Object Detection
SSD: Single Shot MultiBox Detector | a PyTorch Tutorial to Object Detection
Stars: ✭ 2,398 (+1270.29%)
Mutual labels:  object-detection, ssd, detection
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (+11.43%)
Mutual labels:  object-detection, neural-networks, resnet
Tensorflow Face Detection
A mobilenet SSD based face detector, powered by tensorflow object detection api, trained by WIDERFACE dataset.
Stars: ✭ 711 (+306.29%)
Mutual labels:  object-detection, ssd, detection
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: ✭ 49 (-72%)
Mutual labels:  object-detection, resnet, detection
Kaggle Rsna
Deep Learning for Automatic Pneumonia Detection, RSNA challenge
Stars: ✭ 74 (-57.71%)
Mutual labels:  object-detection, neural-networks, detection
Remo Python
🐰 Python lib for remo - the app for annotations and images management in Computer Vision
Stars: ✭ 138 (-21.14%)
Mutual labels:  object-detection, neural-networks
Deep Learning For Tracking And Detection
Collection of papers, datasets, code and other resources for object tracking and detection using deep learning
Stars: ✭ 1,920 (+997.14%)
Mutual labels:  object-detection, detection
Mobilenet Ssd
Caffe implementation of Google MobileNet SSD detection network, with pretrained weights on VOC0712 and mAP=0.727.
Stars: ✭ 1,805 (+931.43%)
Mutual labels:  ssd, detection
Lacmus
Lacmus is a cross-platform application that helps to find people who are lost in the forest using computer vision and neural networks.
Stars: ✭ 142 (-18.86%)
Mutual labels:  object-detection, neural-networks
Ssd keras
A Keras port of Single Shot MultiBox Detector
Stars: ✭ 1,763 (+907.43%)
Mutual labels:  object-detection, ssd
Chainer Cifar10
Various CNN models for CIFAR10 with Chainer
Stars: ✭ 134 (-23.43%)
Mutual labels:  neural-networks, resnet
Ssd keras
简明 SSD 目标检测模型 keras version(交通标志识别 训练部分见 dev 分支)
Stars: ✭ 152 (-13.14%)
Mutual labels:  object-detection, ssd
Derpn
A novel region proposal network for more general object detection ( including scene text detection ).
Stars: ✭ 155 (-11.43%)
Mutual labels:  object-detection, detection
Luna16 Lung Nodule Analysis 2016 Challenge
LUNA16-Lung-Nodule-Analysis-2016-Challenge
Stars: ✭ 133 (-24%)
Mutual labels:  resnet, detection
Synthdet
SynthDet - An end-to-end object detection pipeline using synthetic data
Stars: ✭ 148 (-15.43%)
Mutual labels:  object-detection, detection

Video Platform for Recognition and Detection in Pytorch

A platform for quick and easy development of deep learning networks for recognition and detection in videos. Includes popular models like C3D and SSD.

Check out our wiki!

Implemented Models and their performance

Recognition

Model Architecture Dataset ViP Accuracy (%)
I3D HMDB51 (Split 1) 72.75
C3D HMDB51 (Split 1) 50.14 ± 0.777
C3D UCF101 (Split 1) 80.40 ± 0.399

Object Detection

Model Architecture Dataset ViP Accuracy (%)
SSD300 VOC2007 76.58

Video Object Grounding

Model Architecture Dataset ViP Accuracy (%)
DVSA (+fw, obj) YC2-BB (Validation) 30.09

fw: framewise weighting, obj: object interaction

Citation

Please cite ViP when releasing any work that used this platform: https://arxiv.org/abs/1910.02793

@article{ganesh2019vip,
  title={ViP: Video Platform for PyTorch},
  author={Ganesh, Madan Ravi and Hofesmann, Eric and Louis, Nathan and Corso, Jason},
  journal={arXiv preprint arXiv:1910.02793},
  year={2019}
}

Table of Contents

Configured Datasets

Dataset Task(s)
HMDB51 Activity Recognition
UCF101 Activity Recognition
ImageNetVID Video Object Detection
MSCOCO 2014 Object Detection, Keypoints
VOC2007 Object Detection, Classification
YC2-BB Video Object Grounding
DHF1K Video Saliency Prediction

Models

Model Task(s)
C3D Activity Recognition
I3D Activity Recognition
SSD300 Object Detection
DVSA (+fw, obj) Video Object Grounding

Requirements

  • Python 3.6
  • Cuda 9.0
  • (Suggested) Virtualenv

Installation

# Set up Python3 virtual environment
virtualenv -p python3.6 --no-site-packages vip
source vip/bin/activate

# Clone ViP repository
git clone https://github.com/MichiganCOG/ViP
cd ViP

# Install requirements and model weights
./install.sh

Quick Start

Run train.py and eval.py to train or test any implemented model. The parameters of every experiment is specified in its config.yaml file.

Use the --cfg_file command line argument to point to a different config yaml file. Additionally, all config parameters can be overriden with a command line argument.

Testing

Run eval.py with the argument --cfg_file pointing to the desired model config yaml file.

Ex: From the root directory of ViP, evaluate the action recognition network C3D on HMDB51

python eval.py --cfg_file models/c3d/config_test.yaml

Training

Run train.py with the argument --cfg_file pointing to the desired model config yaml file.

Ex: From the root directory of ViP, train the action recognition network C3D on HMDB51

python train.py --cfg_file models/c3d/config_train.yaml

Additional examples can be found on our wiki.

Development

New models and datasets can be added without needing to rewrite any training, evaluation, or data loading code.

Add a Model

To add a new model:

  1. Create a new folder ViP/models/custom_model_name
  2. Create a model class in ViP/models/custom_model_name/custom_model_name.py
    • Complete __init__, forward, and (optional) __load_pretrained_weights functions
  3. Add PreprocessTrain and PreprocessEval classes within custom_model_name.py
  4. Create config_train.yaml and config_test.yaml files for the new model

Examples of previously implemented models can be found here.

Additional information can be found on our wiki.

Add a Dataset

To add a new dataset:

  1. Convert annotation data to our JSON format
    • The JSON skeleton templates can be found here
    • Existing scripts for datasets can be found here
  2. Create a dataset class in ViP/datasets/custom_dataset_name.py.
    • Inherit DetectionDataset or RecognitionDataset from ViP/abstract_dataset.py
    • Complete __init__ and __getitem__ functions
    • Example skeleton dataset can be found here

Additional information can be found on our wiki.

FAQ

A detailed FAQ can be found on our wiki.

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].