Go to file
slashtechno 401c5cee16
Don't install TensorFlow with `and-cuda`
Most likely, this will prevent the GPU from being used by Deepface.
Thus, the optimal solution would be to do something similar to Torch where the GPU capability is optional.
2024-02-10 21:48:26 -06: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 Fixed `--detect-object` when specifying multiple objects 2023-12-24 16:07:53 -06:00
faces Create Deepface Jupyter Notebook 2023-10-13 20:51:16 -05:00
wyzely_detect (untested) - Added args for multiple sources 2024-02-10 21:16:11 -06:00
.Dockerfile.old Fixed Docker support and updated README.md 2023-10-14 22:31:48 -05: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 Made PyTorch GPU functionality optional 2024-02-10 21:38:22 -06:00
Dockerfile Add details on installing from PyPi in README 2023-10-27 12:54:28 -05:00
LICENSE Change license to GNU GPL v3 2022-12-17 20:38:48 -08:00
README.md Works on MacOS? 2023-12-31 16:37:57 -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 Don't install TensorFlow with `and-cuda` 2024-02-10 21:48:26 -06:00
pyproject.toml Don't install TensorFlow with `and-cuda` 2024-02-10 21:48:26 -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
  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