Git Product home page Git Product logo

nasdin / videorecognition-realtime-autotrainer-alerts Goto Github PK

View Code? Open in Web Editor NEW
48.0 8.0 24.0 61.93 MB

State of the art object detection in real-time using YOLOV3 algorithm. Augmented with a process that allows easy training of the classifier as a plug & play solution . Provides alert if an item in an alert list is detected.

Home Page: http://nasrudinsalim.com

License: GNU General Public License v3.0

Python 100.00%
video-recognition image-recognition yolov2 yolo yolo2 tensorflow darknet deep-learning convolutional-neural-networks image-processing

videorecognition-realtime-autotrainer-alerts's Introduction

Real-Time Video Recognition AI with auto-webscraping trainer + alerts, YoloV3

By: Nasrudin Salim

Real-time object detection and classification with YoloV3

Test:

What is this:

  • Automatically trains a model via webscraping image search results on a video recognition classifier with transfer learning.
  • Enter a label, then enter a list of search queries to google for. It will then google for those search terms and fine-tunes a pretrained classifier.
  • Detect objects as well as output alerts/colors differently if an object in your "alert list" is found.
  • Can be performed on a video stream in real-time.
  • Can be performed on a live-camera stream in real-time.

Prerequisities

  1. Anaconda 3
  2. Python 3
  3. CUDNN and CUDA ToolKit Installed
  4. GPU with CUDA 9.0 and above support

Installation Instructions:

  • A conda environment file has been provided, please make use of environment file to install the necessary requirement packages. conda create -n "YourEnvironmentName" -f environment.yml
  • Project uses Cython, so build that too. python3 setup.py build_ext --inplace

Remember to download pretrained weights if you need to See training section

Usage

Getting Data

On the webscraper, indicate the labels in labels.txt, and change the parameters in config.py if needed then in terminal, type

	python3 downloadimages.py

Training

Once images are downloaded. You can download pretrained weights here: darknet Or you can continue training your weights if you've done this before Edit the parameters in train.py and then in batch type:

	python3 train.py -g

-g : Whether to use GPU
-e #: Epochs (optional)
-s #: Save Rate (optional)
-e #: Epochs (optional)
-lr #: Learning Rate (optional)
-b #: Batch (optional)

Testing/Using

Usage:

python3 run.py "path_to_video_file" -g -s "test.avi"

Explanation

Whether to use a video file, supply path
If not video file, assume to use camera feed.
-g /--gpu : Optional, whether to use GPU ( Defaults to config)
-s /--save: Optional, whether to save results to a video file and where (Defaults to config)

Configs

There is a config.py provided which helps to set the defaults for the following:

  1. Edit the path to weight file
  2. USE GPU? Bool
  3. SAVE Result video file? Bool

You will be asked for the path of the video file. You can adjust the parameters as well as the paths of the weights by opening up the py files.

Setting Alerts

You can set alerts by editing the text file "alerts.txt" when a label found in this text file appears, it will generate an alert by drawing the box red and displaying "Alert x found in footage" when testing.

HELP AND CONTRIBUTION

This project needs your help and contribution
The Training Script needs work.
The Alerts and Pinging requires work to finish.
Downloading of images from google and seamless Training

videorecognition-realtime-autotrainer-alerts's People

Contributors

nasdin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

videorecognition-realtime-autotrainer-alerts's Issues

SIR WAITING FOR YOUR REPSONSE !!

I HAVE TRIED BOTH THE WAYS !!
1- BY WRITTING OBJECT IN ALERT.TXT(eg mouse)..after playing a video and putted in processing both the keyboard and mouse is displayed .
2.by deleting all the objects from altert.txt file .after that i proceseed the video of both mouse and keyboard for processing ...but in text file no objects are listed in alert.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.