/Facial-Recognition-Attendance-System

A project to try and automate the attendance system using different techniques of Facial Recognition and Detection.

Facial-Recognition-Attendance-System

A project to try and automate the attendance system using different techniques of Facial Recognition and Detection.

Managing attendance can be a tedious job when implemented by traditional methods like calling out roll calls or taking a student's signature. A smart and authenticated attendance system needs to be implemented to solve this issue.

The face is a unique identification of humans due to their distinct facial features. Face recognition systems are helpful in many real-life applications.

In the proposed method, all the students will initially be enrolled by storing their facial images with a unique ID. At the time of attendance, real-time images will be captured, and the faces in those images will be matched with the faces in the database.

The Haar cascade algorithm is used for face detection. The local Binary Patterns Histogram (LBPH) algorithm is used for face recognition and training of the stored dataset, which generates the histogram for stored and real-time images. The difference between histograms of real-time images & dataset images is calculated for face recognition. Attendance of the student is automatically updated in the excel sheet.

Aims and Objectives

The objective of this project is to develop a face recognition attendance system. Expected achievements to fulfill the objectives are:

1- To detect the face segment from the video frame.

2- To extract the useful features from the face detected.

3- To classify the features in order to recognize the face detected.

4- To record the attendance of the identified student.

image

image

Scope of the project:

For the initial development phase, i have divided the project into three modules.

In the first module, I experimented with some facial detection techniques and assessed different classification algorithms such as PCA, LPB and LDA for facial recognition in order to find the best one for our final model.

In the second module, i developed the project using the Haar cascade technique for facial detection and LBPH for facial recognition.

In the third module, i have used transfer learning to develop a more accurate model.

The project presents a prototype of the main idea, which is to take real-time attendance using facial recognition. So currently, i have used the laptop's inbuilt camera, which can later be replaced with CCTV cameras and other camera modules. For the GUI, I have used Tkinter to make it easier for the user to test the model while experimenting. Apart from that, an excel sheet is created automatically for the present day (which shows the students attendance) and is directly mailed to the respected faculty using YAGMAIL in python.

GUI

image

Face Detection

image image image

Database

image

Face Recognition

image image image image image image

Attendance

image

Auto Mail

image

CONCLUSION

Module 1-

image

Module 2-

For detection, Paul–Viola Jones algorithm is used and for face recognition Linear Binary Pattern Histogram (LPBH) algorithm is applied. In the result, the unique ID and name of the student is displayed along with the confidence percentage. Confidence percentage represents the distance between the histogram of the stored image and histogram of the real time image , and is calculated by using Euclidean distance. Lower is the distance, higher is the recognition rate.

Module 3-

I tried to explore transfer learning and see the accuracy obtained on using pretrained models by using MediaPipe in dlib library for face detection and the openCV Face_Recognition library for face recognition respectively . It was observed that though the frame rate was considerably less but the accuracy increased immensely.

FUTURE SCOPE

1-To increase the accuracy of the model trained in module 2 we can experiment with other classifiers such as KNN ,SVM, apart from the distance classifier used in the project.

2- Integrating the software with the hardware components using proper camera modules such as ESP32 , and TinyML for model deployment .

3- For database ,we can use solutions such as Cloud FireStore and other real time databases. Additionally, an android application can also be developed .