Domain: Human Resource
Face recognition technology is not new to many of us. We have seen all of it in many science fiction movies where secret doors are unlocked only after a face scan. The journey from sci-fi to reality has not been any different. Today we unlock our phones using the same age-old technology. While the usage of this technology has proliferated now, it has has been around since the 1960s. It is only the recent developments and needs that has led to its massive success and growth. Not limited to the phone unlocks, face recognition technology is now being used as a path-breaking tool in many of the other industries. It is being employed for a wide range of use cases – preventing crime, protecting events, making travel more convenient, marking attendance, etc.
Problem Statement:
Building a highly efficient and robust attendance system using face recognition
Technology and Situation Overview:
In the recent past, automatic face recognition technologies have changed the way we function by bringing in many improvements. Today, a human face is not just meant to be for social interaction but is also extensively utilised by devices to perform certain actions.
At a corporate or a business level, smart attendance using real-time face recognition is a real-world solution which comes with day-in-day-out activities of handling manpower at work. This simply means that it is a process to recognise the employee face for marking attendance by using face biometrics based on high-definition monitor video and other information and data technologies. The technology follows three steps in order to mark an attendance – face detection, face capture, and face match! There is no need for one to punch-in or punch-out, capturing face recognition app does it all.
Why should we solve this problem?
Decreasing the turn-around-time to capture attendance. The fastest and most accurate way to capture attendance real-time
How did we solve this problem?
Our solution includes two parts:
- Face Detection: We used a pre-trained MTCNN model to detect the faces.
- Face Recognition: We used a pre-trained FaceNet model trained on VGGFace2 to recognize the faces.
Inference Pipeline on a Live Video Stream:
We have made a web application which consists of two parts :
- Registration: This registration page is made to register new onboarding people in the organization. So when a new person is detected his face is passed through our MTCNN model and then the detected face is passed through our Facenet Model to generate the face embeddings for the newly onboarded person. This generated embedding list is then maintained in an Annoy CSV file.
- Attendance: Through the attendance page we continuously send a live video feed to our backend code. Where each frame of the video is passed through the MTCNN model to detect the faces. And then these detected faces are then passed to our FaceNet model for recognising those faces and marking attendance.
What technologies did we use?
- Python
- Pytorch
- cv2
- PIL
- numpy
- pandas
- Flask
- js
- Google Cloud.
What was the business Impact:
- Developed using state-of-art face detection and recognition models, it has an accuracy measure of 99.63%
- Error-free attendance marking as no manual intervention is required
- No need for specialized hardware for installing the system in the office
- Contactless experience