Class-Based Digital Attendance Management System With Computer Vision
Class-Based Digital Attendance Management System With Computer Vision
Vol.2022:28
Abstract
Attendance taking is an age long practice used to validate a student’s presence in class. The
traditional attendance system is done with pen and paper where students write their names on the
attendance sheet. This method is marred with a lot of irregularities, inefficiencies and proxy
attendance(s) where students record attendance for their friends and classmates who are not present
in class. This paper, therefore, develops an attendance management system that leverages on
computer vision technology to detect and recognize faces and a file management system to record
the recognized faces against a spreadsheet of students present in a class session. It employed a
face-recognition library built using dlib’s and a deep learning mechanism with an accuracy of
99.38%, OpenCV, Pandas, and web app technology, namely HTML5, CSS3, JavaScript, and
python/flask. The database design was based on the resident computer file system and a CVS file
type was used to handle the row-column structure of the attendance records. The panda library
was implemented to mimic a structured query language. This research paper has been able to solve
the problem of proxy attendance recorded in a manual attendance system by recording the
registered students’ attendance automatically as they walk into the class.
INTRODUCTION
Attendance systems have been an age-long practice where students’ attendance are taken when
they are seated in a class for lectures. The traditional attendance system is done with pen and paper
where the students write their names on the attendance sheet. In some situations, the students’
names are typed already on the attendance sheet and all they need to do is just to sign their
signatures where their names appear. This method is time-consuming, highly inefficient, and can
have a lot of proxy attendance(s) where students sign attendance for their friends and classmates
who are not in class. This paper, therefore, develops an attendance management system that uses
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
computer vision and a computer-based file management system to take and record the attendance
of the students who are present in class.
Computer vision is a branch of artificial intelligence (AI) that enables computers and
systems to get the required information from digital images, videos, and other visual inputs and
make recommendations based on that information. Computer vision employs machine learning to
train machines on how to tell objects apart, how far away they are, whether they are moving, and
whether there is something wrong with an image. Computer vision performs these functions using
cameras, data, and algorithms rather than retinas, optic nerves, and the visual cortex as human
vision does.
Two technologies used to achieve computer vision are deep learning (which is a type of
machine learning) and convolutional neural networks (CNN). The computer vision employed in
this work is basically used for facial recognition, where it is able to recognize the faces of students
in a specific database of reach. Facial recognition is a process of identifying or confirming an
individual’s identity using their face. Facial recognition is one of the categories of biometric
security. Other forms include voice recognition, fingerprint recognition, and eye retina or iris
recognition. A facial recognition system uses biometrics to map facial features from a photograph
or video and compares the information with a database of known faces to find a match. The
attendance system developed in this paper uses a camera to capture students’ faces at the point of
registration and store the images in a database. So, the database contains a list of all the faces of
the students registered for the particular class and the particular course. The system captures
students’ faces as they enter the class, matches the face with the faces on the database and when a
match is recognized, attendance is taken automatically.
RELATED WORK
A facial recognition system is a technology which matches a human face from a digital image or
a video frame against a database of faces usually employed to authenticate users. Facial recognition
is widely adopted as a good biometric technology due to its contactless process (Chen & Chang,
2014). Facial recognition systems are used in advanced human-computer interaction, video
surveillance, and automatic indexing of images (Bramer, 2006).
Many systems have been developed for attendance management. One of such systems is
the system developed by Asri et al (2020). This system developed by Asri et al (2020) generates a
smart attendance system that uses a Quick Response (QR) code to track and record attendance.
The students and the professors are given a unique QR code at the beginning of the course. The
students are required to scan their QR code using a QR-reading device. Once the QR code is
scanned, attendance is recorded for such students. The problem with Asri et al (2020) system is
that there is still room for proxy attendances as anybody can use anybody’s QR code and scan an
attendance for such a person whether the person is in class or not.
Meor et al (2014) developed an attendance monitoring system using fingerprint biometrics
to monitor the presence of students. Their system reduces the chances of marking proxy attendance
and minimizes the problems of missing papers of attendance. Teachers come to class with a small
fingerprint scanner where the students press their fingers for their attendance to be taken. Their
system is quite slow because the students will queue up and be pressing the fingerprint scanner
one after the other for their attendance to be taken thereby wasting a lot of time.
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
Amena et al (2015) developed an attendance management system using iris recognition. Their
system uses the iris pattern of the students for attendance. Live images of students’ iris are captured
by the camera and stored in the database. They used the gray coding algorithm to measure the
radius of the iris and the radius is matched with the radius of each student in the database and the
attendance of that student is recorded for that class.
The system proposed by Shreyak et al (2019) uses two databases (face database and
attendance database). The facial images of students are stored in the face database during
enrolment. The camera captures the images of the classroom and the attendance is marked in the
attendance database after face detection and recognition are done. Their system used the AdaBoost
algorithm and Principal Component Analysis (PCA) for face detection and face recognition
respectively.
The system developed by Sandhya et al (2021) stores the facial images with the unique ID
of the students at the time of enrolment. At the time of attendance, the real-time images are
captured with a camera and matched with the faces in the pre-trained dataset. Their system used
the Haar Cascade algorithm for face detection and the Local Binary Patterns Histogram (LBPH)
algorithm for face recognition and training of the stored dataset which generates the histogram for
stored images and the real-time image. In order to recognize a face, the difference between
histograms of real-time images and dataset images is calculated. When the difference is low, the
best match results in displaying the name of the student, and the attendance of that student is
automatically updated in the excel sheet.
A descriptive framework of facial recognition was designed by Radhika and Bageshree
(2018). This system used DNN to detect the faces of students and PCA and LDA algorithm for
image matching and an SVM classifier and CNN. Their accuracy rate is 86%.
The authors Adrian et al (2014) developed a face recognition algorithm with OpenCv 2.4.8. the
authors compared two famous face recognition algorithms, PCA (Eigenface) and LDA (Fisher’s
face) using a ROC curve on their training set. Their result showed that Eigenface performed better
than fisher face.
The proposed attendance management system employed the use of a face-recognition library,
which in turn employs a Convolutional Neural Network (CNN), a branch of deep learning. We
built a web UI/UX interface around the model to enhance performance. We leveraged a computer
base-camera system for static and motion image capture of students. Figure 1.0 illustrates the
design architecture, which indicates the use of CV2 and dependencies. This undoubtedly,
comprises OpenCV, dlib, face-recognition library, pandas, OpenCV, front-end-web frameworks
namely HTML5, CSS3, and JavaScript, and the back-end framework of python/flask.
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
The user interface was developed using HTML5, CSS3, and JavaScript. In the front end of
the application, the HTML was used for the structuring and presentation of the content on the
world wide web, the CSS was used to describe the presentation and structure made by the HTML
in a more user-friendly way using styles and colors and the JavaScript was used to modify the
HTML and CSS in order to update the user interface through the Document Object Model
Application Programming Interface. JavaScript as a scripting language was used to dynamically
inject the name of the captured faces on the DOM element and send out the name, date, and time
the student was captured to the back end for further processing. The python language was used for
the main programming which is the back end.
CV2 and Dependencies:
The Computer Vision Version Two (CV2) which is a module import name for OpenCV-
Python was used to build computer vision-related Apps and integrated with various libraries like
NumPy, Pandas, etc. These libraries, when pre-loaded with CV2 and other libraries used in this
research work are called dependencies.
DATABASE DESIGN
The database design for the Attendance Management system is based on the resident
computer of the said App file system. Based on the several built-in modules and functions for
handling files, the database was structured to leverage this prebuilt module.
A CSV file type was used to handle the row-column structure of the attendance records. For
properly structured query on these data, Panda library was implemented as the structured query
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
Language. Students’ records, in terms of attendance, are saved automatically by the attendance
system into a CSV file type, which is available for digital retrieval and or printing. Figure 2 shows
the design method for the database, while Figure 3 shows the CSV file of the attendance
management system.
User Face
Interface Recognition
Engine
DATABASE
In the process of attendance taking on the webpage, once the program is executed, an interface
pops up on the web browser. However, the interface is served from Python/Flask server which
runs the face-recognition script. At first load, a series of initialization steps are done such as
loading the trained data to the recognizer and etc. The attendance-taking process will then proceed
in a loop to acquire, identify and mark the attendance for each of the students that are obtained
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
from the computer-based camera. The flow chart of the attendance-taking process is shown in
figure 4 below.
Principle of Operation
The application was designed in two broad sections, the User interface, and the Back end. The
user interface was designed with HTML5, CSS3, and JavaScript while the Back End was designed
with Python and CV2/dependencies.
In the user interface section, the user positions his/her face for the back end of the process. A
squared box interface pops up for the user to take pictures.
The Attendance Management System begins by launching the start button provided by the IDLE
in the window’s environment. The user of the application being a student that is to take attendance,
positions his/her face against the camera. The face of the user is displayed on the user interface
with the name written on the image if such student is a registered student for the course of interest,
however, if such use is not in the database of the course of interest, an “unknown” is displayed
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
alongside the face. The project makes use of the Face Recognition Library to uniquely identify
and differentiate between different people.
The very first step done behind the scenes is Finding user faces using Histogram of
Oriented Gradient (HOG) technology. Once the face is captured, a WARP is applied.
Warp is a special technology used to flatten captured faces so that all the face features (aka
landmark) can be uniquely presented. Warping of an image uses the dlib behind the
scene. The technology works great for faces captured sideways or tilted.
The second step is to send the Warp image to a Neural Network trained for Facial
Recognition.
The Neural Network returned the encoded features. Features basically is the face contour
type and style represented also in the measurement between the eyes to the mouth, distance
measurement between the nose to lips, to the ears, the size of the lips, chin et cetera.
The encoded features the network returns are 128 generated measurements, which is then
used to define a person and the difference between different people.
To capture the name of each user, during the image capture, the name of each image fed
into the network is assigned so that the machine can label the image accordingly.
Supervised Machine Learning was used to achieve this.
System Interfaces
Figure 5 below illustrates a student with an academic record in a school management system who
has been duly registered. The model proves efficient as it was able to validate the student. The web
service was extended to automatically interface and synchronize with the school management
system and pull up necessary data. The application identifies the student as a student duly
registered for that particular course and automatically records attendance for him.
Figure 6 shows the image of a lecturer who is also registered in the school management system.
Figure 7 below illustrates a student with a non-academic record in a school management system,
the model proves efficient as it was able to invalidate the student. The web service was extended
to automatically interface and synchronize with the school management system and pull up
necessary data. The student who is not duly registered for that course is not validated and therefore
attendance cannot be recorded for such a student since he is not a registered student.
This application can also be very useful in validating students’ eligibility for writing examinations.
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
The Attendance Management System which was designed and presented in this work
records the attendance of students automatically as they walk into their class. The Convolutional
Neural Network which is one of the technologies used to achieve computer vision was employed
to detect and recognize the faces of registered students who attend classes. This method eliminates
proxy attendance(s) and ensures that attendance is marked for only registered students who are
present in class. Future work will be on developing an application that is able to calculate the
percentage of each student’s attendance that qualifies them to write an examination.
REFERENCES
Adrian Rhesa Septian Siswanto, Anto Satriyo Nugroho & Maulahikmah Galinium,
Implementation of Face Recognition Algorithm for Biometrics Based Time Attendance System.
Center for Information Communication Technology Agency for the Assessment Application of
Technology (PTIK – BPPT) Teknologi 3Bld, 3F, PUSPIPTEK Serpong, Tangerang, Indonesia,
15314.
Amena Khatun, A. K. M Fazlul Haque, Sabbir Ahemad & Mohammad Rahman (2015). Design
and Implementation of Iris Recognition Based Attendance System. ICEEICT Jahangirnagar
University, Bangladesh.
Asri Nuhi, Agon Memeti, Florinda Imeri & Betim Cico (2020). Smart Attendance System using
QR Code. 9th Mediterranean Conference Embedded Computing,, Budva, Montenegro.
Bramer, Max (2006). Artificial Intelligence in Theory and Practice. IFIP 19th World Computer
Congress, TC12: IFIP AI 2006 Stream, August 21 -24, 2006, Santiago, Chile, Berlin: Springer
Science + Business Media, p. 395, ISBN 9786387346540.
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my
INTI JOURNAL | eISSN:2600-7320
Vol.2022:28
Radhika C. Damale & Prof. Bageshree V. Pathak (2018). Face Recognition Based Attendance
System using Machine Learning Algorithms. Proceedings of the Second International Conference
on Intelligent Computing and Control Systems (ICICCS 2018) IEEE Xplore Compliant part
number: CFP18K74-ART, ISBN: 978 -1-5386-2842-3.
Sandhya Potadar, Riya Fale, Prajakta Kothawade & Arati Padale. (2021). “Attendance
Management System using Face Recognition”, International Journal of Engineering Research and
Technology (IJERT) volume 10, issue 08.
Shreyak Sawhney, Karan Kacker, Samyak Jain, Shailendra Narayan Singh & Rakesh Garg. (2019).
Real-Time Sart Attendance System using Face Recognition Techniques in Amity University Uttar
Pradesh, Noida.
Submission:
Submission: 10 October
11 July 2022 2021 ©INTI International University 2022
Acceptance: 28 July 2022 2021
Acceptance: 15 October https://intijournal.intimal.edu.my