Facial Recognition Demo
Capstone project by Thavanish. B — XII B1, MVM 2025–26. The model uses 128-dimensional face
embeddings (via face_recognition + dlib) to register, identify, and verify faces.
How it works
Every face gets converted into a compact 128-number vector called an embedding. Two photos of the same person produce embeddings that are close together in mathematical space. Two different people produce embeddings far apart. The model compares distances and uses a threshold of 0.55 to decide whether there's a match.
The pipeline: face detection (HOG) → alignment → CNN feature extraction → cosine/Euclidean distance comparison. Same four steps as Apple Face ID and most other deployed systems — just at a smaller scale.
Register
Add a face to the database by uploading a photo and giving it a name.
Identify
Upload a photo and search the database to find the closest match.
Verify
Upload two photos and check whether they show the same person.
Project context
This demo accompanies the capstone report on facial recognition technology — how it works, where it's deployed, and why the bias and privacy problems are worth taking seriously. The backend is Python (FastAPI + face_recognition), the frontend is Astro, deployed to Cloudflare Pages.