- Python 3.11.9 (x64) (newer not tested)
- Intel NPU Driver (Windows)
- Microsoft Visual C++ Redistributable (x64)
Downloads:
- Python 3.11.9: https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe
- Intel NPU Driver: https://www.intel.de/content/www/de/de/download/794734/intel-npu-driver-windows.html
- VC++ Redist (x64): https://aka.ms/vs/17/release/vc_redist.x64.exe
Open PowerShell in the project folder and run:
py -3.11 -m venv obf
.\obf\Scripts\activate
python -m pip install -U pip
pip install -r requirements.txtpython start.pyExample output:
Starting main.py...
INFO obf.main: Starting server on 0.0.0.0:32168
INFO uvicorn: Started server process [1900]
INFO uvicorn: Waiting for application startup.
INFO obf.main: Startup: Pipeline disabled via config.
INFO uvicorn: Application startup complete.
INFO uvicorn: Uvicorn running on http://0.0.0.0:32168 (Press CTRL+C to quit)
INFO uvicorn: <client-ip>:<client-port> - "WebSocket /ws" [accepted]
INFO uvicorn: connection open
Do not expose this to the internet (no port forwarding) without proper protection such as VPN / reverse proxy / authentication.
-
Model Manager
- Select models:
yolo11s,yolov8n-face,w600k_mbf - Start Download Selected
- Wait until the job finishes and Restart Server
- Select models:
-
Unknown Faces
- Goto Dashboard -> Faces -> "name for new person" -> "+ New Person"
-
Face DB Tools
- Run Rebuild Database
- Wait until the job finishes without errors
- Dashboard → enable "AI Pipeline Master Switch" → Save & restart server
- Change settings in the GUI as needed
- After Save & Apply it will performe a restart
- Use Quicktest and run a few images through it
To reliably identify which camera is used in OBF, a small workaround is needed:
In Blue Iris, assign a different AI model to each camera.
(OBF determines the actual model internally — this is only to distinguish cameras inside BI.)
Path:
- Camera Settings → AI
- Enable Additional models
- Enable Override global list
- Set a unique model name per camera
This project can process face crops and embeddings and may populate folders such as unknown_faces/ or enroll/.
Make sure you comply with applicable privacy laws (e.g., GDPR) when using real camera data, and do not share personal/biometric data.
This project is licensed under the GNU Affero General Public License v3 (AGPL-3.0).
Third-party notes:
- YOLO/Ultralytics is used as a dependency; their licensing is also AGPL-3.0 (with a commercial alternative offered by the vendor).
- OpenVINO is used as a dependency (Apache-2.0).
See LICENSE and any additional notes in the repository.
- Python 3.11.9 (x64) (neuere versionen nicht getestet)
- Intel NPU Driver (Windows)
- Microsoft Visual C++ Redistributable (x64)
Downloads:
- Python 3.11.9: https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe
- Intel NPU Driver: https://www.intel.de/content/www/de/de/download/794734/intel-npu-driver-windows.html
- VC++ Redist (x64): https://aka.ms/vs/17/release/vc_redist.x64.exe
Öffne PowerShell im Projektordner und führe aus:
py -3.11 -m venv obf
.\obf\Scripts\activate
python -m pip install -U pip
pip install -r requirements.txtpython start.pyBeispiel-Output:
Starte main.py...
INFO obf.main: Starting server on 0.0.0.0:32168
INFO uvicorn: Started server process [1900]
INFO uvicorn: Waiting for application startup.
INFO obf.main: Startup: Pipeline disabled via config.
INFO uvicorn: Application startup complete.
INFO uvicorn: Uvicorn running on http://0.0.0.0:32168 (Press CTRL+C to quit)
INFO uvicorn: <client-ip>:<client-port> - "WebSocket /ws" [accepted]
INFO uvicorn: connection open
Bitte nicht ohne Auth/VPN/Reverse Proxy ins Internet exponieren (kein Port-Forwarding).
-
Model Manager
- Modelle auswählen:
yolo11s,yolov8n-face,w600k_mbf - Download starten
- Warten, bis der Download ohne Fehler abgeschlossen ist, danach neustarten
- Modelle auswählen:
-
Unknown Faces
- Dashboard -> Gesichter -> "Name der Person" -> "+ Neue Person"
-
Face DB Tools
- Datenbank neu berechnen starten
- Warten, bis der Job ohne Fehler abgeschlossen ist
- Dashboard → "KI-Pipeline Hauptschalter" aktivieren → Speichern & Server neustarten
- In der GUI die gewünschten Einstellungen setzen
- Nach Save & Apply ggf. Restart durchführen
- Quicktest verwenden und ein paar Testbilder durchlaufen lassen
Um die verwendete Kamera in OBF eindeutig zuzuordnen, ist aktuell ein kleiner Workaround nötig:
In Blue Iris muss pro Kamera ein unterschiedliches AI-Model zugewiesen werden.
(OBF selbst entscheidet intern, welches Modell verwendet wird – das ist nur zur Unterscheidung in BI.)
Pfad:
- Camera Settings → AI
- Additional models aktivieren
- Override global list aktivieren
- Ein eindeutiger Modellname pro Kamera vergeben
Dieses Projekt kann Gesichtsausschnitte und Embeddings verarbeiten und Ordner wie z. B. unknown_faces/ oder enroll/ befüllen.
Bitte beachte bei realen Kameradaten die geltenden Datenschutzgesetze (z. B. DSGVO) und teile keine personenbezogenen/biometrischen Daten.
Dieses Projekt steht unter der GNU Affero General Public License v3 (AGPL-3.0).
Hinweis zu Drittkomponenten:
- YOLO/Ultralytics wird als Dependency genutzt; deren Lizenzmodell ist ebenfalls AGPL-3.0 (bzw. kommerzielle Alternative durch den Hersteller).
- OpenVINO wird als Dependency genutzt (Apache-2.0).
Siehe LICENSE und ggf. Hinweise im Repository.