Smart Attendance Management System Using Face Reco
Smart Attendance Management System Using Face Reco
1
Dept. of Telecommunication Engineering, MUET, Jamshoro, PK
Abstract
To maintain the attendance record with day to day activities is a challenging task. The conventional method of calling
name of each student is time consuming and there is always a chance of proxy attendance. The following system is based
on face recognition to maintain the attendance record of students. The daily attendance of students is recorded subject wise
which is stored already by the administrator. As the time for corresponding subject arrives the system automatically starts
taking snaps and then apply face detection and recognition technique to the given image and the recognize students are
marked as present and their attendance update with corresponding time and subject id. We have used deep learning
techniques to develop this system, histogram of oriented gradient method is used to detect faces in images and deep
learning method is used to compute and compare feature facial of students to recognize them. Our system is capable to
identify multiple faces in real time.
Keywords: Deep learning, python, Image Processing, Face_Recognition, Electron JS, HOG.
Copyright © 2019 Kaneez Laila Bhatti et al., licensed to EAI. This is an open access article distributed under the terms of the
Creative Commons Attribution licence (http://creativecommons.org/licenses/by/3.0/), which permits unlimited use, distribution and
reproduction in any medium so long as the original work is properly cited.
doi: 10.4108/eai.13-7-2018.159713
*
Corresponding author. Email: [email protected]
Use of face recognition for the purpose of attendance
marking is the smart way of attendance management
1. Introduction system. Face recognition is more accurate and faster
technique among other techniques and reduces chance of
Every organization requires a robust and stable system to proxy attendance. Face recognition provide passive
record the attendance of their students. and every identification that is a person which is to be identified
organization have their own method to do so, some are does not to need to take any action for its identity [2].
taking attendance manually with a sheet of paper by Face recognition involves two steps, first step involves
calling their names during lecture hours and some have the detection of faces and second step consist of
adopted biometrics system such as fingerprint, RFID card identification of those detected face images with the
reader, Iris system to mark the attendance. The existing database. There are number of face detection and
conventional method of calling the names of students recognition methods introduced. Face recognition works
manually is time consuming event. The RFID card either in form of appearance based which covers the
system, each student assigns a card with their features of whole face or feature based which covers the
corresponding identity but there is chance of card loss or geometric feature like eyes, nose, eye brows, and cheeks
unauthorized person may misuse the card for fake to recognize the face [3].
attendance. While in other biometrics such as finger print, Our system uses face recognition approach to reduce
iris or voice recognition, they all have their own flaws and the flaws of existing system with the help of machine
also they are not 100% accurate [1] [19]. learning, it requires a good quality camera to capture the
images of students, the detection process is done by
histogram of oriented gradient. And recognizing perform The proposed system is designed for automating the
through deep learning. The frontend side (client side) attendance of the different organization and reduces the
which consist of GUI which is based on electron JS and flaws of existing manual system. The system calculate the
backend side consist of logic and python (server side), an attendance subject wise, that is the data of students and
IPC (Inter Personal Communication) bridge is developed subjects are added manually by administrator, and
to communicate these two stacks. The images capture by whenever time for corresponding subject arrives the
the camera is sent to system for further analysis, the input system automatically starts taking snaps and find whether
image is then compared with a set of reference images of human faces are appear in the given image or not. We
each of the student and mark their attendance. have used Histogram of Oriented Gradient for face
detection and deep learning techniques to calculate and
compare 128-d face features for face recognition. Once
faces are detected and recognize with the existing
database, system calculate attendance for the recognize
students with the respective subject id in real time. And an
excel sheet generated and saved by the system
automatically.
Figure 1. Communication between frontend and Our system splits into two parts, First the front end side
backend which consist of GUI which is based on Electron JS that
is JavaScript stack which is serving as a client and the
second is the backend side which consist of logic and
based on Python which is serving as a server. And we
2. Related Work know that both the languages cannot communicate with
each other directly so we have used IPC (Inter Personal
In recent years, a number of face recognition based Communication) techniques with zero library as a bridge
attendance management system have introduced in order to communicate these two languages. The Electron JS call
to improve the performance of students in different the python functions and interchange data via TCP with
organization. In [4] Jomon Joseph, K. P. Zacharia help of Zero PC Library.
proposed a system using image processing, PCA, Eigen
faces, Microcontroller, based on Matlab. Their system
works only with front face images and there is need of a 3.1 Data Acquisition
suitable method which works with the orientation of the
system. Ajinkya Patil with their fellows in [5] proposed a 3.1.1 Image acquisition: Image is acquire using a high
face recognition approach for attendance marking using definition camera which is placed in the classroom. This
Viola jones algorithm, Haar cascades are used to detect image is given as an input to the system.
faces in images and recognition performs through Eigen
face method. Another approach of making attendance 3.1.2 Dataset Creation: Dataset of students is created
system easy and secure, in [6] the author proposed a before the recognition process. Dataset was created only
system with the help of artificial neural networks, they to train this system. We have created a dataset of 5
used PCA to extract face images and testing and training students which involves their name, roll number,
were achieved by neural networks, their system performs department and images of student in different poses and
in various orientation. A 3D face recognition approach for variations. For better accuracy minimum 15 images of
attendance management system was proposed by each students should be captured. Whenever we register
MuthuKalyani.K, VeeraMuthu.A [7] has proposed, they student’s data and images in our system to create dataset,
marked attendance with monthly progress of each student. deep learning applies to each face to compute 128-d facial
There is need for an alternative algorithm which can features and store in student face data file to recall that
enhance the recognition on oriented faces. Efficient face in recognition process. This process is applies to each
Attendance Management system is designed with the help image taken during registration.
of PCA algorithm [8], the have achieved accuracy up to
83% but their system performance decreases due to 3.1.3 Storing: We have used JSON to store the student’s
slightly changes in light condition. An eigen face data.
approach along with PCA algorithm for marking face
recognition attendance system have introduced by author JavaScript Object Notation (JSON): To represent a
in [9], they mention comparison of different face structured data based on JavaScript object syntax, a
recognition algorithm in their paper. Overall it was good standard text based format is introduced. JSON is used for
approach to maintain record of attendance. transmitting data in web application. It is a perfect
solution for storing temporary data that’s consumed by
the entity that’s creates the data. JSON can store data in
3. Methodology String, Number, Object, Array, Boolean, Null form which
means it has limitation of storing data in functions, dates
and undefined data form. If you are trying to store or 3.3 Attendance Marking
exchange data in functions or dates than JSON is not right
choice for you. Once the face is identify with the image stored in JSON
file, python generate roll numbers of present students and
return that, when data is returned, the system generates
3.2 Face recognition process
attendance table which includes the name, roll number,
date, day and time with corresponding subject id. And
then passes the data to python to store the table into an
excel sheet automatically. Each sheet is saved according
to the subjects which already entered by the administrator,
for example when system generates excel sheet by
sending the compiled sheet in an array to python, the
python first checks whether there exit any excel sheet of
that date, if yes then it create separate worksheet by
subject id, so that attendance is differentiated for different
subjects.
• Student Registration
3.2.4 Face matching: This is last step of face recognition • Face Recognition
process. We have used the one of the best learning • Addition of subject with their corresponding time.
technique that is deep metric learning which is highly • Attendance sheet generation and import to Excel
accurate and capable of outputting real value feature (xlsx) format.
vector. Our system ratifies the faces, constructing the 128-
d embedding (ratification) for each. Internally To initialize this system, the administrator first register
compare_faces function is used to compute the Euclidean their student data along with their name roll number and
distance between face in image and all faces in the department. We have created a training dataset of 6
dataset. If the current image is matched with the 60% students (total of 120 images for each) for testing purpose.
threshold with the existing dataset, it will move to
attendance marking.