Beruflich Dokumente
Kultur Dokumente
This thesis is submitted as partial fulfillment of the requirements for the award of the
Bachelor of Electrical Engineering (Hons.) (Electronics)
NOVEMBER, 2010
"I herebyacknowledgethat the scopeand quality ofthis thesisis qualified for the
awardofthe Bachelor Degreeof Elecfiical Engineering@lectronics)"
signature,
tf'
Name
Date
: 29NOVE\@ER2010
111
Signature
Author
: ALFATITIAHBINTI ABDULLAH
Date
: 29NOVEMBER2010
ACKNOWLEDGEMENTS
A special thanks to all the staff of the Faculty of Electrical Engineering without
whose help this work would not have been possible.
vi
ABSTRACT
Facial recognition systems are computer-based security systems that are able to
automatically detect and identify human faces. Facial recognition has gained
increasing interest in the recent decade. Over the years there have been several
techniques being developed to achieve high success rate of accuracy in the
identification and verification of individuals for authentication in security systems.
This project experiments the concept of neural network for facial recognition that can
differentiate and recognize face of image. This face recognition system begins with
image pre-processing and then the output image is trained using Backpropagation
algorithm. Backpropagation network learns by training the inputs, calculating the error
between the real output and target output, and propagates back the error to the network
to modify the weights until the desired output is obtained. After training the network,
the recognition system is tested to ensure that the system can recognize the pattern of
each face image. The purpose of this project is to recognize face of image for the
recognition analysis using Neural Network. This project is mainly concern with offline
facial recognition systems using purely image processing technique. The system will
find database image has a maximum percentage on similarity of the pattern of the
image. This project is also to design a pattern recognition system by applying Neural
Network Toolbox in MATLAB software.
vii
ABSTRAK
viii
TABLE OF CONTENTS
Page
TITLE PAGE
DECLARATION
ii
DEDICATION
iv
ACKNOWLEDGEMENTS
ABSTRACT
vi
ABSTRAK
vii
TABLE OF CONTENTS
viii
LIST OF TABLES
xi
LIST OF FIGURES
xii
LIST OF SYMBOLS
xiii
LIST OF ABBREVIATIONS
xiv
CHAPTER 1
INTRODUCTION
1.1
Introduction
1.3
Problem Statement
1.3
1.4
Project Scope
1.5
1.6
Thesis Organization
CHAPTER 2
LITERATURE REVIEW
2.1
Preprocessing
2.2
2.3
Neural Networks
10
2.3.1
2.3.2
11
14
14
15
Model of Neuron
Neural Network Architectures
2.3.2.1 Components of A Neural Network
2.3.2.1 Various Subcategories of The Neural Network
ix
2.3.3
2.3.4
2.3.5
2.3.6
2.4
Learning Methods
Backpropagation Network
Backpropagation Learning
Backpropagation Algorithm
16
17
17
18
19
2.4.1
2.4.2
2.4.3
19
20
20
2.5
Pattern recognition
2.6
2.7
Previous Research
23
2.8
Summary
24
CHAPTER 3
21
Network
22
METHODOLOGY
3.1
Introduction
26
3.2
Preprocessing
27
3.2.1
3.2.2
29
30
3.3
3.4
Histogram equalization
Average Filtering
Feature extraction
31
3.3.1
31
Classification
33
33
35
3.5
Database
39
3.6
Summary
41
38
CHAPTER 4
4.1
Introduction
42
4.2
Preprocessing
42
4.3
46
4.3.1
4.3.2
4.3.3
47
47
49
Training Experiment
Test Result for the Face Database
Training and Recognition
4.4
50
4.5
Recognition Analysis
52
CHAPTER 5
5.1
Introduction
53
5.2
Conclusions
53
5.3
Recommendations
55
5.3.1
5.3.2
5.3.3
5.3.4
55
55
56
56
REFERENCES
57
APPENDICES
A
Main Coding
60
xi
LIST OF TABLES
TABLE NO.
4.1
TITLE
PAGE
51
xii
LIST OF FIGURES
FIGURE NO.
TITLE
PAGE
1.1
2.1
11
2.2
14
3.1
26
3.2
27
3.3
27
3.4
Histogram equalization
29
3.5
3.6
36
3.7
39
4.1(a)
42
4.1(b)
43
4.2(a)
44
4.2(b)
44
4.3
45
4.4
48
4.5
Training window
48
4.6
49
4.7(a)
50
4.7(b)
50
5.1
55
31
xiii
LIST OF SYMBOLS
Xi
netj
Wij
Input layer
Hidden layer
Slope parameter which adjust the abruptness of the function
j
Oj
k
Wkj
Ok
Wij
Wij
Adaptation weight between input (i) layer and hidden layer (j)
Learning rate
Iteration number
xiv
LIST OF ABBREVIATIONS
FR
Facial recognition
ANN
PCA
IC
Identification card
FPGA
ASCII
OCR
RGB
JPEG
BMP
GIF
ORL
3D
Three-dimension
CHAPTER 1
INTRODUCTION
1.1
PROJECT BACKGROUND
Face recognition is very important for our daily life. It can be used for remote
identification services for security in areas such as banking, transportation, law
enforcement, and electric industries, etc. For this security access project is aimed at
demonstrating facial recognition techniques that could antiquate, substitute, or
otherwise, supplement, conventional key, and can be used as an alternative to existing
fingerprint biometrics method. A computerized system equipped with a digital camera
can identify the face of a person and determine if the person is authorized to start the
vehicle. This integrated system would be able to authorize a user before switching on
the vehicle with a key. Whilst facial recognition systems are by now readily available in
the market, the vast majority of them are installed at large open spaces, such as in
airport halls. The focus of this project is, thus, to compare the extracted feature with
face image database for the recognition analysis using Neural Network.
human characteristic or trait quickly with little or no intervention from the user.
Biometric technology was developed for use in high-level security systems and law
enforcement markets. The key element of biometric technology is its ability to identify
a human being and enforce security. Since the beginning of time, humans have relied on
facial recognition (FR) as a way to establish and verify another persons identity. FR
technology isnt any different. Using software, a computer is able to locate human faces
in images and then match overall facial patterns to records stored in a database.
Face recognition, although a trivial task for the human brain has proved to be
extremely difficult to imitate artificially, because although commonalities exist between
faces, it can vary considerably in terms of age, skin color, face angle, facial expression
and presence of facial furniture such as glasses or facial hair.
1.1
PROBLEM STATEMENT
In view of the high rate of crime, fraud and terrorism in the world today, it is
becoming increasingly more important to have remote monitoring systems that work
well with other security devices. As security threats and frauds become increasingly
rampant, it is necessary to have systems that allows recognition and monitoring of
unauthorized people being in an area, using an equipment.
fingerprint recognition system. Although face recognition systems are popular and
highly accurate, many do not perform well in real time environment. Factors such as
scale, rotation, pose and lighting prove to be limiting factors in a real time face
recognition system performance. Preprocessing is normally necessary in order to obtain
results that are satisfactory. To overcome the problem and to increase the identifying
accuracy, this project apply ANN and PCA to face recognition system. By using face
recognition biometrics compare to fingerprint recognition, face recognition will reduce
opportunity of theft, and make the system more secured.
1.2
PROJECT OBJECTIVES
i.
To compare the extracted feature with face image database for the recognition
analysis using Neural Network.
ii.
iii.
1.3
PROJECT SCOPES
i.
ii.
Design and train the network with backpropagation algorithm learning and
weight adaptation.
iii.
iv.
as well as physical limitations of using FPGA, such as processing speed and need for
very large memory size for data, for image processing. It was also decided that many
algorithms have been developed by researchers in the area of image processing and
recognition, and developing new methods requires extensive knowledge in various
aspects of programming and theory behind the development.
Because of these constraints, it was decided that in the best interest of achieving
the requirements of this course that the coverage is simplified but to a workable product,
and it is certainly better to utilize the tools available in the market, i.e. by using
MATLAB programmer, and exploring the combination of several techniques. This
project uses MATLAB Release R2008a (which contains additional and advanced
blocksets not found in the previous MATLAB suite, especially the Video & Image
Processing Blocksets).
1.4
In general, face recognition consists of two different ways of usage, which are face
verification and face identification. The former is used for verification of the owner and
the latter is used for matching input identity with registered identity in the database. For
mobile device applications, since these mobile devices are mainly used for personal use,
the face verification is mainly used rather than the identification. So from now on, we
will describe face verification mainly. There are two different ways to recognize a
person: verification and identification. Verification (answers the question Am I who I
claim I am?) involves confirming or denying a person's claimed identity. In
identification, the system has to recognize a person (addressing the question Who am
I?) from a list of N users in the template database. Identification is a more challenging
problem because it involves 1:N matching compared to 1:1 matching for verification.
1.5
THESIS ORGANIZATION
This thesis composed of 5 chapters each will detail out of details upon every
aspect of this project. The beginning of this thesis will explain on what foundation the
system to be built on. Chapter 1 has introduction, to give definition of the project
background to the facial recognition system and how we could use it in security
propose. The problem statement was also mentioned in this chapter as well. Project
objectives and scopes of the methodology of this project had been included, at the end
of chapter 1 the organization of this thesis had been come.
The preceding chapter 2 will touch on why this project was proposed. The
literature review of the project which contains the background of the problem statement
and previous works on face verification and identification.
The results of this project had enough explanation in the chapter 4. These results
are also analyzed and discussed here to give an in-depth view of the accuracies of this
system in modeling by using MATLAB.
Chapter 5 was included the summarizing of this project, the benefits of this
project and suggestion of future work been mentioned in this chapter. In the end of this
thesis the appendixes were organized.
CHAPTER 2
LITERATURE REVIEW
2.1
PREPROCESSING
There are several methods available for thresholding image to produce binary
image. An experimental performance evaluation of several such techniques may found
in [2]. These methods include fixed global threshold, Otsu threshold and other
techniques. The input grayscale pixels are denoted by Xi {0, 1}. The corresponding
output binarization pixels are denoted by bi {0, 1} where 0 refers to black' and 1
refers to 'white'[2].
In this project, the global image threshold using Otsu's method will be chosen as
the technique to binarized the face images. This method finds the global threshold t that
minimizes the infraclass variance of the resulting black and white pixels of the image.
This method is also standard binarization technique and was implemented in Matlab
function "graythresh". The threshold of this method can be shown as: [2, 4]
Where;
Xi = Input grayscale Pixel
= Output binarization Pixel
2.2
The recognition process involves comparing the Eigenface weights for two faces
using a proprietary algorithm that generates a match score. Different faces will produce
a poor match score; images of the same face will produce a good match score.
The process begins by reducing the variability of the human face to a set of
numbers. Using a mathematical technique called Principal Components Analysis
(PCA), one can examine a large group of faces and extract the most efficient building
blocks required to describe them. It turns out that any human face can be represented as
the weighted sum of 128 of these building blocks, known as Eigenfaces, based on the
pioneering works of M. Turk and A. Pentland [5]. With this technique, the essence of a
10
human face can be reduced to just 256 bytes of information. The recognition process
involves comparing the Eigenface weights for two faces using a proprietary algorithm
that generates a match score. Different faces will produce a poor match score; images of
the same face will produce a good match score.
2.3
NEURAL NETWORKS
11
between an input and a neuron is defined as the value of the weight. Negative weight
values correspond to inhibitory connections, while positive values correspond to
excitatory connections. The adder sums up all the inputs modified by their respective
weights. Finally, a transfer function controls the amplitude of the output of the neuron.
An acceptable range of output is usually between 0 and 1, or -1 and 1 depending on the
transfer function selected. Figure 2.1 shows a typical model of an artificial neuron.