Go to file
deepsource-autofix[bot] 541846af8e
style: format code with Black
This commit fixes the style issues introduced in e62565d according to the output
from Black.

Details: None
2024-02-16 19:32:24 +00:00
.devcontainer Add devcontainer config 2023-12-02 21:32:53 -06:00
.github/workflows Added facial recognition confidence threshold 2023-10-22 16:45:01 -05:00
.vscode Multiple sources can now be used 2024-02-16 12:34:39 -06:00
faces Create Deepface Jupyter Notebook 2023-10-13 20:51:16 -05:00
wyzely_detect style: format code with Black 2024-02-16 19:32:24 +00:00
.Dockerfile.old Fixed Docker support and updated README.md 2023-10-14 22:31:48 -05:00
.deepsource.toml ci: update .deepsource.toml 2024-02-16 19:32:13 +00:00
.dockerignore Fixed Docker support and updated README.md 2023-10-14 22:31:48 -05:00
.gitignore Fix representations_<model>.pkl not being created 2023-10-22 16:20:57 -05:00
.python-version Python `3.10.12` seems to work well 2024-02-16 12:48:52 -06:00
Dockerfile Add details on installing from PyPi in README 2023-10-27 12:54:28 -05:00
LICENSE Update LICENSE (GPLv3 -> AGPLv3) 2024-02-02 17:42:52 -06:00
README.md Made GPU capability toggleable 2024-02-11 14:27:05 -06:00
deepface-test.ipynb Fixed unknown face causing error 2023-11-02 19:54:55 -05:00
docker-compose.yml Add details on installing from PyPi in README 2023-10-27 12:54:28 -05:00
poetry.lock Supress TensorFlow warnings; update dependencies 2024-02-11 15:41:46 -06:00
pyproject.toml Supress TensorFlow warnings; update dependencies 2024-02-11 15:41:46 -06:00

README.md

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