All Projects → srohit0 → Trafficvision

srohit0 / Trafficvision

Licence: mit
MIVisionX toolkit is a comprehensive computer vision and machine intelligence libraries, utilities and applications bundled into a single toolkit.

Projects that are alternatives of or similar to Trafficvision

Top Deep Learning
Top 200 deep learning Github repositories sorted by the number of stars.
Stars: ✭ 1,365 (+2525%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
All Classifiers 2019
A collection of computer vision projects for Acute Lymphoblastic Leukemia classification/early detection.
Stars: ✭ 22 (-57.69%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Self Driving Golf Cart
Be Driven 🚘
Stars: ✭ 147 (+182.69%)
Mutual labels:  artificial-intelligence, object-detection, convolutional-neural-networks
Imageai
A python library built to empower developers to build applications and systems with self-contained Computer Vision capabilities
Stars: ✭ 6,734 (+12850%)
Mutual labels:  artificial-intelligence, object-detection, artificial-neural-networks
First Steps Towards Deep Learning
This is an open sourced book on deep learning.
Stars: ✭ 376 (+623.08%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Neural Api
CAI NEURAL API - Pascal based neural network API optimized for AVX, AVX2 and AVX512 instruction sets plus OpenCL capable devices including AMD, Intel and NVIDIA.
Stars: ✭ 94 (+80.77%)
Mutual labels:  artificial-intelligence, opencl, artificial-neural-networks
Deeplearning.ai
deeplearning.ai , By Andrew Ng, All video link
Stars: ✭ 625 (+1101.92%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Malware Classification
Towards Building an Intelligent Anti-Malware System: A Deep Learning Approach using Support Vector Machine for Malware Classification
Stars: ✭ 88 (+69.23%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Traffic Sign Detection
Traffic Sign Detection. Code for the paper entitled "Evaluation of deep neural networks for traffic sign detection systems".
Stars: ✭ 200 (+284.62%)
Mutual labels:  artificial-intelligence, object-detection, convolutional-neural-networks
Deep Learning With Python
Deep learning codes and projects using Python
Stars: ✭ 195 (+275%)
Mutual labels:  artificial-intelligence, object-detection, convolutional-neural-networks
Compactcnncascade
A binary library for very fast face detection using compact CNNs.
Stars: ✭ 152 (+192.31%)
Mutual labels:  object-detection, convolutional-neural-networks, opencl
Computervision Recipes
Best Practices, code samples, and documentation for Computer Vision.
Stars: ✭ 8,214 (+15696.15%)
Mutual labels:  artificial-intelligence, object-detection, convolutional-neural-networks
Cnn Svm
An Architecture Combining Convolutional Neural Network (CNN) and Linear Support Vector Machine (SVM) for Image Classification
Stars: ✭ 170 (+226.92%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Person Detection And Tracking
A tensorflow implementation with SSD model for person detection and Kalman Filtering combined for tracking
Stars: ✭ 193 (+271.15%)
Mutual labels:  artificial-intelligence, object-detection, convolutional-neural-networks
Aidlearning Framework
🔥🔥AidLearning is a powerful mobile development platform, AidLearning builds a linux env supporting GUI, deep learning and visual IDE on Android...Now Aid supports OpenCL (GPU+NPU) for high performance acceleration...Linux on Android or HarmonyOS
Stars: ✭ 4,537 (+8625%)
Mutual labels:  artificial-intelligence, object-detection, opencl
Trending Deep Learning
Top 100 trending deep learning repositories sorted by the number of stars gained on a specific day.
Stars: ✭ 543 (+944.23%)
Mutual labels:  artificial-intelligence, convolutional-neural-networks, artificial-neural-networks
Tensorslow
Re-implementation of TensorFlow in pure python, with an emphasis on code understandability
Stars: ✭ 657 (+1163.46%)
Mutual labels:  artificial-intelligence, artificial-neural-networks
Easypr
An easy, flexible, and accurate plate recognition project for Chinese licenses in unconstrained situations.
Stars: ✭ 6,046 (+11526.92%)
Mutual labels:  artificial-intelligence, artificial-neural-networks
Tensorlayer
Deep Learning and Reinforcement Learning Library for Scientists and Engineers 🔥
Stars: ✭ 6,796 (+12969.23%)
Mutual labels:  artificial-intelligence, object-detection
Saliency
TensorFlow implementation for SmoothGrad, Grad-CAM, Guided backprop, Integrated Gradients and other saliency techniques
Stars: ✭ 648 (+1146.15%)
Mutual labels:  object-detection, convolutional-neural-networks

Traffic Vision

This app detects cars/buses in a live traffic at a phenomenal 50 frames/sec with HD resolution (1920x1080) using deep learning network Yolo-V2. The model used in the app is optimized for inferencing performnce on AMD-GPUs using MIVisionX toolkit.

Traffic Vision Animation

Features

  1. Vehicle detection with bounding box
  2. Vehicle direction ((upward, downward) detection
  3. Vehicle speed estimation
  4. Vehicle type: bus/car.

How to Run

Use Model

Demo

App starts the demo, if no other option is provided. Demo uses a video stored in the media/ dir.

% ./main.py
('Loaded', 'yoloOpenVX')
OK: loaded 22 kernels from libvx_nn.so
OK: OpenVX using GPU device#0 (gfx900) [OpenCL 1.2 ] [SvmCaps 0 1]
OK: annCreateInference: successful
Processed a total of  102 frames
OK: OpenCL buffer usage: 87771380, 46/46
%

Here is the link to YouTube video detecting cars, bounding boxes, car speed, and confidence scores.

Other Examples

recorded video

  1. ./main.py --video /vid.mp4

traffic cam ip

  1. ./main.py --cam_ip 'http://166.149.104.112:8082/snap.jpg'

Installation

Prerequisites

  1. GPU: Radeon Instinct or Vega Family of Products with ROCm and OpenCL development kit
  2. Install AMD's MIVisionX toolkit : AMD's MIVisionX toolkit is a comprehensive computer vision and machine intelligence libraries, utilities
  3. CMake, Caffe
  4. Google's Protobuf

Steps

% git clone https://github.com/srohit0/trafficVision

1. Model Conversion

This steps downloads yolov2-tiny for voc dataset and converts to MIVision's openVX model.

% cd trafficVision/model
% bash ./prepareModel.sh

More details on the pre-requisite (like caffe) of the model conversion in the models/ dir.

2. MIVision Model Compilation

% cd trafficVision
% make

3. Test App

% cd trafficVision
% make test

It'll display detection all videos in media/ dir.

Design

This section is a guide for developers, who would like to port vision and object detections models to AMD's Radeon GPUs from other frameworks including tensorflow, caffe or pytorch.

High Level Design

Lower Level Modules

These lower level modules can be found as python modules (files) or packages (directories) in this repository.

Development

Model Conversion

Follow model conversion process similar to the one described below.

Infrastructure

Make sure you've infrastructure pre-requisites installed before you start porting neural network model for inferencing.

Developed and Tested on

  1. Hardware
    1. AMD Ryzen Threadripper 1900X 8-Core Processor
    2. Accelerator = Radeon Instinct™ MI25 Accelerator
  2. Software
    1. Ubuntu 16.04 LTS OS
    2. Python 2.7
    3. MIVisionX 1.7.0
    4. AMD OpenVX 0.9.9
    5. GCC 5.4

Credit

  • MIVisionX Team

References

  1. yoloV2 paper
  2. Tiny Yolo aka Darknet reference network
  3. MiVisionX Setup
  4. AMD OpenVX
  5. Optimization with OpenVX Graphs
  6. Measuring Traffic Speed With Deep Learning Object Detection
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].