All Projects → gustavz → Realtime_object_detection

gustavz / Realtime_object_detection

Licence: mit
Plug and Play Real-Time Object Detection App with Tensorflow and OpenCV. No Bugs No Worries. Enjoy!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Realtime object detection

Caffe2 Ios
Caffe2 on iOS Real-time Demo. Test with Your Own Model and Photos.
Stars: ✭ 221 (-15%)
Mutual labels:  object-detection, deep-neural-networks, opencv, real-time
Bmw Yolov4 Inference Api Cpu
This is a repository for an nocode object detection inference API using the Yolov4 and Yolov3 Opencv.
Stars: ✭ 180 (-30.77%)
Mutual labels:  api, object-detection, deep-neural-networks, opencv
Vehicle counting tensorflow
🚘 "MORE THAN VEHICLE COUNTING!" This project provides prediction for speed, color and size of the vehicles with TensorFlow Object Counting API.
Stars: ✭ 582 (+123.85%)
Mutual labels:  object-detection, deep-neural-networks, opencv
Tracking With Darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: ✭ 515 (+98.08%)
Mutual labels:  object-detection, deep-neural-networks, real-time
Tensorflow object counting api
🚀 The TensorFlow Object Counting API is an open source framework built on top of TensorFlow and Keras that makes it easy to develop object counting systems!
Stars: ✭ 956 (+267.69%)
Mutual labels:  object-detection, deep-neural-networks, opencv
Computer Vision Guide
📖 This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.
Stars: ✭ 244 (-6.15%)
Mutual labels:  object-detection, deep-neural-networks, opencv
Bmw Tensorflow Inference Api Gpu
This is a repository for an object detection inference API using the Tensorflow framework.
Stars: ✭ 277 (+6.54%)
Mutual labels:  api, object-detection, deep-neural-networks
Trino
Trino: Master your translations with command line!
Stars: ✭ 118 (-54.62%)
Mutual labels:  api, google
Esp V2
A service proxy that provides API management capabilities using Google Service Infrastructure.
Stars: ✭ 120 (-53.85%)
Mutual labels:  api, google
Ng Gapi
ng-gapi a Google api module for Angular 6+
Stars: ✭ 126 (-51.54%)
Mutual labels:  api, google
Googleauthr
Google API Client Library for R. Easy authentication and help to build Google API R libraries with OAuth2. Shiny compatible.
Stars: ✭ 150 (-42.31%)
Mutual labels:  api, google
Degiroapi
An unofficial API for the trading platform Degiro, with the ability to get real time data and historical data
Stars: ✭ 114 (-56.15%)
Mutual labels:  api, real-time
Kerasobjectdetector
Keras Object Detection API with YOLK project 🍳
Stars: ✭ 113 (-56.54%)
Mutual labels:  api, object-detection
Gsheets Db Api
A Python DB-API and SQLAlchemy dialect to Google Spreasheets
Stars: ✭ 122 (-53.08%)
Mutual labels:  api, google
Rtapi
Real time API latency analyzer - Create a PDF report and HDR histogram of your APIs
Stars: ✭ 106 (-59.23%)
Mutual labels:  api, real-time
Google Translate Api
A free and unlimited API for Google Translate 💵🚫
Stars: ✭ 1,996 (+667.69%)
Mutual labels:  api, google
Parse Google Docs Json
Authenticates with Google API and parse Google Docs to JSON or Markdown
Stars: ✭ 100 (-61.54%)
Mutual labels:  api, google
Dialogflow Web
Web App for Dialogflow
Stars: ✭ 135 (-48.08%)
Mutual labels:  api, google
Google Translate
🈯 A Node.JS library to consume Google Translate API for free.
Stars: ✭ 152 (-41.54%)
Mutual labels:  api, google
Youtubeshop
Youtube autolike and autosubs script
Stars: ✭ 177 (-31.92%)
Mutual labels:  api, google

realtime_object_detection

Realtime Object Detection based on Tensorflow's Object Detection API and DeepLab Project

Version 1: use branch r1.0 for the original repo that was focused on high performance inference of ssd_mobilenet
(x10 Performance Increase on Nvidia Jetson TX2)

Version 2: use branch Master or to be additionally able to run and test Mask-Detection Models, KCF-Tracking and DeepLab Models (merge of the repo realtime_segmenation)

ROS Support: To use this Repo as ROS-Package including detection and segmentation ROS-Nodes use branch ros. Alternativley use the repo objectdetection_ros

About the Project

The Idea was to create a scaleable realtime-capable object detection pipeline that runs on various systems.
Plug and play, ready to use without deep previous knowledge.

The project includes following work:

  • optional download of tensorflow pretrained models
  • do Inference with OpenCV, either through video input or on selected test_images.
    supported Models are all research/object_detection as well as research/deeplab models
  • enjoy this project's own ssd_mobilenet speed hack, which splits the model in a mutlithreaded cpu and gpu session.
    Results in up to x10 performance increase depending on the running system
    ⇒ which makes it (one of) the fastest inference piplines out there
  • run statistic tests on sets of images and get statistical information like mean and median fps, std dev and much more
  • create timeline files measuring the exact time consumption of each operation in your model
  • inspect, summarize, quantize, transform and benchmark models with the provided scripts/
  • Use this Repo as ROS Package. the detection subscirbes a ROS Image topic and publishes the detection as ROS Node.

Inference:

  • create a copy of config.sample.yml named config.yml and only change configurations inside this file
    For example: If you are not interested in visualization: set VISUALIZE to False,
    or if you want to switch off the speed hack set SPLIT_MODEL to False,
  • to be able to use KCF_Tracking inside scripts/ run bash build_kcf.sh to build it and set USE_TRACKER to True to use it
    (currently only works for pure object detection models without SPLIT_MODEL)
  • new class (Model,Config,Visualizer) structure. Simply create your own test file with:
    from rod.model import ObjectDetectionModel, DeepLabModel
    from rod.config import Config
    
    model_type = 'od'                                              #or 'dl'
    input_type = 'video'                                           #or 'image'
    config = Config(model_type)
    model = ObjectDetectionModel(config).prepare_model(input_type) #or DeepLabModel
    model.run()
    
  • Alternativley run python + objectdetection_video.py or objectdetection_image.py or deeplab_video.py or deeplab_image.py or allmodels_image.py

Scripts:

To make use of the tools provided inside scripts/ follow this guide:

  • first change all paths and variables inside config_tools.sh to your needs / according to your system
  • When using the first time run: source config_tools.sh and in the same terminal run only once source build_tools.sh to build the tools. this will take a while.
  • For all following uses first run: source config_tools.sh(due to the exported variables) and after that you are able to run the wanted scripts always from the same terminal with source script.sh.
  • All scripts log the terminal output to test_results/

Setup:

Use the following setup for best and verified performance

  • Ubuntu 16.04
  • Python 2.7
  • Tensorflow 1.4 (this repo provides pre-build tf wheel files for jetson tx2)
  • OpenCV 3.3.1

Note: tensorflow v1.7.0 seems to have massive performance issues (try to use other versions)

Current max Performance on ssd_mobilenet:

  • Dell XPS 15 with i7 @ 2.80GHZ x8 and GeForce GTX 1050 4GB: 100 FPS
  • Nvidia Jetson Tx2 with Tegra 8GB: 30 FPS

Related Work:

  • objectdetection_ros: This Repository as ROS Package ready to use
  • test_models: A repo for models i am currently working on for benchmark tests
  • deeptraining_hands: A repo for setting up the ego- and oxford hands-datasets.
    It also contains several scripts to convert various annotation formats to be able to train Networks on different deep learning frameworks
    currently supports .xml, .mat, .csv, .record, .txt annotations
  • yolo_for_tf_od_api: A repo to be able to include Yolo V2 in tf's object detection api
  • realtime_segmenation: This repo was merged into v2.0
  • Mobile_Mask_RCNN: a Keras Model for training Mask R-CNN for mobile deployment
  • tf_training: Train Mobile Mask R-CNN Models on AWS Cloud
  • tf_models: My tensorflow/models fork which includes yolov2 and mask_rcnn_mobilenet_v1_coco
  • eetfm_automation: Export and Evaluation of TensorFlow Models Automation based on the Object Detection API
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].