Skip to content
This repository has been archived by the owner on Sep 29, 2024. It is now read-only.
/ zomi-client Public archive

ZoneMinder client side script to enable object detection, face detection/recognition and ALPR. Built with performance in mind.

License

Notifications You must be signed in to change notification settings

baudneo/zomi-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Development has been moved to a private repo, this repo will be archived.

ZoneMinder Machine Learning Client (ZoMi ML Client)

Caution

⚠️ This software is in ALPHA stage, expect issues and incomplete, unoptimized, janky code ;) ⚠️

This is a project aiming to update how ZoneMinder Object Detection works. A server and client are supplied to allow for easy integration with ZoneMinder or works of software based on ZM.

This repo is not associated with the ZoneMinder organization or any of its members.

Thanks

Prerequisites

  • ZoneMinder 1.37.5+ (EventStartCommand is REQUIRED)
  • Python 3.8+ (3.10+ recommended)
  • Python packages required by the install script
    • psutil
    • requests
    • tqdm
    • distro
  • OpenCV (Contrib) 4.2.0+ (4.8.0+ recommended) with Python3 bindings.
    • OpenCV (opencv-contrib-python-headless) is installed by default into the programs venv dir, advanced users can instead uninstall it and link in their CUDA compiled OpenCV

Notes:

  1. EventStartCommand/EventEndCommand is what runs the object detection script (Push method). Before, SHM was polled (Pull method) every <X> seconds to see if a new event had been triggered.

Client Info

The client uses the new ZoneMinder EventStartCommand/EventEndCommand option. This means ZM kicks off the ML chain instead of the ML chain scanning SHM looking for an event, more efficient!

The client grabs images, sends the images to a ZoMi ML API server, filters detected responses, post processes images and sends notifications. All the heavy computation of ML models is done by the server.

Client Pre-requisites

  • Client MUST be installed on same host as ZM server. Multi-server ZM installs (untested) will require a client install on each server.
  • libgeos-dev : system package (used for the Shapely python module; Polygons)

Install

Install Script

The install script will install the client for you. It will also install the required python packages into its own venv. You can supply the script with options to configure the install. Below is a list of the options and their defaults.

About

ZoneMinder client side script to enable object detection, face detection/recognition and ALPR. Built with performance in mind.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages