Tholley
Tholley
BY
ID: 35867
November, 2023
i
CERTIFICATION
ii
DEDICATION
beloved wife Mrs. Mamusu Tholley, and my lovely son Ibrahim Prince
iii
ACKNOWLEDGEMENT
this research work and my study journey. This work cannot be carried
you all for the moral and academic support you have given me since the
friends and loved ones I say thank you for everything you have done for
Prince Tholley, Mr. Mamoud M. Tholley, Dr. M.A. Koroma, Miss Khadija
Fatim Sumah, Mr. T.S. Bandabla, Mr. Abdulai Conteh, Mrs. Zainab
my academic trajectory.
iv
ABSTRACT
In the realm of educational technology, the need for efficient and reliable systems is
inaccuracies, are significantly improved upon by this innovative system. CAMS employs a
robust facial recognition algorithm, adept at precisely identifying students. As students enter
the classroom, the system captures their real-time images and accurately matches these against
The strength of CAMS lies not only in its accuracy but also in its seamless integration
with existing student information systems. This integration significantly reduces administrative
workload while ensuring current and accurate attendance records. The implementation of this
system in Sierra Leone's educational settings demonstrates its efficiency, reliability, and
substantial gains in time efficiency, heightened accuracy, and reduced administrative burdens.
dissertation harnesses the potential of facial recognition technology to offer an efficient, secure,
and user-friendly solution, benefiting both educators and academic institutions in Sierra Leone.
Developed using Python and supported by HTML, Tailwind CSS, and a MySQL database, the
compares encoded facial values from the stored images in the database with those recorded in
ABBERVIATIONS
v
Acronyms Meaning
semiconductor
vi
TABLE OF CONTENTS
CERTIFICATION ......................................................................... ii
DEDICATION............................................................................... iii
ACKNOWLEDGEMENT ........................................................... iv
ABSTRACT .................................................................................... v
ABBERVIATIONS ........................................................................ v
vii
2.2.1. Student Attendance Monitoring System Using Face Recognition .................. 11
2.2.6. Intelligent Attendance System with Face Recognition using the Deep
Convolutional Neural Network Method .......................................................................... 14
2.2.7. Student Attendance Manager Using Beacons and Deep Learning .................. 15
viii
3.7. Software Tools ......................................................................................... 30
References ..................................................................................... 56
ix
LIST OF FIGURES
Figure Page
x
Figure 4.3-3 Unrecognized student .......................................................................................... 49
xi
CHAPTER 1: INTRODUCTION
problem in ensuring optimal learning outcomes. The traditional methods of taking attendance,
such as paper-based systems and manual roll calls, are not only time-consuming but also prone
including education. To overcome the challenges faced by lecturers and institutions in term of
management systems has gained prominence. Facial recognition technology has shown
capturing and examining facial features from images or video frames to identify individuals.
The technology employs machine learning algorithms to generate facial templates for each
Sierra Leone. By automating attendance management, this system can offer several advantages
over traditional methods. Facial recognition systems are known for their high accuracy in
manual records or the use of proxy attendance. Manual attendance tracking consumes valuable
this process using facial recognition can meaningfully reduce the time and effort
required to do it manually. The system can provide real-time attendance updates to lecturers
1
and administrative staffs which allows for prompt intervention if attendance irregularities are
detected.
Management System has the potential to revolutionize attendance tracking in universities and
other tertiary institutions. By way of overcoming the limitations of manual methods and
providing accuracy, efficiency, and real-time monitoring, this technology can improve the
integration, and ethics will be crucial in the successful implementation of such a system. This
study aims to contribute to the development of an effective and responsible solution for
The benefits of using facial recognition systems are widespread as they are applied in
security systems, authentication systems, verification systems, surveillance systems and so on.
In most cases people are interacting with face recognition systems without even realizing it. A
lot of institutions are using facial recognition systems for authentication, verification, and
security. There are diverse applications of this system. Developed countries like United States
of America, United Kingdom, China and Australia are now installing facial recognition
technologies in different public spaces such as airports, cafes, shopping areas, factory areas,
and government buildings. A well-established retail company like Alibaba is working on the
development of pay-by-face technology. Workspaces are using this technology to record the
clock in and clock out time of the employees. Law enforcement agencies are installing cameras
with facial recognition systems to identify criminals and search for missing persons.
The existing manual methods of taking class attendance such as writing down of names
on a piece of paper, manual roll call and head count have proven to be time-consuming, error
2
based, and vulnerable to fraud. It is usually a tedious job to maintain all the attendances for the
users. The retrieval of the information is not an easy one as the records might not be maintained
properly until when needed. This on a whole has been a crucial problem for both lecturers and
the various universities in Sierra Leone, as the manual methods of taking attendance provide
little or no better records for class attendance during lecture periods. In addition, the COVID-
19 pandemic has emphasized the need for contactless and efficient attendance tracking systems
to ensure the safety and well-being of students and staff. Thus, more efficient and reliable way
This dissertation is being written on the basis of providing efficient, secure and effective
class attendance management system by employing facial recognition technology to solve the
problems that have been highlighted on the methods which lecturers use to take attendance
during their lectures. This dissertation is not in any way to disapprove the various existing
methods used for student attendance, but to build a system that will detect and analyse the
number of faces present in a classroom as well as recognizing these faces for a particular class.
Likewise, a lecturer will be able to tell if a student was honest as these methods stated can be
used by anybody for attendance records, but with facial detection and recognition system in
existence, it will be easy to tell if a student is actually present in the classroom or not.
Aim:
The main aim of this dissertation is to build, and develop an efficient class attendance
management system employing facial recognition technology. This system aims to modernize
attendance recording, enhance accuracy, and provide a more convenient and secure method for
3
Objectives:
• To Study the requirements and technical considerations for developing a strong and
Attendance Management System using facial recognition technology could transform the way
universities in Sierra Leone and other tertiary institutions manage and monitor student
attendance. This system has the potential to reduce administrative burdens to a low ebb,
attendance tracking process. Furthermore, this research contributes to the broader field of
pedagogical context.
1.5. Methodology
methodically across five key sections. Each section is tailored to a specific aspect of the
4
Introduction: This initial segment sets the foundation for the project, providing a detailed
background overview. It highlights the pressing need for efficient attendance management in
educational institutions and introduces the CAMS as an innovative solution. This introduction
not only establishes the context and significance of the project but also outlines the potential
Literature Review: Essential to the project’s foundation, this section delves into a thorough
examination of existing literature. It covers the challenges faced by current attendance systems,
including issues of accuracy and efficiency. This review also extends to exploring existing
facial recognition technologies and their applications in various domains, setting a solid context
Research Methodology: This segment outlines the research and development approach of
CAMS. It details the criteria for selecting facial recognition technology, the algorithm design,
and the methods used for testing and validation. This part serves as the core of the project,
describing the process of integrating facial recognition technology with the attendance
management framework.
Design and Implementation: A pivotal section, focusing on the detailed design and practical
implementation of CAMS. This includes the technical aspects of facial recognition algorithms,
the development environment (Python, HTML, Tailwind CSS, MySQL), and the system's
integration with existing educational infrastructure. It also covers the real-world application
Conclusion and Recommendations: The final section brings together the findings and
outcomes of the project. It offers a concise conclusion reflecting on the system’s performance,
Additionally, this part proposes recommendations for future enhancements and explores the
5
1.6. Research Questions
Certainly, here are some research questions this dissertation could explore on a class
i. How accurate and reliable is facial recognition technology for recording class
ii. What factors might affect the accuracy of facial recognition in different
important aspect of any setting that has to do with a group of people. This work
i. What are the privacy concerns associated with using facial recognition for
ii. How can potential partialities and fairness issues in facial recognition systems be
• User Acceptance and Perception: For the various users to accept the use of facial
recognition technology and their thoughts about it goes a long way in making this
project a success. This dissertation sets to answer the following questions in terms
of user acceptance.
ii. What factors influence user acceptance and resistance to this system?
• Comparative Analysis:
6
i. How does facial recognition compare to traditional methods of attendance
user experience?
ii. What are the potential cost savings or resource implications of adopting facial
recognition?
ii. What measures should be taken to comply with data protection regulations
• Long-term Feasibility:
evolves?
➢ Assumptions
• Technological Infrastructure: The project assumes that educational institutions have
7
• Facial Recognition Accuracy: It is assumed that the facial recognition technology
used in CAMS will consistently achieve high accuracy in student identification under
various conditions.
• User Acceptance: The project presupposes that students, faculty, and administrative
staff will be receptive to and compliant with the use of facial recognition technology
➢ Limitations
• The researcher had some difficulties in getting the much-needed information about
certain software and their implementation strategies. Also, the study requires plenty
• The time frame was very small to design such a system as most of the software require
deep programming language. All of these put together makes it very difficult to
➢ Scope.
The study focuses only on the designing of a facial recognition-based attendance management
system for a classroom setting. It does not cover other types of attendance management systems
or other applications of facial recognition technology. Also, the study assumed that the
necessary hardware, such as web camera and computer, is available and functional. It does not
Face: it refers to the front part of a person’s head from the forehead to the chin
Face Detection: is a technology that uses algorithms to identify and locate human faces
Face Recognition: this is a way of confirming an individual’s identity using their face.
perform calculations.
1.9. Summary
This chapter provides a comprehensive overview of the Class Attendance Management
attendance methods, setting the stage for the introduction of CAMS as an innovative, accurate,
and efficient solution. The development process, including the choice of technologies like
Python, HTML, Tailwind CSS, and MySQL, is discussed in detail, emphasizing the system's
robust design and integration capabilities. The chapter also delves into the research
methodology, focusing on the facial recognition algorithm's accuracy and the system's overall
insights into the system's impact on reducing administrative burdens, its potential scalability,
and suggestions for future advancements in the field of automated attendance management.
9
CHAPTER 2: LITERATURE REVIEW
2.1. Introduction
consistently been at the forefront of embracing innovative solutions. A prime example of this
inadequate in meeting the needs of modern educational environments. This has paved the way
for the exploration and integration of advanced technologies, notably facial recognition, to
individuals through their unique facial features, has captured widespread attention. Its allure
lies not only in its precision and ease of use but also in its potential to fundamentally transform
the landscape of attendance tracking in schools and universities. This literature review embarks
educational settings.
The aim is to meticulously collate, synthesize, and critically analyze a diverse array of
case studies. This endeavor seeks to offer a holistic perspective on the myriad benefits and
review aspires to enrich our understanding of how such innovative systems can reshape facets
10
2.2. Review of Related Works on Class Attendance Management
System Using Facial Recognition
There is no reason that a critical educational practice like attendance should be viewed in the
old, tedious manner in this age of rapidly evolving new technologies. In the
takes time and has a high risk of error when entering data into a system, it is not recommended.
Real-Time Face Recognition is a practical method for dealing with a large number of students'
attendance on a daily basis. Many algorithms and techniques have been developed to improve
face recognition performance, but our proposed model employs the Haarcascade classifier to
determine the to determine the positive and negative characteristics of the face, as well as the
LBPH (Local binary pattern histogram) algorithm for face recognition, all of which are
implemented in Python and the OpenCV library. For user interface purposes, we use the tkinter
11
2.2.2. Class Attendance Management System using Facial Recognition
Attendance marking in a classroom during a lecture is not only an onerous task but also
a time consuming one at that. Due to an unusually high number of students present during the
lecture there will always be a probability of proxy attendance(s). Attendance marking with
conventional methods has been an area of challenge. The growing need of efficient and
recognition. In recent years, the problem of automatic attendance marking has been widely
addressed through the use of standard biometrics like fingerprint and Radio frequency
Identification tags etc., However, these techniques lack the element of reliability. In this
making use of face detection and recognition algorithms. Instead of using the conventional
methods, this proposed system aims to develop an automated system that records the student’s
attendance by using facial recognition technology. The main objective of this work is to make
the attendance marking and management system efficient, time saving, simple and easy. Here
faces will be recognized using face recognition algorithms. The processed image will then be
compared against the existing stored record and then attendance is marked in the database
accordingly. Compared to existing system traditional attendance marking system, this system
reduces the workload of people. This proposed system will be implemented with 4 phases such
as Image Capturing, Segmentation of group image and Face Detection, Face comparison and
The success of an educational institute begins by engaging students and having regular
attendance of students. Having a higher attendance score results in higher marks, higher
retention rates, and a better educational experience. It is difficult for teachers and students to
build a strong relationship if students are frequently absent. This hampers teachers and students
12
to develop their skills and make progression. In many schools, the school budgets are based on
the average daily attendance of the school. If the attendance rates are low, then school budgets
suffer. Hence, schools have less money to get essential classroom needs for students and
eventually end up with less quality education. Therefore, the educational institute needs to have
high-quality attendance data. These data provide essential information for the institute to
formulate policies, programs, and practices to improve attendance rates. To increase the
attendance of students, many teachers give better grades to the students with higher attendance
scores. Even though keeping attendance data is an essential part of educational institutes, there
has been little advancement in the attendance system. Still, many institutes use traditional
handwritten attendance or use some spreadsheet on the computer. This makes it hard for
teachers to track the students’ attendance data and their progress. Chances of attendance fraud
in this system are relatively higher than it is in automated attendance system. Unless the
attendance data is correct, schools cannot formulate proper policies and practices to improve
the quality of education. This project will help eliminate the traditional attendance system,
minimize manipulation during attendance and record the arrival time of the students. It is also
very easy to use and manage. Like every application, there are some setbacks to this
application. The application is not one hundred percent accurate. Different factors such as
image quality and lack of data sets can decrease the efficiency of the application.
Administrators must add user information manually and with data sets stored associate with
Student attendance is not only an important indicator for the school to inspect students'
achievements, but also an objective evaluation of teachers' teaching quality. In the system, we
use PyCharm as the development platform, design the system interface through QT Designer
(QT5), use PyQt5 library to write the function of interface controls, use MySQL as the
13
database, and use OpenCV face recognition algorithm to recognize, thus realizing an
attendance system based on face recognition. The system is divided into two parts: attendance
and face recognition. Through the test, the number and quality of members can be monitored
and the method in this paper provides a scientific basis for the implementation of the campus
Sensors
The problem about checking attendant is the main problem of teacher in nowadays. In
order to solve this problem, many systems have been completely changed due to this evolve to
achieve more accurate results. However, in my study, these studies still lack of the efficiency
about correct the face and students cannot verify or pose to edit the data when there is error in
class. With this reason, this research aims to develop the facing attendant system to be more
effective and the mechanic of the system which students can easily verify. The experiment of
this research is to find the way to recognize the face by using the technique of Android Face
Recognition with Deep Learning which can correctly recognize up to 97%. The database is
connected to Attendance Management System web server by using cloud storage. The result
on screen in real time on the application so that students can verify and check data [5].
2.2.6. Intelligent Attendance System with Face Recognition using the Deep
Recording student attendance in lectures can be done in several ways, namely giving
initials on the attendance sheet or by the lecturer calling each student and then giving a
checkmark on the attendance sheet or attendance recording system. This method is inefficient
because it is done repeatedly at every meeting, resulting in reduced lecturing time. Some
researchers are trying to develop various ways to overcome this, such as using fingerprints,
14
Internet of Things devices, cards with RFID technology, QR codes, and smartphones.
However, these technologies require many devices, and they may be costly. The purpose of
this research is to develop an intelligent attendance system with facial recognition technology
that can identify many people simultaneously without having to make direct contact using the
Deep Convolutional Neural Network method. The system is then tested and analyzed for its
accuracy in identifying and recording student attendance. The results of research conducted on
16 students in a lecture show that the system can be used to record student attendance with an
accuracy of 81.25% in the condition that the student facing forward, 75.00% in the student
condition facing sideways, and 43.75% in the student condition facing down [6].
task for any organization varying from schools and colleges. This paper discusses about the
attendance management system (AMS) and its challenges. The paper proposes a student
attendance system for schools and colleges using Beacon technology and Deep Learning
techniques. The aim of this device is too savvy smart attendance system which includes the
removal of issues like intermediary participation (for example proxy attendance for a student
by another student). This is accomplished by obtaining live feeds from a fisheye camera at the
beginning of each hour, which would be processed by a Convolutional Neural Network in the
back end to enable students to choose their heads in the picture provided to them in their
interface when they are in beacon proximity. Teacher’s interface will receive this same picture
at the end of each hour to solve any discrepancy after which the data will be stored in a database.
Face recognition is among the most productive image processing applications and has
a pivotal role in the technical field. Recognition of the human face is an active issue for
15
authentication purposes specifically in the context of attendance of students. Attendance
system using face recognition is a procedure of recognizing students by using face biostatistics
based on the high-definition monitoring and other computer technologies. The development of
this system is aimed to accomplish digitization of the traditional system of taking attendance
by calling names and maintaining pen-paper records. Present strategies for taking attendance
are tedious and time-consuming. Attendance records can be easily manipulated by manual
recording. The traditional process of making attendance and present biometric systems is
vulnerable to proxies. This paper is therefore proposed to tackle all these problems. The
proposed system makes the use of Haarclassifiers, KNN, CNN, SVM, Generative adversarial
networks, and Gabor filters. After face recognition attendance reports will be generated and
stored in excel format. The system is tested under various conditions like illumination, head
movements, the variation of distance between the student and cameras. After vigorous testing
overall complexity and accuracy are calculated. The Proposed system proved to be an efficient
and robust device for taking attendance in a classroom without any time consumption and
manual work. The system developed is cost-efficient and need less installation [8].
2.3. Summary
The literature reviewed several existing systems that utilize facial recognition
technology for student attendance management, such as projects by Gomes Prangchumpol, and
through facial recognition. However, most focused only on core recognition and attendance
This project differentiates itself by not just incorporating facial recognition for
attendance, but by comprehensively integrating it into the educational ecosystem. The system
16
design places equal importance on seamless integration with existing school databases and
information systems, data security, and crafting intuitive interfaces for staffs. This enables
synchronized data analysis between attendance patterns and academic performance. The aim
Therefore, this project fills critical gaps in maximizing the value derived from facial
provides institutions with enhanced data analysis capabilities and management tools that can
fundamentally improve attendance monitoring and policies. The project's scope addresses
17
CHAPTER 3: METHODOLOGY
3.1. Introduction
This Chapter deals mainly with planned techniques, methodologies and concepts
pertinent to facial recognition and image processing that is more specific and niche to a single
process which uses facial recognition algorithms image processing techniques. In order to
achieve the set goals, a rapid prototype method is used since it gives us a chance to test each
phase of the system design before proceeding to another phase, and also gives a room to go
back to previous phases if something goes wrong. The methodology is articulated through
• Project Workflow: The chapter maps out the step-by-step process of the CAMS, from
the initial conceptual design to the final stages of system testing and implementation.
• Software Design: This part details the design and development of the software
components of CAMS.
• Software Tools: The chapter discusses the software tools and development
18
3.2. System Architecture
In building a face recognition attendance system, the proposed system stands as an
incorporates face recognition technology to accurately identify and record the attendance of
individuals.
various settings, the system is also equipped with real-time data storage capabilities. This
feature ensures that attendance data is immediately stored and processed, allowing for efficient
user-friendly, allowing users to register students’ attendance with just a simple facial scan,
eliminating the need for manual input and thereby increasing the efficiency and accuracy of
A unique aspect of the system is its capability to be integrated into various platforms
and databases. This ensures seamless and effortless management of attendance data, allowing
for easy access and retrieval of attendance records when needed. Users, administrators, and
other authorized personnel can access this data via a dedicated application, enabling them to
monitor and manage attendance records in real-time, regardless of their physical location.
Moreover, the system also includes features for additional security, ensuring that the
attendance data is protected from unauthorized access and manipulation. The architecture of
the system is shown in Figure 3.1, which displays the embedded face recognition and
attendance recording system, and the cloud-based server application responsible for data
storage and management. A detailed explanation of these components will be provided in the
following sections.
19
FACE RECOGNITION MODEL
CAMERA
DATABASE
SERVER
DISPLAY SCREEN
STUDENT
• Design Conception: The project initiates with a conceptual phase, identifying the need
the desired features and capabilities of the new facial recognition-based system.
• System Design: The next step entails a comprehensive design process, focusing on the
components like facial recognition software, cameras for image capture, and a
identification, creating algorithms that accurately match students' faces with the
20
database, and developing the user interface for managing and monitoring attendance
data.
• Testing and Calibration: This stage checks both the accuracy of facial recognition
and the overall system functionality. Calibration involves fine-tuning the software to
• System Integration: At this stage, the hardware and software components are fully
integrated. The system is tested in its entirety to confirm that all parts function
a controlled environment.
• Field Testing: This phase is crucial for adjusting the system to handle the complexities
and variability of actual usage conditions, including different lighting, angles, and
student movements.
21
3.3.1. Flow chart
For this project, the flowchart below is like a step-by-step guide that shows how our
"Student Facial Recognition Attendance System" works. It helps show how we use facial
recognition to mark attendance. With many steps involved, it might seem a bit complicated.
But the flowchart helps make things clear. It shows everything from when a student's face is
scanned to when their attendance is recorded. By checking out the flowchart, everyone can
easily see how the system works when students enter the class. This makes things clear and
Start
Capture Image
Process Image
with Open CV
Match with
Database
Is there a
Yes match? No
Attendance
Yes No
taken?
Try to take
Yes No
attendance again
End
Display Attendance Already taken
22
START
CAPTURE STUDENT_IMAGE FROM CAMERA
PROCESS STUDENT_IMAGE USING OPENCV
COMPARE PROCESSED_IMAGE WITH IMAGES IN DATABASE
IF MATCHED_STUDENT IS FOUND THEN
IF ATTENDANCE FOR MATCHED_STUDENT IS ALREADY MARKED THEN
DISPLAY "Already Taken"
ELSE
SSsSofsoosi;
MARK ATTENDANCE FOR MATCHED_STUDENT
DISPLAY "Attendance Marked"
END IF
ELSE
DISPLAY "Unknown"
END IF
Setting up the student facial recognition system for attendance is like building
something from scratch. The need to design a standard attendance for Lecturers and make sure
they work well. Then, to create a computer program that can recognize students' faces. It's
important to test everything to make sure it works together. By the end, the ideas should work
just as planned in the actual classroom. This section describes how the algorithm was
implemented to design the system and the testing of the system. The application was created
using python OpenCV and facial recognition libraries. Both the front-end and back-end of the
project were done using python, MySQL and tailwind. In order to achieve the set goals, a rapid
prototype method is used since it gives us a chance to test each phase of the system
development before proceeding to another phase, and also gives a room to go back to previous
23
phases if something goes wrong. The project follows three-layered architecture, which is
described below.
• Presentation Layer: This layer is responsible for the user interface. All the
components that users see and interact with within the application are in this layer.
• Application Layer: Application layer controls the overall functionality of the system.
Functionality such as logging into the system, facial detection, and recognition is all
• Data Layer: In this layer, Data and Information are stored and retrieved in the database.
The names, images of students as datasets, teaches are stored in the database. Once the
Presentation Layer
Application Layer
Database Layer
The system's functionalities are thoughtfully designed to meet the specific needs of both
instructors and students within the educational setting:
• Student Registration and Facial Profile Setup: This essential feature allows students
to register in the system, where they create their unique profiles. During registration,
the system captures their facial data using advanced imaging techniques, ensuring
to set up class and manage attendance records efficiently. They can define class timings,
associate students with specific courses, and view attendance reports, making the
attendance. As students enter the classroom, the system automatically identifies them
via facial recognition, records their attendance, and updates the database
instantaneously.
attendance data, allowing for quick analysis and reporting. Instructors can review
attendance records, monitor trends, and identify attendance patterns, which can be
efficient database handling, and streamlined code to support high-volume usage. This
ensures the system's capability to manage a large number of students and faculty,
• Security: The system utilizes advanced encryption and privacy protection techniques
to secure sensitive biometric data. Regular security audits and compliance with global
data protection and privacy standards are in place to safeguard all user information,
25
• Scalability: Employing cloud-based solutions, the CAMS is scalable to accommodate
growing user numbers and expanding institutional requirements. This allows for
ensuring it is intuitive and easy to navigate for both students and faculty. The system
undergoes regular updates based on user feedback to enhance usability and user
experience.
• Reliability: The system guarantees high reliability, with a strong uptime record,
ensuring that it is consistently available for daily attendance management and can be
operating systems, regularly updated to ensure seamless operation with the latest
Lecturer/Teacher Administrator
26
3.5.2. Data Flow Diagram for Administrator
Student
Management
Lecturer
ADMIN
Management
User Management
Attendance
Management
Lecturer
Take Attendance
27
3.5.4. Database structure
For this project, mysqlconnector was used to create the database. The tables are created
by phpmyadmin.
This section of the project deals with the hardware components which are used in
designing the system. The system however does not require much of hardware components
3.6.1. Webcam
The webcam serves as the primary tool for capturing images of individuals for the face
recognition process. It captures high-resolution images to ensure accurate and efficient face
Working Principle of a Webcam: A webcam is equipped with an image sensor chip (either
CMOS or CCD) that converts an optical image into an electronic signal. The lens focuses light
onto the image sensor. It can be adjusted to refine the focus and clarity of the image. The
28
electronic signal from the image sensor, which is in analogy form, is converted into a digital
the file size for faster and more. The webcam is connected to a computer or other devices via
USB, wireless network, or other connectivity options. The compressed digital image is sent to
the connected device for processing and display. The computer or device uses software to
process the digital image for various applications, such as displaying it on the screen for video
calls or analysing it for face recognition. In the context of a face recognition attendance system,
the received image is processed by face recognition software to identify the individual and
mark their attendance. The processed image can be displayed, stored, or further processed
based on the application. In a face recognition attendance system, the recognized data is used
• Image Capture: The process begins with the webcam capturing the image of an
individual who stands in front of it. The camera is typically positioned at entry points
• Image Transmission: After capturing the image, the webcam transmits this data to the
wireless connection.
• Face Detection: Once the image data is received by the system, the face detection
algorithm scans the image to locate and identify the face within it. The system analyses
• Face Recognition: After successful face detection, the face recognition software
processes the facial features to identify the individual. The software compares the
captured facial data with the stored facial data in the database.
29
• Security: The webcam and the associated system ensure secure and reliable attendance
The design also uses a couple of software components which are relevant in terms of
3.7.1. VS Code
made by Microsoft with the Electron Framework, for Windows, Linux and macOS. Features
include support for debugging, syntax highlighting, intelligent code completion, snippets, code
refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences,
Use of Vs Code in this project: Use to write, backend server code, frontend UI code, and
test, and debug your code more efficiently, and manage your project seamlessly.
30
3.7.2. Tailwind CSS
Tailwind CSS is an open-source CSS framework. The main feature of this library is
that, unlike other CSS frameworks like Bootstrap, it does not provide a series of predefined
classes for elements such as buttons or tables. Instead, it creates a list of "utility" CSS classes
that can be used to style each element by mixing and matching. Therefore, Tailwind CSS is a
utility-first CSS framework that permits you to create custom designs without writing any CSS
code. It provides a set of predefined classes that you can apply to your HTML elements to style
Use of Tailwind CSS in this project: Considering that administrators and employees may
access the attendance system from various devices, it's crucial to implement a responsive
design. Tailwind CSS offers utilities to manage different screen sizes, ensuring the attendance
system is easily accessible from smartphones, tablets, and desktop computers. This approach
guarantees smooth and efficient interaction with the system, regardless of the device used,
enhancing the overall user experience and ensuring seamless attendance management and
monitoring.
3.7.3. HTML
The Hypertext Mark-up Language or HTML is the standard mark-up language for documents
designed to be displayed in a web browser. It defines the meaning and structure of web content.
It is often assisted by technologies such as Cascading Style Sheets (CSS) and scripting
languages such as JavaScript. Web browsers receive HTML documents from a web server or
from local storage and render the documents into multimedia web pages. HTML describes the
structure of a web page semantically and originally included cues for its appearance.
• Data Presentation: Utilize HTML to organize the data retrieved from the webcam,
such as timestamps and attendance records, into tables, lists, or other visually
31
comprehensible formats. This structured presentation aids in easy and quick analysis of
attendance data.
• Forms: Develop forms for entering employee details and setting parameters for access
control, ensuring only authorized individuals can mark attendance through the face
recognition system.
pages, like historical attendance data, real-time monitoring, employee profiles, etc.
• Buttons: Introduce buttons for various actions such as updating employee data,
exporting attendance reports, or manually triggering the face recognition process for
attendance marking.
3.7.4. MySQL
MySQL is an open-source relational database management system (RDBMS). It's used to store,
retrieve, and manage data in structured tables. At its core, MySQL is a relational database,
meaning it organizes data into structured tables that can relate to one another. This contrasts
with non-relational databases that might organize data into objects, key-value pairs, or other
formats. MySQL uses Structured Query Language (SQL) to interact with data. SQL is a
standard language used to perform tasks like querying data, updating data, or creating data
structures.
• Attendance Data: Store images and related attendance data captured from the webcam
• System Logs: Log system activities, error messages, and other relevant events for
32
• Real-time Dashboard: Utilize MySQL’s efficient querying capabilities to retrieve and
• Historical Data Analysis: Extract past attendance data for trend analysis, aiding in
• Employee Data Protection: Given the sensitive nature of personal data, encrypt
3.7.5. Python
van Rossum in 1991 as Python 0.9.0. It was made as the successor of the ABC programming
language. Later, Python 2.0 was released on 16 October 2000 in which so many features like
list comprehension and garbage collecting system were added. On 3 December 2008, Python
3.0 was released. Python is a very popular programming language and can be used for many
purposes. It is extensively used for web development, software development, mathematics and
data analysis, system scripting, and so on. Python is a multi-purpose programming language
which works on diverse platforms such as Windows, Linux, Mac, Raspberry Pie, and a lot
more. Python is popular than other programming languages because it has a simple syntax
compared to other programming languages. Its syntax permits the programs to write code that
is easier to understand and in fewer lines. It runs in an interpreter system thus; the code can be
executed as soon as it is written. In this research, we use Python for web development and
machine learning. This project demonstrated how Python is used for an effective, efficient and
dependable web application. Several Python frameworks, libraries are used in this project.
33
• Libraries: Utilize libraries such as OpenCV and Facial Recognition to capture images
• Algorithm: Implement face recognition algorithms to match the captured images with
• Communication with Database: Use Python to interact with a database (SQL) to store
• API Development: Use Flask framework to create RESTful APIs for communicating
• Data Processing: Process and analyze the attendance data to generate reports, insights,
• Use Python to integrate the attendance system with other systems such as email
attendance data.
must be fully compatible with the facial recognition software. This ensures seamless
integration, where hardware can efficiently capture images and software can accurately
operations. The webcam must capture high-quality images instantaneously, and the
software should promptly process these images for immediate attendance recording.
• Library and Driver Support: The software should have access to a robust library for
facial recognition algorithms, and the hardware should have reliable drivers for optimal
functionality. This is critical for tasks like image processing, feature extraction, and
database interaction.
34
• Development and Operational Efficiency: The tools and hardware should enable
components.
• Reliability and Stability: Stability and reliability are paramount for both hardware and
software, given the system's role in attendance management. The webcam must
consistently capture clear images under various conditions, and the software must
• Scalability: Both the hardware and software should be scalable. This means the system
can be expanded or upgraded in the future, for example, by adding more advanced
35
CHAPTER 4: IMPLEMENTATION OR RESULTS
4.1. Introduction
paramount concern. The traditional manual methods not only require substantial time and effort
but also leave room for human error and impersonation. This project outlines an avant-garde
solution tailored to revolutionize the attendance system – the "Student Facial Recognition
Attendance System." Harnessing the power of advanced facial recognition algorithms and
The primary objective is to eliminate manual entry, reduce errors, and maintain an authentic
This chapter will guide readers through the genesis of this novel system, its
foundational components, and the intricate mechanics of its operation. An in-depth exploration
of facial recognition technology and its transformative potential in educational institutions will
be illuminated. Furthermore, this section explains how the algorithm was applied to design the
system and the testing of the system. The application was built using Python’s framework.
Both the front-end and back-end of the project were done using python. This project
hardware elements. Each facet of the facial recognition system, from image acquisition,
preprocessing, feature extraction, to the final recognition process, will be detailed. The
roles they individually and collectively play in ensuring the system's efficacy will be
emphasized.
• Testing and Validation: This segment will delve into the verification protocols for the
system. The strategies adopted, the results procured, and any challenges faced during
breakdown of results will elucidate the system's practical applicability and precision in
salient features and findings. The emphasis will be on the tangible and academic merits
The process of software development for the Class Attendance Management System
(CAMS) entails a detailed and intricate journey of creation, design, deployment, and
maintenance. This section provides an in-depth exploration of the software aspect of CAMS,
with a special focus on the design and execution of the user interface (UI). The UI is crucial in
facilitating a smooth and effective interaction between the users – primarily educational staff
and students – and the application. The goal is to offer an optimal user experience characterized
by intuitive navigation, efficient functionality, and an aesthetically pleasing design that meets
In the context of CAMS, the user interface acts as the vital link between the system and
its users, who are the educators and students in educational institutions. The design of the UI
is therefore oriented around principles of clarity, intuitiveness, and accessibility to ensure ease
of use.
Design Principles:
accessibility, clarity, and intuitiveness, aiming to create an exceptional user experience. Key
navigation, and visually intuitive layouts that facilitate quick and easy attendance management.
37
The interface design takes into account the different needs of educational staff and students,
ensuring that each user group has an experience tailored to their specific interactions with the
system.
This subsection describes the various screens, dashboards, and pages that users of
CAMS interact with, detailing the user journey through these interfaces. It explains how users
navigate the system for tasks such as registering for facial recognition, checking attendance
records, or managing class, ensuring that the journey through the application is logical,
1. Login System
Figure 4.2-1 represents the login section of the student facial recognition attendance
system. Users, like administrators or educators, would access this portal to view attendance
data, manage student profiles, or adjust system settings. A secure login ensures that only
38
2. Admin Dashboard
Figure 4.2-2 showcases the admin dashboard of the student facial recognition
overview of attendance metrics at a glance. The dashboard provides features such as:
This user-friendly dashboard ensures that staff can easily monitor and manage student
3. Add Student
Figure 4.2-3 presents the "Add Student" interface of the student facial recognition
attendance system. This section is crucial for administrators or educators to onboard new
students into the system. Features and elements that the interface might include are:
• Fields for entering student details such as name, ID number, class, and other relevant
information.
• An option to upload or capture the student's facial image, which the system will use for
recognition.
in the system, allowing the facial recognition feature to identify and record their attendance
correctly.
4. Manage Students
Figure 4.2-4 depicts the "Manage Student" section of our student facial recognition
and modify student records as necessary. Key features and elements that might be found
• A list or table displaying registered students, with columns for their names, IDs,
This "Manage Student" interface ensures that the school's staff has full control over
system.
40
Figure 4.2-4 Manage Student Dashboard
5. Add Lecturer
Figure 4.2-5 showcases the "Add Lecturer" interface of the student facial recognition
attendance system. This page is essential for administrators or school staff to input and
manage lecturer or teacher profiles. Some probable features and elements within this
• Fields for entering lecturer details such as name, employee ID, department, and other
relevant data.
• An option to upload or capture the lecturer's facial image, which the system might use
Through this "Add Lecturer" section, the system can maintain an organized database of
educators, which can be useful for various functionalities beyond just student
attendance.
41
Figure 4.2-5 Add Lecturer Dashboard
6. Manage Lecturers
Figure 4.2-6 introduces the "Manage Lecturer" interface of our student facial
staff to oversee and adjust lecturer or teacher profiles when necessary. Key features and
• A list or table showcasing registered lecturers, with columns detailing their names,
• Options to edit or update a lecturer's data, ensuring that all information remains up-
to-date.
• Tools to delete or archive lecturers, for instances like retirements or role changes.
The "Manage Lecturer" interface ensures that school administrators have complete
command over lecturer records, optimizing the operation of the facial recognition
42
Figure 4.2-6 Manage Lecturers Dashboard
student facial recognition attendance system. This section is crucial for administrators
or educators to structure and manage class groups within the school. Some potential
• Fields for detailing class information such as class name, class ID.
• A list or table that displays existing classes, providing a quick overview of the
The "Add/Manage Class" interface is foundational to the system. It ensures classes are
correctly set up, helping the facial recognition feature accurately track student
43
Figure 4.2-7 Create Class Dashboard
8. Admin Settings
Figure 4.2-8 provides a glimpse into the "Admin Settings" interface of the student facial
granting them the capability to fine-tune system configurations and parameters. Some
• Tools for managing user roles and permissions, ensuring that only authorized
The "Admin Settings" interface serves as the control center for the system, giving
administrators the power to optimize its performance and security according to the
44
Figure 4.2-8 Admin Settings Dashboard
9. Lecturers Dashboard
Figure 4.2-9 showcases the "Lecturer Dashboard" within the student facial recognition
tailored to their roles. Elements and features that the dashboard might encompass are:
The "Lecturer Dashboard" is the gateway for educators to harness the power of the
The table contains information about each student such as student ID, student name,
11.Attendance Management
Figure 4.2-11 shows are the students’ attendances for various classes. The table
contains information about each student such as student ID, student name, date, time
46
4.3. Testing and Validation
In the scope of the student facial recognition attendance system, testing and validation
are of utmost importance. Given the critical nature of student attendance and the implications
components, such as cameras, is essential. Testing will probe the accuracy of our facial
recognition algorithms and the reliability of our attendance logging mechanisms, ensuring that
each module works harmoniously and without hiccups. Validation, in contrast, will verify that
our system effectively identifies students, logs attendance accurately, and provides educators
with reliable data as initially planned. These interconnected processes underline our dedication
Database Initialization: The initial phase is dedicated to setting up a secure database where
essential student information and their distinctive facial features or templates are stored.
Admin Interface: Here, the system admin or other authorized personnel have the ability to
access a dedicated interface, allowing them to enter pertinent student details. This encompasses
crucial information such as the student's name, ID, class, and more.
A camera captures live images or video feed of students when they enter the Just like the image
upload process, the system detects and processes faces in real-time from the live feed. The
extracted features from the live feed are compared with the stored templates in the database
using similarity metrics. If there's a match above a certain threshold, the system identifies the
student. Once a student is identified, the system marks attendance for that student for the
particular day or class. If the system can't find a match for a detected face, it tags it as
"Unknown.".
47
1. Taking Attendance process
Figure 4.3-1 displays the attendance being recorded for the student, using the saved information
in the database.
Figure 4.3-2 demonstrates that if a student's attendance has already been recorded and there is
an attempt to record it again, the system will display a message indicating 'Attendance already
taken.'"
48
However, if a student’s image is not part of the stored images in the system, the system will
not recognize his or her face by displaying a red rectangle with unknown shown at the top.
Figure 4.3-4 shows students, previously added to the database, having their attendance taken
and recorded for that specific day. Under 'Attendance Records', authorized personnel or
lecturers can view attendance records for specific days, weeks or months.
49
4.4. Result
The integrated facial recognition attendance system effectively bridges the gap between
educational institutions and their students, ensuring precise attendance tracking. The moment
a student enters the classroom, the system promptly identifies the student and records the time
and date of their attendance. Beyond just recording, the system offers real-time attendance
monitor classroom presence and punctuality in real-time. This fusion of technology not only
ensures accurate attendance records but also provides educational institutions with an enhanced
sense of management and oversight. The real-time feedback, interactive student profiles, and
immediate attendance logs collectively illustrate the system's efficacy and the positive
4.5. Summary
provide educational institutions with an enhanced layer of monitoring student attendance. The
system seamlessly integrates hardware components, like cameras and facial recognition
modules, with software interfaces to create a real-time student identification and attendance
recording mechanism.
Upon initialization, the system activates its recognition phase, diligently watching over
the classroom's entry points. Should a student enter, the system immediately identifies the
student and logs their attendance, capturing crucial information such as the time and date. This
But the system's capabilities extend far beyond mere recognition. Through a dedicated
administrative interface, lecturers or administrators can view and manage student attendance
records, regardless of their own location. They can view student profiles, access attendance
histories, and even generate reports for specific periods. In instances of discrepancies or to
50
update student details, an option to manage student profiles ensures seamless system
operations.
In essence, this project marries innovative technology with practical educational needs,
offering institutions not just accurate attendance tracking but also efficient management.
options, the Facial Recognition Attendance System stands as a testament to the possibilities of
51
CHAPTER 5: DISCUSSIONS AND CONCLUSIONS
5.1. Introduction
Chapter five of this dissertation delves into the discussions, conclusions, and
of the research findings, this chapter aims to provide insights into the effectiveness and
feasibility of this innovative approach, offering valuable recommendations for its successful
integration within educational institutions in Sierra Leone. The discussions will shed light on
the benefits and limitations of facial recognition technology in attendance management, the
implications for student privacy, and the potential challenges that may arise during
implementation
5.2. Discussions
Class attendance management using facial recognition technology can solve the
problem of students’ attendance on educational institutions in Sierra Leone. This can be done
by using some software techniques and algorithms first to detect a face then to predict whose
face is. As this was a small-scale project, data structure and implementation did not have many
problems. Nonetheless, it took the researcher countless effort with research and studying
different technologies required as these tools and technologies were new to the researcher.
This caused a delay in the development of the project. In spite of the delay and the many
complications, the researcher was able to integrate those tools and technologies and complete
the project. Conversely, the accomplishment rate of facial recognition was not as expected. The
accomplishment rate depended upon the quality of the camera, lighting, and adequate dataset
in the database. When these factors were to be managed accurately, the success rate of face
52
recognition increased. The effort that went to learn and research about python, HTML,
Tailwind CSS, and VSCode and other tools and technologies was worth everything.
Even though the process of researching and implementing was awesome, it started to
be more interesting as the project began to show some results. This project gave the researcher
5.3. Conclusions
The sole aim of the project was to design a system that uses facial recognition
technology to manage student’s attendance for classes. The concepts of facial recognition and
examples of implementation and explanations. The result of the project was a successful
prototype of a facial recognition system in which the admin can create a lecturer account as
well as adding students and their information to the database. The lecturers then can log in to
the system and take attendance of the student. The student’s face is detected by a camera and
attendance is recorded in the database. Lecturers and admin could see the attendance report of
the students.
Overall, the project was successful in its showcasing how python and other software
can be implemented in the design of the system to create a web application. As soon as it is
implemented, it can be used to take attendance of students and keep track of their attendance
records.
5.4. Recommendations
regarding certain software and their deployment methodologies. Furthermore, the study need
substantial financial assistance during the creation and testing of the system.
53
Because most software requires a sophisticated programming language, the time period
for designing such a system was quite short. All of this makes it quite tough to create the design.
It was observed that face detection algorithms work on changes to illumination and
future work and research implement a system that can achieve a high performance on such
images.
The privacy of the data stored is very important. At the beginning of every school year,
the university will take images of newly admitted students and store them in the database of
the system. Therefore, it is the responsibility of the university to inform each student about the
use of their faces for a facial recognition attendance system. This must however be in line with
the government policies on ethical issues and data protection laws. This means that the students
will have to approve to their images used for the purpose of attendance taking.
Also, this project has the potential for further development in the future by adding more
features for students and lecturers. More features like assignments, results, and grades could
be added.
A more in-depth investigation is required for such a project. The approaches employed
might be coupled with others to get excellent outcomes. According to the literature research,
HMM may be used in conjunction with other feature extraction methods, which can be
constructed and evaluated. This will take more time because it is merely a trial that will take
into account the existing procedure in order to have a completely fresh notion. The technology
will be implemented as a stand-alone system that other schools can utilize. This will now be
54
The research focuses only on the development of a face recognition-based attendance
management system for a classroom context. It does not include other forms of attendance
study assumed that the essential gear, such as a web camera and computer, was available and
55
References
[4] X. Chen, "Study on Student Attendance System Based on Face Recognition," Journal of
Physics: Conference Series, vol. 2492, pp. 1742-6596, 2023.
[5] D. Prangchumpol, "Face Recognition for Attendance Management System Using Multiple
Sensors," Journal of Physics: Conference Series, pp. 1742-6596, 2019.
56
Appendix A: Face Recognition Code
import cv2
import os
import face_recognition
import pickle
def update_encodings():
folderPath = 'static/Images'
PathList = os.listdir(folderPath)
imgList = []
studentsIds = []
imgList.append(cv2.imread(os.path.join(folderPath, path)))
studentsIds.append(os.path.splitext(path)[0])
def findEncodings(imagesList):
encodeList = []
encode = face_recognition.face_encodings(img)[0]
encodeList.append(encode)
return encodeList
encodeListKnown = findEncodings(imgList)
print("Encoding complete")
print("File saved")
def load_known_encodings(filename):
encodings_with_ids = pickle.load(file)
return encodings_with_ids
match_index = np.argmin(face_dis)
if matches[match_index]:
reg_no = student_ids[match_index]
query = """
FROM students s
"""
cursor.execute(query, (reg_no,))
student = cursor.fetchone()
58
if student:
else:
now = datetime.now()
cursor.execute("INSERT INTO attendance (id, time, date) VALUES (%s, %s, %s)",
(reg_no, now.strftime('%H:%M:%S'), now.strftime('%Y-%m-%d')))
db.commit()
student = cursor.fetchone()
else:
59