Python library for fast prototyping video content analysis applications. Relies on OpenCV, Keras, and other standard computer vision and machine learning python packages.
An example application:
Typical functional blocks of a video analytics application are described in [2]. Some examples are:
- Dynamic masking: blocking a part of the video signal based on the signal itself, for example because of privacy concerns.
- Motion detection: motion detection is used to determine the presence of relevant motion in the observed scene.
- Object detection: object detection is used to determine the presence of a type of object or entity, for example a person or car. Other examples include fire and smoke detection.
- Recognition: face recognition and automatic number plate recognition are used to recognize, and therefore possibly identify, persons or cars.
- Tamper detection: tamper detection is used to determine whether the camera or output signal is tampered with.
- Video tracking: Video tracking is used to determine the location of persons or objects in the video signal, possibly with regard to an external reference grid.
- Object counting and event triggering: activating alarms or registering events when an object enter or leaves a region of the video signal.
This library provides components for each specific task 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 data or perform an action such as storing in a DB.
Component list:
- Sources
- VideoReader
- Sinks
- Object detection
- YOLOv4Detector
- DetectorCSV
- Tracking
- SORT
- DeepSORT
- Visualization
- Bounding box annotation
- Matplotlib
- Working with ROIs (Regions of interest)
- Output
- Metadata
- DetectionsCSVWriter
- Store object detections as CSV.
- TrackingCSVWriter
- Store tracked objects as CSV.
- DetectionsCSVWriter
- Database
- InfluxDB.
- ELasticSearch
- Video
- Write frames to video file.
- Metadata
- Object detection
Refer to wiki for development instructions.
- Wikipedia article for video content analyis
- Code for YOLOv4 and DeepSORT was adapted from yolov4-deepsort.
- EDN Introduction to video analytics