Camera AI / Object Detection
CodeProject AI, DOODS, Compreface — bolt-on object & face detection for cameras.
The "spot a person, ignore the cat" layer. Frigate has its own detector pipeline; these are alternatives or complements when you need face recognition, license-plate reading, or a centralized detector that several NVRs share. For Frigate itself see Cameras & NVR; for other AI / LLMs see AI / LLM.
Detector services (HTTP API for "is this a person?")
- ★ CodeProject AI Server — successor to DeepStack (which is sunset). Self-host detector with HTTP API; Blue Iris and others integrate directly. Modules for object detection, face recognition, license plate, sentiment.
- DeepStack — sunset / no maintenance since DeepQuestAI pivoted in 2023. Don't pick for new deployments; CodeProject AI is the replacement.
- ★ DOODS (Dedicated Open Object Detection Service) — Go-based; gRPC + HTTP; runs TFLite, TensorFlow, EdgeTPU models; the "tiny detector microservice" of choice.
- Frigate built-in detector — the default if you're on Frigate; rarely need a separate detector unless you want face/plate recognition.
Face recognition
- ★ CompreFace (Exadel) — open-source face recognition; web UI; REST API; ~95 % accuracy with default models; HA integrations. Self-host.
- Double Take — middleware that takes Frigate clips, runs them through CompreFace / DeepStack / CodeProject AI for face recognition, then publishes results to MQTT. The glue between Frigate and a face engine.
- face_recognition (
ageitgey) — Python lib on dlib; classic; great for one-off scripts.
License plate (ALPR)
- ★ OpenALPR — open-source ALPR; reasonable accuracy; mostly maintained by Plate Recognizer (commercial fork).
- Plate Recognizer — commercial; very accurate; free tier (2,500 lookups/mo). Frigate has a Plate Recognizer integration.
- CodeProject AI ALPR module — bundled with the server; free; lower accuracy than Plate Recognizer.
Frigate Plus (paid, custom-trained)
- ★ Frigate Plus — submit clips from your specific cameras; receive a fine-tuned YOLO model that recognizes your mailman, your delivery van, your squirrel. ~$50/year. Funds Frigate's open-source development.
- Self-train YOLOv8/9 — Ultralytics; free; possible if you have GPU and a few thousand labelled frames. Significant time investment.
Image embeddings / semantic search (the 2026 trick)
- Frigate Search — (Frigate 0.14+) — semantic search over your detected events using CLIP embeddings. "show me the white delivery van from yesterday."
- CLIP-as-service / Embed4 / openCLIP — host a CLIP embedding endpoint; index Frigate's event thumbnails into a vector DB (see Vector Databases).
- Local LLM vision (LLaVA, Qwen2-VL, Llama 3.2 Vision via Ollama) — pass a still image and ask "describe this." HA's LLM integrations chain it for "tell me what's at the door."
Practical guidance
- ★ Run the detector on the same box as the NVR if possible. Network latency dwarfs detector latency once you cross hosts.
- Don't face-recognize every frame. Run face recognition only on Frigate's
personevents — orders of magnitude less compute. - GPU helps for face / large YOLO; CPU is fine for "is this a car or a person."
- Privacy posture: all of these run locally; no images leave the network. CodeProject AI and Compreface both have a "no telemetry" config; verify.
- License plates are only useful if you actually need them. OCR is fragile; angles matter; consider whether a contact sensor or ANPR ALPR camera makes more sense.
Pick this if…
- Default detector beyond Frigate's built-in: CodeProject AI Server.
- Face recognition for HA: CompreFace + Double Take.
- License plate recognition: Plate Recognizer free tier (cloud) or CodeProject AI's ALPR (local, weaker).
- Custom-trained model for your scenes: Frigate Plus.
- "Search my camera footage by description": Frigate's built-in CLIP search (0.14+).