100% found this document useful (1 vote)
160 views47 pages

Bachelor of Technology in Computer Science and Engineering: A Project Report

This document is a project report on a Face Recognition Attendance System submitted by Abhishek Kumar and Ravi Ranjan Kumar to fulfill their degree requirements. It describes building a facial recognition system to automate the attendance process in educational institutions. The system will take photos of students and use facial recognition algorithms to match faces and record attendance in place of the traditional manual method. The report includes an introduction, literature review, requirements, methodology, and conclusions sections. The goal is to create an efficient attendance monitoring system using face recognition technology.

Uploaded by

ABHISHEK KUMAR2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
160 views47 pages

Bachelor of Technology in Computer Science and Engineering: A Project Report

This document is a project report on a Face Recognition Attendance System submitted by Abhishek Kumar and Ravi Ranjan Kumar to fulfill their degree requirements. It describes building a facial recognition system to automate the attendance process in educational institutions. The system will take photos of students and use facial recognition algorithms to match faces and record attendance in place of the traditional manual method. The report includes an introduction, literature review, requirements, methodology, and conclusions sections. The goal is to create an efficient attendance monitoring system using face recognition technology.

Uploaded by

ABHISHEK KUMAR2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 47

A Project Report

on
FACE RECOGNITION ATTENDENCE SYSTEM
Submitted in partial fulfillment of the
requirement for the award of the degree of

Bachelor of Technology in Computer


Science and Engineering

Under The Supervision of


Name of Supervisor:
Dr. B. Balamurugan

Submitted By
Abhishek Kumar 18021011480

Ravi Ranjan Kumar 18021011708

SCHOOL OF COMPUTING SCIENCE AND ENGINEERING


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING /
DEPARTMENT OF COMPUTERAPPLICATION
GALGOTIAS UNIVERSITY, GREATER NOIDA
INDIA
MONTH, YEAR

1|Page
SCHOOL OF COMPUTING SCIENCE AND
ENGINEERING
GALGOTIAS UNIVERSITY, GREATER
NOIDA

CANDIDATE’S DECLARATION

I/We hereby certify that the work which is being presented in the thesis/project/dissertation,

entitled “FACE RECOGNITION ATTENDENCE SYSTEM” in partial fulfillment of the

requirements for the award of the BACHELOR OF TECHNOLOGY IN COMPUTER

SCIENCE AND ENGINEERING submitted in the School of Computing Science and

Engineering of Galgotias University, Greater Noida, is an original work carried out during the

period of July-2021 to December-2021, under the supervision of Name Dr. B.Balamurugan,

Professor , Department of Computer Science and Engineering/Computer Application and

Information and Science, of School of Computing Science and Engineering , Galgotias

University, Greater Noida

The matter presented in the thesis/project/dissertation has not been submitted by me/us for

the award of any other degree of this or any other places.

Abhishek Kumar 18SCSE1010242

Ravi Ranjan Kumar 18SCSE1010480

This is to certify that the above statement made by the candidates is correct to the best of my

knowledge.

Supervisor Name

(Dr. B. Balamurugan, Professor)

2|Page
CERTIFICATE

The Final Thesis/Project/ Dissertation Viva-Voce examination of 18SCSE1010242-Abhishek

Kumar, 18SCSE1010480 - Ravi Ranjan Kumar has been held on _________________ and

his/her work is recommended for the award of BACHELOR OF TECHNOLOGY IN

COMPUTER SCIENCE AND ENGINEERING.

Signature of Examiner(s) Signature of Supervisor(s)

Signature of Project Coordinator Signature of Dean

Date:

Place: Greater Noida

3|Page
Abstract

In the era of modern technologies emerging at rapid pace there is no reason why a crucial event
in educational sector such as attendance should be done in the old boring traditional way.
Attendance is a crucial component of daily classroom assessment. The instructor normally
checks it at the beginning and end of class, however it is possible that a teacher may miss
someone or that some pupils answer many times.

The attendance tracking system will save both students and teachers a lot of time and energy.
The facial recognition system will monitor attendance by distinguishing just the students' faces
among the other items and labelling them as present.

The system will be pre-fed with photographs of all the pupils, and the algorithm will recognise
those who are present and match the characteristics with the already saved images of them in the
database. The goal of this system is to create a class attendance system that employs the notion
of face recognition because the current manual attendance method is time consuming and
difficult to maintain. There is also the possibility of proxy attendance.

Face detection and identification are quite essential technologies these days, and we've found that
they're being used in a number of places, including cellphones, military applications, and even
high-risk information offices. We decided to create a gadget that detects and recognises faces as
a student attendance system that may be used in place of the traditional paper attendance method.

The primary goal of this project is to create a facial recognition-based attendance monitoring
system for educational institutions in order to improve and modernise the present attendance
system to make it more efficient and effective than previously. The present outdated approach is
riddled with ambiguity, resulting in incorrect and wasteful attendance taking. Many issues
develop when the authority is unable to enforce the previous system's regulations. The facial
recognition system will be the technology at work.

Face recognition has historically been one of the most exciting and essential academic
disciplines, alongside image processing and machine learning.

4|Page
Table of Contents

Title Page No.


Abstract I

Chapter 1 Introduction
1.1 Introduction 7
1.2 Tool and Technology Used 8

Chapter 2 Literature Survey 9

Chapter 3 Functional Requirement and Non Functional 10 - 11


Requirement

Chapter 4 System Design 14

Chapter 5 Local Binary Pattern Histogram(LBPH) 15 – 19

Chapter 6 Other Specification 20

Chapter 7 Methodology 21 - 28

Chapter 8 Face Deaction

Chapter 8 Conclusion and Future Scope


8.1 Conclusion 22
8.2 Future Scope 22
Reference 23 - 24

5|Page
List of Figures

S.No. Caption Page No.


1 Flowchart Diagram 12
2 Data Flow Diagram 13
3 Figure 7.1 Flow of the Proposed Approach (Training Part) 15
4 Figure 7.11 LBP with Different Radius Sizes 21

6|Page
CHAPTER-1
Introduction
1.1 Introduction

The goal of the attendance monitoring system with facial recognition is to simplify the
attendance procedure, which takes a lot of time and effort; it is a simple and easy manner for
students and teachers. The technology will take pictures of the pupils and use a facial recognition
algorithm to record their attendance on a page. This manner, the class teacher's attendance will
be noted without having to spend time on traditional attendance marking.
The job of classifying a previously identified item as a known or unknown face is known as face
recognition. The problems of face recognition and face detection are frequently conflated. Face
Recognition, on the other hand, determines if the "face" is recognised or unknown by using a
database of faces to validate this input face.
One of the usual security procedures is the identification process to determine the presence of a
person in a room or place. Every individual who enters a room or building must first go through
multiple verification steps, and these details may later be utilised to monitor every single activity
in the space for security purposes. The authentication procedure used to detect the presence of a
person in a room or building continues to change. The procedure varies from entering a name
and signature in an attendance list to employing an identification card or biometric techniques of
authentication such as a face scanner.

7|Page
1.2 Tool and Technology Used
 OpenCV

 Numpy

 Visual Studio

 Programming Language : PHYTON

 Pillow

 MySQL

MOTIVATION

Many educational institutes now use a manual monitoring system, and most of the time they
mistakenly lose their attendance sheet, making it impossible to effectively track their students'
attendance. As a result, it is critical to create software that would assist these colleges in tracking
student attendance using facial recognition, saving them time.

PROBLEM DEFINITION

Face recognition attendance management using Machine Learning

A real-world student attendance system that recognises the student's face and marks attendance
on an excel sheet automatically

8|Page
CHAPTER-2

Literature Survey

The fundamental goal of this paper review is to locate the solutions supplied by other authors
and, taking into account the flaws of the system proposed by them, provide the best remedies.
In attendance system using a new approach called continuous monitoring, and the student's
attendance noted automatically by the camera that catches a student's photo in the class. This
system automatically replaces the existing traditional method. Traditional procedures take a long
time to complete, and system upkeep is particularly challenging. Make the attendance procedure
with human touch in this suggested method.
This system employs a camera to take photos of the employee in order to do face detection and
identification. When a result is found in the face database, the taken image is checked one by one
with the face database to look for the worker's face, and attendance is registered. The key
advantage of this system is that attendance is noted on the server which is extremely secure
where no one may mark the attendance of other.
Maintaining attendance is highly crucial at all colleges for assessing students' performance. In
this sense, each institute has its own technique. Some take attendance manually using the
conventional paper or file-based methodology, while others have developed ways of automated
attendance utilising biometric approaches. However, under these systems, students must wait in
line for a lengthy period upon entering the classroom. There are several biometric technologies
available, but the essential authentication is the same across all modalities.

9|Page
CHAPTER-3
FUNCTIONAL REQUIREMENTS

Functional user needs may be high-level declarations of what the system should perform, but
functional system requirements should also include detailed descriptions of the system services.

3.1 EXTERNAL INTERFACE REQUIREMENTS

3.1.1 User Interfaces

The software's user interface must be compatible with any Android version via which the user may access the
system. The user interface must be built with any tool or software package available, such as Android
Studio, MYSQL, and so on.

3.1.2 Hardware Interfaces

Because the programme must be executed through the internet, the hardware must connect the
internet to the hardware, which is an android device for the system.

3.1.3 Software Interfaces

This system is a multi-tasking, single-user environment. It allows the user to communicate with
the server and achieve interaction with the server to display the animal information, as well as
leave a record in the built-in database. It makes use of Java and Android as front-end
programming tools, as well as MySQL as a back-end application tool.

3.1.4 Communication Interfaces

The e-commerce system will communicate via the internet using the HTTP protocol, while
intranet communication will be done using the TCP/IP protocol suite.

10 | P a g e
3.2 NON FUNCTIONAL REQUIREMENTS

3.2.1 Performance Requirements

• With 2GB/4GB of RAM, the system can provide results more quickly.
• Peak loads at the main node may require LESS TIME.
• The system will be operational all of the time. If a fatal error occurs, the system will offer the
user with clear feedback.

3.2.1 Safety and Security Requirements

• The system is designed in modules so that faults may be quickly recognised and corrected.

3.2.2 Software Quality Attributes

• Reliability: When data is successfully sent, the Client machine changes the status of the data.
• Usability: The application's interactive interface should make it simple to use.
• Maintainability: To facilitate simple review and redesign of the system, the system will be
designed utilising conventional software development practises.
• Facilitate: The system will be able to support the transmission of various types of SQL queries.
Portability: This programme is portable to any system that meets the criteria. There must also be
a server on which the database may be installed.

11 | P a g e
Flowchart Diagrams

12 | P a g e
DATA FLOW DIAGRAM

13 | P a g e
CHAPTER-4

System Design
HAAR CASCADE ALGORITHM

The Haar-like properties serve as the foundation for Haar classifier object detection. Rather than
utilising pixel intensity values, these features use the difference in contrast values between
consecutive rectangular groupings of pixels. To determine relative bright and dark regions, the
contrast variances between pixel groups are employed. A Haar-like feature is formed by two or
three neighbouring groups with a relative contrast variance. To detect a picture, Haar-like
characteristics, as shown in the figure, are employed. Scaling Haar features is as simple as raising
or lowering the size of the pixel group under consideration. This enables features to identify
things of varying sizes. Because the classifiers are cascaded, only the sub-images with the highest
probability are examined for all Haar-features that differentiate an item. It also enables you to
change the accuracy of a classifier.

. By reducing the number of phases, one may enhance both the false alarm rate and the good hit
rate. This is equally true in reverse. Viola and Jones were able to recognise a human face with 90
percent accuracy using only 100 basic parameters. To detect human face characteristics like as the
lips, eyes, and nose, Haar classifier cascades must first be trained. This moderate AdaBoost
method and Haar feature techniques must be implemented in order to train the classifiers.
Fortunately, Intel created the Open Computer Vision Library, an open source library focused to
making it easier to design computer vision-related programmes (OpenCV). The OpenCV library
is meant to be used in combination with applications that belong to the field of HCI, robotics,
biometrics, image processing, and other areas where visualisation is vital and contains an
implementation of Haar classifier detection and training. [5] Thus, the system will detect the
person's face in the video with the aid of this algorithm. As a result of the detecting procedure, the
person's face receives a Green Square. As soon as a face is spotted, the user may stop the video
and enter the discovered person's information, such as name, address, occupation, and criminal
record, if any. If the detected individual has a criminal record, he or she is considered a suspect.
The technology includes a check box option where the user may indicate if the individual is
suspect or not. This is how the first module works, in which a sample movie is browsed and a
face is discovered.

Fig 2 : Haar Features

14 | P a g e
CHAPTER-5

Local Binary Pattern Histogram(LBPH)

5.1.Introduction to LBPH algorithm

Local Binary Pattern (LBP) is a simple yet effective texturing operator that labels the pixels of
an image by thresholding the neighbourhood of each pixel and treating the result as a binary
integer.

The LBPH's initial computational step is to generate an intermediate picture that better describes
the source image by emphasising face features. To do this, the method employs a sliding window
idea based on the parameters radius and neighbours.

5.1 Applying the LBP operation:

[7] The LBPH's initial computational step is to generate an intermediate picture that better
describes the source image by emphasising face features. To do this, the method employs a
sliding window idea based on the parameters radius and neighbours.
This method is depicted in the figure below:

Fig 3: Applying the LBP operation

5.2. Performing the face recognition:

• The algorithm has already been trained at this point. Each histogram produced is used to
represent a single image from the training dataset. So, given an input picture, we repeat the
procedures for this new image, resulting in a histogram that describes the image.

15 | P a g e
• To discover the picture that corresponds to the input image, we simply compare two histograms
and return the image with the closest histogram.
• To compare histograms (compute the distance between two histograms), we may use a variety
of methodologies, such as Euclidean distance, chi-square, absolute value, and so on. In this case,
we may utilise the well-known Euclidean distance based on the following formula:

• As a result, the algorithm returns the ID from the image with the closest histogram. The method
should also return the computed distance, which may be used as a measure of 'confidence.'
• Don't be deceived by the word 'confidence,' since lower confidences are preferable because they
indicate a tighter gap between the two histograms. Then, we can use a threshold and the
'confidence' to automatically determine if the system properly detected the image. If the
confidence is less than the set threshold, we may infer that the algorithm has effectively
recognised.

5.3 TRAINING THE ALGORITHM:

We must first train the algorithm. To do so, we'll need to employ a dataset containing the face
photos of the persons we're trying to recognise. We must also provide an ID (which might be a
number or a person's name) to each image so that the algorithm can recognise an input image and
return an output.
The same ID must be used for all images of the same individual. Let's look at the LBPH
computational stages now that the training set has been created.

5.4 APPLYING LBH OPERATIONS

[11] The LBPH's initial computational step is to generate an intermediate picture that better
describes the source image by emphasising face features. To do this, the method employs a
sliding window idea based on the parameters radius and neighbours.

IMPORTANT POINTS

• Assume we have a grayscale picture of a face.

16 | P a g e
•We may obtain a portion of this image as a 3x3 pixel window.

•It can alternatively be expressed as a 3x3 matrix with each pixel's intensity (0~255).

•Then, as the threshold, we need to take the matrix's centre value.

•This value will be used to define the new values derived from the neighbours' 8 values.
We assign a new binary value to each neighbour of the centre value (threshold). We set 1 for
values that are equal to or more than the threshold, and 0 for values that are less than the
threshold.

Fig.4: Radius of central pixel

17 | P a g e
5.2 EXTRACTING THE HISTOGRAM

We can extract the histogram of each region from the image above as follows:
• Because we have a grayscale image, each histogram (from each grid) will only have 256
locations (0 ~255) that reflect the occurrences of each pixel intensity.

• Next, we must concatenate each histogram to form a new, larger histogram. If we use 8x8 grids,
the final histogram will contain 8x8x256=16.384 places. The resulting histogram displays the
image's original properties.

There were no entries identified in the table of figures.

The algorithm has already been trained at this point. Each histogram produced is used to represent
a single image from the training dataset. So, given an input picture, we repeat the procedures for
this new image, resulting in a histogram that describes the image.
 To discover the picture that corresponds to the input image, we simply compare two histograms
and return the image with the closest histogram.

 To compare histograms (compute the distance between two histograms), we may use a variety of
methodologies, such as euclidean distance, chi-square, absolute value, and so on. In this case, we
may utilise the well-known Euclidean distance based on the following formula:

18 | P a g e
As a result, the method returns the ID from the image with the closest histogram. The method
should also return the computed distance, which may be used as a measure of 'confidence.' Take
note: don't be duped.

 Why 'confidence' name, since lower confidences are preferable because they indicate a tighter gap
between the two histograms.

 Then, we can use a threshold and the 'confidence' to automatically determine if the system
properly detected the image. If the confidence is less than the set threshold, we may infer that the
algorithm has effectively recognised.

19 | P a g e
CHAPTER-6

Other Specifications

6. OTHER SPECIFICATIONS

6.1Advantages:

1. It is simple to operate.
2. It is a pretty quick method of entering attendance.
3. Is extremely trustworthy, with an approximation from the user.
20 | P a g e
4. The best user interface.
5. Accuracy of up to 85% is possible.

6.2 Limitations:

1) During training, roughly 100 copies of the sample picture are generated.
2) When dealing with a huge volume of data, the system required a powerful CPU, which is more
expensive.

6.3 Applications:

1. It is highly beneficial for educational establishments to simply obtain attendance.


We can obtain student and teacher attendance without using traditional attendance procedures.

CHAPTER-7

Methodology

7.1 Methodology Flow

The method employs a student attendance system based on facial recognition. The approach flow
begins with picture capture using a simple and user-friendly interface, followed by pre-
processing of the collected facial images, and finally feature extraction.

extraction from face photos, subjective selection, and, finally, categorization

21 | P a g e
face photos that can be identified LBP and PCA feature extraction algorithms are both used.

In order to make comparisons, this proposed technique was thoroughly investigated and
calculated.

To lessen the lighting impact, LBP is strengthened in this technique. A procedure for

combine improved LBP and PCA is also intended for subjective selection

improve the precision The next sections will go through the specifics of each level.

sections.

The suggested system's flow chart is divided into two sections.

Image training is followed by image testing (recognize the unknown input image)
as indicated in Figures 3.1

22 | P a g e
Figure 7.1 Flow of the Proposed Approach (Training Part)

7.2 Input Images

Although we should utilise our own database to construct a real-time face recognition student
attendance system, earlier researchers' datasets are also used to develop the system more
effectively, efficiently, and for assessment purposes.
To measure performance, the Yale face database is employed as both a training and testing set.
The Yale face database comprises one hundred sixty-five grayscale photographs of fifteen
different people. Each individual has eleven photos, each of which is in a distinct condition.
Centre-light, with glasses, joyful, left-light, without glasses, normal, right-light, sad, drowsy,
shocked, and wink were among the situations.

23 | P a g e
The database's various versions enable the system to perform consistently in a wide range of
circumstances and environments.

Images of pupils are collected for our own database utilising a laptop built-in camera and a
mobile phone camera. Each student contributed two photographs for the training set and two
images for the assessment set. Photographs obtained using a laptop's built-in camera are
classified as low quality, but images captured with a mobile phone camera are classified as good
quality. The good quality photographs include seventeen students, whereas the low quality shots
include twenty-six kids. In Chapter 4, the recognition rates of low and high quality photos will be
compared in order to get a conclusion on the performance of image sets of varying quality.

7.2.1 Limitations of the Images

The input image for the proposed method must be frontal, upright, and include just one face.
Although the system is designed to detect students with and without glasses, students should give
both face photographs with and without glasses so that the system may be trained to recognise
students without spectacles. To eliminate quality differences, the training and testing images
should be obtained using the same instrument. In order to be acknowledged, students must
register. Enrollment may be completed on the spot using the user-friendly interface.
These requirements must be met in order for the suggested technique to be effective.

7.3 Face Detection

To recognise the face from the video camera recording frame, the Viola-Jones object detection
framework will be employed. The Viola-Jones algorithm's working concept is described. The
Viola-Jones framework bears the constraint that the facial picture must be a frontal upright
image, and the individual's face must point towards the camera in a video frame.

7.3.1 Pre-Processing

A camera is used to gather photos from the testing and training sets. The photographs have
undesired noise and uneven illumination. As a result, many pre-processing procedures are
required before moving on to feature extraction.
Scaling the picture, median filtering, converting colour photos to grayscale images, and adaptive
histogram equalisation are some of the pre-processing procedures that would be performed. The
specifics of these actions will be covered in subsequent sections.

7.3.1.1 Scaling of Image


24 | P a g e
One of the most common jobs in image processing is picture scaling. The picture size must be
carefully adjusted to avoid loss of spatial information.
Gonzalez, R. C., and Woods (2008) The image's size must be equalised before facial recognition
can be performed. This has become critical, particularly in the feature extraction phase, where
the test and training photos must have the same size and dimension to assure an accurate result.
As a result, in this suggested method, test pictures and train images are standardised at a size of
250 250 pixels.

7.3.1.2 Median Filtering

Median filtering is a reliable noise reduction technique. It is frequently utilised in a variety of


applications because of its ability to reduce undesirable noise while maintaining valuable detail
in pictures. Because colour photos produced with a camera are RGB images, median filtering is
performed on three distinct channels of the image. Depicts the picture before and after noise
reduction in three channels using median filtering. If the input picture is grayscale, the median
filtering can be applied without first separating the channels.

7.4 Feature Extraction

Changes in facial pictures indicate changes in textural or geometric information.


Face recognition requires these traits to be retrieved from facial photos and categorised
accurately. Face recognition in this study is accomplished through the use of improved LBP and
PCA. The concept stems from the nature of human visual perception, which conducts face
identification based on local and global statistical data.
Enhanced LBP collects local grayscale features by extracting features from a tiny area
throughout the whole picture. PCA, on the other hand, extracts global grayscale features,
implying that feature extraction is conducted on the whole picture.

7.4.1 Working Principle of Original LBP

LBP is a texture-based descriptor that encodes local primitives into binary strings. Timo Ojala
and colleagues, 2002 The original LBP operator operates with a 3 X 3 mask size. The 3 X 3
mask size has 9 pixels. The centre pixel will serve as a threshold for converting the nearby pixels
(the other 8 pixels) to binary digits. If the surrounding pixel value is greater than the centre pixel
value, it is assigned a value of 1, otherwise it is assigned a value of 0. Following that, the pixel
bits from the neighbouring neighbourhoods are concatenated to a binary code to generate a byte
value representing the central pixel. 

25 | P a g e
where Pc denotes the centre pixel and Pn (n = 0,..., 7) denotes eight of its neighbouring pixels.

The encoding process can begin with any of the neighbouring pixels as long as the construction
of the binary string follows the order in either clockwise or anticlockwise rotation. The
thresholding function f(y) is denoted as follows (3.2)

7.4.2 Working Principle of Proposed LBP

The original LBP operator is made up of three 3 filter sizes and nine pixels. Instead of a circular
design, it appears to be more rectangular in shape. Because there are 9 pixels adjacent to each
other, every feature, even non-essential information, will be sampled. It is more impacted by
uneven lighting conditions because the tiny filter size highlights small scale detail (Lee and Li,
2007), including shadows cast by non-uniform lighting conditions. A greater radius size, R, is
utilised in the LBP operator in our suggested technique. Md. Abdur Rahim et al. (2013)

26 | P a g e
introduced the equation for altering the radius size in their work. However, the effect of
modifying the radius size was not mentioned in the paper. In the suggested technique, several

radius sizes are analysed in order to improve the system and lessen the lighting impact. The
filter
size will be raised as the radius size is increased. R denotes the radius of the sample point from
the centre pixel, indicating the angle of the sampling point with respect to the centre pixel, and

P denotes the number of sampling points taken along the circle's edge to compare with.

the middle pixel Given that the neighbouring's notation (P, R, ) is used, the

coordinates of the centre pixel (Xc, Yc) and coordinates of the P neighbours (Xp, Yp)

The sines and cosines may be used to calculate Yp) on the radius R of a circle.

as illustrated in the equation (Md. Abdur Rahim et al., 2013):

Despite the larger radius, a total of 8 sample points are obtained, which is similar to the original
LBP operator. CLAHE is used to grayscale input face photographs in the technique to boost
contrast. Images with better contrast are still grayscale. The suggested LBP operator extracts
grayscale features from contrast-improved grayscale pictures using just 8 bits of computation.
Following that, the pixels at the sample sites are encoded as an 8-bit binary string in the same
manner as the original LBP operator encoding operation. Enhanced LBP with radius size two
outperforms original LBP and has a higher consistency rate of recognition when compared to
other radius sizes. As a result, the proposed technique will be upgraded LBP with radius size
two.

27 | P a g e
Figure 7.11 LBP with Different Radius Sizes

Increasing the radius essentially implies expanding the circular pattern of LBP outside. The
green specks within the blocks represent the pixels to be sampled and encoded into a binary
string. For the sample pixel placed between R=1 (original) and R=2, R=3, R=4, R=5, R=6
Figure 3.11 LBP with Various Radius Sizes 36 blocks, it indicates that the average pixel value is
determined from the neighbouring pixels (diagonal)

28 | P a g e
The feature vector of the image is constructed after the Local Binary Pattern of every pixel is
calculated. The histogram of the feature vector image is computed in order to be classified by
distance classifier. However, it loss spatial information because histogram representation does
not include spatial information but only discrete information. (Gonzalez, R. C., & Woods, 2008).
In order to overcome this problem, the feature vector image is then divided into blocks. A
histogram is constructed in each region respectively. Every bin in a histogram represents a
pattern and contains the frequency of its appearance in the region. The feature vector of entire
image is then constructed by concatenating the regional histograms in the sequence to one
histogram. (Md. Abdur Rahim et al., 2013). This histogram remains its regional spatial
information and represents the identity of single image which is then classified to perform the
recognition.

29 | P a g e
CHAPTER-8

FACE DETECTION

The problem of face recognition is all about face detection. This is a fact that seems quite bizarre
to new researchers in this area. However, before face recognition is possible, one must be able to
reliably find a face and its landmarks. This is essentially a segmentation problem and in practical
systems, most of the effort goes into solving this task. In fact the actual recognition based on
features extracted from these facial landmarks is only a minor last step.
There are two types of face detection problems:
1) Face detection in images and
2) Real-time face detection

8.1 FACE DETECTION IN IMAGES

Figure 8.1 A successful face detection in an image with a frontal view of a human face.

30 | P a g e
Most face detection systems attempt to extract a fraction of the whole face, thereby eliminating
most of the background and other areas of an individual's head such as hair that are not necessary
for the face recognition task. With static images, this is often done by running a across the image.
The face detection system then judges if a face is present inside the window (Brunelli and
Poggio, 1993). Unfortunately, with static images there is a very large search space of possible
locations of a face in an image Department of ECE Page 27 Most face detection systems use an
example based learning approach to decide whether or not a face is present in the window at that
given instant (Sung and Poggio,1994 and Sung,1995). A neural network or some other classifier
is trained using supervised learning with 'face' and 'nonface' examples, thereby enabling it to
classify an image (window in face detection system) as a 'face' or 'non-face'.. Unfortunately,
while it is relatively easy to find face examples, how would one find a representative sample of
images which represent non-faces (Rowley et al., 1996)? Therefore, face detection systems using
example based learning need thousands of 'face' and 'nonface' images for effective training.
Rowley, Baluja, and Kanade (Rowley et al.,1996) used 1025 face images and 8000 non-face
images (generated from 146,212,178 sub-images) for their training set! There is another
technique for determining whether there is a face inside the face detection system's window -
using Template Matching. The difference between a fixed target pattern (face) and the window is
computed and thresholded. If the window contains a pattern which is close to the target
pattern(face) then the window is judged as containing a face. An implementation of template
matching called Correlation Templates uses a whole bank of fixed sized templates to detect
facial features in an image (Bichsel, 1991 & Brunelli and Poggio, 1993). By using several
templates of different (fixed) sizes, faces of different scales (sizes) are detected. The other
implementation of template matching is using a deformable template (Yuille, 1992). Instead of
using several fixed size templates, we use a deformable template (which is non-rigid) and there
by change the size of the template hoping to detect a face in an image. A face detection scheme
that is related to template matching is image invariants. Here the fact that the local ordinal
structure of brightness distribution of a face remains largely unchanged under different
illumination conditions (Sinha, 1994) is used to construct a spatial template of the face which
closely corresponds to facial features. In other words, the average grey-scale intensities in human
faces are used as a basis for face detection. For example, almost always an individuals eye region
is darker than his forehead or nose. Therefore an image will match the template if it satisfies the
'darker than' and 'brighter than' relationships (Sung and Poggio, 1994).

8.2 REAL-TIME FACE DETECTION


31 | P a g e
Real-time face detection involves detection of a face from a series of frames from a
videocapturing device. While the hardware requirements for such a system are far more
stringent, from a computer vision stand point, real-time face detection is actually a far simpler
process thandetecting a face in a static image. This is because unlike most of our surrounding
Department of ECE Page 28 environment, people are continually moving. We walk around,
blink, fidget, wave our hands about, etc.

Figure 8.2.1: Frame 1 from camera Figure 8.2.2: Frame 2 from camera

Figure 8.2.3: Spatio-Temporally filtered image

32 | P a g e
Since in real-time face detection, the system is presented with a series of frames in
which to detect a face, by using spatio-temperal filtering (finding the difference between
subsequent frames), the area of the frame that has changed can be identified and the individual
detected (Wang and Adelson, 1994 and Adelson and Bergen 1986).Further more as seen in
Figure exact face locations can be easily identified by using a few simple rules, such as, 1)the
head is the small blob above a larger blob -the body Department of ECE Page 29 2)head motion
must be reasonably slow and contiguous -heads won't jump around erratically (Turk and
Pentland 1991a, 1991b). Real-time face detection has therefore become a relatively simple
problem and is possible even in unstructured and uncontrolled environments using these very
simple image processing techniques and reasoning rules.

8.3 FACE DETECTION PROCESS

Fig 8.3 Face detection

It is process of identifying different parts of human faces like eyes, nose, mouth, etc… this
process can be achieved by using MATLAB codeIn this project the author will attempt to detect
faces in still images by using image invariants. To do this it would be useful to study the
greyscale intensity distribution of an average human face. The following 'average human face'
was constructed from a sample of 30 frontal view human faces, of which 12 were from females
and 18 from males. A suitably scaled colormap has been used to highlight grey-scale intensity
differences.

33 | P a g e
CHAPTER-9
MODULE DESCRIPITION

The complete attendance system consists of a combination of multiple modules, each of which
performs different functions. In order to reduce the complexity of the program and facilitate the
reuse of codes, it is conducive to maintain and manage the entire system. The design of the face
recognition time and attendance system in this system mainly includes several modules of
Student details, Face Detector, Attendance, Train Data, Help Desk, Developer and Exits.

Student details :
 
This is a customized module where student’s details are maintained and stored for future. The
information can be used when required by the administration. This Constitutes The First Phase Of
Our Project Module. This Section Consists Following Parameters: 1. Student Registration Form:
The Student Appears As A New Candidate For Registration. Registration Consists of Adding
Each Candidate’s Personal Details. 2. Student Face Detection: The Newly Registered
Candidate’s Face Gets Detected for the Very First Time and Stored in the Database.

Face Detector :

Face detection here is performed using Haar-Cascade Classifier with OpenCV. Haar Cascade
algorithm needs to be trained to detect human faces before it can be used for face detection. This
is called feature extraction. The haar cascade training data used is an xml file-
haarcascade_frontalface_default. In this Module, store the various facial Expression Images in a
folder, get and display any one image from that folder. local directional number pattern(LDN)
method is provide to prove to be extremely difficult to imitate artificially, since although
commonalities do exist between faces, they vary considerably in terms of age, skin, colour and
gender.

Attendance :

After face recognition process, the recognized faces will be marked as present in the excel
sheet and the rest will be marked as absent and the list of absentees will be mailed to the
respective faculties. Faculties will be updated with monthly attendance sheet at the end of
every month. This constitutes the second phase of our project module. The recognition of each
individual student takes place by extracting the common features of each individual by using
image integral method. Then the face image is matched with the image stored in the database and
the attendance is marked for the candidate only if the facial feature of the newly captured image
matches with the already stored image.

Train Data:

34 | P a g e
In this Module we are matching the current data of the face with the data already stored in
database during the student’s attendance.

Help Desk :

In the module to help any queries about the system.

Developer :

In the module the details of developer.

EXITS:

When we click the module then Exits the system.

35 | P a g e
CHAPTER-10

Different Technique for Face Recognition

10.1 Different Approach

Face recognition can be done in both a still image and video which has its origin in still-image
face recognition. Different approaches of face recognition for still images can be categorized into
tree main groups such as:
1. Holistic approach.
2. Feature based approach.
3. Hybrid approach.

10.1.1  Holistic Approach

In holistic approach, the whole face region is taken into account as input data into face detection
system. Examples of holistic methods are Eigenfaces (most widely used method for face
recognition), probabilistic Eigenfaces, fisherfaces, support vector machines, nearest
feature lines (NFL) and independent-component analysis approaches. They are all based on
principal component-analysis (PCA) techniques that can be used to simplify a dataset into lower
dimension while retaining the characteristics of dataset.

10.1.2   Featurebased Approach In feature

based approaches, local features on face such as nose, and then eyes are segmented and then used
as input data for structural classifier. Pure geometry, dynamic link architecture, and hidden
Markov model methods belong to this category.

10.1.3   Hybrid Approach 22

The idea of this method comes from how human vision system perceives both local feature and
whole face. There are modular Eigenfaces, hybrid local feature, shape-normalized,
component¬based methods in hybrid approach.

36 | P a g e
Fig.10.1. some Face recognition methods

10.2   Eigenfaces Method

Eigenfaces are a set of standardized face component based on statistical analysis of various face
images. Mathematically speaking, Eigenfaces are a set of eigenvectors derived from the
covariance matrix of a high dimensional vector that represents possible faces of humans. Any
human face can be represented by linear combination of Eigenface images. For example, one
person’s face can be represented by some portion of Eigenface of one type and some other
portion of Eigenface of another type, and so on. In Pentland’s paper, motivated by principal
component analysis (PCA), the author proposes this method, where principle components of
a face are extracted, encoded, and compared with database. A new face image is
projected onto face space simply by multiplying the difference between the image and the
average and the result is multiplied by each eigenvector. The result of this operation will be the
weighted contribution of each Eigenface in representing the input face image, treating the
Eigenfaces as a basis set for face images. The Euclidean distance taken from each face class
determines the class that best matches the input image. Through Eigenfaces, the 23 system can
detect the presence of face as well. The face image projected onto face space does not change
radically while any nonface image will look quite different; therefore, it is easy to distinguish
between face images and nonface images. Using this basic idea, image is projected onto face
space and then Euclidean distance is calculated between the meanadjusted input image and the
projection onto face space. The distance is used as “faceness” so the result of calculating the
distance is a “face map”, where low values indicate that there is a face.

37 | P a g e
10.3   Principal Component Analysis (PCA)

Derived from KarhunenLoeve’s transformation. Given an sdimensional vector representation


of each face in a training set of images, Principal Component Analysis (PCA) tends to
find a tdimensional subspace whose basis vectors correspond to the maximum variance
direction in the original image space. This new subspace is normally lower dimensional
(t<<s). If the image elements are considered as random variables, the PCA basis vectors are
defined as eigenvectors of the scatter matrix. The Eigenface algorithm uses PCA for
dimensionality reduction to find the vectors which best account for the distribution of face
images within the entire image space. These vectors define the subspace of face
images and the subspace is called face space. All faces in the training set are projected onto
the face space to find a set of weights that describes the contribution of each vector in the face
space. To identify a test image, it requires the projection of the test image onto the face
space to obtain the corresponding set of weights. By comparing the weights of the test
image with the set of weights of the faces in the training set, the face in the test image can be
identified. The key procedure in PCA is based on KarhumenLoeve transformation. If the image
elements are considered to be random variables, the image may be seen as a sample of a
stochastic process. The PCA basis vectors are defined as the eigenvectors of the scatter matrix
ST,

Fig.10.3.1. Principal Components (PC) of a twodimensional set of points. The first
principal component provides an optimal linear dimension reduction from 2D to
1D, in the sense of the mean square error.

10.4   Independent Component Analysis (ICA)
38 | P a g e
Independent Component Analysis (ICA) is similar to PCA except that the distributions of the
components are designed to be non¬Gaussian. ICA minimizes both second-order and
higher¬order dependencies in the input data and attempts to find the basis along which
the data (when projected onto them) are ¬ statistically independent. Bartlett et al.
provided two architectures of ICA for face recognition task: Architecture I ¬ statistically
independent basis images, Architecture II - factorial code representation.

10.5   Linear Discriminant Analysis (LDA)

Both PCA and ICA construct the face space without using the face class (category) information.
The whole face training data is taken as a whole. In LDA the goal is to find an efficient or
interesting way to represent the face vector space. But exploiting the class information can be
helpful to the identification tasks, Linear Discriminant Analysis (LDA) finds the vectors in
the underlying space that best discriminate among classes. For all samples of all classes the
betweenclass scatter matrix SB and the withinclass scatter matrix SW are defined.
The goal is to maximize SB while minimizing SW, in other words, maximize the
ratio det|SB|/det|SW|. This ratio is maximized when the column vectors of the projection matrix
are the eigenvectors of (SW^1 × SB).

10.6 Evolutionary Pursuit (EP)

An Eigenspacebased adaptive approach that searches for the best set of projection axes in order
to maximize a fitness function, measuring at the same time the classification accuracy and
generalization ability of the system. Because the dimension of the solution space of this problem
is too big, it is solved using a specific kind of genetic algorithm called Evolutionary Pursuit (EP).

10.7 Kernel Methods

The face manifold in subspace need not be linear. Kernel methods are a generalization of
linear methods. Direct nonlinear manifold schemes are explored to learn this nonlinear
manifold.

10.8 Trace Transform

The Trace transform, a generalization of the Radon transform, is a new tool for image
processing which can be used for recognizing objects under transformations, e.g.
rotation, translation and scaling. To produce the Trace transform one computes a
functional along tracing lines of an image. Different Trace transforms can be produced from an
image using different trace functional.
39 | P a g e
10.9 Support Vector Machine (SVM)

Given a set of points belonging to two classes, a Support Vector Machine (SVM) finds the hyper
plane that separates the largest possible fraction of points of the same class on the same side,
while maximizing the distance from either class to the hyper plane. PCA is first used to extract
features of face images and then discrimination functions between each pair of images are
learned by SVMs.

10.10 Elastic Bunch Graph Matching (EBGM)

Elastic Bunch Graph Matching (EBGM). All human faces share a similar topological structure.
Faces are represented as graphs, with nodes positioned at fiducial points. (Exes, nose...) and
edges labeled with 2D distance vectors. Each node contains a set of 40 complex Gabor wavelet
coefficients at different scales 26 and orientations (phase, amplitude). They are called "jets".
Recognition is based on labeled graphs. A labeled graph is a set of nodes connected by edges,
nodes are labeled with jets, and edges are labeled with distances.

Fig.10.10.1. Jet

40 | P a g e
Fig.10.10.2. Labeled Graph

10.11 Active Appearance Model (AAM)

An Active Appearance Model (AAM) is an integrated statistical model which combines a


model of shape variation with a model of the appearance variations in a shapenormalized frame.
An AAM contains a statistical model if the shape and graylevel appearance of the object
of interest which can generalize to almost any valid example. Matching to an image involves
finding 27 model parameters which minimize the difference between the image and
a synthesized model example projected into the image. The AAM is constructed based on a
training set of labeled images, where landmark points are marked on each example face at key
positions to outline the main features.

Fig.10.11.1. the training image is split into shape and shapenormalized texture.

41 | P a g e
10.12   3D Morphable Model

Human face is a surface lying in the 3D space intrinsically. Therefore the 3D model should be
better for representing faces, especially to handle facial variations, such as pose, illumination etc.
Blantz et al. proposed a method based on a 3D morphable face model that encodes shape and
texture in terms of model parameters, and algorithm that recovers these parameters from a single
image of a face.

10.13 3D Face Recognition

The main novelty of this approach is the ability to compare surfaces independent of
natural deformations resulting from facial expressions. First, the range image and the texture of
the face are acquired. Next, the range image is preprocessed by removing certain parts such as
hair, which can complicate the recognition process. Finally, a canonical form of the facial
surface is computed. Such a representation is insensitive to head orientations and facial
expressions, thus significantly simplifying the recognition procedure. The recognition itself is
performed on the canonical surfaces. 28

10.14 Bayesian Framework

A probabilistic similarity measure based on Bayesian belief that the image intensity differences
are characteristic of typical variations in appearance of an individual. Two classes of facial
image variations are defined: intrapersonal variations and extra personal variations.
Similarity among faces is measures using Bayesian rule.

10.15 Hidden Markov Models (HMM)

Hidden Markov Models (HMM) are a set of statistical models used to characterize the
statistical properties of a signal. HMM consists of two interrelated processes: (1) an
underlying, unobservable Markov chain with a finite number of states, a state transition
probability matrix and an initial state probability distribution and (2) a set of probability
density functions associated with each state. HMM approach for face recognition based
on the extraction of 2 dimensional discrete cosine transformation (DCT) feature vectors.
The author takes advantage of DCT compression property for feature extraction. An image is
divided by blocks of a subimage associated with observation vector. In HHM, there are
unobservable Markov chain with limited number of status in the model, the observation symbol
probability matrix B, a state transition probability matrix A, initial state distribution π, and set
of probability density functions (PDF). A HMM is defined as the triplets λ = (A, B, π). For
frontal human face images, the important facial components appear in top to bottom
order such as hair, forehead, eyes, nose, mouth, and chin. This still holds although the image
42 | P a g e
rotates slightly in the image plane. Each of the facial regions is assigned to one state in 1D
continuous HMM. The transition probability ai j and structure of face model is illustrated in
following Figure.

Fig.10.15.1. HMM for face recognition image. Fig.10.15.2.Block extraction form  

10.16 Boosting & Ensemble Solutions

The idea behind Boosting is to sequentially employ a weak learner on a weighted version of a
given training sample set to generalize a set of classifiers of its kind. Although any individual
classifier may perform slightly better than random guessing, the formed ensemble can provide a
very accurate (strong) classifier. Viola and Jones build the first realtime face detection system by
using AdaBoost, which is considered a dramatic breakthrough in the face detection research. On
the other hand, papers by Guo et al. are the first approaches on face recognition using the
AdaBoost methods.

10.17 Nearest Feature Line Method

Its one of holistic matching methods to deal with problems in Eigenfaces approach. To create a
feature point in feature space, it is assumed that there should be at least two prototype feature
points available from the same class (image). A line passing the two prototype features forms a
feature line (FL) that generalizes the two feature points. A feature line represents an approximate
of two prototypes (images) that are captured under different conditions, such as different head
gaze direction or different light illumination. An input image is then identified with a
corresponding class, according to the distance between feature point of the given image and FL

43 | P a g e
of the prototype images. Facial image is represented as a point in the feature space, which is an
eigen space. The line x1 through x2 of same class denoted as x1 x2 is called 30 feature line of
that class. The query which is input image x is projected K onto an FL, and the FL distance x and
x1x2 is defined as d(x, x1x2) = |x – p|, where | . | is some norm. The projection point can be
found by setting up a vector line equation with parameter . Depending on the sign of μ μ , the
position of p can be left of x1, right of x2, or between x1 and x2 on the line. The greater the
value of the parameter is, the further the position of p from x1 or x2 becomes. The
classification of the input image is done as follows: Let c x and c j x be two distinct prototype
points in feature space.

Fig.10.17.2.Generalizing two prototype feature points x1 and x2 [2].

The distance between image point x and each FL c c i j x x is calculated for each class c, where
each pair i ≠ j. This will generate N number of distances, and these N distances are sorted
in ascending order with each of them associated with class c*. The first rank gives the
NFL classification consisting of the best matched class c*, and the two best matched prototypes
i* and j* of the class.

CHAPTER-11

44 | P a g e
Conclusion and Future Work

8.1 Conclusion:

• The Attendance Management System, which was created using Machine Learning, satisfies the
system's objectives. The system has achieved a stable state in which all bugs have been removed.
The system runs at a high rate of efficiency. The system resolves the issue.

• The system can detect and identify the face well with an accuracy of 85 percent at a face
distance of 40 cm from the camera with acceptable illumination.

8.2 Future Works :

We intend to develop the application for several college campuses as well as multiple schools.

45 | P a g e
REFERENCES

[1] G.Satyanarayana Reddy,Rallabandi Srinivasu,Srikanth Reddy Rikkula,Vuda

[2] Evgeniya Kokareva, Ana Satkeeva, Robin Shaw, Bridget Wellen Supervisor: Dr. Fatma
Cemile Serce CS / Bellevue College

[3] Francesc Tarrés Ruiz Antonio Rama Calvo

[4] J Sign Process SystDOI 10.1007/s11265-016-1219-1EyeLSD a Robust Approach for Eye


Localization and StateDetectionBenrachou Djamel Eddine1·Filipe Neves dos Santos2·Brahim
Boulebtateche1·Salah Bensaoula1

[5]  M. A. Turk and A. P. Pentland, “Face Recognition Using Eigenfaces”in Proc. IEEE
Conference on Computer Vision and Pattern Recognition, pp. 586– 591. 1991

[6] Roxy Peck California Polytechnic State University, San Luis Obispo Chris Olsen George
Washington High School, Cedar Rapids, IA Jay Devore California Polytechnic State University,
San Luis Obispo Thomson Higher Education 10 Davis Drive Belmont, CA 94002-3098 USA

[7] 1Amritha, 2Sudhakar 1Student, 2Assistant Professor SRK Institute of Technology,


Vijayawada IJEDR 2019 | Volume 7, Issue 3

[8] Ming Jiang, Ph.D. School of Mathematical Sciences Peking University 5 Yi He Yuan Street
Beijing 100871

[9] Solon, O. (2017). Facial recognition database used by FBI is out of control, House committee
hears. [online] the Guardian. Available at:
https://www.theguardian.com/technology/2017/mar/27/us-facial-recognitiondatabase-fbi-drivers-
licenses-passports [Accessed 25 Mar. 2018].

[10] Reichert, C. (2017). Intel demos 5G facial-recognition payment technology | ZDNet. [online]
ZDNet. Available at: http://www.zdnet.com/article/intel-demos-5g-facial-recognition-
paymenttechnology/ [Accessed 25 Mar. 2018].

[11] C. Lin, 2005, “Face Detection By Color And Multilayer Feedforward Neural Network”,
Proc. 2005 IEEE International Conference on Information Acquisition, pp.518-523, Hong Kong

46 | P a g e
[12] K.SenthamilSelvi, P.Chitrakala, A.AntonyJenitha, "Face Recognition Based Attendance
Marking System", IJCSMC, Vol. 3, Issue. 2, February 2014

23
[13] Jose M.Chaves-Gonzalez, Miguel A Vega-Rodriguez,Juan A.Gomez-Pulido,Juan
M.Sanchez-perez,” Detecting skin in face recognition systems: A color spaces study”, Digital
signal processing, 20(2010) 806-823.

[14] Chatterjee, S., Jana, A., Ganguly, A., & Ghosh, A. Automated Attendance System Using
Face Recognition Technique. International Journal of Engineering and Applied Sciences (IJEAS),
5(7).

[15] X. Zhao and C. Wei, "A real-time face recognition system based on the improved LBPH
algorithm," 2017

[16] Sasi, N. and Jayasree, V. (2013). Contrast Limited Adaptive Histogram Equalization for
Qualitative Enhancement of Myocardial Perfusion Images. Engineering, 05(10), pp.326-331.

[17] A., I. and E.Z., F. (2016). Image Contrast Enhancement Techniques: A Comparative Study
of Performance. International Journal of Computer Applications, 137(13), pp.43-48.

[18] Bhuvaneshwari, K., Abirami, A. and Sripriya, N. (2017). Face Recognition Using PCA.
International Journal Of Engineering And Computer Science, 6(4).

47 | P a g e

You might also like