Poldion Self-HostedEnglish
Teil von Poldion Self-Hosted

FaceRec

Lokale Gesichtserkennung für die Türklingel in Home Assistant: „Anna steht vor der Tür.“ Ohne Cloud, mit Lernen per Push-Knopf.

  • Python
  • FastAPI
  • ONNX Runtime
  • InsightFace
  • Home Assistant
  • AMD ROCm
Oberfläche von FaceRec mit erfundenen Personen

So funktioniert es

Beim Klingeln schickt Home Assistant das Bild an den Dienst. Er findet die Gesichter, vergleicht sie mit den bekannten Personen und antwortet mit einem Satz für Push-Nachricht oder Sprachausgabe. Unbekannte Gesichter lassen sich direkt aus der Benachrichtigung einer Person zuweisen. Ähnliche Unbekannte werden dabei gruppiert.

Für eine Flurkamera liest der Dienst auf Wunsch einige Sekunden einen Videostrom und verfolgt jedes Gesicht als Spur. So wird jede Person einmal gemeldet, auch wenn mehrere gleichzeitig kommen.

Funktionen

Schnell

~90 ms pro Bild auf der CPU, wenige Millisekunden mit AMD-GPU.

Lernt dazu

Unbekannte zuweisen, per Foto anlernen, Personen umbenennen und zusammenlegen.

Korrigierbar

„Falsch erkannt“ per Push-Knopf. Erkannte Gesichter bleiben dafür 48 Stunden.

Home Assistant

Fertiges Paket mit REST-Befehlen und Sensoren, Vorlagen für die Automationen.

Datenschutz: Gesichtsdaten sind biometrische Daten. Betreibe den Dienst nur im eigenen Netz, informiere Besucher über die Kamera und beachte die DSGVO.

Zusammenspiel

FaceRec ist ein eigenständiger Dienst für Home Assistant. Läuft er auf derselben Maschine wie der OllamaProxy, hängt er sich dort als Modul an: mit Link in der Oberfläche und Speicher in der Anzeige. Mit dem Rollenspiel-Teil der Familie hat er nichts zu tun.

Schnellstart

git clone https://github.com/Poldion/FaceRec.git && cd FaceRec
mkdir -p ~/facerec/data && cp facerec.env.example ~/facerec/facerec.env   # HA_URL und HA_TOKEN eintragen
docker compose --env-file ~/facerec/facerec.env up -d --build
# mit AMD-GPU: zusätzlich -f docker-compose.rocm.yml

Danach http://<host>:8191/ öffnen und das Paket homeassistant/facerec.yaml in Home Assistant einbinden.

Lizenz

MIT-Lizenz für den Code. Die Erkennungsmodelle von InsightFace (buffalo_l) sind nur für nicht-kommerzielle Forschung freigegeben und werden nicht mitgeliefert.