Methods:
There are two main parts of this project. Face Detection and Face Recognition.
Face Detection: Tensorflow re-implementation of Deep Learning based cutting-edge face detection model RetinaFace is used for detecting Faces. It can detect face region as well as 5 facial landmarks that help to align the faces for better performance.
Face Recognition: Implementation of ArcFace Face Recognition algorithm is used which includes a Resnet-50 based model and Additive Angular Margin Loss function. The model has been converted to Tensorflow lite which significantly increases the speed of inference.
Face Detection model detects and crops all the face regions in an image, and Face Recognition model generates 512-d embedding vector for each cropped faces.
Similarity between generated embeddings and Images stored in Face Databases is measured by calculating cosine distance.
Attendance Information Automatically stored in Database