Skip to main content

Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices

Project description

Wyzely Detect

Recognize faces/objects in a video stream (from a webcam or a security camera) and send notifications to your devices

Features

  • Recognize objects
  • Recognize faces
  • Send notifications to your phone (or other devices) using ntfy
  • Optionally, run headless with Docker
  • Either use a webcam or an RTSP feed

Prerequisites

Python

  • Camera, either a webcam or a Wyze Cam
    • All RTSP feeds should work, however.
  • Python 3.10 or 3.11
  • Poetry (optional)
  • Windows or Linux
    • I've tested this on MacOS - it works on my 2014 MacBook Air but not a 2011 MacBook Pro
    • Both were upgraded with OpenCore, with the MacBook Air running Monterey and the MacBook Pro running a newer version of MacOS, which may have been the problem

Docker

  • A Wyze Cam
    • Any other RTSP feed should work, as mentioned above
  • Docker
  • Docker Compose

What's not required

  • A Wyze subscription

Usage

Installation

Cloning the repository is not required when installing from PyPi but is required when installing from source

  1. Clone this repo with git clone https://github.com/slashtechno/wyzely-detect
  2. cd into the cloned repository
  3. Then, either install with Poetry or run with Docker

Docker

  1. Modify to docker-compose.yml to achieve desired configuration
  2. Run in the background with `docker compose up -d

Installing from PyPi with pip

This assumes you have Python 3.10 or 3.11 installed

  1. pip install wyzely-detect
    a. You may need to use pip3 instead of pip
  2. wyzely-detect

Poetry

  1. poetry install
    a. For GPU support, use poetry install -E cuda --with gpu
  2. poetry run -- wyzely-detect

Configuration

The following are some basic CLI options. Most flags have environment variable equivalents which can be helpful when using Docker.

  • For face recognition, put images of faces in subdirectories ./faces (this can be changed with --faces-directory)
    • Keep in mind, on the first run, face rec
  • By default, notifications are sent for all objects. This can be changed with one or more occurrences of --detect-object to specify which objects to detect
    • Currently, all classes in the COCO dataset can be detected
  • To specify where notifications are sent, specify a ntfy URL with --ntfy-url
  • To configure the program when using Docker, edit docker-compose.yml and/or set environment variables.
  • For further information, use --help

How to uninstall

  • If you used Docker, run docker-compose down --rmi all in the cloned repository
  • If you used Poetry, just delete the virtual environment and then the cloned repository

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wyzely_detect-0.2.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

wyzely_detect-0.2-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file wyzely_detect-0.2.tar.gz.

File metadata

  • Download URL: wyzely_detect-0.2.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for wyzely_detect-0.2.tar.gz
Algorithm Hash digest
SHA256 75660a482e73c112aaa231f007b7b7ebcaec3b3d4d3595a4a7652b53d9a16798
MD5 22a731c438b9844b5002df7bfaf50fc6
BLAKE2b-256 7852df64659a39d62d70afc0b5459caa53cf9b103f05d8a644dae80851d86d2a

See more details on using hashes here.

File details

Details for the file wyzely_detect-0.2-py3-none-any.whl.

File metadata

  • Download URL: wyzely_detect-0.2-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for wyzely_detect-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ef9addb5f6ceef8da6edbb1c7c140c8513d7a905963870fa478d2a8b102b0c2
MD5 2903fcd554cfa669b6fb0a3566d17933
BLAKE2b-256 69ee203cdd9f3864f40199fb3980baa5ea82bdea4d7c62bea8e100c924f2faa0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page