ArcFace Facial Recognition System on Raspberry Pi
Overview
While optimizing warehouse algorithms at WinTrust, I encountered a different form of uncertainty — operational friction that models alone could not resolve. At sorting stations, a manual login process repeatedly slowed workflows, turning small delays into system-wide inefficiencies. I launched an internal startup to address this, developing a low-cost automated access system running on Raspberry Pi hardware.
Motivation
The problem was deceptively simple: workers had to manually authenticate at sorting stations before beginning tasks. Individually, each login took only seconds. But across 20+ stations running continuously, these micro-delays compounded into measurable throughput losses. The challenge was to build something that was fast, accurate, and cheap enough to deploy at scale on constrained hardware — no cloud inference, no expensive GPUs.
Technical Approach
Lightweight ArcFace-Style Embeddings
Rather than using a full-scale face recognition model, I designed lightweight ArcFace-style embeddings tailored to the constrained compute budget of a Raspberry Pi. The embedding network was optimized for the specific deployment context — controlled indoor lighting, limited pose variation, and a relatively small gallery of enrolled workers.
Open-Set Thresholding
A critical requirement was handling unknown individuals. Standard closed-set classifiers would force a prediction even for unrecognized faces. I implemented open-set thresholding on the embedding distance, ensuring that unknown individuals are rejected rather than misclassified — a necessity in an access-control context where false positives have real consequences.
Multi-Frame Verification
To ensure reliability under varying lighting conditions and angles, I built a multi-frame verification pipeline. Rather than relying on a single frame, the system aggregates predictions across multiple frames before granting access, dramatically reducing the false acceptance rate without noticeably increasing latency.
Edge Deployment on Raspberry Pi
The entire pipeline — face detection, embedding extraction, distance computation, and multi-frame aggregation — was optimized to run on a Raspberry Pi. Prioritizing speed and feasibility, I used model quantization and efficient pre/post-processing to keep inference latency within acceptable bounds for a real-time access system.
Product Lifecycle
I managed the complete product lifecycle from conception to deployment:
- Scoping: Identified the bottleneck through on-site observation during the warehouse logistics project
- Prototyping: Built initial proof-of-concept on a single station, iterating on embedding architecture and threshold tuning
- Stakeholder negotiation: Negotiated with site managers to pilot the system across multiple locations
- Deployment & iteration: Rolled out across 20 stations, incorporating feedback on edge cases (e.g., workers wearing masks, varying lighting shifts)
Results
- Deployed across 20 sorting stations with over 99% recognition accuracy
- Achieved a 14.8% efficiency boost in station throughput
- Demonstrated feasibility of production-grade computer vision on sub-$100 hardware
- System operated reliably across varying lighting conditions and shift schedules
Key Takeaway
This project showed me that professional impact depends on more than model accuracy — it requires identifying the right problem, operationalizing a solution within real constraints, and managing the full lifecycle from idea to deployment. The experience bridged my technical work in uncertainty-aware modeling with the practical reality of shipping a product.