"Automated Attendance System Using Face Recognition": Bachelor of Engineering
"Automated Attendance System Using Face Recognition": Bachelor of Engineering
Face Recognition"
Project Report
by
Supervisor
Khan Mubashir
Co-Supervisor
Gopale Apeksha
This is to certify that the project entitled Automated Attendance System Using Face Recogni-
tion is a bonafide work of Khan Suhel(11CO25), Zakariya Mohd Hussain(12CO63), Khan
Shoeb(11CO24), Pathan Nazim(11CO21) submitted to the University of Mumbai in partial
fulfillment of the requirement for the award of the degree of Bachelor of Engineering in De-
partment of Computer Engineering.
Supervisor Co-Supervisor
This project entitled Automated Attendance System Using Face Recognition by Khan Suhel
is approved for the degree of Bachelor of Engineering in Department of Computer
Engineering.
Examiners
1. ..............................
2. ..............................
Supervisors
1. ..............................
2. ..............................
Chairman
.............................
Declaration
I declare that this written submission represents my ideas in my own words and where others
ideas or words have been included, I have adequately cited and referenced the original sources.
I also declare that I have adhered to all principles of academic honesty and integrity and have
not misrepresented or fabricated or falsified any idea/data/fact/source in my submission. I un-
derstand that any violation of the above will be cause for disciplinary action by the Institute and
can also evoke penal action from the sources which have thus not been properly cited or from
whom proper permission has not been taken when needed.
The objective of this system is to present an automated system for human face recognition for
an organization or institute to mark the attendance of their students or employees. This paper
introduces face detection method using the Voila and Jones algorithm and recognition using
correlation technique. The system will record the attendance of the students in class room
environment. The above system is fully automated and easily deployable. User gets an
authentication to upload the image containing file and also to view the attendance.
iv
Contents
1 Project Overview 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Advantages Over Current System . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Proposed System Architecture . . . . . . . . . . . . . . . . . . . . . . 3
1.1.4 Formulation of Problem With using Technology . . . . . . . . . . . . . 4
1.1.5 Viola and Jones Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Organization of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Literature Review 8
2.1 Automated Attendance System Using Face Recognition Through Video Surveil-
lance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 How to Overcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Study of Implementing Automated Attendance System Using Face Recognition 10
2.2.1 Weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 How to Overcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Algorithm for Efficient Attendance Management: Face Recognition . . . . . . 12
2.3.1 Weaknesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.2 How to Overcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Requirement Analysis 14
3.1 Platform Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1 Supportive Operating Systems . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Software Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Hardware Requirement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
v
4 Project Design 17
4.1 Design Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Software Architectural Designs . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.1 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.1 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Implementation Details 23
5.1 Assumptions and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.2 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2 Implementation Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.3 Competitive Advantages of Project . . . . . . . . . . . . . . . . . . . . . . . . 25
5.4 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.5 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8 Task Distribution 34
8.1 Distribution of Workload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8.1.1 Scheduled Working Activities . . . . . . . . . . . . . . . . . . . . . . 34
8.1.2 Members actvities or task . . . . . . . . . . . . . . . . . . . . . . . . 35
References 39
10 Journal Publication 40
11 Appendix I 46
11.1 What is Local Binary Pattern? . . . . . . . . . . . . . . . . . . . . . . . . . . 46
11.1.1 The LBP feature vector: . . . . . . . . . . . . . . . . . . . . . . . . . 46
11.2 What is ROA? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
11.3 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
vi
11.4 Average Paper Sheet waste generated in a year by a single employee . . . . . . 47
Acknowledgment 48
vii
List of Figures
4.1 Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Trainer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Component Diagram of Real Time Product Analysis . . . . . . . . . . . . . . 20
4.4 Deployment Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 E-R Diagram of Real Time Product Analysis system . . . . . . . . . . . . . . 22
viii
List of Tables
ix
Keywords And Glossary
Keywords :
Automated, Face Detection, Face Recognition, Voila and Jones
Algorithm, Correlation, Attendance.
Glossary :
x
Chapter 1
Project Overview
1.1 Introduction
In many Institution and Organization the attendance is a very important factor to maintain the
record of lectures, salary and work hours etc. Most of the institutes and organizations follow
the manual method using old paper and file method and some of them have shifted to biometric
technique. The current method that colleges use is that the professor passes a sheet or make roll
calls and mark the attendance of the students and this sheet further goes to the admin depart-
ment with updates the final excel sheet. This process is quite hectic and time consuming. Also,
for professors or employees at institutes or organizations the biometric system serves one at a
time. So, why not shift to an automated attendance system which works on face recognition
technique? Be it a class room or entry gates it will mark the attendance of the students, profes-
sors, employees, etc. This system uses Viola and Jones algorithm for detecting and recognizing
the faces. The main elements of this technology are as follows : a) Face Detection b) Face
Recognition
a) Face Detection:
Face detection is a computer technology being used in a variety of applications that identifies
human faces in digital images. Face detection also refers to the psychological process by which
humans locate and attend to faces in a visual scene. Face detection can be regarded as a specific
case of object-class detection. In object-class detection, the task is to find the locations and
sizes of all objects in an image that belong to a given class. Examples include upper torsos,
pedestrians, and cars. Face-detection algorithms focus on the detection of frontal human faces.
It is analogous to image detection in which the image of a person is matched bit by bit. Image
matches with the image stores in database. Any facial feature changes in the database will inval-
idate the matching process. A reliable face-detection approach based on the genetic algorithm
and the eigen-face technique: Firstly, the possible human eye regions are detected by testing all
the valley regions in the gray-level image. Then the genetic algorithm is used to generate all the
possible face regions which include the eyebrows, the iris, the nostril and the mouth corners.
Each possible face candidates is normalized to reduce lightning effect caused due to uneven
illumination and the shirring effect due to head movement. The fitness value of each candidate
is measured based on its projection on the eigen-faces. After a number of iterations, all the face
candidates with a high fitness value are selected for further verification. At this stage, the face
symmetry is measured and the existence of the different facial features is verified for each face
1
candidate.
b) Face Recognition:
A facial recognition system is a computer application capable of identifying or verifying a per-
son from a digital image or a video frame from a video source. One of the ways to do this
is by comparing selected facial features from the image and a facial database. It is typically
used in security systems and can be compared to other biometrics such as fingerprint or eye iris
recognition systems. Some facial recognition algorithms identify facial features by extracting
landmarks, or features, from an image of the subject’s face. For example, an algorithm may
analyze the relative position, size, and/or shape of the eyes, nose, cheekbones, and jaw. These
features are then used to search for other images with matching features. Other algorithms nor-
malize a gallery of face images and then compress the face data, only saving the data in the
image that is useful for face recognition. A probe image is then compared with the face data.
One of the earliest successful systems is based on template matching techniques applied to a
set of salient facial features, providing a sort of compressed face representation. Recognition
algorithms can be divided into two main approaches, geometric, which looks at distinguishing
features, or photometric, which is a statistical approach that distills an image into values and
compares the values with templates to eliminate variances. Popular recognition algorithms in-
clude Principal Component Analysis using eigenfaces, Linear Discriminate Analysis, Elastic
Bunch Graph Matching using the Fisherface algorithm, the Hidden Markov model, the Multi-
linear Subspace Learning using tensor representation, and the neuronal motivated dynamic link
matching.
1.1.1 Motivation
The main motivation for us to go for this project was the slow and inefficient traditional manual
attendance system. This made us to think why not make it automated fast and mush efficient.
Also such face detection techniques are in use by department like crime investigation where they
use cctv footages and detect the faces from the crime scene and compare those with criminal
database to recognize them.
Also facebook, it uses an algorithm called deep face whose accuracy to recognize is 97.25%
which is as close as what humans have that is 97.53%.
The previous approach in which manually taking and maintains the attendance records was very
inconvenient task. Traditionally, student’s attendances are taken manually by using attendance
sheet given by the faculty members in class, which is a time consuming event. Moreover, it
is very difficult to verify one by one student in a large classroom environment with distributed
branches whether the authenticated students are actually responding or not. The ability to com-
pute the attendance percentage becomes a major task as manual computation produces errors,
and also wastes a lot of time. This method could easily allow for impersonation and the at-
tendance sheet could be stolen or lost. An automatic attendance management system using
biometrics would provide the needed solution. The results showed improved performance over
manual attendance management system. Biometric-based techniques have emerged as the most
promising option for recognizing individuals in recent years since, instead of authenticating
2
people and granting them access to physical and virtual domains based on passwords, PINs,
smart cards, plastic cards, tokens, keys and so forth, these methods examine an individual’s
physiological and/or behavioral characteristics in order to determine and/or ascertain his iden-
tity. Biometric based technologies include identification based on physiological characteristics
(such as face, fingerprints, finger geometry, hand geometry, hand veins, palm, iris, retina, ear
and voice) and behavioral traits (such as gait, signature and keystroke dynamics). Face recog-
nition appears to offer several advantages over other biometric methods, a few of which are
outlined here: Almost all these technologies require some voluntary action by the user, i.e., the
user needs to place his hand on a hand-rest for fingerprinting or hand geometry detection and
has to stand in a fixed position in front of a camera for iris or retina identification. However,
face recognition can be done passively without any explicit action or participation on the part
of the user since face images can be acquired from a distance by a camera. This is particularly
beneficial for security and surveillance purposes. Furthermore, data acquisition in general is
fraught with problems for other biometrics: techniques that rely on hands and fingers can be
rendered useless if the epidermis tissue is damaged in some way (i.e., bruised or cracked).
The System Architecture Consists of basically three layers that is, the Application Layer, the
System Layer and the Databases layer.
There is the capturing phase in this the user captures the frames and using a web app that runs
on almost all platforms upload the file to the server. Authentication is provided to the users.
This web app is used to upload captured frames as well as to view the attendance.
This is the layer where the processing is done that is the detection and recognition part at the
server side. Viola and Jones algorithm is used to detect images from the frames. Initially
an integral image is generated from the frame which simply assigns numbers to the pixels
generated by summing up the values. Further to detect the objects from the frames the haar-like
feature is generated and as millions of features being generated adaboost(boosting algorithm) is
used to enhance the performance. The extracted features are passed through a trained classifier
which detects the faces from the objects.
These detected faces are cropped and passed through the recognition module which by applying
correlation to the cropped images and the images in the databases recognizes the faces.
3
[Link] Database Layer
The Database layer is a centralized database system which consists of student database and their
attendance. The student database is formed by initial feeding of the frames from which system
detects faces crops them and stores it to the database and these stored images are hence forth
used for the recognition part. The results of the face recognition module are compared with the
images from the student database and after the successful comparison the attendance is updated
to the database. The sheet is generated and uploaded to the web app.
It really is tedious to use those paper sheets to mark the attendance as there are many classes in
an institute and each class has many students. These many sheets and entries are to be entered
manually to keep the record. This is quite hectic and time consuming. What if an automation is
brought up in such systems and also the paper work is eliminated? The most common way to
identify any human being is through his/her face. So why not mark the attendance of students
or employees using face and recognition technologies! The current most efficient algorithm
available is Viola and Jones algorithm which uses LBP functions and is available openly on
OpenCV. Any employee or teacher has a mobile phone or a laptop with a camera and can use it
to click the picture and upload to the system to mark the attendance. Web based applications are
widely used in any company or institute due to their security and user friendly options. Hence,
the idea is to build a web based application which provides user authentication, a dashboard
with various charts, image upload and generates an attendance data sheet.
4
Figure 1.1: System Architecture
5
‘
Viola and Jones Algorithm In project we are using Viola and Jones algorithm for object de-
tection. The Viola–Jones object detection framework is the first object detection framework
to provide competitive object detection rates in real-time proposed in 2001 by Paul Viola and
Michael Jones. Although it can be trained to detect a variety of object classes, it was moti-
vated primarily by the problem of face detection. Viola and jones is currently one of the best
algorithms to detect the faces of human. This algorithm mainly has following functionality.
A. Face Detection
• Integral image or summed area table is a data structure and algorithm for quickly and effi-
ciently generating the sum of values in a rectangular subset of a grid. In the image processing
domain, it is also known as an integral image.
• Haar-like features are digital image features used in object recognition. They owe their name
to their intuitive similarity with haar wavelets and were used in the first real-time face detector.
• Adaboost (adaptive boost) meta-algorithm formulated by yoav freund and robert schapire
which is use to improve the performance of other algorithm. Viola and jones extracts the mil-
lions of features (pixels) for comparison so, we adaboost to enhance the overall performance
and calculation speed of the algorithm.
• Cascade classifier 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 ad-
ditional information for the next classifier in the cascade. Unlike voting or stacking ensembles,
which are multi-expert systems, cascading is a multistage one.
B. Face Recognition
• Initially the ROI is extracted from the source face image, ROI is the sub image and is smaller
than the original image.
• Normalized Cross-Correlation is performed on ROI and target image to find the peak coordi-
nates.
• The total offset or translation is carried out based on the position of the peak in the cross
correlation matrix.
• Check for the successful extraction of face from target image and figure out where the face
exactly matches inside of target image.
6
1.2 Organization of the Project
Chapter 4 proposes the Project Design of the Project . It represent the architectural design, front
end design and database design of the project.
Chapter 5 introduces the system model and some basic assumptions and Dependencies of our
work.
Chapter 7 Described the time management and time utilization during the Project implementa-
tion.
Chapter 9 provides some concluding remarks and directions of our future work.
7
Chapter 2
Literature Review
[Link] Abstract
The objective of this system is to present an automated system for human face recognition in a
real time background for an organization to mark the attendance of their employees or student.
So automated attendance using real time face recognition is a real world solution which comes
with day to day activities of handling employees or student. The task is very difficult as the
real time background subtraction in an image is still a challenge. In the past two decades, face
detection and recognition has proven to be very interesting research field of image processing.
The work carried out describes an automated attendance system using video surveillance. The
proposed algorithm is automatic and efficient in intelligent surveillance applications. Video
surveillance is used to detect the object movement thereby the captured image undergoes face
detection and recognition process and searches the student database and enters the attendance
if it is valid in the list[1].
This paper uses Viola and Jones algorithm for face detection and correlations formulas for face
recognition.
Viola and Jones algorithm is used for face detection. Where it is used in both creating database
and face recognition process. Where in case creating database it takes input image through a
web camera continuously. Captured image undergoes face detection. Detected face will be
cropped and stored in database. Where in case of face recognition if there is any movement
video surveillance will be used to detect the moving object. The captured image undergoes face
detection and further processed later by face recognition.
8
Cross-Correlation and Normalized-Correlation are used to extract the Coordinates of peak with
the RIO and target [Link] peak of the cross-correlation matrix occurs where the sub im-
ages are best [Link] the total offset between the images. The total offset or translation
between images depends on the location of the peak in the cross correlation matrix, and on the
size and position of the sub [Link] if the face is extracted from the target Image. Figure
out where face exactly matches inside of target image.
2.1.1 Weaknesses
• In Viola and Jones the result depends on the data and weak classifiers. The quality of the
final detection depends highly on the consistence of the training set. Both the size of the
sets and the interclass variability are important factors to take in account.
• The System overview does not provide the clear idea about components of the overall
process.
• The analysis shows very bad results when in case of multiple person with different se-
quence.
9
2.1.2 How to Overcome
• The training of the data should be done in correct manner so that the quality final detection
will increase.
• System overview should contain the overall architecture that will give the clear and com-
prehensive information of the project[4]
[Link] Abstract
This paper is uses PCA(Principle Component Analysis) technique for face recognition and im-
age compression. The implementation of this project is done using OpenCV libraries for face
detection and further processes.
PCA method has been widely used in applications such as face recognition and image com-
pression. PCA is a common technique for finding patterns in data, and expressing the data as
eigenvector to highlight the similarities and differences between different data.
Then the system implementation is divided in three major part Face Detection and Extract,
Learn and Train Face Images, Recognise and Identification. Implementation is done using
OpenCV libraries which is open source and cross platform.
10
Figure 2.2: PCA technique
2.2.1 Weaknesses
• Even the simplest invariance could not be captured by the PCA unless the training data
explicitly provides this information
This paper is not giving the clear idea about face detection and recognition algorithm. Author
explains the code of OpenCV instead of explaining the techniques and methods.
• Author should explain working of the algorithm which he/she going to use instead of
explaining the functions of OpenCv libraries[5].
11
2.3 Algorithm for Efficient Attendance Management: Face
Recognition
[Link] Abstract
Students attendance in the classroom is very important task and if taken manually wastes a lot
of time. There are many automatic methods available for this purpose i.e. biometric attendance.
All these methods also waste time because students have to make a queue to touch their thumb
on the scanning device. This work describes the efficient algorithm that automatically marks
the attendance without human intervention. This attendance is recorded by using a camera at-
tached in front of classroom that is continuously capturing images of students, detect the faces
in images and compare the detected faces with the database and mark the attendance. The paper
review the related work in the field of attendance system then describes the system architecture,
software algorithm and results[3].
This paper uses Viola and Jones algorithm for face detection and correlations formulas for face
recognition.
Viola and Jones algorithm is used for face detection. Where it is used in both creating database
and face recognition process. Where in case creating database it takes input image through a
web camera continuously. Captured image undergoes face detection. Detected face will be
cropped and stored in database. Where in case of face recognition if there is any movement
video surveillance will be used to detect the moving object. The captured image undergoes face
detection and further processed later by face recognition.
12
2.3.1 Weaknesses
• It uses hardware like camera and button which is makes it costly as these are to be installed
in every classrooms.
• Histograms fails if there are grey values that are physically apart from each other.
• Make connectivity through server using web application or android application to capture
and upload from mobile/tab/web cam[6].
13
Chapter 3
Requirement Analysis
To be used efficiently, all computer software needs certain hardware components or other
software resources to be present on a computer. These prerequisites are known as (computer)
system requirements and are often used as a guideline as opposed to an absolute rule. Most
software defines two sets of system requirements: minimum and recommended.
• Windows XP/7/8/10
• Mac OS
• Android/iOS/Windows Mobile
Software requirements deal with defining software resource requirements and prerequisites that
need to be installed on a computer to provide optimal functioning of an application. These re-
quirements or prerequisites are generally not included in the software installation package and
need to be installed separately before the software is installed.
14
Web Browser
• Google Chrome
• Mozila FireFox
• Internet Explorer/Edge
• Opera
• noddeJS
• python 3.3.0
• mysql
OpenCV (Open Source Computer Vision Library) is an open source computer vision and ma-
chine learning software library. OpenCV was built to provide a common infrastructure for
computer vision applications and to accelerate the use of machine perception in the commer-
cial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize
and modify the code. The library has more than 2500 optimized algorithms, which includes a
comprehensive set of both classic and state-of-the-art computer vision and machine learning al-
gorithms. These algorithms can be used to detect and recognize faces, identify objects, classify
human actions in videos, track camera movements, track moving objects, extract 3D models
of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a
high resolution image of an entire scene, find similar images from an image database, remove
red eyes from images taken using flash, follow eye movements, recognize scenery and establish
markers to overlay it with augmented reality, etc. OpenCV has more than 47 thousand people of
user community and estimated number of downloads exceeding 7 million. The library is used
extensively in companies, research groups and by governmental bodies.
MySQL is the world’s most popular open source database. With its proven performance, relia-
bility and ease-of-use, MySQL has become the leading database choice for web-based applica-
15
tions, used by high profile web properties.
Oracle drives MySQL innovation, delivering new capabilities to power next generation web,
cloud, mobile and embedded applications.
The most common set of requirements defined by any operating system or software applica-
tion is the physical computer resources, also known as hardware, A hardware requirements list
is often accompanied by a hardware compatibility list (HCL), especially in case of operating
systems. An HCL lists tested, compatible, and sometimes incompatible hardware devices for a
particular operating system or application.
16
Chapter 4
Project 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. The design activities are of main importance in this
phase, because in this activity, decisions ultimately 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 requirements into finished software or a system. Design is the place
where quality is fostered in development. Software design is a process through which
requirements are translated into a representation of software. Software design is conducted in
two steps. Preliminary design is concerned with the transformation of requirements into data.
Our system follows the three tier architecture . First tier consist of GUI, Recognition tier and
the Database.
1. GUI: The GUI(Graphical User Interface) in our project deals with the interface for the
user where the user enters the name of the product he/she wants to search. The GUI provides a
platform for the user to communicate with the database.
Register/Login Initially when the user accesses the webapp he gets a login/register page.
17
Dashboard The user logs in to the app and is directed to the dashboard of the app. This is the
main interface page with which the user interacts. It shows the user various statistics related
to the attendance. It has the upload option with which user uploads the group image to get the
attendance data sheet. With the details of the lecture mentioned with every upload an attendance
data sheet is generated.
18
2. Trainer : At initial level the system is trained by providing 5-10 images of an individual. The
images are given in grey scale form and further its histogram is made to enhance the recognition
accuracy.
Detection : Whenever any image is uploaded all the face in it are are cropped and stored for
further comparison.
Face Recognition : Here the detected cropped faces are compared with the trained images from
the database using correlation. if any of the croppedd image is recognized then that id would be
marked present in the attendance data sheet.
3. Database: We have a centralized database with all the details of student and staff. the
database is constructed using mysql. Every cropped or detected image compares itself with the
trained images in this databases i.e retrieval is done and also the attendance sheet is generated
using this database i.e updation is done.
19
4.2.1 Component Diagram
20
4.2.2 Deployment Diagram
21
4.3 Database Design
22
Chapter 5
Implementation Details
5.1.1 Assumptions
• The detector module should crop every human face from the input image and not to crop
other areas. So it was assumed that the detector will be very accurate in cropping just and
all the human faces from the uploaded image and save it for further recognition.
• The recognition module has to be very accurate in recognizing that is comparing the
detected image with the the images fetched from the database. So it was assumed that the
recognition module will correctly recognize all the faces from the uploaded image so that
a correct attendance sheet is produced.
5.1.2 Dependencies
• Our scripts use opencv. Opencv provides libraries which has funtions like LBP which are
the core part of detection and recognition module.
• Ee have used packages of nodejs like npm which is the strongest package manager avail-
able. The start or run time environment is provided by nodejs. It also shows the actual
background working like confidence level, recognition accuracy, etc.
23
5.2 Implementation Methodology
The proposed system introduces an automated attendance system which integrates a web app
and face recognition algorithms. Any device with a camera can capture an image or a video
and upload to the server using web app. The received file undergoes face detection and face
recognition so the detected faces are extracted from the image. The extracted faces are then
compared with the saved faces of the database and on the successful recognition the database is
updated with the attendance and a sheet is generated and displayed on the web app.
24
This work is being carried out in five stages:
Step 1: Generating Data for Training Initially the system is trained that is the cropped images
are saved to the database and they undergo detection and recognition. Further this data will be
used to compare the detected images in all the uploaded files and mark the attendance.
Step 2: Capturing In this the capturing of the video or image will be done using a device and
the captured file is uploaded to the server using web app.
Step 3: Face Detection The file uploaded to the server undergoes face detection using Viola
and Jones algorithm. The frames received are checked for the faces and those are cropped for
further recognition.
Step 4: Face Recognition The detected images undergo correlation with the trained images of
the databases. By this the detected images are now recognized.
Step 5: Attendance Marking After the recognition process the students recognized are searched
in the database and their attendance is marked.
• Currently either manual or biometric attendance system are being used in which manual
is hectic and time consuming. The biometric serves one at a time, so there is a need of
such system which could automatically mark the attendance of many persons at the same
time.
• This system is cost efficient, no extra hardware required just a daily mobile or tablet, etc.
Hence it is easily deployable.
• The work of administration department to enter the attendance is reduced and also sta-
tionary cost so every institute or organization will opt for such time and money saving
system.
• Not only in institutes or organizations, it can also be used at any public places or entry-exit
gates for advance surveillance.
• One of the big benefits of using facial biometric systems in any organization is that you
won’t have to worry about time fraud. It will be impossible for buddy punching to occur,
since everyone has to have go through face scanning biometrics devices to clock in.
• It provides better security with a face biometrics system. Not only can you track student
through biometrics time attendance tracking, but any visitors can be added to the system
25
and tracked throughout the area too. Anyone that is not in the system will not be given
access.
• Many companies like the fact that biometric imaging systems are automated. You won’t
have to worry about having someone there to monitor the system 24 hours a day.
• Integrated Biometric facial systems are also easy to program into any organization com-
puter system. Usually they will work with existing software that they have in place.
• Facial biometrics technology today has a high success rate, especially with the emergence
of 3D face recognition technologies. It is extremely difficult to fool the system.
26
5.4 Use Case Diagram
27
5.5 Class Diagram
28
Chapter 6
After integrating all the modules we performed functionality testing to check all the scenarios
which included failure paths and boundary cases.
User Registered, user was able to log in the app and the dashboard was visible with his profile
in the up left corner.
We tested with a group image and selected the related information retrieved from the database.
29
After the upload attendance sheet was generated and out of 10 students 9 were recognized and
marked ass present. Other students not in the image were automatically marked absent.
Also we checked the confidence levels of the recognized images like for id 1 confidence level
was found as 63.60303
30
[Link] White box testing
We performed tests to demonstrate the efficiency of the proposed method. Images of different
persons are used in training set. In order to obtain the efficiency of proposed methodology 8
training images are taken. The detected faces from the image are compared with the database.
This is called the selection of region of interest. In this way faces of students are verified one by
one with the face database using the correlation method and attendance is marked along with
the login time and date. Here face recognition rate achieved by proposed methodology is 81.875
Also we tried giving images of different resolutions to check the recognition accuracy of LBP
with other methods. Level 1 contains images of 100x100 pixels, Level 2 contains images of
60x60 pixels, Level 3 contains images of 30x30 pixels, Level 4 contains images of 12x12 pixels
and Level 5 contains images of 8x8 pixels. The LBP gave the most promising results.
31
Chapter 7
32
7.2 Project Time Line Chart
33
Chapter 8
Task Distribution
34
8.1.2 Members actvities or task
35
M1, M2 Front 15 Days 10/08/15 10/23/15 M1 and M2 creates the
End UML diagram for front
design end of the system and
data flow diagrams and
informed to the whole
team regularly.
M3, M4 Back 7 Days 10/11/15 10/18/15 M3 and M4 creates the
End UML diagram for back
design end of the system and
data flow diagrams and
informed to the whole
team regularly.
M3, M4 Installation 2 Days 10/12/15 10/14/15 M3 and M4 installed
of tools the all the require tools
and which is use for front
tech- end design.
nology
for front
end
M1, M2 Installation 2 Days 10/12/15 10/14/15 M3 and M4 installed all
of tools the require tools which
and is use for back end de-
technol- sign.
ogy for
back end
M3, M4 Implementation
4 Days 10/24/15 10/28/15 M3 and M4 creates the
of GUI GUI of the project and
informed to other mem-
ber.
M1 Implementation
20 Days 12/05/15 12/25/15 M1 implemented the
of Face face detection and dis-
Detec- cuss on it with other
tion team member
module
M2 Implementation
12 Days 12/26/15 01/07/16 M2 implemented the
of Face Face Recognition and
Recog- discuss on it with other
nition team member
module
M1,M2 Trainer 4 Days 01/22/16 02/01/16 M1 and M2 did the
Module Trainer Module. M1
and M2 Explain the
codes to the other mem-
ber of team.
36
M3, M4 Integrating 4 Days 02/12/16 02/17/16 M3 and M4 integrated
modules all the modules and dis-
cuss on it with other
team member regularly.
M1,M2 Unit 4 Days 02/18/16 2/23/15 M1 and M2 performed
testing the unit testing and
noted down results
and discuss with other
member of team.
M3, M4 Functional 6 Days 02/20/16 02/29/15 M3 and M4 performed
testing the functional testing
and noted down results
and discuss the result of
testing with other mem-
ber.
M1, M2, Deployment• 03/03/2016• •
M3, M4
37
Chapter 9
9.1 Conclusion
In order to maintain the attendance this system has been proposed. It replaces the manual system
with an automated system which is fast, efficient, cost and time saving as replaces the stationary
material and the paper work. Hence this system is expected to give desired results and in future
could be implemented for logout. Also the efficiency could be improved by integrating other
techniques with it in near future.
38
References
[1] Rekha A , Dr. Chethan H, Automated Attendance System Using Face Recognition Through
Video Surveillance, International Journal For Technological Research In Engineering, Volume
1, Issue 11, July-2014.
[2] Nirmalya Kar, Mrinal Kanti Debbarma, Ashim Saha, and Dwijen Rudra Pal, Study Of Im-
plementing Automated Attendance System Using Face Recognition Technique, International
Journal Of Computer And Communication Engineering, Vol. 1, No. 2, July 2012.
[3] Naveed Khan Balcoh, M. HaroonYousaf, Waqar Ahmad And M. Iram Baig, Algorithm For
Efficient Attendance Management: Face Recognition Based Approach, International Journal
Of Computer Science Issues, Vol. 9, Issue 4, No 1, July 2012.
[4] Kwok-Wai Wong, Kin-Man Lam, Wan-Chi Siu, An efficient algorithm for human face detec-
tion and facial feature extraction under different conditions, The Journal Of the Pattern Recog-
nition Society, 25 Aug-2000.
[5] Sarabjit Singh, Amritpal Kaur, Taqdir, A Face Recognition Technique using Local Binary
Pattern Method, International Journal of Advanced Research in Computer and Communication
Engineering Vol. 4, Issue 3, March 2015.
[6] Learning OpenCV: Computer Vision with the OpenCV Library by Gary Rost Bradski O’REILLY
39
Chapter 10
Journal Publication
1. Khan Suhel, Zakariya Hussain, Khan Shoeb, Pathan Nazim, Mubashir Khan and
Apeksha Gopale, A Survey on Automated Attendance System Using Face Recognition,
International Journal of Innovative Research in Computer and Communication Engineer-
ing, Vol. 3, Issue 10, October 2015.
2. Khan Suhel, Zakariya Hussain, Khan Shoeb, Pathan Nazim, Mubashir Khan and
Apeksha Gopale, Automated Attendance System Using Face Recognition, International
Journal of Innovative Research in Computer and Communication Engineering, Vol. 4,
Issue 4, April 2016.
40
ISSN(Online): 2320-9801
ISSN (Print): 2320-9798
ABSTRACT: The objective of this system is to present an automated system for human face recognition in real
time background for an organization or institute to mark the attendance of their students or employees. This
paper introduces face detection method using the Voila and Jones algorithm and recognition using correlation
technique. The system will record the attendance of the students in class room environment. The above system is
fully automated and easily deployable. User gets an authentication to upload the image containing file and also
to view the attendance.
KEYWORDS: Automated, Face Detection, Face Recognition, Voila and Jones Algorithm, Correlation, Attendance.
I. INTRODUCTION
In many Institution and Organization the attendance is a very important factor to maintain the record of lectures,
salary and work hours etc. Most of the institutes and organizations follow the manual method using old paper and file
method and some of them have shifted to biometric technique. The current method that colleges use is that the
professor passes a sheet or make roll calls and mark the attendance of the students and this sheet further goes to the
admin department with updates the final excel sheet. This process is quite hectic and time consuming. Also, for
professors or employees at institutes or organizations the biometric system serves one at a time. So, why not shift to an
automated attendance system which works on face recognition technique? Be it a class room or entry gates it will mark
the attendance of the students, professors, employees, etc. This system uses Viola and Jones algorithm for detecting
and recognizing the faces.
Image segmentation
It is the technique of dividing the digital image into multiple segments or set of pixels called super-pixels.
the problem of face detection. Viola and jones is currently one of the best algorithms to detect the faces of human. This
algorithm mainly has following functionality.
A. Face Detection
Integral image or summed area table is a data structure and algorithm for quickly and efficiently generating the sum of
values in a rectangular subset of a grid. In the image processing domain, it is also known as an integral image.
Haar-like features are digital image features used in object recognition. They owe their name to their intuitive similarity
with haar wavelets and were used in the first real-time face detector.
Adaboost (adaptive boost) meta-algorithm formulated by yoav freund and robert schapire which is use to improve the
performance of other algorithm. Viola and jones extracts the millions of features (pixels) for comparison so, we
adaboost to enhance the overall performance and calculation speed of the algorithm.
Cascade classifier 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. Unlike voting or stacking ensembles, which are multi-expert systems, cascading is a multistage one.
B. Face Recognition
Initially the ROI is extracted from the source face image, ROI is the sub image and is smaller than the original image
Normalized Cross-Correlation is performed on ROI and target image to find the peak coordinates
The total offset or translation is carried out based on the position of the peak in the cross correlation matrix.
Check for the successful extraction of face from target image and figure out where the face exactly matches inside of
target image.
The System Architecture Consists of basically three layers that is, the Application Layer, the System Layer and the
Databases layer.
A. Application layer
There is the capturing phase in this the user captures the frames and using a web app that runs on almost all platforms
upload the file to the server. Authentication is provided to the users. This web app is used to upload captured frames as
well as to view the attendance.
B. System layer
This is the layer where the processing is done that is the detection and recognition part at the server side. Viola and
Jones algorithm is used to detect images from the frames. Initially an integral image is generated from the frame which
simply assigns numbers to the pixels generated by summing up the values. Further to detect the objects from the frames
the haar-like feature is generated and as millions of features being generated adaboost(boosting algorithm) is used to
enhance the performance. The extracted features are passed through a trained classifier which detects the faces from the
objects.
These detected faces are cropped and passed through the recognition module which by applying correlation to the
cropped images and the images in the databases recognizes the faces.
C. Database layer
The Database layer is a centralized database system which consists of student database and their attendance. The
student database is formed by initial feeding of the frames from which system detects faces crops them and stores it to
the database and these stored images are hence forth used for the recognition part. The results of the face recognition
module are compared with the images from the student database and after the successful comparison the attendance is
updated to the database. The sheet is generated and uploaded to the web app.
V. METHODOLOGY
The proposed system introduces an automated attendance system which integrates a web app and face recognition
algorithms. Any device with a camera can capture an image or a video and upload to the server using web app. The
received file undergoes face detection and face recognition so the detected faces are extracted from the image. The
extracted faces are then compared with the saved faces of the database and on the successful recognition the database is
updated with the attendance and a sheet is generated and displayed on the web app.
This work is being carried out in five stages:
Step 2: Capturing
In this the capturing of the video or image will be done using a device and the captured file is uploaded to the server
using web app.
REFERENCES.
1. Rekha A , Dr. Chethan H, Automated Attendance System Using Face Recognition Through Video Surveillance, International Journal For
Technological Research In Engineering, Volume 1, Issue 11, July-2014.
2. Nirmalya Kar, Mrinal Kanti Debbarma, Ashim Saha, and Dwijen Rudra Pal, Study Of Implementing Automated Attendance System
Using Face Recognition Technique, International Journal Of Computer And Communication Engineering, Vol. 1, No. 2, July 2012.
3. Naveed Khan Balcoh, M. HaroonYousaf, Waqar Ahmad And M. Iram Baig, Algorithm For Efficient Attendance Management: Face
Recognition Based Approach, International Journal Of Computer Science Issues, Vol. 9, Issue 4, No 1, July 2012.
4. Kwok-Wai Wong, Kin-Man Lam, Wan-Chi Siu, An efficient algorithm for human face detection and facial feature extraction under
different conditions, The Journal Of the Pattern Recognition Society, 25 Aug-2000.
5. Sarabjit Singh, Amritpal Kaur, Taqdir, A Face Recognition Technique using Local Binary Pattern Method, International Journal of
Advanced Research in Computer and Communication Engineering Vol. 4, Issue 3, March 2015.
Appendix I
Local binary patterns (LBP) is a type of visual descriptor used for classification in computer vi-
sion. LBP is the particular case of the Texture Spectrum model proposed in 1990. LBP was first
described in 1994. It has since been found to be a powerful feature for texture classification; it
has further been determined that when LBP is combined with the Histogram of oriented gradi-
ents (HOG) descriptor, it improves the detection performance considerably on some datasets.
Divide the examined window into cells (e.g. 16x16 pixels for each cell).
For each pixel in a cell, compare the pixel to each of its 8 neighbors (on its left-top, left-
middle, left-bottom, right-top, etc.). Follow the pixels along a circle, i.e. clockwise or counter-
clockwise.
Where the center pixel’s value is greater than the neighbor’s value, write "0". Otherwise, write
"1". This gives an 8-digit binary number (which is usually converted to decimal for conve-
nience).
Compute the histogram, over the cell, of the frequency of each "number" occurring (i.e., each
combination of which pixels are smaller and which are greater than the center). This histogram
can be seen as a 256-dimensional feature vector.
Optionally normalize the histogram.
Concatenate (normalized) histograms of all cells. This gives a feature vector for the entire
window.
46
11.2 What is ROA?
A region of interest (often abbreviated ROI), is a selected subset of samples within a dataset
identified for a particular purpose. The concept of a ROI is commonly used in many application
areas. For example, in medical imaging, the boundaries of a tumor may be defined on an image
or in a volume, for the purpose of measuring its size. The endocardial border may be defined
on an image, perhaps during different phases of the cardiac cycle, for example end-systole and
end-diastole, for the purpose of assessing cardiac function. In geographical information systems
(GIS), a ROI can be taken literally as a polygonal selection from a 2D map. In computer vision
and optical character recognition, the ROI defines the borders of an object under consideration.
In many applications, symbolic (textual) labels are added to a ROI, to describe its content in a
compact manner. Within a ROI may lie individual points of interest (POIs).
11.3 Correlation
Correlation technique is used for face recognition. Where after face detection image undergoes
face recognition process, where test image will be compared with training images in order to
perform face recognition.
Lowering paper usage at the office can result in higher efficiency measures and increased pro-
ductivity levels throughout an organization. Changes in paper consumption can include in-
creasing recycling efforts, printing less or even going paperless with document management
software. Doing so could provide inspiration to employees as well as large monetary savings
for your organization.
• The average office worker continues to use a staggering 10,000 sheets of copy paper every
year.
47
ACKNOWLEDGMENT
I would like to take the opportunity to express my sincere thanks to my guide Mubashir Khan,
Assistant Professor, Department of Computer Engineering, AIKTC, School of Engineering,
Panvel for his invaluable support and guidance throughout my project research work. Without
his kind guidance & support this was not possible.
I am grateful to him/her for his timely feedback which helped me track and schedule the pro-
cess effectively. His/her time, ideas and encouragement that he gave is help me to complete my
project efficiently.
I would also like to thank Dr. Abdul Razak Honnutagi, AIKTC, Panvel, for his encourage-
ment and for providing an outstanding academic environment, also for providing the adequate
facilities.
I also extend my sincere thanks to all the faculty members and the non-teaching staff and friends
for their cooperation.
Last but not the least, I am thankful to all my family members whose constant support and
encouragement in every aspect helped me to complete my project.
48