Metadata-Version: 2.1
Name: videoanalytics
Version: 0.0.2
Summary: Library for prototyping video analytic applicatios.
Home-page: https://github.com/nhorro/videoanalytics
Author: Nicolás Eduardo Horro
Author-email: nhorro@gmail.com
License: UNKNOWN
Project-URL: Bug Tracker, https://github.com/nhorro/videoanalytics/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# videoanalytics

![PyPI](https://img.shields.io/pypi/v/videoanalytics)

Python library for prototyping of video analytic applications. Relies on OpenCV, Keras, and other standard computer vision and machine learning python packages.

References:
- Code for YOLOv4 and DeepSORT was adapted from [yolov4-deepsort](https://github.com/theAIGuysCode/yolov4-deepsort).

## Component reference

Components are organized as Sources and sinks which are instanced and connected at execution time as pipelines.
Sources consume data from a camera or file and trigger the processing pipeline.
Sinks process data that was made available from other components and generate new.

- Sources
    - VideoReader
- Sinks
    - Object detection
        - YOLOv4Detector
        - DetectorCSV
    - Visualization
        - Bounding box annotation
        - Matplotlib
    - Outputs
        - Metadata
            - DetectionsCSVWriter
                - Store object detections as CSV.
            - TrackingCSVWriter
                - Store tracked objects as CSV.
        - Database
            - InfluxDB. 
            - ELasticSearch
        - Video
            - Write frames to video file.

## Instructions for developers

Import conda environment (GPU):

~~~bash
conda env create -f videoanalytics-gpu.yml
~~~

Some examples are provided as jupyter notebooks.

~~~bash
conda activate videoanalytics-gpu.yml
jupyter notebook .
~~~

