An attendance tracking system using facial recognition is a system that can identify and verify the identity of individuals based on their facial features. The system operates by capturing an image of an individual's face, detecting the face, recognizing it with a database, and marking attendance. This technology offers a more efficient and accurate way of tracking attendance compared to traditional methods.
- One of the main benefits of this project is that it would eliminate the need for manual attendance tracking, which can be time-consuming and prone to errors.
- It would also provide a more secure and reliable method of attendance tracking, as it would be difficult for individuals to forge or manipulate their attendance records.
- Additionally, the system could potentially be integrated with other systems, such as time and attendance tracking or access control, to provide a more comprehensive solution for managing attendance and security.
- Pandas
- Numpy
- OpenCV
- Haarcascade Frontalface Algorithm
- Caffe Model
- Pytorch Framework
- Pickel
- SVM
There are four modules or codes with different functionalities and operations as part of this project.
Each module was designed to perform a specific set of tasks
or functions and was built using a combination of algorithms and frameworks.
The four modules are:-
This part of the code creates the data set of students in a class. With the help of this data set the AI model was trained. It automates and speeds the process of data entry. It also gives commands to retrain the AI model automatically when a new student is registered. Python libraries used were imutils, time, cv2, csv, os. It uses the Haarcascade Frontalface Algorithm to detect whether a face is in the camera frame or not, OpenCV was used to capture the photos using the webcam and CSV was used to store data of students.
An embedding is a relatively low-dimensional space into which we can translate high-dimensional vectors.Here face embedding is used. By creating face embeddings we are converting a face image into numerical data. That data is then represented as a vector in a latent semantic space. The closer the embeddings are to each other in the latent space, the more likely they are of the same person. Extracting facial embeddings was done using pytorch model for feature extraction. Caffe deep learning model is used for detecting faces from the images.
Training of the ML model. This part of the code was used to train the computer to recognize the faces. In this phase, the model was fed a large dataset of images of enrolled individuals, along with labels identifying each person. The model used this information to learn how to recognize and differentiate between different faces. The SVM (Support Vector Machine) algorithm was used to train the model, as it is known for its effectiveness in image classification tasks. During the training process, the model was tested on the dataset to evaluate its accuracy and fine-tune its parameters.
This code is responsible for detecting and identifying faces that are captured in real time by a camera. To improve the accuracy of the recognition, the record data generated by the AI is processed through a custom-designed algorithm that filters out any incorrect predictions This helps to ensure that the output is more accurate and reliable. Once the recognition process is complete, a CSV file is generated that contains the attendance records for each student. This file is used to mark the attendance of the students, based on whether their face was recognized by the AI.
The addendance is marked for the person whose face is recognized by the system for the duration of more than 75% of the class timing.
This system is initialized automatically everyday.