-
Notifications
You must be signed in to change notification settings - Fork 20
Home
Baurzhan Atinov edited this page May 14, 2026
·
1 revision
Full face stack that runs in the browser. Detection, 576-point 3D mesh, recognition, anti-spoof, smile, pulse — all WebAssembly, zero servers, weights are AES-256-GCM encrypted.
🎬 Live Demo · Source · Apache 2.0
| Browser Quickstart | 30-line copy-paste recipe to embed FaceX in any web app |
| Training Recipes | Reproduce every shipped model from scratch (recognition, detector, landmarks, mesh, smile) |
| nn2 Architecture | The pure-C inference engine: GEMM 6×32, AVX-512 ASM, runtime SIMD dispatch |
| Encrypted Weights | Serve AES-encrypted models without leaking IP, with backend key endpoints |
| Comparison vs Alternatives | FaceX vs AWS Rekognition / Azure Face / MediaPipe / InsightFace / FaceTec |
| Roadmap | What ships next: ESP32-P4, iMX NPU, Apple Silicon SME, smile/age/emotion |
| Component | Size | Speed | Source |
|---|---|---|---|
| Face detector (ours, WIDER FACE) | 401 KB | ~1 ms | this repo |
| 98-pt landmarks (ours, WFLW) | 1.1 MB | ~4 ms | this repo |
| 576-pt 3D mesh (ours, MP distill) | 5.6 MB | ~8 ms | this repo |
| Recognition (ours, 4 variants) | 0.8–8.4 MB | 1.4–3 ms | this repo |
| MiniFASNet anti-spoof | 2 × 1.7 MB | 1.4 ms (ensemble, nn2) | MinivisionAI Apache 2.0 |
| Smile classifier (ours) | 187 KB | <2 ms | this repo |
All weights AES-256-GCM encrypted, decrypted in-browser via WebCrypto.
- 6 trained classifiers, F1 0.95+ across the binary ones
- 1.5–2× faster than ONNX Runtime via nn2
- 0 servers required for the browser pipeline
- ~$0/mo at any traffic level (vs ~$3K/mo at 100 K MAU on AWS Rekognition)
- Compliance-friendly: frames never leave the device
Contact: bauratynov@gmail.com