Check out my article on this blog spot, it talks about building a face recognition system that actually works in production — not a demo, not a toy, something you can put on an Android tablet mounted on a warehouse wall and walk away.
It covers the full pipeline:
- Finding the face with a lightweight RFB-320 model (1.27 MB, runs on CPU)
- Anti-spoofing to stop print and replay attacks (0.1 threshold, 13.9 MB model)
- FaceNet-style 128-dim embeddings with L2 normalization
- HNSW indexing for sub-millisecond matching at 10,000+ enrollees
- Dynamic gap-based threshold adjustment that cuts false accepts by ~30%
- Thread-safe ONNX inference with three models running sequentially
- Offline RSA-licensed deployment for factories, mines, and remote sites
- Real issues we hit: channel order bugs, semaphore starvation, per-device liveness drift, cold start latency
Read the full article here:
👉 Engineering a Cross-Platform Face Recognition Pipeline with Anti-Spoofing