Face Recognition is non

advertisement
MAASAI MARA UNIVERSITY
SCHOOL OF SCIENCE AND INFORMATION SCIENCES
DEPARTMENT OF COMPUTING AND INFORMATION SCIENCES
FOURTH YEAR PROJECT PROPOSAL
STUDENT FACIAL RECOGNITION USING DEEP LEARNING
BY
OTIENO CALVINE
BS02/028/2015
SUPERVISOR: MR. ABRAHAM MATHEKA
Submitted in partial fulfillment of the requirements for award of BSc. Computer Science
1
DECLARATION
Student
I hereby declare that the work in this report is entirely my own work, and has to the best of my
knowledge, not been submitted to any other institution of higher learning. The report has not
been presented for any degree and therefore no part of this report shall therefore be duplicated
without my prior consent.
Student: OTIENO CALVINE
Reg. Number: BS02/028/2015
Signature: ……………………
Date: ………………………….
This project has been submitted as a partial fulfillment of requirements for the Bachelor of
Science in Computer Science of Maasai Mara University with my approval as the University
Supervisor.
Supervisor: MR. ABRAHAM MATHEKA
Signature: ………………………….
Date: …………………………………
2
ABSTRACT
The face is one of the easiest ways to distinguish the individual identity of each other. Face
recognition is a personal identification system that uses personal characteristics of a person to
identity the person. Facial recognition is a technology capable of identify a person from a stored
digital image or video frame from a video source. This plays a vital role in everyday interaction,
communication, and other routine activities that enable us to lead a normal and social life. With
the advancement of technology and growing use of computers in our day to day life, it’s essential
to develop systems that can precisely detect and recognize human faces. I aim to propose an
approach that can achieve the desired goal of face detection and identification or in other words
recognition effectively. Since working with image intensities is computationally challenging, I
will adopt the approach formulated by Viola and Jones that’s based on Haar-like features. The
cascading of a number of distinctive features using Adaboost results in a strong classifier that
can efficiently extract features. This ultimately leads to precise spotting of faces. My region of
interest is then subjected to the popular Local Binary Pattern (LBP) for further processing. The
original LBP operator labels the pixels of an image by thresholding the 3 by 3 neighborhood of
each pixel with the center pixel value and considering the results as aa binary number.
Histograms are then extracted from each sub-region and are concatenated into a single, spatially
enhanced feature histogram. This feature histogram is the key factor that along with the SVM
classifier recognizes the target image.
3
ACKNOWLEDGEMENT
I would like to thank God for His uttermost favor and the strength. He has been so kind to me
throughout this project.
I am thankful to my supervisor Mr. Matheka Abraham for his time, guidance encouragement and
support throughout the development and enhancement of this project.
Last but not least I’d like to thank my fellow colleagues who have been instrumental in ensuring
the project was a success through their encouragement and participation in carrying out peer
reviews and making sure the system is error free.
4
TABLE OF CONTENTS
1
2
INTRODUCTION............................................................................................................................... 6
1.1
Background ................................................................................................................................. 6
1.2
PROBLEM STATEMENT ........................................................................................................ 6
1.3
SCOPE OF THE STUDY ........................................................................................................... 7
1.4
AIMS ............................................................................................................................................ 7
1.5
PROJECT OBJECTIVES.......................................................................................................... 8
1.6
JUSTIFICATION ......................................................................................................................... 8
LITERATURE REVIEW................................................................................................................... 9
Introduction ................................................................................................................................. 9
2.1
2.1.1
geometry feature-based approach ..................................................................................... 9
2.1.2
holistic approach ............................................................................................................... 10
2.1.3
hybrid-approach................................................................................................................ 10
Face Recognition Techniques ................................................................................................... 10
2.2
2.2.1
eigenfaces ........................................................................................................................... 10
2.2.2
fisherface ............................................................................................................................ 11
2.2.3
neural network .................................................................................................................. 11
2.2.4
genetic algorithm ............................................................................................................... 11
Work Done Before .................................................................................................................... 12
2.3
3
DEVELOPMENT METHODOLOGY ........................................................................................... 14
Introduction ............................................................................................................................... 14
3.1
4
3.1.1
code and fix ........................................................................................................................ 14
3.1.2
spiral development ............................................................................................................ 14
3.1.3
waterfall method ............................................................................................................... 15
3.1.4
rapid prototype.................................................................................................................. 17
3.2
Testing and Evolution ............................................................................................................... 18
3.3
SCHEDULE AND RESOURCE REQUIRED ....................................................................... 19
3.3.1
project gant chart .............................................................................................................. 19
3.3.2
resources required............................................................................................................. 19
3.3.3
BUDGET ............................................................................................................................ 20
REFERENCES .................................................................................................................................. 21
5
1
INTRODUCTION
1.1 BACKGROUND
Human beings are the most intelligent species on the planet having extraordinary capabilities one
of which is identifying individual and differentiating them from one another. This plays a vital
role in everyday interaction, communication, and other routine activities that enable us to lead a
normal and social life. With the advancement of technology and growing use of computers in our
day to day life, it’s essential to develop systems that can precisely detect and recognize human
faces. I aim to propose an approach that can achieve the desired goal of face detection and
identification or in other words recognition effectively. Since working with image intensities is
computationally challenging, I will adopt the approach formulated by Viola and Jones that’s
based on Haar-like features. The cascading of a number of distinctive features using Adaboost
results in a strong classifier that can efficiently extract features. This ultimately leads to precise
spotting of faces. My region of interest is then subjected to the popular Local Binary Pattern
(LBP) for further processing. The original LBP operator labels the pixels of an image by
thresholding the 3 by 3 neighborhood of each pixel with the center pixel value and considering
the results as a binary number. Histograms are then extracted from each sub-region and are
concatenated into a single, spatially enhanced feature histogram. This feature histogram is the
key factor that along with the SVM classifier recognizes the target image.
Hence the above stated approach clearly serves as a great purpose of identifying and analyzing
facial images for various applications.
1.2 PROBLEM STATEMENT
Everyday actions are increasingly being handled electronically, instead of pencil and paper or
face to face. This growth of in electronic transactions results in great demand for fast and
accurate user identification authentication.
Access codes for buildings, schools and exam rooms, banks accounts and computer systems
often use PINs and identification cards for identification and security clearances. Using this IDs
and PINs gains access, but the user of the PIN is not verified. When credit and Identification
cards are lost, unauthorized user can often come up with the correct personal codes.
6
Identification cards can also be forged and unauthorized individuals have taken advantage of this
to gain access to some places and cause trouble. We have seen cases where students sit for exams
for their fellow colleagues and sign for them for class attendance. Some unauthorized individuals
have also gained access to institution especially public universities and secondary schools due to
the problem of identification.
Facial recognition can solve this problem since a face is undeniably connected to its owner
except in the case of identical twins.
1.3 SCOPE OF THE STUDY
Face recognition has its applicability in various fields. On the basis of results obtained in my
analysis, the future scope can be stated as:
1. Room for improving accuracy:
The accuracy for multiclass classifier can be improved. Various other techniques can be
implemented and compared to obtain better accuracy results for large database.
2. On getting a better accuracy we can use it in different fields not only for identifying
students but also in other fields for the purpose of security.
3. Develop a system in which we can maintain and record the attendance of students in a
lecture.
4. The attendances recorded only after the lecturer instructs the software to do so.
5. The faculty instructs the system twice; at the beginning and at the end.
6. System should be smart enough to make sure that the student remains in the lecture for
the entire session.
7. The system should work as a surveillance system as well.
8. The entire report of the attendance of each lecture should be reverted back to the central
attendance database.
1.4 AIMS
To make a system that will use computer vision techniques to automatically detect and identify
faces from the digital images which are extracted from the input video. The identification and
recognition is based on prominent facial features such as region of the eyes, face shape etc. This
will improve the security in most schools and universities and for the purpose of exam and class
attendance to trim exam cheating and irregularities.
7
1.5 PROJECT OBJECTIVES
The specific objectives of the project include:
I.
To build a fast and efficient face recognition system that detects faces very quickly in
cluttered backgrounds. Using a learning-based approach, namely Haar-cascade classifier,
we want to minimize the effects of unwanted objects in the real time environment.
II.
Once the face detection part is done, my next motive is to train my system with sufficient
images. For each image, a feature vector is to be computed using Local Binary Patterns
(LBP) where histograms are extracted concatenated for all sub regions in an image.
III.
With these feature vectors I wish to label the target images using SVM classification.
IV.
I aim to compare various recognition techniques and present a tradeoff between accuracy
and speed for each of them.
1.6
JUSTIFICATION
8
2
LITERATURE REVIEW
2.1 Introduction
The proposed system will apply three algorithms for efficient face recognition. The first
algorithm will be the viola-jones algorithm which will be used for face detection and training.
The second will be the principal component analyses (PCA) which will be used for features
extraction lastly radial basis function (RBF) willl be used the will be suitable for classification. It
has a simple structure and fast learning ability.
This chapter provides a detailed survey of face recognition research. There are two underlying
motivations to present this survey: the first is to provide an up-to-date review of the existing
literature, and the second is to offer some insights into the studies of machine recognition of
faces. To provide a comprehensive survey, existing recognition techniques of face recognition are
categorized and detailed descriptions of representative methods within each category are
presented.
Face Recognition or facial recognition is non-intrusive method of identifying faces by the feature
extraction and classification of faces on the other hand face detection refers to computer
technology that enable to identify presences of people’s faces with digital images. In order for
face detection to work, applications use machine learning and using algorithms. Face detection is
broader than face recognition. Face detection only identify a human face present in an image or
video.
One of the application of face detection is facial recognition. Face recognition describes a
biometric technology that gives away beyond recognizing a human face is present. It actually
attempts to recognize whose face it is.
Face recognition is an evolving area, changing and improving constantly. There are very many
approaches and techniques that have been put in place for this great technology. However,
different face recognition can be categorized into three main groups such as holistic approach,
feature-based approach and hybrid approach.
2.1.1 GEOMETRY FEATURE-BASED APPROACH
The geometry feature-based approach method analyzes local features such as nose, eyes, and
their geometric relationships. This technique is sometimes just referred to as only feature-based
9
approach. Examples of this approach are Elastic Bunch Graph Matching Algorithm. This method
is nowadays not used.
2.1.2 HOLISTIC APPROACH
Many researchers use this approach. In this approach whole face region is taken into account as
input data to the system. Various methods come under this approach are eigenfaces, fisher faces,
support vector machine, hidden markov model (HMM). These approaches are all based on
principal component analysis (PCA).
2.1.3 HYBRID-APPROACH
Under this approach the combination of local feature and whole feature is used. Modular
eigenface, hybrid local methods are for hybrid approach. Human facial feature plays important in
face recognition.
Research and studies have determined that eyes, mouth and nose are amongst the most
significant feature for recognition.
2.2
FACE RECOGNITION TECHNIQUES
2.2.1 EIGENFACES
It appears as a fast, simple and practical method. It was first used in face recognition.(L.
Sirovich, M. Kirby , 1986). This method is based on Principal Component Analysis and the goal
was to present the image in a lower dimension without using much information and then
reconstructing it. It became the foundation of many face recognition algorithm approaches later.
In 1992 Mathew Turk and Alex Pentland of the MIT presented a work which use this technique
for face recognition. They use PCA as a projection feature vector to solve the problem of face
recognition using Euclidean distance as a similarity function.
Alex Pentland, Baback Moghaddam extended the work of this technique to eigenfeature
corresponding to eigencomponent. They used modular approach which they were able to
demonstrate robustness to localized variations in object appurtenance. K. Chang, K.W Bowyer
and S. Sarkar experiments with ear and face recognition using the standard principal component
analysis approach showed that performance is essentially identical using ear images or face
images and combing the two for multimodal recognition results is 90%, 71.6%, 70.5%
respectively.
10
2.2.2 FISHERFACE
Fisher’s Linear Discriminant is a classical technique in pattern recognition first developed by
Robert Fisher in 1936 for taxonomic classification. Fisher’s Linear Discriminant (FLD) is an
example of class specific method in the sense that it tries to shape the scatter in order to make it
more reliable for classification. Belhumeur propose fisherfaces method by using PCA and
Fisher’s Linear Discriminant Analysis. This approach removes the problem of eigenface method
in Pentland by taking advantage of within class information, minimizing variation in same image
due to lighting condition.
2.2.3 NEURAL NETWORK
The attractiveness of using neural networks could be due to its linearity in the network. Artificial
neural networks are emerging tool in face recognition. One of the first artificial neural networks
(ANN) techniques used for face recognition is single layer adaptive network called WISARD
which contains separate network for each stored individual. Lawrence et. al. used self-organizing
map neural network and convolutional networks. Self-organizing maps (SOM) are used to
project the data in a lower dimensional space and a convolutional neural network (CNN) for
partial translation and deformation invariance.
2.2.4 GENETIC ALGORITHM
Was developed by John Holland – University of Michigan (1970s) to provide efficient
techniques for optimization and machine learning applications. Genetic programming is an
evolutionary algorithm methodology inspired by biological evolution. In Genetic Programming
different phases of evolution, namely select base on individual fitness, reproduction using crossover and mutation using better solutions. It’s a heuristic method that use the idea of survival of
the fittest.
This algorithm has been widely employed in the pattern recognition, feature selection.
The proposed system will mostly be focused on the face recognition technology. Thus, it is good
to have a survey of the facial recognition technology.
11
2.3 WORK DONE BEFORE
Several approaches have been applied to face recognition: support vector machines, Neural
Networks, Kirby and Sirovich initiated the Eigen-faces approach in 1998 since then many
researchers have built and expanded on the basic ideas. In addition to the aforementioned
approaches, algorithms also form part of the components of face recognition systems. The
popular ones include: Principle component Analysis (PCA) that treats face recognition as a twodimensional recognition problem. Linear Discriminant Analysis (LDA), which distinguishes
between the differences within an individual and those among individuals; Independent
Component Analysis (ICA), which strives to exploit "higher-order" relationships among pixels
compared to PCA; Elastic Bunch Graph Matching (EBGM), which relies on the concept that real
face images have many nonlinear characteristics that are not addressed by PCA and LDA-such as
variations in illumination, pose, and expression.
In October, 2001, Fresno Yosemite International (FYI) airport in California deployed Vii-sage's
face recognition technology for airport security purposes. The system is designed to alert FYl's
airport public safety officers whenever an individual matching the appearance of a known
terrorist suspect enters the airport's security checkpoint. Anyone recognized by the system would
have further investigative processes by public safety officers when the authorized individual
leaves the computer terminal for a short time, users are continuously authenticated, checking that
the individual in front of the computer screen or at a user is the same authorized person who
logged in.(Divyarajsinh, Brijesh et al)
Sudha, N., and D. Bharat Chandrahas et al. presented a parallel architecture for face recognition
which is suitable for implementing in multicore environment. The proposed system includes the
modules for video frame acquisition, PCA, binarization, skin detection on the image frame.
Consecutive frame lines are processed in pipeline on multicores. The proposed system attains a
frame rate at 8 frames per second for 480x272 image size and the experimental result is area
effective
Vong, Chi Man et al. proposed sparse Bayesian extreme learning machine (SBELM) for realtime face detection. The proposed method is capable to reduce the size of model without
compromise on the fast execution time and precision. Numerous standards for the face datasets
12
are developed for the estimation of SBELM among other traditional approaches. The analysis of
results
indicates that SBELM attains best ever execution time with high precision over the standard face
datasets.
Karmakar, Dhiman et al. In this paper, facial feature extraction scheme has been proposed. By
utilizing the segmentation method, control points are extracted and color images are cropped
automatically. In this segmentation method, initially images are cropped automatically and then
these cropped images are being applied for detecting the main connected components. The
feature points are found by utilizing the geometrical measurement of location and the size of
component with no previous information if probabilistic distance between the feature points or
using any feature point extraction formula. By containing main feature points, T shaped face
image is generated. Finally rate of recognition of unprocessed face images using PCA is
reported.
13
3
DEVELOPMENT METHODOLOGY
3.1 Introduction
Systems are created to solve problems that we encounter on daily basis at work or other areas.
Systems development methodology is an organized way of solving a problem. In software
development, there are several methodologies that are used in solving problems. These
methodologies are also referred to as software engineering models. The models are
3.1.1
CODE AND FIX
Code and fix" development is model that is neither well formulated nor well controlled, it lacks
formal planning, a specification and design phases. Without much of a design in the way,
programmers immediately begin producing code. At some point, testing begins (often late in the
development cycle), and the unavoidable bugs must then be fixed before the product can be
shipped.
3.1.2
SPIRAL DEVELOPMENT
The key characteristic of a Spiral model is risk management at regular stages in the development
cycle. The Spiral is visualized as a process passing through some number of iterations, with the
four quadrant diagram representative of the following activities:
1. Formulate plans to: identify software targets, implement the program, clarify the project
development restrictions
2. Risk analysis: an analytical assessment of selected programs, to consider how to identify
and eliminate risk
3. Implementation of the project: the implementation of software development and
verification
However, the spiral model has some restrictive conditions, as follows:
1. The spiral model emphasizes risk analysis, and thus requires customers to accept this
analysis and act on it. This requires both trust in the developer as well as the willingness
14
to spend more to fix the issues, which is the reason why this model is often used for
large-scale internal software development.
2. If the implementation of risk analysis will greatly affect the profits of the project, the
spiral model should not be used.
3. Software developers have to actively look for possible risks, and analyze it accurately for
the spiral model to work.
The first stage is to formulate a plan to achieve the objectives with these constraints, and then
strive to find and remove all potential risks through careful analysis and, if necessary, by
constructing a prototype. If some risks cannot be ruled out, the customer has to decide whether to
terminate the project or to ignore the risks and continue anyway. Finally, the results are
evaluated and the design of the next phase begins.
3.1.3 WATERFALL METHOD
It consists of stages that are processed which are processed in a linear fashion. It is better
manageable and more rigid. The waterfall method was the first software development life cycle
to be used. The outcome of one phase acts as the input for the next phase sequentially
15
Following is a diagrammatic representation of different phases of waterfall model.
The following are the sequential phases in Waterfall model are:

Requirement Gathering and analysis: All possible requirements of the system to be developed
are captured in this phase and documented in a requirement specification document

System Design: The requirement specifications from first phase are studied in this phase and
system design is prepared. System Design helps in specifying hardware and system requirements
and also helps in defining overall system architecture.

Implementation: With inputs from system design, the system is first developed in small programs
called units, which are integrated in the next phase. Each unit is developed and tested for its
functionality which is referred to as Unit Testing.

Integration and Testing: All the units developed in the implementation phase are integrated into
a system after testing of each unit. Post integration the entire system is tested for any faults and
failures.

Deployment of system: Once the functional and nonfunctional testing is done, the product is
deployed in the customer environment or released into the market.
16

Maintenance: There are some issues which come up in the client environment. To fix those issues
patches are released. Also to enhance the product some better versions are released. Maintenance
is done to deliver these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily
downwards (like a waterfall) through the phases. The next phase is started only after the defined
set of goals are achieved for previous phase and it is signed off, so the name "Waterfall Model".
In this model phases do not overlap.
Advantages of waterfall model:

Simple and easy to understand and use.

Easy to manage due to the rigidity of the model – each phase has specific deliverables and a
review process.

Phases are processed and completed one at a time.

Works well for smaller projects where requirements are very well understood.
3.1.4
RAPID PROTOTYPE
Prototyping is a technique for providing a reduced functionality or a limited performance version
of a software system early in its stage.
The "planning" of software developed using Rapid prototyping is interleaved with writing the
software itself. The lack of extensive pre-planning generally allows software to be written much
faster, and makes it easier to change requirements. It has four phases
1. Requirements Planning phase – combines elements of the system planning and systems
analysis phases of the Systems Development Life Cycle (SDLC). Users, managers, and
IT staff members discuss and agree on business needs, project scope, constraints, and
system requirements. It ends when the team agrees on the key issues and obtains
management authorization to continue.
2. User design phase – during this phase, users interact with systems analysts and develop
models and prototypes that represent all system processes, inputs, and outputs. The RAD
17
groups or subgroups typically use a combination of Joint Application Development
(JAD) techniques and CASE tools to translate user needs into working models. User
Design is a continuous interactive process that allows users to understand, modify, and
eventually approve a working model of the system that meets their needs.
3. Construction phase – focuses on program and application development task similar to
the SDLC. In RAD, however, users continue to participate and can still suggest changes
or improvements as actual screens or reports are developed. Its tasks are programming
and application development, coding, unit-integration and system testing.
4. Cutover phase – resembles the final tasks in the SDLC implementation phase, including
data conversion, testing, changeover to the new system, and user training. Compared
with traditional methods, the entire process is compressed. As a result, the new system is
built, delivered, and placed in operation much sooner.
The methodology I will adopt in this project development is prototyping. The idea behind
prototyping is the creation of an early sample of a product with intention of clarifying the
requirements and project specifications. The prototype is then constantly refined with every
iteration. It is necessary to focus on those aspects visible to the users, so that evaluation of the
proposed design can be made in accordance to the user requirements. This method is the most
effective way to address the uncertainty about the user requirements and also to discover new
system functionalities as well. The development methodology was arrived at because:
1. Requirements become clearer resulting into an accurate product.
2. Flexibility in design and development that is supported by the model
3. New requirements can be easily accommodated as there is scope refinement.
3.2 TESTING AND EVOLUTION
Testing will be an inherent part of every stage in development. I will evaluate the system using
function points Function points were developed by Albrecht. Function Point Analysis (FPA), is
the method of sizing software in terms of its function and expressed in Function Points. It is
interesting to note that FPA came about, not because a new measure of system size was
18
requested, but because productivity was becoming increasingly important; it was out of the need
to measure productivity that FPA was conceived.
FPA aims to provide a consistent measure of system size that:
I.
is independent of the development technology
II.
is simple to apply
III.
can be estimated (reasonably well) from the requirements specification
IV.
is meaningful to the end user.
3.3
SCHEDULE AND RESOURCE REQUIRED
3.3.1
PROJECT GANT CHART
FROM
TO
TASK
SEP
1-15
SYSTEM PLANNING
AND SELECTION
1/9/18
15/9/18
PROPOSAL
WRITTING
16/9/18
30/9/18
SYSTEMS
ANALYSIS AND
DESIGN
1/10/14
15/10/18
SYSTEMS
IMPLEMENTATION
16/10/18
15/1/19
DOCUMENTATION
16/10/19
31/1/19
DELIVERY
2/2/14
18/2/19
OCT
16-28
NOV
1-15
16-31
3.3.2 RESOURCES REQUIRED
1.Minimum requirements
Software
19
1-15
DEC
16-30
1-15
JAN
16-30
1-15
FEB
16-30
1-15
16-31
i)
Windows 7 and above
ii)
Windows 2000(sp4)
iii)
Windows xp(sp2)
iv)
Windows vista (sp1)
Application software
i)
Javascript
ii)
OpenCV
iii)
Electron.js
iv)
Python
v)
Node.js
vi)
MYSQL database
vii)
Microsoft Word and Excel
viii)
Visual code and PyCharm
Hardware Required
500MHZ processor Pentium 111
1GB RAM
4 GB free hard disk space
A PC /laptop, GSM modem
On the client side
A PC/ laptop running windows 2000, XP, Vista or Windows 7 and above
Supported platform
Personal computer running windows 2000, XP, Vista or Windows 7 and above
3.3.3 BUDGET
NAME
ESTIMATED COST
20
Dell XPS 13 laptop Intel Core i7, 226 GB
SSD, 8GB RAM
Ksh. 140,000
TOTAL
Ksh.140,000
4
REFERENCES
1. Bentley, L & Whitten, J (2007). System Analysis & Design for the Global Enterprise. 7th
ed. (p. 417).
21
2. R. Jafri, H. R. Arabnia, “A Survey of Face Recognition Techniques”, Journal of
Information Processing Systems, Vol.5, No.2, June 2009.
3. Y. Freund and R. E. Schapire, A decision-theoretic generalization of online learning and
an application to boosting. J. Comp. & Sys. Sci., 55(1):119-139, 1997.
4. R. Chellappa, C. L. Wilson, and S. Sirohey, “Human and machine recognition of faces: A
survey”, Proc, IEEE, vol. 83, 705-741, May, 1995.
5. B. Moghaddam, Principal manifolds and bayesian subspaces for visual recognition, Proc.
of IEEE conf. Compter Vison, 1131-1136, 1999.
22
Download