0% found this document useful (0 votes)
25 views

Auto Attendence

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Auto Attendence

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/350925954

Development of an Automatic Class Attendance System using CNN-based


Face Recognition

Conference Paper · December 2020


DOI: 10.1109/ETCCE51779.2020.9350904

CITATIONS READS

13 2,890

4 authors:

Soumitra Chowdhury Sudipta Nath


Chittagong University of Engineering & Technology Chittagong University of Engineering & Technology
2 PUBLICATIONS 13 CITATIONS 2 PUBLICATIONS 13 CITATIONS

SEE PROFILE SEE PROFILE

Ashim Dey Annesha Das


Chittagong University of Engineering & Technology Chittagong University of Engineering & Technology
20 PUBLICATIONS 175 CITATIONS 21 PUBLICATIONS 175 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Ashim Dey on 30 June 2021.

The user has requested enhancement of the downloaded file.


Development of an Automatic Class Attendance
System using CNN-based Face Recognition
Soumitra Chowdhury1, Sudipta Nath2, Ashim Dey3 and Annesha Das4
Department of CSE
Chittagong University of Engineering and Technology
Chittagong-4349, Bangladesh.
Email: [email protected], [email protected], [email protected], [email protected]

Abstract— We are living in the 21st century which is the era differentiated from other biometric systems using fingerprint,
of modern technology. Many traditional problems are being voice or iris recognition. Even if facial recognition systems as
solved using new innovative technologies. Taking attendance a biometric application have lesser accuracy than fingerprint
daily is an indispensable part of educational institutions as well and iris recognition, it is widely used because of its non-
as offices. It is both exhausting and time-consuming if done contact, lower time-consuming and non-interfering process [1,
manually. Biometric attendance systems through voice, iris, and 11]. Nowadays, it has also become desired as a marketing and
fingerprint recognition require complex and expensive commercial authentication tool. Advanced human-computer
hardware support. An auto attendance system using face interaction, video surveillance, automatic indexing of images,
recognition, which is another biometric trait, can resolve all
video database etc. are some other applications of facial
these problems. This paper represents the development of a face
recognition based automatic student attendance system using
recognition [12].
Convolutional Neural Networks which includes data entry, Here, in this work, the intention was to detect faces and
dataset training, face recognition and attendance entry. The recognize them in real-time for effortless recording of
system can detect and recognize multiple person’s face from attendance. The main objectives of this work are:
video stream and automatically record daily attendance. The
proposed system achieved an average recognition accuracy of  To detect faces from real-time video stream.
about 92%. Using this system, daily attendance can be recorded  To develop a machine learning model to recognize a
effortlessly avoiding the risk of human error. person from a pre-trained dataset.
 To record attendance after recognition for future use.
Keywords—Face Detection and Recognition, Automatic
Attendance, Convolutional Neural Network, Image Processing. The rest of the paper is summarized as follows. Related
literature and studies are presented in Section II. The proposed
I. INTRODUCTION system is described in Section III. In Section IV, implemented
Recording the daily attendance of students in all system’s Graphical User Interface (GUI) is presented. Results
educational institutions is a major concern. In the traditional are discussed in Section V. And the paper is concluded in
attendance system, a person has to check one by one if Section VI.
someone is absent or not which is very time-consuming. In
other ways, everyone puts their signature on an attendance II. LITERATURE REVIEW
sheet which is not also appropriate as anyone can easily copy In recent times, different techniques, methods and
signatures for others [1]. An automatic attendance system can algorithms have been used to perform facial recognition and
reduce all the complexities. In this work, we have developed increase the accuracy of facial recognition.
a biometric artificial intelligence (AI) based system that will
In [6], the authors developed a real-time multiple face
be advantageous in educational/official sectors where regular
recognition system using deep learning on embedded GPU.
attendance is greatly needed.
Convolutional Neural Network (CNN) based face recognition
A facial recognition system is a technology which can with face tracking and deep CNN face recognition algorithm
identify or authenticate a person from a digital image or a have been used for the system. In [13], an automatic student
video stream from a video source. These systems operate in attendance system was proposed that can be utilized in small
different methods. Usually, they compare extracted facial and crowded classrooms. In this model, after the training
features from an input image of human faces within a database stage, the user, e.g. the teacher, can get the attendance by
to recognize a person. It can also be defined as a biometric AI taking one or multiple images of the classroom using his/her
based application which can recognize a person uniquely by smartphone. The implemented system detects the faces in the
investigating the texture patterns and shape of the person’s images and recognizes which students are present in order to
face. Through face recognition models, the application mark the attendance. But real-time video attendance was not
identifies a person and saves the record. possible with this system.
In recent years, face recognition from stationary and The Bilateral Filter, Haar-like features [14] techniques
moving images has been an active and demanding research were applied to identify the model of the human face in [15].
area in the field of image processing, pattern recognition and The Simplified Fuzzy Adaptive Resonance Theory Map
so on [2-6]. At first, images with different postures of an Neural Network (SFAM-NN) method has been compared to
individual are collected as a training dataset. After that, face the Cascade Classifier Adaboost method to evaluate the
recognition is done for input facial images depending on their efficiency of the proposed method. In [16], the authors
intensity value estimation. As a form of computer application, implemented a system where the Viola and Jones algorithm
face recognition is being widely used in recent times on [17] has been utilized for detecting face bounding box,
mobile platforms [7, 8]. It has also seen wider uses in other constrained local model-based face tracking and face
technological forms, such as robotics [9, 10]. It is generally landmark identification algorithms. It is also called the
applied as access control in security systems. This can be AdaBoost algorithm for face recognition. To perform facial
recognition in this model, Principle Component Analysis So, the system is already set to be used any time after the
(PCA) has been used. In [18], an automatic attendance student’s data have been entered.
management system was proposed using face recognition Fig. 1. Data Entry Process
algorithms. A camera at the doorway captures students’ image
while entering into the class. But, that system faced limitations 2) Dataset Training: This step is automatically done after
as it could not define two persons at the same time.
For the proposed system, we have used CNN architecture
to detect faces and train the system.
III. PROPOSED SYSTEM
A. System Overview
The goal of the proposed automatic class attendance
system is to detect the faces of each student from a video
stream and then recognize the faces by cross-referencing the
detected faces with the ones stored in the system. This system
also has the ability to detect and recognize multiple people on
the screen automatically in real-time from the video stream. the Data Entry stage. But the system also has the option of
The system starts by capturing the students’ facial data and manually activating this stage at any point. The training is
storing them with their appropriate labels to create a dataset. done by a triplet training step. This method consists of three
For recognizing faces, CNN model is used. Although different face images, two of which belong to the same
Histogram of Oriented Gradient (HOG) method can also be person. The CNN extracts 128 facial measurements, called
used for detecting the faces, this method is less accurate than embeddings from each face. These are stored as 128-d
CNN and also requires the captured face to be completely vectors. For the two images belonging to the same person, the
straight in relation to the camera in order to be detected [19].
CNN tweaks their weights to make the vectors closer while
The dataset is then trained for the next step. The system is then
connected to a video source, which is placed at a convenient also making them slightly further away than the third picture.
position in the classroom. The system then analyzes the video This whole process is done using the face_encodings function
stream and detects the faces of the students present in the of the face_recognition library. The extracted data is then
classroom. The detected faces are then compared to those stored as a pickle file, which is used later for comparing and
from the trained dataset. This is the recognition stage. The recognizing faces in the next stage. This step also
recognized students’ data is then saved in an excel sheet, automatically creates a spreadsheet that contains the names
which marks their attendance. and IDs of all the students of the class, whose data has been
B. Methodology entered in the previous stage.
The different parts of the system can be grouped into four
main stages. These are: 3) Face Recognition: Fig. 2 depicts the steps of face
recognition. In this step, the system can be set up by putting
 Data Entry
 Dataset Training
 Face Recognition
 Attendance Entry
These stages are discussed in the following section.
1) Data Entry: The first step is to include the faces of the
students in the system for creating a dataset, which is shown
in Fig. 1. For this, continuous photos of each of the enrolled
students are taken by the system from a live video stream one
person at a time, along with their names and IDs. The default
setting is set to take 20 pictures at a 2 second interval from a
live video stream. It is preferred that the students have
different head positioning during this time to create a better
dataset. The setting can be changed to increase the number of
pictures taken to make a more accurate dataset. A folder for
each student is created with the corresponding student’s name
and ID as the label. Each of the pictures of faces is then saved
in that student’s designated folder. Besides this process,
previously taken pictures of the enrolled students can be
added to the dataset for making it more diverse. In this case,
the new photos will be saved in that student’s previously Fig. 2. Face Recognition Process
created folder. After every data entry, the system is
a video camera on a good position, preferably on the doorway
automatically trained using the currently available dataset.
of the classroom or inside the classroom itself where it has a
clear view of the students. The system can then detect the
faces of the students from the ongoing video stream of the B. Add
camera. The detected faces are then compared to the trained The data entry stage of the system is done by clicking the
dataset. A confidence value is assigned to each of the ‘Add’ option. This opens a new page as shown in Fig. 5.
matches. The match with the highest confidence is selected
and the label, which is the name and ID of the student, is
extracted. If there is not a match of a high enough accuracy,
then the student is labeled as ‘Unknown’.

4) Attendance Entry: Steps of attendance entry are shown


in Fig. 3. In each session of the video stream, which would be
each period of classes, the names and IDs of the recognized
students are automatically logged on a daily attendance
spreadsheet along with the date, time and period name. There
is also the option to calculate the total attendance during a
specific time span, which can be a semester or month or year
depending on the time range. The system can automatically
calculate the total number of classes and also show the total
attendance of the enrolled students for those classes.
Fig. 5. Adding Data

The ID and name of the student have to be entered in the


respective fields as shown in Fig. 5. If the ID is not numeric
or the name is not alphabetical, then an error is shown in the
message box. If the data is entered correctly, then the data
entry phase will start. The camera takes a picture after every 2
seconds whenever it detects the student’s face. The default
number of pictures taken each time is set to 20. But this value
can be changed to increase or decrease the dataset.

Fig. 3. Attendance Entry Process


C. Train
After the images of a student have been added to the
IV. IMPLEMENTATION dataset, the entire dataset is trained automatically. This allows
The proposed system is generated using python. We have the system to be ready to perform as soon as new data is added.
used tkinter for creating the GUI and used the There is also the option to manually train the dataset by
face_recognition module, which wraps around the dlib library, selecting the ‘Train’ option from the homepage as shown in
for detecting and recognizing the faces of students. Different Fig. 4. After the selection, the page as shown in Fig. 6 appears.
pages of the developed application are presented next.
A. Home
The homepage of the created system is shown in Fig. 4.
Fig. 4. Homepage of the System

Fig. 6. Training the Dataset

D. Take Attendance
The system can be signaled to automatically start taking
attendance, by selecting the ‘Take Attendance’ option. This
tells the camera situated in the classroom to start recording.
The camera can also be set up to always stay turned on during
class. From the video stream, the students’ faces are detected
and recognized. As shown in Fig. 7, a frame is taken from the
video stream. Here, it can be seen that six students’ faces are
detected in rectangular boxes and identified showing their
corresponding names and IDs. The system then starts marking
and recording attendance. This process is repeated for every
class period to automatically mark the attendance of the
present students.
The built-in webcam of a laptop is used as a default video
recorder for testing the system. The accuracy of the system in
relation to the number of input images per person in the dataset
is calculated in TABLE I. The dataset consists of various
number of images of 17 distinct people. The accuracy was
measured by training a certain number of images per person
and running the system to recognize them from five different
frames from video source. This experiment was repeated four
Fig. 7. Taking Attendance times while increasing the number of images per person
during the training stage.
E. Show Attendance
TABLE I. ACCURACY COMPARISON
The ‘Show Attendance’ option opens a new window as
shown in Fig. 8, which gives the option to view specific Result
Inputs
attendance sheets or the total attendance of all the registered Trial Correct False Average
per Total Accuracy
students during a specific time period as shown in Fig. 9. No.
person Faces
Recog- Recog-
(%)
Accu-
nitions nitions racy (%)

01. 6 4 2 66.67

02. 6 3 3 50

03. 5 7 4 3 57.14 49.21

04. 8 4 4 50

05. 9 2 7 22.22

01. 6 6 0 100

02. 6 4 2 66.67

03. 10 7 6 1 85.71 74.09

04. 8 5 3 62.50

05. 9 5 4 55.55
Fig. 8. Selecting Attendance Sheet
01. 6 6 0 100

02. 6 4 2 66.67

03. 15 7 6 1 85.71 81.03

04. 8 6 2 75

05. 9 7 2 77.78

01. 6 6 0 100

02. 6 5 1 83.33

03. 20 7 7 0 100 91.94

04. 8 7 1 87.5

05. 9 8 1 88.89

By plotting the calculated values in the chart as shown in


Fig. 10, we can see that the accuracy of the system is rising
with the increase of input images. It is also observed that
increasing input images for training the dataset also increases
the accuracy of the system. This accuracy increases swiftly
when the number of image per person in the dataset is between
5 – 20. But it gradually slows down and stabilizes at around
91~92 %, despite increasing the number of images per person
in the dataset.
Fig. 9. Viewing Total Attendance We have also found from our experiments, that if there is
a discrepancy among the number of inputs for each student,
V. RESULT AND DISCUSSION the system sometimes becomes flawed and the student with a
The primary goal of the system is to flawlessly mark and higher number of inputs is selected to be the one recognized
record attendance. For doing that, the main focus is to elevate by the system. To stop this error, the same number of inputs
the accuracy of the facial recognition system which is the should be chosen during data entry stage. It is also perceived
cornerstone of this work. that the time taken to train the dataset increases drastically
with the increase of the dataset. The time can be reduced if the
[4] G. Al-Muhaidhri and J. Hussain, “Smart Attendance System using Face
Recognition”, International Journal of Engineering Research &
Accuracy of the system Technology (IJERT), vol 8, pp. 51-54, 2017. doi:
10.17577/IJERTV8IS120046.
[5] P. Chakraborty, C.Muzammel, M. Khatun, Sk. Islam and S. Rahman,
120 “Automatic Student Attendance System Using Face Recognition”,
Accuracy Percentage

International Journal of Engineering and Advanced Technology


100 (IJEAT), vol. 9, pp. 93-99, 2020. doi: 10.35940/ijeat.B4207.029320.
80 [6] S. Saypadith and S. Aramvith, "Real-Time Multiple Face Recognition
using Deep Learning on Embedded GPU System", 2018 Asia-Pacific
60 Signal and Information Processing Association Annual Summit and
Conference (APSIPA ASC), Honolulu, HI, USA, pp. 1318-1324, 2018.
40 doi: 10.23919/APSIPA.2018.8659751.
[7] K. Bertók and A. Fazekas, "Face recognition on mobile platforms",
20 2016 7th IEEE International Conference on Cognitive
Infocommunications (CogInfoCom), Wroclaw, pp. 000037-000042,
0 2016. doi: 10.1109/CogInfoCom.2016.7804521.
5 10 15 20 [8] R. Padilha et al., "Two-tiered face verification with low-memory
footprint for mobile devices", IET Biometrics, vol. 9, no. 5, pp. 205-
Number of Inputs 215, 2020. doi: 10.1049/iet-bmt.2020.0031.
[9] W. Jiang and W. Wang, "Face detection and recognition for home
service robots with end-to-end deep neural networks", 2017 IEEE
Trial 01 Trial 02 Trial 03 International Conference on Acoustics, Speech and Signal Processing
(ICASSP), New Orleans, LA, 2017, pp. 2232-2236. doi:
10.1109/ICASSP.2017.7952553.
Trial 04 Trial 05 Average
[10] W. S. M. Sanjaya, D. Anggraeni, K. Zakaria, A. Juwardi and M.
Munawwaroh, "The design of face recognition and tracking for human-
Fig. 10. Accuracy of the System robot interaction," 2017 2nd International conferences on Information
Technology, Information Systems and Electrical Engineering
system is running on a relatively high-performance computer. (ICITISEE), Yogyakarta, pp. 315-320, 2017. doi:
10.1109/ICITISEE.2017.8285519.
We also found that the system can’t detect the faces of people
who are too far away from the camera. So, it is recommended [11] R. Virgil Petrescu, "Face Recognition as a Biometric
Application", Journal of Mechatronics and Robotics, vol. 3, no. 1, pp.
to place the camera where it can have the best view. 237-257, 2019. doi: 10.3844/jmrsp.2019.237.257.
[12] M. Bramer , “Artificial Intelligence in Theory and Practice”, IFIP 19th
VI. CONCLUSION World Computer Congress, TC 12: IFIP AI 2006 Stream, August 21-
In this work, a system for automatically marking and 24, 2006, Santiago, Chile, Berlin: Springer Science+Business Media,
p. 395. ISBN: 9780387346540.
storing the attendance of a class has been implemented.
[13] D . Mery, I. Mackenney and E. Villalobos, "Student Attendance System
Implementation process includes entering data of the in Crowded Classrooms Using a Smartphone Camera", 2019 IEEE
students, training dataset, recognizing faces and marking Winter Conference on Applications of Computer Vision (WACV),
attendance automatically. The CNN model used in this study Waikoloa Village, HI, USA, pp. 857-866, 2019. doi:
can detect and recognize a person by their facial features even 10.1109/WACV.2019.00096.
if they are not staring exactly straight into the camera. The [14] M. A. Rahman and S. Wasista, “Sistem Pengenalan Wajah
Menggunakan Webcam Untuk Absensi Dengan Metode Template
proposed system can detect and recognize the students of the Matching,” Jur. Tek. Elektron. Politek. Elektron. Negeri Surabaya, pp.
class with maximum accuracy of about 92% and saves the 1–6.
teachers’ time and hassle by automatically marking and [15] E. Indra et al., "Design and Implementation of Student Attendance
storing the attendance of the present students. For the system System Based on Face Recognition by Haar-Like Features Methods,"
to be most effective, it has to contain a satisfactory and 2020 3rd International Conference on Mechanical, Electronics,
Computer, and Industrial Technology (MECnIT), Medan, Indonesia,
consistent amount of images of each person during the pp. 336-342, 2020. doi: 10.1109/MECnIT48290.2020.9166595.
training stage. Also, the camera has to be positioned in a way [16] S. Sawhney, K. Kacker, S. Jain, S. N. Singh and R. Garg, "Real-Time
that it has clear view of all the students. Furthermore, this Smart Attendance System using Face Recognition Techniques," 2019
system can be used in any organization for automatic 9th International Conference on Cloud Computing, Data Science &
Engineering (Confluence), Noida, India, pp. 522-525, 2019. doi:
attendance recording of staffs. 10.1109/CONFLUENCE.2019.8776934.
[17] P. Viola and M. J. Jones, "Robust real-time face detection",
REFERENCES International journal of computer vision 57.2 (2004), pp. 137–154,
[1] B. Surekha, K. Nazare, S. Viswanadha Raju and N. Dey, "Attendance 2004.
Recording System Using Partial Face Recognition [18] P. Kowsalya,J. Pavithra, G. Sowmiya and C.K. Shankar. “Attendance
Algorithm", Intelligent Techniques in Signal Processing for monitoring system using face detection & face recognition”,
Multimedia Security, vol. 660, pp. 293-319, 2016. doi: 10.1007/978-3- International Research Journal of Engineering and Technology
319-44790-2_14. (IRJET),vol. 06, no. 03, pp. 6629-6632, March 2019. ISSN: 2395-
[2] D. Joseph, M. Mathew, T. Mathew, V. Vasappan and B. S Mony. 0072.
“Automatic Attendance System using Face Recognition”, [19] N.N, Charniya andA. Hendre, “Person Re-identification from Videos
International Journal for Research in Applied Science and Engineering Using Facial Features”,. Innovative Data Communication
Technology. vol. 8, pp. 769-773, 2020. doi: Technologies and Application, ICIDCA 2019,Lecture Notes on Data
10.22214/ijraset.2020.30309. Engineering and Communications Technologies, vol 46, pp.380-387,
[3] Dr.R.S Sabeenian, S. Aravind, P. Arunkumar and P.Joshua, and G. Springer. doi: 10.1007/978-3-030-38040-3_43.
Eswarraj. “Smart Attendance System Using Face Recognition”,
Journal of Advanced Research in Dynamical and Control Systems. vol.
12, pp. 1079-1084, 2020. doi: 10.5373/JARDCS/V12SP5/20201860.

View publication stats

You might also like