Face and Car detector from video streams using Computer Vision with Face Recognition and Car Number Plate detection for integration with MQTT and Home Assistant
- Records video on motion detection
- Detect faces and cars
- Train recognising faces from image files
- Detect and OCR Car Number plates
- Publish events and snapshots to MQTT
- integration with Home Assistant
- extensive user configurable parameters for tuning video sources to correct false positives
This project is still under-development.
Further updates and documentation improvement are coming soon.
git clone https://github.com/joelee/camwatch.gitcd camwatch- Install
uv: https://docs.astral.sh/uv/getting-started/installation/ - Install native build/runtime dependencies required by OpenCV, dlib, and Tesseract on your system
uv venv --python 3.14.3uv syncrequirements.txtis deprecated and only kept temporarily for compatibility- Face recognition is optional on Python 3.14 for now; try
uv sync --extra faceonly after installing native build tooling and validatingdlib
cp config/camwatch-quick_start.yaml config/camwatch.yaml- Edit and customise
config/camwatch.yaml - see
camwatch-defaults.yamlfor more settings
uv run python src/capture.py {channel_name}
- Set the path of your training data in the configuration:
services.face_recognition.location - Install the optional face stack first:
uv sync --extra face - Add the face photos under named sub-folders, e.g.:
john/john_photo1.jpgjohn_photo2.jpg
jill/jill_photo1.jpgjill_photo2.jpg
- Start trainer:
uv run python src/face_trainer.py
