Facial Recognition Based Attendance System Report
Facial Recognition Based Attendance System Report
on
of
BACHELOR OF TECHNOLOGY
IN
Submitted by:
DECLARATION
We here declare that work which is being presented in the project entitled “FACIAL
RECOGNITION BASED ATTENDANCE SYSTEM” in partial fulfillment of degree of
Bachelor of Technology in Computer Science & Engineering is an authentic record of our
work carried out under the supervision and guidance of Dr. Gaurav Makwana, Assistant
Professor of Computer Science & Engineering. The matter embodied in this project has not
been submitted for the award of any other degree.
Piyush Vishwakarma
Shreya Sinkhedkar
Shashank Shrivastava
Ibrahim Salim
Date:
I
SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA, INDORE
SHRI VAISHNAV INSTITUTE OF INFORMATION TECHNOLOGY
The following team has done the appropriate work related to the “Facial Recognition Based
Attendance System” in partial fulfillment for the award of Bachelor of Technology in
Computer Science & Engineering of “SHRI VAISHNAV INSTITUTE OF INFORMATION
TECHNOLOGY” and is being submitted to SHRI VAISHNAV VIDYAPEETH
VISHWAVIDYALAYA, INDORE.
Team:
1. Piyush Vishwakarma
2. Shreya Sinkhedkar
3. Shashank Shrivastava
4. Ibrahim Salim
Date:
II
SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA, INDORE
SHRI VAISHNAV INSTITUTE OF INFORMATION TECHNOLOGY
CERTIFICATE
This is to certify that Mr. Piyush Vishwakarma, Mr. Shashank Shrivastava, Mr. Ibrahim
Salim and Ms. Shreya Sinkhedkar working in a team have satisfactorily completed the project
entitled “Facial Recognition Based Attendance System” under the guidance of Dr. Gaurav
Makwana in the partial fulfillment of the degree of Bachelor of Technology in Computer
Science & Engineering awarded by SHRI VAISHNAV INSTITUTE OF INFORMATION
TECHNOLOGY affiliated to SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA,
INDORE during the academic year Jul-Dec-2022.
III
ACKNOWLEDGEMENT
We are grateful to a number of persons for their advice and support during the time of complete
our project work. First and foremost, our thanks go to Dr. Anand Rajavat Head of the
Department of Computer Science & Engineering and Dr. Gaurav Makwana the mentor of our
project for providing us valuable support and necessary help whenever required and also helping
us explore new technologies by the help of their technical expertise. His direction, supervision
and constructive criticism were indeed the source of inspiration for us.
We would also like to express our sincere gratitude towards our Director Dr. Anand Rajavat
for providing us valuable support.
We are really indebted to Dr. Rajesh Kumar Chakrawarti, project coordinator for helping us
in each aspect of our academic’s activities. We also owe our sincere thanks to all the faculty
members of the Computer Science & Engineering Department who have always been helpful.
We forward our sincere thanks to all teaching and non-teaching staff of the Computer Science
& Engineering department, SVVV Indore, for providing necessary information and their kind
co-operation.
We would like to thank our parents and family members, our classmates and our friends for their
motivation and their valuable suggestions during the project. Last, but not the least, we thank all
those people who have helped us directly or indirectly in accomplishing this work. It has been a
privilege to study at SHRI VAISHNAV VIDYAPEETH VISHWAVIDYALAYA, INDORE.
IV
ABSTRACT
V
LIST OF FIGURES
VI
TABLE OF CONTENT
Declaration I
Project approval sheet II
Certificate III
Acknowledgement Abstract IV
List of Figures V
4-9
CHAPTER 2- LITERATURE
SURVEY 4
4-8
2.1 Existing system
2.2 Proposed system 5
2.2.1 Proposed system 8-9
components 9
2.3 Feasibility study
2.3.1 Technical Feasibility 9
2.3.2 Economic Feasibility 9
2.3.3 Operational Feasibility
10-11
CHAPTER 3- REQUIREMENT
ANALYSIS 10
10-11
3.1 Functional Requirements
11
3.2 Non-Functional
Requirements 11
3.3 System Specifications 11
3.4 Technologies
3.5 Hardware
12-14
CHAPTER 4-DESIGN
12
4.1 Use case model
4.2 Data flow diagram 12-14
VII
15-18
CHAPTER 5- SYSTEM
MODELING 15
15-16
5.1 Detailed class diagram
5.2 Interaction diagrams 15-16
5.2.1 Sequence diagrams 16
5.3 State chart 16-17
5.4 Activity Diagram 17-18
5.5 Testing
19
CHAPTER 6- CONCLUSION
AND FUTURE WORK 19
19
6.1 Limitations of project
6.2 Future Enhancement
References 20
Appendix 21-24
VIII
CHAPTER 1- INTRODUCTION
1.1 Introduction
Introducing Facial Recognition-based Attendance System, a smart and efficient way of taking
attendance in any organization which takes attendance. The system is being developed in such a
way that, be it in a classroom or an office, attendance happens quickly and easily. Attendance,
which sometimes becomes a headache for the organization, cannot be any easy if it detects and
records the faces of the People. It raises the overall productivity of the company and makes them
focus on their real job.
Python, which is one of the highly recommended and popular languages in the field of AI
and Machine Learning, is being used as the core in this project. The technology is planned to have
an AI-based system which automatically recognizes a person’s face using various advanced
Machine learning algorithms and records it into the server corresponding to that person’s record.
The database would already have all the facial records of the registered people (employees,
students, etc.), it would use this technology to figure out whose face it is and update the record as
quickly and efficiently as possible.
This would be quicker than the traditional approach of manually updating sheets or
databases. We will be focusing, in this project, to increase the overall accuracy of facial recognition
which is also economical for large-scale deployment and more effective than what is currently
available in the market. This way it would be easy to popularize in Schools and companies with a
budget.
Usually, in organizations, the attendance of the employees or students is taken manually, which
has been an approach for centuries, but modern computation gives us an opportunity to resolve
that hectic process and scale it down for more efficiency. The problems with the traditional
attendance process are as follows:
1
• The current system is not trustworthy as somebody can alter the attendance sheet or put a
proxy which questions the accuracy of the sheet.
• It is prone to human errors as anybody can accidentally put inaccurate attendance in case
of miscommunication.
• Loss of Records can occur as it is a time and space-consuming process to store all the
previous attendance data, further the attendance sheet might also get destroyed or lost.
• It can be a potential Covid19 carrier in the case of technologies like the fingerprint reader,
which requires a modern and healthy approach to the solution of the Problem.
The objective of the proposed system is to capture the face of each student and to store it in
the database for their attendance.
Since the entire process is automated, the need for human intervention is minimal. So, there is no
need for added staff to do this work manually. It lowers the cost while increasing operational
effectiveness.
Accuracy of the data is the critical factor in these systems. The most common problem in
organizations is time management and keeping an eye on the arrivals and departments of each
employee. Hence, this system comes to the rescue by keeping accurate time and attendance. Face
recognition-based attendance system project reports are more accurate and error-free since the
tracking is done in real-time.
With facial recognition attendance systems, entry and exit tracking can be fully automated. The
system’s advanced algorithms can locate and identify faces without human intervention or
physical validation. Using facial recognition, tracking employee time is a breeze.
IV. Security
A major advantage of the Facial Recognition System is the increased authenticity and security it
offers. When facial recognition technology is installed around a company’s premises, it makes it
easier to identify authorized personnel and grants access only to them.
2
1.4 Objective
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 the existing 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 Recognition, Updating of Attendance in database.
1.6 Scope
Facial recognition is becoming more prominent in our society. It has made major progress in the
field of security. It is a very effective tool that can help low enforcers to recognize criminals and
software companies are leveraging the technology to help users access the technology. This
technology can be further developed to be used in other avenues such as ATMs, accessing
confidential files, or other sensitive materials. This project servers as a foundation for future
projects based on facial detection and recognition. This project also convers web development and
database management with a user-friendly UI. Using this system any corporate offices, school and
organization can replace their traditional way of maintaining attendance of the employees and can
also generate their availability(presence) report throughout the month.
3
CHAPTER 2- LITERATURE SURVEY
In the Fingerprint based existing attendance system, a portable fingerprint device needs to be
configured with the students fingerprint earlier. Later, either during the lecture hours or before, the
student needs to record the fingerprint on the configured device to ensure their attendance for the
day. The problem with this approach is that during lecture time it may distract the attention of the
students.
In the RFID based existing system, the student needs to carry a Radio Frequency Identity Card
with them and place the ID on the card reader to record their presence for the day. The system can
connect to RS232 and record the attendance to the saved database. There are possibilities that
fraudulent access to it may occur. Some are students may make use of other students ID to ensure
their presence when the student is absent, or they even try to misuse it sometimes.
In the Iris based student attendance system, the student needs to stand in front of a camera, so that
the camera will scan the Iris of the student. The scanned iris is matched with data of students stored
in the database and the attendance on their presence needs be updated. This reduces the paper and
pen workload of the faculty members of the institute. This also reduces the chances of proxies in
the class and helps in maintaining the student records safe. It is a wireless biometric technique that
solves the problem of spurious attendance and the trouble of laying the corresponding network.
4
because the system captures a photo and through further processing steps the face is being
recognized and the attendance database is updated.
To overcome the problems in the existing attendance system we shall develop a Biometric
based attendance system over simple attendance system. There are many solutions to automate the
attendance management system like thumb-based system, simple computerized attendance system,
Iris scanner, but all these systems have limitations overwork and security point of view. Our
proposed system shall be a “Face Recognition Attendance System” which uses the basic idea of
image processing, which is used in many security applications like banks, airports, Intelligence
agencies etc.
The whole process begins with marking up the facial landmark of one’s face.
Facial landmarks are used to localize and represent salient regions of the face, such as:
• Eyes
• Eyebrows
• Nose
• Mouth
• Jawline
Facial landmarks have been successfully applied to face alignment, head pose estimation, face
swapping, blink detection and much more.
Detecting facial landmarks is a subset of the shape prediction problem. Given an input
image (and normally an ROI that specifies the object of interest), a shape predictor attempts to
5
localize key points of interest along the shape. In the context of facial landmarks, our goal is to
detect important facial structures on the face using shape prediction methods.
We may apply a pre-trained HOG + Linear SVM object detector specifically for the task of face
detection or we can even use deep learning-based algorithms for face localization. In either case,
the actual algorithm used to detect the face in the image doesn’t matter. Instead, what’s important
is that through some method we obtain the face bounding box (i.e., the (x, y)-coordinates of the
face in the image).
Given the face region we can then apply Step #2: detecting key facial structures in the face
region. There are a variety of facial landmark detectors, but all methods essentially try to localize
and label the following facial regions:
• Mouth
• Right eyebrow
• Left eyebrow
• Right eye
• Left eye
• Nose
• Jaw
The facial landmark detector included in the dlib library is an implementation of the One
Millisecond Face Alignment with an Ensemble of Regression Trees paper by Kazemi and
Sullivan (2014).
Given this training data, an ensemble of regression trees are trained to estimate the facial
landmark positions directly from the pixel intensities themselves (i.e., no “feature extraction” is
taking place).
6
The end result is a facial landmark detector that can be used to detect facial landmarks
in real-time with high quality predictions.
The pre-trained facial landmark detector inside the dlib library is used to estimate the location
of 68 (x, y)-coordinates that map to facial structures on the face.
Figure 2.1: 68-point facial landmark detection model coordinates from the iBUG 300-W dataset
These annotations are part of the 68 point iBUG 300-W dataset which the dlib facial landmark
predictor was trained on.
Regardless of which dataset is used, the same dlib framework can be leveraged to train a
shape predictor on the input training data. In order to detect faces/humans/objects in OpenCV
(and remove the false positives), we spend a lot of time tuning the cv2.detectMultiScale
parameters. We have object detection using key points, local invariant descriptors, and bag-of-
visual-words models. We have Histogram of Oriented Gradients. We have deformable parts
models. Exemplar models.
All that said, even though the Histogram of Oriented Gradients descriptor for object
recognition is nearly a decade old, it is still heavily used today — and with fantastic results. The
Histogram of Oriented Gradients method suggested by Dalal and Triggs in their seminal 2005
paper, Histogram of Oriented Gradients for Human Detection demonstrated that the Histogram
7
of Oriented Gradients (HOG) image descriptor and a Linear Support Vector Machine (SVM)
could be used to train highly accurate object classifiers — or in their particular study, human
detectors.
Step 1:
Sample P positive samples from our training data of the object(s) we want to detect and extract
HOG descriptors from these samples.
Step 2:
Sample N negative samples from a negative training set that does not contain any of the objects
we want to detect and extract HOG descriptors from these samples as well. In practice N >> P.
Step 3:
Train a Linear Support Vector Machine on our positive and negative samples.
Step 4:
Apply hard-negative mining. For each image and each possible scale of each image in our
negative training set, we apply the sliding window technique and slide our window across the
image. At each window compute the HOG descriptors and apply our classifier. If classifier
(incorrectly) classifies a given window as an object (and it will, there will absolutely be false-
positives), we record the feature vector associated with the false-positive patch along with the
probability of the classification. This approach is called hard-negative mining.
Step 5:
Take the false-positive samples found during the hard-negative mining stage, sort them by their
confidence (i.e. probability) and re-train the classifier using these hard-negative samples. (Note:
We can iteratively apply steps 4-5, but in practice one stage of hard-negative mining usually [not
always] tends to be enough. The gains in accuracy on subsequent runs of hard-negative mining
tend to be minimal.)
Step 6:
Furthermore:
• We train a Linear Support Vector Machine for our positive and negative samples.
• For each image and each possible scale of image in negative training set, we apply the
sliding window technique and slide the window across image.
8
• This way the classifier is trained and applied to the test dataset
Technical feasibility is carried out to determine whether the project is feasible in terms of software,
hardware, personnel, and expertise, to handle the completion of the project. It considers
determining resources for the proposed system. As the system is developed using python, it is
platform independent. Therefore, the users of the system can have average processing capabilities,
running on any platform. The technology is one of the latest hence the system is also technically
feasible.
Economic feasibility defines whether the expected benefit equals or exceeds the expected costs. It
is also commonly referred to as cost/benefit analysis. The procedure is to determine the benefits
and the savings expected from the system and compare them with the costs. The proposed system
is expected to outweigh the costs. This is a small project with no cost for development. The system
is easy to understand and use. Therefore, there is no need to spend on training to use the system.
This system has the potential to grow by adding functionalities for students as well as teachers.
This can Hence, the project could have economic benefits in the future.
Operational feasibility is the measure of how well a proposed system solves the problems with the
users. Operational feasibility is dependent on human resources available for the project and
involves projecting whether the system will be used if it is developed and implemented. The
project is operationally feasible for the users as nowadays all the teachers/staff are familiar with
digital technology.
9
CHAPTER 3 – REQUIREMENTS ANALYSIS
10
• It will check against the images that were stored in the database and if the face matches
with the face from the database, it will recognize it
• After successful facial recognition, the attendance of the person would be stored for that
day along with the timings.
11
CHAPTER 4 – DESIGN
Design is the first step in the development phase for any techniques and principles for the purpose
of defining a device, a process or system in sufficient detail to permit its physical realization.
Once the software requirements have been analyzed and specified the software design
involves three technical activities - design, coding, implementation, and testing that are required
to build and verify the software.
Design activities are of main importance in this phase, because in this activity, decisions
affecting the success of the software implementation and its ease of maintenance are made. These
decisions have the final bearing upon reliability and maintainability of the system. Design is the
only way to accurately translate the customer ‘s requirements into finished software or a system.
12
4.2 Data Flow Diagram
Levels or layers are used in DFDs to represent progressive degrees of detail about the system or
process. These levels include:
Level 0: Also known as a "context diagram," this is the highest level and represents an amazingly
simple, top-level view of the system being represented.
Level 1: Still a broad view of the system but incorporates subprocesses and more detail.
Level 2: Provides even more detail and continues to break down subprocesses as needed.
1. 0 LEVEL DFD
2. 1- LEVEL DFD
14
CHAPTER 5 – SYSTEM MODELING
• Used to model and visualize the logic behind a sophisticated function, operation or
procedure.
• They are also used to show details of UML use case diagrams.
15
• Used to understand the detailed functionality of current or future systems.
• Visualize how messages and tasks move between objects or components in a system.
16
5.4 Activity Diagram
5.5 Testing
In general, software engineers distinguish software faults from software failures. In case of a
failure, the software does not do what the user expects. A fault is a programming error that may or
may not actually manifest as a failure. A fault can also be described as an error in the correctness
of the semantic of a computer program. A fault will become a failure if the exact computation
conditions are met, one of them being that the faulty portion of computer software executes on the
CPU. A fault can also turn into a failure when the software is ported to a different hardware
platform or a different compiler, or when the software gets extended. Software testing is the
technical investigation of the product under test to provide stakeholders with quality related
information.
Testing Plan:
• Registration of students
• Face detection
17
• Image Capturing
• Captured Image Viewing
• Face recognition from registered database
• Attendance entry in Excel sheet
Considering the scope of the project and the time limitations, we performed the following tests:
a) Unit Test – This test verifies the program logic and is based on the knowledge of the program
structure.
b) Integration Test – This test verifies the entire system’s functionality according to the design
specification.
c) Business Requirements – This test verifies whether the specific requirements of the customer
are met.
d) Acceptance Testing – This test verifies whether the system needs to meet the initial objectives
and customer’s expectations.
18
CHAPTER 6 – CONCLUSION & FUTURE WORK
6.3 Conclusion
This system aims to build an effective class attendance system using face recognition
techniques. The proposed system will be able to mark the attendance via face Id. It will
detect faces via webcam and then recognize the faces. After recognition, it will mark the
attendance of the recognized student and update the attendance record in the sheet.
19
REFERENCES
21
APPENDIX
• Enter id
• Click for image
• Start Marking
22
Figure A.1.2 Registration Dialog Box
• This dialog box will appear when user click on enter id to enter his or her id.
22
Figure A.1.3 Final Recognition Output
23
Figure A.1.4 Excel Sheet for Attendance
24