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

Face r System

The document presents a project report on a Face Recognition Attendance System developed by students at Padmabhooshan Vasantraodada Patil Institute of Technology. The system aims to automate the attendance process in educational institutions by using face recognition technology, thereby eliminating the inefficiencies of traditional methods. The report outlines the project's objectives, methodology, and implementation details, including the use of OpenCV and NVIDIA Jetson Nano for image processing and attendance recording.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Face r System

The document presents a project report on a Face Recognition Attendance System developed by students at Padmabhooshan Vasantraodada Patil Institute of Technology. The system aims to automate the attendance process in educational institutions by using face recognition technology, thereby eliminating the inefficiencies of traditional methods. The report outlines the project's objectives, methodology, and implementation details, including the use of OpenCV and NVIDIA Jetson Nano for image processing and attendance recording.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 34

FACE RECOGNITION

ATTENDANCE SYSTEM
A Report submitted to
Dr. BABASAHEB AMBEDKAR TECHNOLOGICAL
UNIVERSITY, LONERE

in partial fulfillment for the Degree of

BACHELOR OF TECHOLOGY
in
Electronics and Telecommunication
By
Name Roll No.
Anuradha A. Koli 21
Prajakta S. Narute 22
Sharvree K. Chougule 23
Vaishnavi S. Patil 24

UNDER THE GUIDANCE OF


Dr.S.S.Sankpal

PADMABHOOSHAN VASANTRAODADA
PATIL INSTITUTE OF TECHNOLOGY,
BUDHGAON
MAY,2024
PADMABHOOSHAN VASANTRAODADA PATIL INSTITUTE
OF TECHNOLOGY, BUDHGAON

Department of Electronics And Telecommunication

CERTIFICATE

This is to certify that the project report entitled


Face Recognition Attendance System
submitted by
1. Anuradha A. Koli (21)
2. Prajakta S. Narute (22)
3. Sharvree K. Chougule (23)
4. Vaishnavi S. Patil (24)

to Dr. BABASAHEB AMBEDKAR TECHNOLOGICAL UNIVERSITY,


LONERE, in partial fulfillment for theaward of the degree of B. Tech in
Electronics And Telecommunication is a bona fide record of project work
carried out by them under my supervision. The contents of this report, in
full or in parts, have not been submitted to any other Institution or
University for the award of any degree or diploma.

Dr.S.S.Sankpal Dr.M.S.Chavan Dr.B.S.Patil


(Guide) (Head of Department) (Principal)
DECLARATION

We declare that this project report titled Face Recognition Attendance


System submitted in partial fulfillment of the degree of B. Tech in
Electronics And Telecommunication is a record of original work carried
out by me under the supervision of Dr.S.S.Sankpal and has not formed the
basis for the award of any other degree or diploma, in this orany other
Institution or University. In keeping with the ethical practice in reporting
scientific information, due acknowledgements have been made wherever
the findings of others have been cited.

Sr. No. Names of the candidates Roll No. Signature


1. Anuradha A. Koli 21
2. Prajakta S. Narute 22
3. Sharvree K. Chougule 23
4. Vaishnavi S. Patil 24

Budhgaon

416304 14-MAY-

2024
ACKNOWLEDGMENTS

It gives me immense pleasure to acknowledge and thank many individuals who


contributed in various ways to the successful completion of this research work.
This project consumed a huge amount of work, research, and dedication. I
would like to extend my sincere gratitude to all of them.
I am also grateful to my guide Dr.S.S.Sankpal and the Head of the Department
Dr. M. S. Chavan for the provision of expertise, and technical support in the
implementation. The work presented here could not have been accomplished
without their inspiring guidance, superior knowledge, experience, constructive
criticism, and sustained encouragement during the course of my research work.
I am very grateful for the many discussions we had, especially on the analysis
of the theoretical and experimental results.
I offer my humble and sincere thanks to Dr. B. S. Patil Principal, P.V.P.I.T.
Budhgaon for his all-possible cooperation. I express my sincere thanks to all
staff members and non-teaching members from the Electronics and
Telecommunication Department of P.V.P.I.T. Budhgaon for their kind
cooperation and encouragement which helps me in the completion of this
project.

Miss. Anuradha Koli


Miss. Prajakta Narute
Miss. Sharvree chougule
Miss. Vaishnavi Patil
ABSTRACT

Attendance taking is one of a tedious and important tasks in colleges, universities, organizations,
schools, and offices, which must be done on a daily basis. The majority of the time, it is done
manually, such as by calling by name or by roll number. The main goal of this project is to create a
Face Recognition-based attendance system that will turn this manual process into an automated one.
This project meets the requirements for bringing modernization to the way attendance is handled, as
well as the criteria for time management. This device is installed in the classroom, where and
student's information, such as name, roll number, class, sec, and photographs, is trained. The images
are extracted using Open CV. Before the start of the corresponding class, the student can approach
the machine, which will begin taking pictures and comparing them to the qualified dataset. Logitech
C270 web camera and NVIDIA Jetson Nano Developer kit were used in this project as the camera
and processing board. The image is processed as follows: first, faces are identified using a
Haarcascade classifier, then faces are recognized using the LBPH (Local Binary Pattern Histogram)
Algorithm, histogram data is checked against an established dataset, and the device automatically
labels attendance. An Excel sheet is developed, and it is updated every hour with the information
from the respective class instructor.
DESCRIPTION PAGE
NO.
CERTIFICATE II
DECLARATION III
ACKNOWLEDGEMENTS IV
ABSTRACT V
CHAPTER 1- INTRODUCTION 1
1.1 Project Objective 2
1.2 Problem Statement 2
1.3 Aims and Objective 2
1.4 Project Specification 2

CHAPTER 2 – LITERATURE REVIEW 3


CHAPTER 3 – METHODOLOGY 5
3.1 Data Acquisition 6
3.1.1 Image Acquisition 6
3.1.2 Dataset Creation 6
3.2 Face Recognition Process 6
3.2.1 Face Detection and Extraction 7
3.2.2 Face Positioning 7
3.2.3 Face Encoding 7
3.2.4 Face Matching 7
3.3 Attendance System 7

CHAPTER 4 – MODEL IMPLEMENTATION AND ANALYSIS 9


4.1 Model Implementation 9
4.2 Design Requirements 10
4.2.1 Software Implementation 10
4.2.1.1 OpenCV 10
4.2.1.2 Tkinter 12
4.2.1.3 Pillow 13
4.2.1.4 Pandas 13
4.2.2.5 Python IDE 14
4.3 haar cascade 14
4.3.1 how the haar cascade algorithm works 14
4.3.1.1. haar features 15
4.3.1.2 integral images 15
4.3.1.3 adaboost classifir 16
4.3.1.4 cascading 17

CHAPTER 5 - EXPERIMENTAL RESULTS 18


5.1 front screen 18
5.2 taking input 18
5.3 data set 19
5.4 enter subject 20
5.5 final attendance excel sheet 20
CHAPTER 6 - APPLICATIONS 21

CHAPTER 7 – FUTURE SCOPE 22


CHAPTER 8 – WORK PLAN 23

CHAPTER 9 – CONCLUSION 24

CHAPTER 10 - REFERENCES 25
List Of Figures

FIGURE TITLE PAGE NUMBER

3.1. Project Outline 5


3.2 Block Diagram of Face 6
Recognition Process
4.1 Model Implement 9
4.2 Haar features applied on 15
relevant parts of face
4.3 Square shape Kernels: Haar 15
Cascade Features Figure
4.4 Integral Image 16
4.5 Adboost Classifiers using Haar 17
Cascade
4.6 Face Identification using Haar 17
Cascade
5.1 Front Screen 18
5.2 Taking Input 19
5.3 Dataset 19
5.4 Filling Attendance 20
5.5 Final Attendance Excel sheet 19
8
CHAPTER 1
INTRODUCTION
Attendance is prime important for both the teacher and student of an educational
organization. So it is very important to keep record of the attendance. The problem arises
when we think about the traditional process of taking attendance in class room.
Calling name or roll number of the student for attendance is not only a problem of time
consumption but also it needs energy. So an automatic attendance system can solve all above
problems.
There are some automatic attendances making system which are currently used by much
institution. One of such system is biometric technique and RFID system. Although it is
automatic and a step ahead of traditional method it fails to meet the time constraint. The
student has to wait in queue for giving attendance, which is time taking.
This project introduces an involuntary attendance marking system, devoid of any kind of
interference with the normal teaching procedure. The system can be also implemented during
exam sessions or in other teaching activities where attendance is highly essential. This system
eliminates classical student identification such as calling name of the student, or checking
respective identification cards of the student, which can not only interfere with the ongoing
teaching process, but also can be stressful for students during examination sessions. In
addition, the students have to register in the database to be recognized. The enrolment can be
done on the spot through the user-friendly interface. Traditional student attendance marking
technique is often facing a lot of trouble. The face recognition student attendance system
emphasizes its simplicity by eliminating classical student attendance marking technique such
as calling student names or checking respective identification cards. There are not only
disturbing the teaching process but also causes distraction for students during exam sessions.
Apart from calling names, attendance sheet is passed around the classroom during the lecture
sessions. The lecture class especially the class with a large number of students might find it
difficult to have the attendance sheet being passed around the class. Thus, face recognition
attendance system is proposed in order to replace the manual signing of the presence of
students which are burdensome and causes students get distracted in order to sign for their
attendance. Furthermore, the face recognition based automated student attendance system
able to overcome the problem of fraudulent approach and lecturers does not have to count the
number of students several times to ensure the presence of the students.

1
1.1 Problem Statement:
The challenge facing FRT is to perform well under severe conditions. For example, a
personal verification system might need to process a low-quality face image which might be
acquired using a cheap PC-camera and transferred over IP. Or the image capture happens in
an uncontrolled environment with bad lighting etc.

1.2 Aims and Objectives:


The objective of this project is to develop face recognition attendance system.
Expected achievements in order to fulfill the objectives are:
● To detect the face segment from the image.
● To extract the useful features from the face detected.
● To classify the features in order to recognize the face detected.
● To record the attendance of the identified student.

1.3 Project Specification :

a. Uses Pattern Matching algorithm for face detection.


b. Score of minimum 100 required to perfectly match a face.
c. Metric: Camera Resolution.
d. For prototype fixed to 10 users only but scalable design.
e. Requires good lighting condition for better camera capture capability.
f. Attendance sheet is .xlsx format and can be digitally distributed and maintained.

2
CHAPTER 2
LITERATURE REVIEW
Sk. Sharmila et. al. [1] compared the results of multiple machine learning methods for
Automatic attendance system. This research work presents the working of a cascade classifier
built with machine learning to improve the face detection results. This has been done by
comparing the face images in the current image to a database of previously trained faces. The
acquired image contributions are searched for a previously registered face, and once found,
the person's attendance is recorded automatically. A face detection and recognition- based
attendance monitoring system might very well rapidly and accurately locate and identify
people in photographs or video footage. In addition to being laborious to maintain, the time-
honored practice of physically ticking off attendees is inefficient.

Yenumaladoddi Jayasimha et. al. [2] analyses the structural features, and uses four
machine learning algorithms for training .The whale optimization algorithm , Conventional
neural network , etc are used . In this work a CNN based prototype is presented to estimate
the age and to classify the gender of detected faces along with its emotions. The proposed
model is implemented in three stages namely a hybrid feature extraction technique to identify
the facial expressions by using SVM classifier. A combination of SIFT and Deep learning-
based model is presented for identifying facial emotions. Whale optimization algorithm is
applied to optimize the performance of face
emotion recognition. This model gives a convolution neural network and introduces a novel
technique for classification of facial emotions, age prediction and male-female identification.

Venugopal A et. al. [3] proposed research work has developed a model to recognize face .
The proposed system captures the face of students attending the lecture by first detecting a
face from the video input and with the help of an ensemble of deep learning models recognize
the student and mark his/her attendance in the database . This system uses an ensemble of
facial recognition models such as VGG-FACE, Facenet, Openface, DeepFace so that it may
be able to yield a much higher accuracy while identifying the subject.

3
Gurlove Singh[4] procedure for authenticating any face data is sub-divided into two phases,
in the first phase, the face detection is done quickly except for those cases in which the object
is placed quite far, followed by this the second phase is initiated in which the face is
recognized as an individual. Then the whole process is repeated thereby helping in
developing a face recognition model which is considered to be one of the most extremely
deliberated biometric technology.The Eigenface method basically make use of the PCA
(Principal Component Analysis) to minimize the face dimensional space of the facial
features. The area of concern of this paper is using the digital image processing to develop a
face recognition system.

Samuel Lukas et al. in [5] proposed the HFR technique. HFR is a human face recognition
system that is the issue of today’s era. The HFR is used for many applications such as
surveillance systems, and monitoring systems. Here they have used two approaches for face
recognition I.e. feature- based and brightness based. They have used a technique that is a
combination of DWT (Discrete wavelet transforms), and RBF (Radial basis function) the
system accuracy increased by working more on feature extraction. The accuracy is about 82
percent.

4
CHAPTER
3
METHODOLOGY

The proposed system is designed for automating the attendance of the different
organization and reduces the flaws of existing manual system. The system calculate the
attendance subject wise, that is the data of students and subjects are added manually by
administrator, and whenever time for corresponding subject arrives the system automatically
starts taking snaps and find whether human faces are appear in the given image or not. We
have used Histogram of Oriented Gradient for face detection and deep learning techniques to
calculate and compare 128-d face features for face recognition. Once faces are detected and
recognize with the existing database, system calculate attendance for the recognize students
with the respective subject id in real time. And an excel sheet generated and saved by the
system automatically.

3.1 Project outline

5
Our system splits into two parts, First the front end side which consist of GUI which is
based on Electron JS that is JavaScript stack which is serving as a client and the second is the
backend side which consist of logic and based on Python which is serving as a server. And
we know that both the languages cannot communicate with each other directly so we have
used IPC (Inter Personal Communication) techniques with zero library as a bridge to
communicate these two languages. The Electron JS call the python functions and interchange
data via TCP with help of Zero PC Library.

3.1 Data Acquisition:


3.1.1 Image Acquisition:
Image is acquire using a high definition camera which is placed in the classroom. This image
is given as an input to the system.

3.1.2 Dataset Creation:


Dataset of students is created before the recognition process. Dataset was created only to train
this system. We have created a dataset of 5 students which involves their name, roll number,
department and images of student in different poses and variations. For better accuracy
minimum 15 images of each students should be captured. Whenever we register student’s
data and images in our system to create dataset, deep learning applies to each face to compute
128- d facial features and store in student face data file to recall that face in recognition
process. This process is applies to each image taken during registration.

3.2 Face Recognition Process:

Camera Detect Faces Computer 128-d


Frame/Image (HOG face embedding
method) via deep metric
learning

Excel sheet Compare 128-


Attendance Recognize d vector to
generated
Marking Face Known
dataset

Figure 3.2. Block Diagram of Face Recognition Process

6
3.2.1 Face Detection and Extraction:
Face detection is important as the image taken through the camera given to the system,
face detection algorithm applies to identify the human faces in that image, the number of
image processing algorithms are introduce to detect faces in an images and also the location
of that detected faces. We have used HOG method to detect human faces in given image.

3.2.2 Face Positioning:


There are 68 specific points in a human face. In other words we can say 68 face
landmarks. The main function of this step is to detect landmarks of faces and to position the
image. A python script is used to automatically detect the face landmarks and to position the
face as much as possible without distorting the image.

3.2.3 Face Encoding:


Once the faces are detected in the given image, the next step is to extract the unique
identifying facial feature for each image. Basically whenever we get localization of face, the
128 key facial point are extracted for each image given input which are highly accurate and
these 128-d facial points are stored in data file for face recognition.

3.2.4 Face matching:


This is last step of face recognition process. We have used the one of the best learning
technique that is deep metric learning which is highly accurate and capable of outputting real
value feature vector. Our system ratifies the faces, constructing the 128- d embedding
(ratification) for each. Internally compare_faces function is used to compute the Euclidean
distance between face in image and all faces in the dataset. If the current image is matched
with the 60% threshold with the existing dataset, it will move to attendance marking.

3.3 Attendance Marking:


Once the face is identify with the image stored in JSON file, python generate roll
numbers of present students and return that, when data is returned, the system generates
attendance table which includes the name, roll number, date, day and time with
corresponding subject id. And then passes the data to python to store the table into an excel
sheet automatically. Each sheet is saved according to the subjects which already entered by
the administrator, for example when system generates excel sheet by sending the compiled
sheet in an array to python, the

7
python first checks whether there exit any excel sheet of that date, if yes then it create separate
worksheet by subject id, so that attendance is differentiated for different subjects.

8
CHAPTER 4
MODEL IMPLEMENTATION AND ANALYSIS

Face detection involves separating image windows into two classes; one containing faces
(turning the background (clutter). It is difficult because although commonalities exist
between faces, they can vary considerably in terms of age, skin color and facial expression.
The problem is further complicated by differing lighting conditions, image qualities and
geometries, as well as the possibility of partial occlusion and disguise. An ideal face detector
would therefore be able to detect the presence of any face under any set of lighting
conditions, upon any background. The face detection task can be broken down into two steps.
The first step is a classification task that takes some arbitrary image as input and outputs a
binary value of yes or no, indicating whether there are any faces present in the image.

4.1 Model Implementation:

Figure 4.1: Model Implement

The main components used in the implementation approach are open source computer vision
library (OpenCV). One of OpenCV’s goals is to provide a simple- to-use computer vision
infrastructure that helps people build fairly sophisticated vision applications quickly.
OpenCV library contains over 500 functions that span many areas in vision. The primary
technology behind Face recognition is OpenCV. The user stands in front of the camera
keeping a minimum distance of 50cm and his image is taken as an input. The frontal face
is extracted from the

9
image then converted to gray scale and stored. The Principal component Analysis (PCA)
algorithm is performed on the images and the eigen values are stored in an xml file. When a
user requests for recognition the frontal face is extracted from the captured video frame
through the camera. The eigen value is re-calculated for the test face and it is matched with
the stored data for the closest neighbour.

4.2 Design Requirements:


We used some tools to build the system. Without the help of these tools it would not be
possible to make it done. Here we will discuss about the most important one.

4.2.1 Software Implementation:


4.2.1.1. OpenCV:
We used OpenCV 3 dependency for python 3. OpenCV is library where there are lots of
image processing functions are available. This is very useful library for image processing.
Even one can get expected outcome without writing a single code. The library is cross-
platform and free for use under the open-source BSD license. Example of some supported
functions are given bellow:
● Derivation: Gradient/Laplacian computing, contours delimitation
● Hough transforms: lines, segments, circles, and geometrical shapes Detection
● Histograms: computing, equalization, and object localization with back projection algorithm
● Segmentation: thresholding, distance transform, foreground/background detection,
watershed segmentation
● Filtering: linear and nonlinear filters, morphological operations
● Cascade detectors: detection of face, eye, car plates
● Interest points: detection and matching
● Video processing: optical flow, background subtraction, camshaft (object tracking)
● Photography: panoramas realization, high definition imaging (HDR), image inpainting

Installation and Usage of OpenCV:


If you have previous/other manually installed (= not installed via pip) version of OpenCV
installed (e.g. cv2 module in the root of Python's site-packages), remove it before installation
to avoid conflicts.

10
Make sure that your pip version is up-to-date (19.3 is the minimum supported version): pip
install --upgrade pip. Check version with pip -V. For example Linux distributions ship
usually with very old pip versions which cause a lot of unexpected problems especially with
the manylinux format.
Select the correct package for your environment:
There are four different packages (see options 1, 2, 3 and 4 below) and you should SELECT
ONLY ONE OF THEM. Do not install multiple different packages in the same environment.
There is no plugin architecture: all the packages use the same namespace (cv2). If you
installed multiple different packages in the same environment, uninstall them all with pip
uninstall and reinstall only one package.
a. Packages for standard desktop environments (Windows, macOS, almost any GNU/Linux
distribution)
Option 1 - Main modules package: pip install opencv-python
Option 2 - Full package (contains both main modules and contrib/extra modules): pip install
opencv-contrib-python (check contrib/extra modules listing from OpenCV documentation)
b. Packages for server (headless) environments (such as Docker, cloud environments etc.), no
GUI library dependencies.
These packages are smaller than the two other packages above because they do not contain
any GUI functionality (not compiled with Qt / other GUI components). This means that the
packages avoid a heavy dependency chain to X11 libraries and you will have for example
smaller Docker images as a result. You should always use these packages if you do not use
cv2.imshow et al. or you are using some other package (such as PyQt) than OpenCV to create
your GUI.
Option 3 - Headless main modules package: pip install opencv-python-headless
Option 4 - Headless full package (contains both main modules and contrib/extra modules):
pip install opencv-contrib-python-headless (check contrib/extra modules listing from
OpenCV documentation)
Import the package:
import cv2
All packages contain Haar cascade files. cv2.data.haarcascades can be used as a shortcut to
the data folder.

For example:
1.cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

11
2. Read OpenCV documentation
3. Before opening a new issue, read the FAQ below and have a look at the other issues which
are already open.

4.2.1.2 Tkinter:
Installation and Usage of Tkinter:
Tkinter is a standard library in Python which is used for GUI application. Tkinter has various
controls which are used to build a GUI-based application.
To install Tkinter, we need Python pre-installed. Tkinter actually comes along when we
install Python. While installing Python, we need to check the td/tk and IDLE checkbox. This
will install the tkinter and we need not install it separately.
However, if we missed installing Tkinter while installing Python, we can do it later using the
pip command.

Step 1 − Make sure Python and pip is preinstalled on your system


Type the following commands in command propmt to check is python and pip is installed on
your system.
To check Python
python --version
If python is successfully installed, the version of python installed on your system will be
displayed.
To check pip
pip -V
The version of pip will be displayed, if it is successfully installed on your system.

Step 2 − Install Tkinter


Tkinter can be installed using pip. The following command is run in the command prompt to
install Tkinter.
pip install tk
This command will start downloading and installing packages related to the Tkinter library.
Once done, the message of successful installation will be displayed.

12
4.2.1.3 Pillow:
Installation and Usage of Pillow:
Pillow is the friendly PIL fork by Jeffrey A. Clark and contributors. PIL is the Python
Imaging Library by Fredrik Lundh and contributors. As of 2019, Pillow development is
supported by Tidelift.
docs Documentation Status
tests GitHub Actions build status (Lint) GitHub Actions build status (Test Linux and
macOS) GitHub Actions build status (Test Windows) GitHub Actions build status (Test
MinGW) GitHub Actions build status (Test Cygwin) GitHub Actions build status (Test
Docker) AppVeyor CI build status (Windows) GitHub Actions build status (Wheels) Code
coverage Fuzzing Status
package
Zenodo Tidelift Newest PyPI version Number of PyPI downloads OpenSSF Best Practices
social Join the chat at https://gitter.im/python-pillow/Pillow Follow on
https://fosstodon.org/@pillow
Overview
The Python Imaging Library adds image processing capabilities to your Python interpreter.
This library provides extensive file format support, an efficient internal representation, and
fairly powerful image processing capabilities.
The core image library is designed for fast access to data stored in a few basic pixel formats. It
should provide a solid foundation for a general image processing tool.

4.2.1.4 Pandas:
Installation and Usage of Pandas:
Pandas is a Python package that provides fast, flexible, and expressive data structures
designed to make working with "relational" or "labeled" data both easy and intuitive. It aims
to be the fundamental high-level building block for doing practical, real world data analysis
in Python. Additionally, it has the broader goal of becoming the most powerful and flexible
open source data analysis / manipulation tool available in any language. It is already well on
its way towards this goal.
Where to get it
The source code is currently hosted on GitHub at: https://github.com/pandas-dev/pandas
Binary installers for the latest released version are available at the Python Package Index
(PyPI) and on Conda.

13
# conda
conda install -c conda-forge pandas
# or PyPI
pip install pandas
The list of changes to pandas between each release can be found here. For full details, see the
commit logs at https://github.com/pandas-dev/pandas.

4.2.1.5 Python IDE:


There are lots of IDEs for python. Some of them are PyCharm,Thonny, Ninja, Spyder
etc. Ninja and Spyder both are very excellent and free but weused Spyder as it feature- rich
than ninja. Spyder is a little bit heavier than ninja but still much lighter than PyCharm. You
can run them in pi and get GUI on your PC

sudo apt-get isntall spyder

through ssh-Y. We installed Spyder through the command line below.

4.3 Haar Cascade:


Haar Cascade classifiers are an effective way for object detection. This method
wasproposed by Paul Viola and Michael Jones in their paper Rapid Object Detectionusing a
Boosted Cascade of Simple Features .Haar Cascade is a machine learning-based approach
where a lot of positive and negative images are used to train the classifier.
● Positive images – These images contain the images which we want our classifier to
identify.
● Negative Images – Images of everything else, which do not contain the object we want to
detect.

4.3.1 How the Haar Cascade Algorithm works:


Haar Cascade algorithm works on a 4 step process:
● Haar features
● Integral images
● Adaboost classifier
● Cascading

14
4.3.1.1 Haar Features:
Haar-like features are digital image features used in object recognition. A Haar-like feature
considers adjacent rectangular regions at a specific location in a detection window, sums up
the pixel intensities in each region and calculates the difference between these sums. This
difference is then used to categorize subsections of an image.

Figure 4.2 -Haar features applied on relevant parts of face

Figure 4.3 - Square shape Kernels : Haar Cascade Features


We will use respective Haar features for detecting eyebrows, forehead, eyebrow from lighted
pixels- darker pixels. For black and white images (ideal cases) pixel values are 0 or 1 but in
real cases there are normalized pixel values.

4.3.1.2 Integral Images:


An Integral Image is an intermediate representation of an image where the value for
location (x, y) on the integral image equals the sum of the pixels above and to the
left (inclusive) of the (x, y) location on the original image

15
Figure 4.4 – Integral Image

Integral Images is a data structure and algorithm feature used for generating the sum of values
in a rectangular subset of a grid. The goal is reducing the number of computations needed to
obtain the summations of pixel intensities within a window.

The computed value by the Haar features are applied to the the mathematical tool provided
by the integral image algorithm to fasten this complex process of computing.

4.3.1.3 Adaboost Classifiers:

An AdaBoost classifier is a meta-estimator that begins by fitting a classifier on the original


dataset and then fits additional copies of the classifier on the same dataset but where the
weights of incorrectly classified instances are adjusted such that subsequent classifiers focus
more on difficult cases.

16
Figure 4.5 – Adaboost Classifiers using Haar Cascade

4.3.1.4 Cascading:

Cascading is a particular case of ensemble learning based on the concatenation of several


classifiers, using all information collected from the output from a given classifier as
additional information for the next classifier in the cascade.

Figure 4.6 - Face Identification using Haar cascade

17
CHAPTER 5
EXPERIMENTAL RESULTS
5.1 Front Screen:
This is the first screen which display on a screen to take enrollment and name of the
student.

Figure 5.1 – Front Screen

5.2 Taking Input:


Take Image- Introduction of new image illustrations called the Take image which
allow the features used by our detector to be computed very quickly
Train Image - The features of the face are to be extracted in the feature extraction
module.
the features are eyes, nose, and mouth. Then the training is done on the faces.
Automatic Attendance - Click on Automatic Attendance will directly go in excel sheet
which is automatically saves student data (Name , Enrollment No.)

18
Figure 5.2 – Taking input

5.3 Dataset:
Dataset of every student saved for recognizing face while taking attendance.

Figure 5.3 – Dataset

19
5.4 Enter Subject :Enter the name of Subject for which you have to fill the Students
Attendance

Figure 5.4 – Filling Attendance

6.5 Final Attendance Excel sheet:


After taking attendance this is final attendance excel sheet.

Figure 5.5 – Final Attendance Excel sheet

20
CHAPTER 6
APPLICATION
1. Using a face recognition attendance system during exams could help ensure that the right
students are present and prevent unauthorized individuals from entering. It adds an extra
layer of security and accountability to the exam process. However, it's essential to
consider privacy concerns and ensure that the system is implemented ethically and
transparently.
2. Large application in Institute attendance system where multiple attendance is are carried
out for different classes the attendance will be short time and reduce the manual error.
3. Large application of computer vision in field of communication biomedical automatic
product inspection.
4. Workplaces: These systems are popular with businesses of all sizes for tracking
employee attendance. They can improve efficiency by eliminating the need for manual
sign-in sheets or badge swipes, and can also help to reduce time theft by preventing
buddy punching (where one employee clocks in for another).
5. Schools: Face recognition attendance systems can be used to track student attendance in
class. This can be helpful for teachers who need to track which students are present and
for administrators who need to track overall attendance patterns.
6. Events: These systems can be used to verify the identity of ticket holders at events,
helping to improve security and prevent unauthorized access.
7. Access control: Face recognition technology can be used to control access to secure
areas, such as buildings, data centers, or computer networks. This can help to improve
security and prevent unauthorized access

21
CHAPTER 7
FUTURE SCOPE
The future scope of face recognition attendance systems is quite promising, with
advancements in technology and increasing demand for efficient and secure attendance
management solutions. Here are some potential directions in which this technology could
evolve.
 Using a face recognition attendance system during exams could help ensure that the
right students are present and prevent unauthorized individuals from entering. It adds
an extra layer of security and accountability to the exam process. However, it's
essential to consider privacy concerns and ensure that the system is implemented
ethically and transparently.
 It has the potential to completely transform a wide range of businesses, including
security and surveillance, AI capabilities, and even personalized advertising.

22
CHAPTER 8
WORKPLAN

8.1 Introduction:
A project work plan allows you to outline the requirements of a project, project
planning steps, goals, and team members involved in the project. Within each goal, you're
going to outline the necessary Key Action Steps in project planning, the requirements, and
who's involved in each action step.
Key Action Step:
 Expected Outcome -Add this as a task.
 The Expected outcome will be the part of Project Assign – Assigning the work to the
team members.
 Completion Date -Add a due date and tries to finish the work within the time

8.2 Work Breakdown Structure:


In order to develop this system, we gave enormous importance to scheduling
because we believed if we want to provide the best of quality in a given period of time then
we must give due importance to scheduling which also helped us to achieve a better results.
we observe the entire work structure, meaning how the scheduling was maintained
throughout the developmental phase. We shall also see the financial foundation of this project
and furthermore the feasibility study should be also discussed.

Month Activity Status


February 2024 Selection of project area and Completed
Study of the related work.
March 2024 Study of Journals related to Completed
the work. Submitting
synopsis and collecting
information about project
and completing 2nd half of
the overall planned work.
April 2024 Study on the software Completed
implementation works
python and image
processing.

May 2024 Report making and Completed


Submission.

23
CHAPTER 9
CONCLUSION
We have studied the different algorithms used in face recognition systems and,
successfully implemented Attendance Management System using Face Recognition. This
system will capture the image of the whole class at one time. The face of a student should be
at a minimum distance of 2.5 feet. This is done to avoid accidental face recognition. Our
system requires good lighting conditions to accurately classify the images of students. Our
system is first trained and then while testing it detects the face and labels the face with his/her
name. By implementing the algorithm and technique used to develop a face recognition
system, we analyzed the performance of the developed algorithm. And deploying a system
that will generate attendance reports of students. Our does not require any human
interference. This is the most beneficial advantage. Also, the time for teachers for taking
attendance is used properly so that they can interact with students effectively having more
time. Our system will accurately predict the student’s faces and accordingly marks the
attendance in an excel sheet. In our system we have compared SVM, CNN and LBPH
algorithms for accuracy. We can conclude that LBPH (Local Binary Patterns Histogram)
algorithm, is the most efficient algorithm for face recognition from images because it gives
high accuracy during the training and testing phase.

24
CHAPTER 10
REFERENCES
[1] S. Sharmila, G. K. Nagasai, M. Sowmya, A. S. Prasanna, S. N. Sri and N. Meghana,
"Automatic Attendance System based on Face Recognition using Machine Learning," 2023
7th International Conference on Computing Methodologies and Communication (ICCMC),
Erode, India, 2023, pp. 170-174 .

[2] Y. Jayasimha, M. Venkatesha and R. V. S. Reddy, "Face Detection and its Features
Extraction using Convolution Neural Network Model," 2022 3rd International Conference
for Emerging Technology (INCET), Belgaum, India, 2022, pp. 1-6.

[3] V. A, R. R. Krishna and R. V. U, "Facial Recognition System for Automatic Attendance


Tracking Using an Ensemble of Deep-Learning Techniques," 2021 12th International
Conference on Computing Communication and Networking Technologies (ICCCNT),
Kharagpur, India, 2021, pp. 1-6

[4] G. Singh and A. K. Goel, "Face Detection and Recognition System using Digital Image
Processing," 2020 2nd International Conference on Innovative Mechanisms for Industry
Applications (ICIMIA), Bangalore, India, 2020, pp. 348-352.

[5] S. Lukas, A. R. Mitra, R. I. Desanti and D. Krisnadi, "Student attendance system in


classroom using face recognition technique," 2016 International Conference on Information
and Communication Technology Convergence (ICTC), Jeju, Korea (South), 2016, pp. 1032-
1035.

25

You might also like