Face r System
Face r System
ATTENDANCE SYSTEM
A Report submitted to
Dr. BABASAHEB AMBEDKAR TECHNOLOGICAL
UNIVERSITY, LONERE
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
PADMABHOOSHAN VASANTRAODADA
PATIL INSTITUTE OF TECHNOLOGY,
BUDHGAON
MAY,2024
PADMABHOOSHAN VASANTRAODADA PATIL INSTITUTE
OF TECHNOLOGY, BUDHGAON
CERTIFICATE
Budhgaon
416304 14-MAY-
2024
ACKNOWLEDGMENTS
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 9 – CONCLUSION 24
CHAPTER 10 - REFERENCES 25
List Of Figures
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
16
Figure 4.5 – Adaboost Classifiers using Haar Cascade
4.3.1.4 Cascading:
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.
18
Figure 5.2 – Taking input
5.3 Dataset:
Dataset of every student saved for recognizing face while taking attendance.
19
5.4 Enter Subject :Enter the name of Subject for which you have to fill the Students
Attendance
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
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.
[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.
25