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.
    • WSL, by default, does not support USB devices. It is recommended to natively run this, but it is possible to use it on WSL with streams or some workarounds.
  • 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

Installing from PyPi with pip (recommended)

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 (best for GPU support)

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

Docker

Running with Docker has the benefit of having easier configuration, the ability to run headlessly, and easy setup of Ntfy and mrlt8/docker-wyze-bridge. However, for now, CPU-only is supported. Contributions are welcome to add GPU support. In addition, Docker is tested a less-tested method of running this program.

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

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.1.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

wyzely_detect-0.2.1-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wyzely_detect-0.2.1.tar.gz
  • Upload date:
  • Size: 25.5 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.1.tar.gz
Algorithm Hash digest
SHA256 e652f46f3527d376beeeea1862238a9d4575366dfe3f19fecceff811da05dbca
MD5 08e3dd95f274b7a84aeca56955788779
BLAKE2b-256 a3db35e2a9cb6558ab657c557927e2acb1e753044ffa96159c192664809e82b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for wyzely_detect-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 79c8f15670a20c2cdb3c055e07e0dd244af8a85e119622514f82485639eca6fc
MD5 f16ddcf1af6740f627cd34a5ca874cfb
BLAKE2b-256 e0afc1d1f63282bbb4eeb039a200f562e918328d24878cbb3ad2bc17b95a671c

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