Project Docc
Project Docc
INSTITUTION OF TECHNOLOGY
Figure 3.4 : Facial Feature Extractions (Left) and Face Image (Right)……………………......21
Figure 4.3 : After verifying student face with the data base………………………………......49
Figure 4.5: The total step of face recognition attendance implementation step in
configuration………………………………………………………………………………………41
Abstract
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 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. The primary problem addressed is the
need for a more reliable, efficient, and non-intrusive method to monitor attendance, which can also
prevent fraudulent attendance marking. To solve this problem, the proposed system uses a combination
of CCTV cameras for capturing real-time video feeds and Graphics Processing Units (GPUs) for
accelerated image processing. The result is a highly accurate and efficient attendance tracking system
that can automatically record and store attendance data in real-time. The system demonstrates high
accuracy rates in diverse lighting conditions and environments, significantly reducing the time and effort
required for attendance management. In conclusion, the face recognition-based attendance tracking
system provides a modern solution to traditional attendance recording challenges, offering enhanced
accuracy, efficiency, and security.
CHAPTER ONE
1 Introduction
1.1 Background of Study
The traditional method of attendance marking in schools and Universities is a tedious and time
consuming task. It often requires to manually call out the names of students or manually sign on sign
sheets, which can take a significant portion of the session. Moreover, this method is prone to errors and
proxy attendance. The purpose of this project is to develop an attendance system based on face
recognition techniques. The system will use individuals' faces for marking attendance. Face recognition
has gained popularity and is widely used in various applications. In this paper, we propose a system that
detects the faces of students from live streaming video by using in a classroom and marks attendance if
the detected face matches the database Singh, S., & Shekhar, S.[1]
Face recognition has emerged as an important biometric feature that is easily acquired and non-
intrusive. Face recognition-based systems offer advantages over other methods as they are relatively
unaffected by facial expressions. These systems can be categorized into verification, which involves
comparing a face image against template face images, and identification, which involves comparing a
query face image against a database of face images. Sharma A., & Aggarwal A. [2] Face recognition
system is a complex image-processing problem in real world applications with complex effects of
illumination, occlusion, and imaging condition on the live images. It is a combination of face detection
and recognition techniques in image analyzes. Detection application is used to find position of the faces
in a given image. Recognition algorithm is used to classify given images with known structured
properties, which are used commonly in most of the computer vision applications.
Computer vision is a field of AI that enables computers and systems to derive meaningful information
from digital images, videos, and other visual inputs and take actions or make recommendations based
on that information. If AI enables computers to think, computer vision helps them to see, observe and
understand. Automated facial recognition was pioneered in the 1960s. Woody Bledsoe, Helen Chan
Wolf, and Charles Bisson worked on using the computer to recognize human faces. Their early facial
recognition project was dubbed "man-machine" because the coordinates of the facial features in a
photograph had to be established by a human before they could be used by the computer for recognition.
Real-time face detection in video footage became possible in 2001 with the Viola–Jones object detection
framework for faces. By 2015 the Viola-Jones algorithm had been implemented using small low power
detector on handheld devices and embedded systems. Bledsoe, W., Wolf, H. C., & Bisson, C .[9]
Therefore, the Viola Jones algorithm has not only broadened the practical application of face recognition
systems but has also been used to support new features in user interfaces and teleconferencing.
In today's world of interne working the need to maintain the security of information or physical property
is becoming both increasingly important and increasingly difficult. From time to time we hear about
prison escapes which is the act of an inmate leaving prison through unofficial or illegal ways, and an
effort is made on the part of authorities to recapture them and return them to their original detainers;
however, it is difficult to recognize them from the crowd, this paves a way to a valuable security
techniques.
In the scientific community, the project contributes significantly to advancements in computer vision
and machine learning. Developing and deploying a robust face recognition system involves extensive
research in image processing, pattern recognition, and algorithm optimization. This project serves as a
practical application that demonstrates the capabilities and potential of these technologies, inspiring
further research and development. By addressing real-world challenges, it helps bridge the gap between
theoretical research and practical implementation, fostering innovation in the field.
On a broader scale, the adoption of such systems can improve productivity and accountability across
different sectors, including education, corporate, and government institutions. In educational settings,
accurate attendance tracking can lead to better student engagement and performance monitoring. In
workplaces, it ensures employee accountability and can be integrated with other systems for
performance evaluation. For the country as a whole, widespread adoption of advanced technologies like
face recognition can drive technological growth and innovation, positioning the country as a leader in
the tech industry. Moreover, it can lead to the development of new industries and job opportunities,
contributing to economic growth. By promoting the use of cutting-edge technology, the country can
enhance its global competitiveness and ensure a secure, efficient, and forward-looking infrastructure.
2 Literature Review
Face recognition is one of the most developing research zones because of increasing demands for
security in numerous applications. In this session, we are going to present quick overview of some of the
previous proposed works. Lastly, we will be presenting the advancement of our project compared to
those mention.
2.2 Methodology
In this section, we outline the methodology that we will employ to achieve our project objectives of
improving face recognition for attendance systems. The methodology consists of several key steps:
Face Detection and Recognition Library Selection
in order to perform face recognition with python and opencv we need to install two additional libraries
such as dilb maintained by davis king ,contains our implementation of deep metric learning which is
used to construct our face embedding’s used for the actual recognition process, Face recognition
Webcam Integration
An integrated webcam, is a small camera module that comes pre-installed in devices such as laptops,
tablets, and smartphones. It eliminates the need for an external camera, allowing users to capture video
and still images, engage in video calls, take pictures, and record videos directly without additional
equipment. It can try reinstalling or updating the driver to get it working again. Additionally, on
Windows 11, it can manage connected cameras through the Camera settings Configure the webcam to
capture real-time video frames. Establish the necessary connections with the webcam using Python
libraries like Open CV or Pygame.
Real-Time Face Detection and Recognition
Real-time face detection and recognition involve identifying and locating human faces within digital
images or videos. There are some key points such as Face Detection is a computer vision task that
automatically identifies and locates human faces in images or videos, Real-Time Aspect Modern face
detection algorithms can perform this task in real time, making it suitable for applications like video chat
or games that respond to facial expressions.
Real-time Database Integration
Real-time database integration is a crucial aspect of modern software development. Real-time database
integration involves connecting your application to a database that provides real-time updates. Real-time
databases allow data synchronization across clients and servers instantly, ensuring consistent and up-to-
date information.it Use Collaborative Apps Real-time databases are ideal for collaborative tools like chat
applications, collaborative document editing, and project management tools, Live Dashboards They
enable real-time visualization of data, such as live sales dashboards or monitoring systems, Design an
appropriate database structure within the Firebase Real-time Database to store student information,
attendance records, timestamps, and total attendance
Attendance Recording and Database Management
Implement the necessary functions and procedures to record attendance by linking the face recognition
results with the Firebase Realtime Database.
Utilize the Firebase SDKs and libraries for Python to store student information, attendance records,
timestamps, and total attendance within the Firebase Realtime Database.
User Interface A Facial Recognition Attendance Monitoring System is designed to address the
limitations of conventional attendance tracking methods. It leverages cutting-edge advancements in
computer vision and machine learning to provide a robust and reliable mechanism for recording
attendance. Here are some key features of such a system Develop a user-friendly interface for
instructors/administrators. Display real-time attendance updates.
2.3 Evaluation
2.3.1 Accuracy
measures the proportion of correctly identified faces out of the total faces the accuracy of a face
recognition-based attendance system depends on several factors, including the quality of the dataset, the
chosen face recognition algorithm, and the preprocessing techniques used .there are Data Collection and
Preprocessing, Face Recognition Algorithms, Real-Time Recognition.
2.3.2 Precision
Precision quantifies the ratio of true positive predictions (correctly identified faces) to the total positive
predictions (both true positives and false positives).
Recall (Sensitivity): (also known as sensitivity or true positive rate) represents the ratio of true positive
predictions to the total actual positive instances (both true positives and false negatives).
Fig 3.2 Algorithm of face detection part Chiranjit Dutta, Ranjeet Singh.[6].
White balance of images differs due to change in lighting conditions of the environment while
acquiring image. This situation creates non-skin objects that belong to skin objects.
Therefore, white balance of the acquired image should be corrected before segmenting.
Final verification of candidate and face image extraction, facial feature extraction process
is applied. Facial feature is one of the most significant features of face. Facial features
are eyebrows, eyes, mouth, nose, nose tip, cheek, etc. The property is used to extract the eyes
and mouth which, two eyes and mouth generate isosceles triangle, and distance between
eye to eye and midp oint of eyes distance to mouth is equal.
Figure 3.4 Facial Feature Extractions (Left) and Face Image (Right).
Feedback Mechanism This provides feedback to users or subjects being recognized. For instance, it
may display a confirmation message when a face is successfully recognized or alert the user if there's a
failure or discrepancy.
Security Measures: These ensure the integrity and security of the system. This may include encryption
of communication channels, access control mechanisms to prevent unauthorized usage and measures to
protect.
.
3.10.1 Implementation
Implement the components of the face recognition attendance system within the simulation
environment. This includes modules for image capture, face detection, face recognition, database
management, and attendance logging. Integrate the selected face detection and recognition
algorithms into the system and fine-tune their parameters as needed.
OpenCV is a powerful open-source framework for computer vision tasks. It provides over 2500
algorithms for real-time applications and is widely used in face recognition systems this step
locates the position of human faces within the image. OpenCV is an image and video processing
library and is used for image and video analysis. The dlib library, maintained by Davis King,
contains our implementation of “deep metric learning” which is used to construct our face
embedding used for the actual recognition process.
Dlib is a popular open-source library for machine learning and computer vision tasks. It provides
tools for face detection, face recognition, and other related tasks. To create a face recognition-
based attendance system using Dlib.
Face-recognition is a technology that identifies and verifies individuals based on their facial
features. It analyzes patterns in the face, such as the distance between eyes, nose shape, and
jawline, to create a unique representation (often called a face template).
CMake is an open-source, cross-platform family of tools designed to build, test and package
software. CMake is used to control the software compilation process using simple platform and
compiler independent configuration files, and generate native make files and workspaces that can
be used in the compiler environment of your choice,
CV Zone provides self-paced courses covering topics like self-driving, object detection,
augmented reality, robotics.
CMake is an open-source, cross-platform family of tools designed to build, test and package
software. CMake is used to control the software compilation process using simple platform and
compiler independent configuration files, and generate native make files and workspaces that can
be used in the compiler environment of your choice.
Use Case Modeling Identify the different actors (e.g., users, administrators) and use cases (e.g.,
enroll new user, mark attendance) of the system.Create use case diagrams to visualize the
interactions between actors and the system and to capture the functional requirements from a
user's perspective.
Fig 3.8 use case model of face recognition attendance system
System Architecture Analysis Analyze the architecture of the system to understand its overall
structure, components, and interactions. Identify the key subsystems/modules, such as image
capture, face detection, recognition engine, database management, and attendance logging.
Evaluate the design choices regarding the distribution of responsibilities, communication
protocols, and data flow between subsystems.
Fig 3.9 System architecture analysis
Data Flow Analysis Model the flow of data through the system, from the initial capture of
images to the final attendance record. Identify data sources, processing steps, transformations,
storage mechanisms, and interfaces between components. Analyze potential bottle necks, data
dependencies, and points of failure in the dataflow.
1. User Registration
Security Analysis Evaluate the security measures implemented in the system to protect sensitive
data, such as biometric templates and attendance records. Assess the effectiveness of
authentication mechanisms, encryption techniques, access controls, and audit trails in preventing
unauthorized access and ensuring data integrity.
Usability Analysis Assess the usability of the system from the perspective of end-users and
administrators. Conduct usability testing and gather feedback on aspects such as user interface
design, ease of use, intuitiveness, and learn ability .Identify any usability issues or pain points
and propose improvements to enhance user experience.
Reliability and Availability Analysis Evaluate the reliability and availability of the system to
ensure continuous operation and minimal downtime. Analyze factors such as fault tolerance,
error handling, system recovery and backup strategies to mitigate potential failures and
disruptions.
Cost-Benefit Analysis Perform a cost-benefit analysis to assess the economic feasibility of the
system, including upfront development costs, ongoing maintenance expenses, and potential
benefits such as labor savings and improved accuracy. Compare the costs and benefits of the
face recognition attendance system with alternative solutions or manual processes to determine
its value reposition.
Risk Analysis Identify potential risks and uncertainties associated with the system such as
technical challenges regulatory compliance, privacy concerns, and organizational resistance.
Assess the likelihood and impact of each risk and develop mitigation strategies to minimize their
effects on the project's success. By conducting thorough system analysis, you can gain insights
into the strengths, weaknesses, opportunities, and threats of the face recognition attendance
tracking system and make informed decisions to optimize its design, implementation, and
deployment.
3.13 Challenge faced during software and hardware implementation
Implementing a face recognition attendance system faces several challenges. One challenge is
the variability in real-world scenarios, including pose, lighting, and expression variations, which
can affect the accuracy of face recognition systems . Another challenge is the need for advanced
algorithms and machine learning techniques to analyze and compare facial features, in order to
overcome these variations and improve system performance . Additionally, the system must be
able to handle multiple users in one frame and detect faces accurately in low lighting conditions .
Furthermore, the system should be contactless, especially in the current pandemic era, to ensure
the safety and health of users. One of the main challenges of face detection and recognition is
the high variability of human faces in terms of shape, size, pose, expression, illumination,
occlusion, and makeup. These factors can make it difficult for the algorithms to generalize and
cope with different scenarios and condition.
Robust Algorithm Selection: Choose a robust face recognition algorithm that performs well
under various conditions such as varying lighting, facial expressions, and occlusions. Deep
learning-based algorithms like Convolutional Neural Networks (CNNs) often perform well.
Quality Data Collection: Gather a diverse dataset for training your face recognition model.
Ensure it includes various demographics, facial expressions, accessories (glasses, hats), and
lighting conditions. High-quality data is crucial for accurate recognition.
Hardware Compatibility: Ensure that the hardware components (e.g., cameras, processors) are
capable of handling the computational requirements of the face recognition algorithm. Opt for
hardware acceleration techniques like GPUs or specialized chips if needed.
Real-time Processing: Aim for real-time processing to achieve seamless attendance tracking.
Optimize algorithms and hardware to minimize latency and processing time.
Privacy and Security: Implement robust privacy and security measures to protect the data
collected by the face recognition system. Ensure compliance with relevant regulations such as
GDPR or CCPA.
Testing and Validation: Conduct thorough testing and validation of the system under various
scenarios to identify and address any issues. Use techniques like cross-validation and
performance metrics evaluation to assess the system's accuracy and reliability.
User Interface Design: Design an intuitive user interface for easy interaction with the
attendance system. Ensure that it provides clear feedback to users and supports functionalities
like enrollment, authentication, and reporting.
Training and Support: Provide adequate training and support to users and administrators of the
face recognition attendance system. This includes training on system usage, troubleshooting
common issues, and handling exceptions.