nicholaskajoh / ivy

Video-based object counting software.
MIT License
428 stars 170 forks source link
computer-vision object-counter object-counting video-analysis video-processing

Ivy

Ivy is an open-source video-based object counting software for tallying pretty much anything (vehicles, people, animals — you name it).

Need help setting up Ivy and analyzing the logs? Visit https://trafficlogic.co or send an email to contact@trafficlogic.co.

Requirements

Setup

Detector Description Dependencies
yolo Perform detection using models created with the YOLO (You Only Look Once) neural net. https://pjreddie.com/darknet/yolo/
tfoda Perform detection using models created with the Tensorflow Object Detection API. https://github.com/tensorflow/models/tree/master/research/object_detection CPU: pip install tensorflow-cpu
GPU: pip install tensorflow-gpu
detectron2 Perform detection using models created with FAIR's Detectron2 framework. https://github.com/facebookresearch/detectron2 python -m pip install 'git+https://github.com/facebookresearch/detectron2.git' (https://github.com/facebookresearch/detectron2/blob/master/INSTALL.md)
haarcascade Perform detection using Haar feature-based cascade classifiers. https://docs.opencv.org/3.4/db/d28/tutorial_cascade_classifier.html

Run

Demo

Download ivy_demo_data.zip and unzip its contents in the data directory. It contains detection models and a sample video.

Test

python -m pytest

Debug

By default, Ivy runs in "debug mode" which provides you a window to monitor the object counting process. You can:

Community

Got questions, contributions, suggestions, concerns? Let us know! Also follow us on Twitter @CountWithIvy to get notified about new features, fixes and initiatives.