Database Facial Comparison

Know who's at the door — on your own hardware.

DBFComp watches your NVR cameras, compares each face against the people you've enrolled, and sends a Discord alert with a clean close-up. Self-hosted, private, and cross-platform.

macOS (CoreML) · Windows + NVIDIA (CUDA) · Python · ONNX Runtime

Features

Everything stays on your network

No cloud, no third-party face database. DBFComp only recognizes the people you choose to enroll.

🔒

Private by design

Runs entirely on your own machine. Unknown faces never leave your network — they're only used to ask you who they are.

📷

Works with your NVR

Listens for the camera's motion push, then pulls the frame over ONVIF/RTSP. No cloud subscription required.

💬

Discord alerts

Get a sharp close-up and a caption the moment someone's seen — plus slash commands to enroll, rename, and review from your phone.

⚙️

Lite · Standard · Max

Pick a model tier for your hardware — a tiny CPU model up to AdaFace IR-101 on a GPU. One setting swaps the whole stack.

Clean close-ups

Optional GFPGAN restoration turns a blurry, compressed camera frame into a crisp, identifiable face.

🖥️

Cross-platform

GPU-accelerated on Apple Silicon (CoreML) and Windows + NVIDIA (CUDA), with a CPU fallback everywhere.

How it works

From motion to alert in one pass

01

Motion push

The NVR POSTs a motion event to DBFComp's local listener.

02

Grab the frame

ffmpeg pulls a fresh frame from that camera over RTSP.

03

Compare

The face is detected, embedded, and matched against your enrolled database.

04

Alert

Known or unknown, you get a Discord message with an enhanced close-up.

Model tiers

Match the model to your machine

Set MODEL_TIER in your config. Switching the recognizer just needs one rebuild-db to re-embed your enrolled faces.

TierRecognizerBest for
liteEdgeFace-S + YuNetOld machines / Raspberry-Pi-class CPUs
standardInsightFace (glintr100)The proven default — balanced accuracy
maxAdaFace IR-101A real GPU; highest accuracy

Consensual recognition only. DBFComp identifies people you deliberately enroll — household members and known visitors. It does not identify strangers against any external or internet database. Everything is processed and stored locally.