Enhanced Face Recognition Algorithm Using PCA With Artificial Neural Networks
Enhanced Face Recognition Algorithm Using PCA With Artificial Neural Networks
Enhanced Face Recognition Algorithm Using PCA With Artificial Neural Networks
Abstract— Face detection from a long database of face images with different backgrounds is not an easy task. In this
work, we demonstrate the face detection system of colored face images which is invariant to the background and
acceptable illumination conditions. A threshold level is set to reject the non-human face images and the unknown
human face images which are not present in the input database of face images. In this paper, the global features
extraction is completed using PCA based eigenface computation method and the detection part is completed using
multi-layered feed forward Artificial Neural Networks with back propagation process. This algorithm is implemented
using MATLAB software. The learning process of neurons is used to train the input face images with 1000 iterations
to minimize the error. In this system, face recognition task is completed with improved accuracy and success rate even
for noisy face images.
Keywords— Face recognition system, Principal components Analyses (PCA), Artificial Neural network (ANN),
Neurons, Epochs, Eigenfaces, Mean square error(MSE)
I. INTRODUCTION
Face Recognition System is a computer based digital technology and is an active area of research. The Face
Recognition System has various applications like various authentication systems, security systems and searching of
persons etc. These applications are cost effective and save the time. Moreover the face database can be easily designed by
using any image of the person. In past few years various face recognition techniques are purposed with varied and
successful results. As the brain of human beings create the learning ability to recognize the persons by face even the
feature characteristics of the face changes with time. The neurons of the human brain are trained by reading or learning
the face of a person and they can identify that face quickly even after several years. This ability of training and
identifying is converted into machine systems using the Artificial Neural Networks. The basic function for the face
recognition system is to compare the face of a person which is to be recognized with the faces already trained in the
Artificial Neural Networks and it recognized the best matching face as output even at different lightening conditions,
viewing conditions and facial expressions.
In this paper, the features of the face images are extracted by creating the feature vectors of maximum varied
face points and computing s Covariance column matrix using PCA. These faces are projected onto the face space that
spans the significant variations in the face images stored in the database [7]. These feature vectors are the eigenvectors of
covariance matrix and having the face like appearance so that we call them eigenfaces which are used as input to train the
Artificial Neural Networks. The learning of the correlated patterns between the input face images is one of the useful
properties of Artificial Neural Networks. After training the Artificial Neural Networks, we tested it with known and
unknown face images for success and rejection rate analysis. Database used in this work contains 49 different face
images of nine persons resized to 180×200 pixels including the non-human and unknown face images for improving the
rejection rate.
PCA projects the data along the directions where variations in the data are maximum. The algorithm is follows as:
Assume the m sample images contained in the database as A1, A2, A3………Am.
Calculate the average image, Ø, as: Ø= ∑ Al /M, where 1< L<M, each image will be a column vector the same
size.
The covariance matrix is computed as by C = A A where A = [O1 O2 O3….Om].
T
Calculate the eigenvalues of the covariance matrix C and keep only k largest eigenvalues for dimensionality
reduction as λk = ∑mn=1(UKT On).
Eigenfaces are the eigenvectors UK of the covariance matrix C corresponding to the largest eigenvalues.
All the centered images are projected into face space on eigenface basis to compute the projections of the face
images as feature vectors as: w = UTO = UT (Ai - Ø), where 1< i<m.
PCA method computes the maximum variations in data with converting it
from high dimensional image space to low dimensional image space. These extracted projections of face images are
further processed to Artificial Neural Networks for training and testing purposes.
The multilayered ANN has the different layers of processing elements. In face recognition system using ANN, the model
works in the following frames:-
Input to Feed Forward Network: - First, the parameters are selected for required Neural Networks operation i.e.
the number of input layers, hidden layers and output layers. These input neurons receive the inputs signal from the
training data of face images. Each input has its own weights.
Back Propagation and weight Adjustment: - The input layer processes the data to the hidden layer which
computes the data further and passes it to the output layer. Output layer compare it with the target value and obtain
the error signals. These errors are sent back for adjusting the weights of each layer to minimize the error as shown
in Fig. 3.
Mathematical Function: - It performs the mathematical operation on the output signal. The functions can be
threshold function, log-sigmoid and Tangent hyperbolic function. If the output values of the function are similar to
the output values of the Tested face, the face is detected. Hence, the Neural Networks provides the response to the
input which is similar to the training data.
Extracted features compute the eigenfaces which are taken as input to the Artificial Neural Networks to train the
neural networks. For testing purpose, the eigenface of the tested image is provided as input to the trained neural networks
and it finds the best match considering the threshold value for rejecting the non-human and unknown face images.
The errors in the output layer are sent back to the previous layers and update the weights of these layers which minimize
the error. The momentum and learning rate parameters counts the updates from previous iterations and recalculates the
new updated output. The iteration used is 1000 and the errors are minimized to value 0.001.
The eigenvectors of largest eigenvalues counts the eigenfaces. The projections of the face images as the feature vectors
are described in Fig. 7.
In training phase, Artificial Neural Networks are trained with the projected face images and the following parameters are
set for input, hidden and output layered neural network for complete training and testing purpose as described in Table I:
TABLE I
PARAMETERS OF ARTIFICIAL NEURAL NETWORKS
Sr. Parameters taken for Neural Specifications
No. Network
1 Artificial Neural Network 03
layers
2 Input layer contains Eigenface column
Matrix having
eigenvectors of 9
different face images
3 Output layer contains Column Matrix
having 9 target
elements for each
face image
4 Neurons in Input layer 610
5 Neurons in Hidden layer 610×1.75 = 1068
6 Neurons in Output layer 09
7 Number of Epochs(Iterations) 1000
8 Tolerable Error Value 0.001
9 Layers weights are adjusted 0.01
by multiplying factor
10 Number of Validation Checks 06
11 Gradient Value taken 1.00e-10
12 Mathematical Function taken Log-sigmoid
at output layer
13 Momentum of Neural 0.5
Network
14 Learning Rate of Neural 0.4
Network
It counts the 1000 epochs (iterations) with learning rate of 0.4 and the training continuous until the mean square error
reaches at a tolerance level set at 0.001. These trained networks are used for testing purpose. In testing face the
comparison between the eigenface projections of test image with the trained Neural Networks face images is completed
as mentioned in implementation part. The experimental decision shown in Fig. 9.
Fig. 9 Testing the Artificial Neural Networks with known Face Image with different expressions Similarly, testing of the
non-human face images and unknown face images are rejected showing the access denied as shown in Fig. 10.
Fig. 10 Testing of the Non-Human Face Image and Unknown Face Image for Rejection
The performance of simulation process for trained Artificial Neural Networks is shown in Fig. 11&12.
Fig. 11 Performance plot between Mean Square Error and number of Iterations of Artificial Neural Networks
Fig. 11 shows the performance graph as the MSE (mean square error) is reduced to 0.001 by updating the weights of
hidden layer using the back propagation algorithm.
Fig. 12 Training State plot of Gradient, Learning rates and Validation checks with number of Iterations of Artificial
Neural Networks
T a bl e II
EXPERIMENTAL RECOGNITION RAT E S
Number Number of Eigen Recognition
of Faces Rate
Training
images
6 83.23
5 7 85.68
8 89.71
9 92.86
6 87.91
9 7 89.32
8 92.64
9 94.45
Figure 13: Increment of Recognition Rate with number of Training Images and Eigenfaces This work provides better
results than PCA based face recognition system as shown in Table III.
T a bl e III
Im pr ovem en t fr om th e PCA ba sed Face Recognition System
Methodology PCA based Purposed Face
Face Recognition
Recognition System
System
Recognition
Rate 90.9% 95.45%
VII. Conclution
In this paper, back propagation feed forward Artificial Neural Networks with features extraction using PCA is purposed
for face recognition. The purposed face recognition system works with high accuracy and provides better success rates
even for noisy face images. The mean square error converges to 0.001 as set tolerance level and it can be reduced further
by increasing the iterations using Log-sigmoid and Tang-sigmoid functions. Results show that when lightening variations
are large then it is difficult to count the image distance due to introduced biases in distance calculations. The purposed
algorithm works better than individual PCA based Face Recognition System even in illumination and background
variations. This work also improves the rejection rate for non-human and unknown face images. In future, we will apply
the local features extraction methods with Artificial Neural Networks for further improvements in the research of Face
Recognition System. This method provides the maximum accuracy of about 95.45% for applied database.
ACKNOWLEDGMENT
I would like to express my sincere gratitude and thanks to Prof. Vikas Kumar, Assistant professor and Head of
Department in Electronics and Communication Engineering at Samalkha group of institution for guiding me to work in
the exciting and challenging areas of face recognition.
BIOGRAPHY
Er. Navneet Jindal1 has completed his B.Tech in Electronics and Communication Engineering from
Punjab Technical University. He is pursuing his M.Tech in Electronics and Communication Engineering
from Samalkha group of institution, Kurukshetra University. He has one year of industrial experience. He
has 2 research paper publications in International online journals.
Prof. Vikas Kumar2 is working as Assistant professor and Head of Department in Electronics and
Communication Engineering Department at Samalkha group of institution, samalkha. He did his
M.Tech from NIT Kurukshetra in VLSI Design (ECED). He has worked for TCS (TATA consultancy
Services) He has 4+ years of teaching/industrial experience. He teaches Wireless sensor networks, Data
communication in M.Tech programme and Microelectronics, VHDL, Analog Electronics and
Semiconductor in B.Tech programme. He has 3 research paper publications in International online
journals.