/object_detector_app

Real-Time Object Recognition App with Tensorflow and OpenCV

Primary LanguagePythonMIT LicenseMIT

Object-Detector-App

A real-time object recognition application using Google's TensorFlow Object Detection API and OpenCV.

Getting Started

  1. conda env create -f environment.yml
  2. python object_detection_app.py / python object_detection_multithreading.py Optional arguments (default value):
    • Device index of the camera --source=0
    • Width of the frames in the video stream --width=480
    • Height of the frames in the video stream --height=360
    • Number of workers --num-workers=2
    • Size of the queue --queue-size=5
    • Get video from HLS stream rather than webcam '--stream-input=http://somertmpserver.com/hls/live.m3u8'
    • Send stream to livestreaming server '--stream-output=--stream=http://somertmpserver.com/hls/live.m3u8'

Tests

pytest -vs utils/

Requirements

Notes

  • OpenCV 3.1 might crash on OSX after a while, so that's why I had to switch to version 3.0. See open issue and solution here.
  • Moving the .read() part of the video stream in a multiple child processes did not work. However, it was possible to move it to a separate thread.

Copyright

See LICENSE for details. Copyright (c) 2017 Dat Tran.