Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
23
Hybrid Face Recognition System using Multi Feature Neural Network Prof K.V. Krishna Kishore1, Dr G.P.S.Varma2 Abstract— In this paper, a new face recognition method Hybrid Face Recognition System using MultiFeature Neural Network (MFNN) is proposed. This method consists of five phases: i) Extract images from the database, ii) Normalization and face detection iii)dimensionality reduction using wavelet, iv) Feature extraction using PCA, LDA and v) classification using Multi Feature Neural Network. Combination of PCA and LDA is used for improving the capability of LDA when a few samples of images are available. The proposed system shows improvement on the recognition rates over the conventional LDA and PCA face recognition systems that use Euclidean Distance based classifier and also outperforms over the PCA using neural classifier and LDA using neural classifier. In the proposed system, two different feature domains are extracted from the training set in parallel. Therefore this approach can extract global and local characteristics of face images for classification purpose. The proposed system was tested on ORL, AR, and Indian databases of 40 people containing 10 images of each person with different poses that are taken under varying illumination conditions. Experimental results show that the proposed system outperforms other existing methods in terms of the low classification error and better time complexity. Keywords— Face Recognition System, DWT, PCA, LDA, MLP, MFNN
—————————— ——————————
Section III explains reduction of dimensionality using wavelets. Section IV presents a proposed method for face recognition based MFNN. In Section V, experimental results and evaluation of the developed techniques are presented. Finally, conclusions are summarized in Section VI.
I. INTRODUCTION Face recognition is a process of recognizing the face of a person in a system. System may comprise of circuit board, software for programming, digital camera or video camera, robots and many more. A system under test is fails when it could not recognize faces and works differently from the expected behavior. Face recognition is difficult because it requires certain information of an image (face), how it is unique from one to another before it could detect that particular individual.
II. PREPROCESSING A. Preprocessing of Face Image The aim of the face preprocessing step is to normalize the coarse face detection, so that a robust feature extraction can be achieved. Depending on the application, face preprocessing includes: Alignment (translation, rotation, scaling) and light normalization/ correlation. The face preprocessing step aims at normalizing, i.e. reducing the variation of images obtained during the face detection step. Unpredictable change in lighting conditions is a problem in facial recognition. B. Histogram Equalization
Face Recognition using Neural Network is popularly applied in various applications especially in security and biometrics applications. It has become a critical and popular due to the improved security, quality of relevance, and lower cost. Details of the work done are described in the remainder of this paper. Section II covers preprocessing and face detection of face image.
Histogram equalization (HE) can be used as a simple but very robust way to obtain light correction when applied to small regions such as faces. HE is to maximize the contrast of an input image, resulting in a histogram of the output image which is as close to a uniform histogram as possible. However, this does not remove the effect of a strong light source but maximizes the entropy of an image, thus reducing the effect of differences in illumination within the same “setup” of light sources. By
————————————————
1. Department of CSE, Vignan University, Guntur, A.P, India. 2. HoD, Dept of IT, S.R.K.R. Engineering College, Bhimavaram, A.P, India
23
Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
24
orientations are horizontal (chj+1), vertical (cvj+1), and diagonal (cdj+1).
doing so, HE makes facial recognition a somehow simpler task. Two examples of HE of images can be seen in Figure 2 and 3.
The size of face images of ORL is 92*112. The decomposition process can be recursively applied to low frequency channel (LL or A) to generate decomposition at the next level. Decomposition from level 1 to level 5 are given in the following figure 4. After 1st decomposition the size of the images is at 63*53 and after 2nd decomposition the size of the face images is decreased to 39*34 and after 3rd ,4th, 5th decompositions the size of the face images is compressed to 27 * 24, 21 * 19, 18 * 17 respectively as shown in figure 4.
Figure 2. Before histogram Equalization
Figure 3.After histogram Equalization III. DIMENSIONALITY REDUCTION Human face has certain features that are common for all persons and also certain features that exhibit a unique characteristic for a person. The face recognition task involves extraction of these unique features from the face image of a person. In this work, wavelets are used for dimensionality reduction of all the input images. The face image is decomposed into several subbands using the 2-dimensional wavelet decomposition (DWT2) bior3.7.
Figure 4.a. After level 1 decomposition
The 2-D wavelet transform uses a bior3.7 and its associated scaling function to decompose the original image into different subbands, namely the low-low (LL), low-high (LH), high-low (HL) and high-high (HH) subbands, which are also known as A,V,H,D respectively. Lo_D is the decomposition low-pass filter.
Figure 4.b. After level 2 decomposition
Figure 4.c. After level 3 decomposition
Figure 5: Decomposition using DWT2 Hi_D is the decomposition high-pass filter. Two-dimensional DWT leads to a decomposition of approximation coefficients at level j into four components of the approximation at level j+1, and the details in three
Figure 4.d. After level 4 decomposition
24
Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
25
could also approximate faces using only the most significant Eigenfaces. i) Algorithm for Finding Eigenfaces: 1. Obtain training images , … , it is very important that the images are centered. 2. Represent each image as a vector as discussed above. 3. Find the average face vector . 4. Subtract the mean face from each face vector to get a set of vectors . The purpose of subtracting the mean image from each image vector is to be left with only the distinguishing features from each face and “removing” in a way information that is common.
Figure 4.e. After level 5 decomposition IV FEATURE EXTRACTION In feature extraction phase of proposed MFNN face recognition, we represent the high dimensional data in a lower dimensional space. PCA[4] and LDA[3] are two feature extraction techniques used for feature extraction in appearance based approaches. In the proposed system we are using both feature extraction techniques in parallel to get the best feature space. The output of the PCA algorithm is called eigen faces. The output of LDA algorithm is called Fisher faces. PCA extracts features that represent the class. LDA extracts the features that are required to separate classes. Here in MFNN method both eigen faces and fisher faces are extracted to get the advantages of both PCA and LDA.
5. Find the Covariance matrix : , where 6. We now need to calculate the Eigenvectors , However note that is a of matrix and it would return Eigenvectors each dimensional. For an image this number being is HUGE. The computations required would easily make your system run out of memory. How do we get around this problem? consider the 7. Instead of the Matrix . Remember is a matrix matrix, thus is a matrix. If we find the Eigenvectors of this matrix, it would return Eigenvectors, each of Dimension , let’s call these Eigenvectors . Now from some properties of matrices, it follows . We have found out earlier. that: This implies that using we can calculate the M . Remember that largest Eigenvectors of as M is simply the number of training images. Eigenvectors of 8. Find the best by using the relation discussed above. That is:
Figure 5. Block diagram of proposed MFNN model C. PCA PCA encode the global features. Such features may or may not be intuitively understandable. When we find the principal components or the Eigenvectors of the image set, each Eigenvector has some contribution from each face used in the training set. So the Eigenvectors also have a face like appearance. These look ghost like and are ghost images or Eigenfaces. Every image in the training set can be represented as a weighted linear combination of these basis faces. The number of Eigenfaces that would be equal to the number of images in the training set. Let take this number to be . Some of these Eigenfaces are more important in encoding the variation in face images, thus we
. Also keep in mind that Eigenvectors, the selection 9. Select the best of these Eigenvectors is done heuristically. D. Fisher Faces Method In face recognition, each face is represented by a large number of pixel values. Linear discriminant analysis is primarily used here to reduce the number of features to a more manageable number before classification. Each of the new dimensions is a linear combination of pixel values, which form a template. The linear combinations obtained using Fisher's linear discriminant are called Fisher faces Linear
25
Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
26
Discriminant Analysis (LDA) finds an efficient way to represent the face vector space by exploiting the class information. It differentiates individual faces but recognizes faces of the same individual. LDA is often referred to as a Fisher's Linear Discriminant (FLD) [3]. The images in the training set are divided into the corresponding classes. LDA is an example of a class specific method, in the sense that it tries to “shape” the scatter in order to make it more reliable for classification. This method selects W in such a way that the ratio of the between class scatter and the within- class scatter is maximized. Let the between-class scatter matrix be defined as
class, and 5 training samples and 5 testing samples for each class. ii)Training Algorithm :Back propagation The first step is to initialize the weights to small random values. Then in each iteration of for loop results in a single presentation of each pattern in the training set, and is sometimes referred to as an epoch. Following are the main steps of the feed forward-back propagation algorithm: Initialize weights. 1. Present the pattern at the input layer. 2. Let the hidden units evaluate their output using the pattern. 3. Let the output units evaluate their output using the result in Step 2 from the hidden units. 4. Apply the target pattern to the output layer. 5. Calculate the δs on the output nodes. 6.Train each output node using gradient descent. 7. For each hidden node, calculate its δ, propagateIng layer by layer. 8. For each hidden node, use the δ found in Step 7 to train according to gradient descent.
And the within-class scatter matrix be defined as
Ni is the number of training samples in class Xi, c is the number of distinct classes, μi is the mean vector of samples belonging to class i and Xi represents the set of samples belonging to class i. E. Classification using Neural Networks Compared to the conventional classifiers, NN classifiers gives better results. Also due to simplicity, generality and good learning ability of the NN, these classifiers are found to be more efficient. In this work, Feed forward neural network with back propagation training algorithm with different training functions and Radial Basis Functions are used for better classification. i)Training
Algorithm: A simple back propagation outline
Steps 1-3 are collectively known as the forward pass since information is flowing forward through the network in the natural sense of the nodes’ input-output relation. Steps 4-8 are collectively known as the backward pass. Step 7 involves propagating the δ’s back from the output nodes to the hidden units – hence the name back propagation. iv)Training Parameters and Weight Initialization Next, we proceeded to determine the learning rate. We started with 0.0001, but results shows signs of undertraining. We continued with other values, each time increasing the learning with small steps.
We use back propagation algorithm to train the Multilayer perceptron neural network. Number of Neurons at the input layer is decided on the size of the features extracted from facespace. The proposed algorithm has been tested with different input sizes such as 30 X 30(900 nodes), 45 X 45 etc. Number of hidden layers increases complexity of the system, Three hidden layers are used. Initially 10 hidden neurons are used in each hidden layer. Finally the proposed algorithm works best with 30 in 1st hidden layer, 35 in 2nd and number of nodes in 3rd hidden layer is same as number of output classes. The number of neurons at the output layer depends on the total number of classes. The proposed algorithm is tested with 3 training samples and 7 testing samples for each class, 4 training samples and 6 testing samples for each
net.trainParam.lr=.001; net.trainParam.epochs=5000; net.trainParam.goal=1.0e-4;
It was observed that the MFNN trained faster and yet maintained its average recognition performance (95). The proposed method MFNN uses the least mean square method; therefore, hidden weights should be zero rather than random in the first place. A zero initialized hidden layer ensures smooth convergence in lesser steps without affecting generalization. Maximum output values are then matched according on their positions and thresholds. For
26
Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
27
recognition, the maximum output value of each test set is compared against the thresholds defined by the training set. If the MFNN is well trained and generalizes well, the program will return an accurate output like this.
is obtained because of the fact that the MFNN method discriminate the classes better and also describes the classes better than the existing ones. The performance improvement in MFNN is higher than all the other 4 algorithms. Above results are shown in the following figure 9.
r e c o g n it io n A c c u r a c y
100.00
Figure 6 A correct recognition by MFNN
Train 2 3 4 5 6 7
Tes t 8 7 6 5 4 3
71 73 77 78 89 92
85.00 80.00 75.00
2
PC ANN
L D A
LD ANN
MF NN
75 76 80 85 90 94
78 82 87 87 93 95
80 84 89 91 93 95
84 90 94 97 98 99
3
4
5
6
7
8
Number of Training Faces
The performances of the proposed system are measured by varying the number of faces of each subject in the training and test faces. Following table shows the performances of the proposed PCA-NN and LDA-NN methods based on the neural network classifiers as well as the performances of the conventional PCA and LDA based on the Euclidean Distance classifier. Along with the existing algorithms the table also shows the performance in percentage of the proposed method. PC A
90.00
70.00
IV EXPERIMENT RESULTS
IMAGES
95.00
PCA
PCA+NN
LDA
LDA+NN
2FNN
Figure 7. Comparison of FRS methods A. Comparison with previous FR methods The face images, which are used for training and testing the neural network represent persons of various ethnicities, age and gender. A total of 400 face images of 40 persons with different facial expressions are used from the ORL face database (AT&T Laboratories Cambridge, online resources) It is observed that using PCA with Euclidean distance as classifier classifies with 85% accuracy. LDA with the same classifier accuracy is improved to 89%. It is also observed that the conventional algorithms with neural classifiers show improvement on the recognition rates over the conventional LDA and PCA face recognition systems that use Euclidean Distance based classifier. Additionally, the recognition performance of LDA-NN[2] is higher than the PCA-NN[5] among the proposed systems. PCA using NN classified images 91% accurately, whereas LDA using NN classified images with an accuracy of 93%.
Table 1. Proposed system recognition comparison with existing systems The recognition performances increase due to the increase in face images in the training set. This is obvious, because more sample images can characterize the classes of the subjects better in the face space. The result clearly shows that the proposed recognition system MFNN, outperforms, the existing PCANN and LDA-NN, and also outperforms the conventional PCA and LDA based recognition systems. The MFNN shows the highest recognition performance, where this performance
Above all these existing methods the proposed MFNN face recognition achieved 95.5% accuracy. Following table shows the results.
27
Journal of Computing, Volume 2, Issue 7, July 2010, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG
Algorithm
28
Future Scope
Average Rate of Success Face Recognition
Further work can be expanded in many directions. The algorithm can be extended to include other recognition procedures, such as detecting emotion from faces from a group of faces. This work may be extended to design different NNs with dynamic scaling that detect different types of facial features, so that fusing their results may produce more accurate identifications and fewer misclassifications than the proposed MFNN.
PCA+E.D. 85% LDA+E.D. 89% PCA + NN 91% LDA+NN 93% MFNN 95.50% Table 2 Average rate of success in proposed and existing systems
V DISCUSSION Performance Across databases
REFERENCES
Proposed system is tested across various bench mark databases. We used three databases to test our proposed system, ORL database, Indian face database and AR face database. Test result of recognition is shown in the following table. Database
[1] C.C. Tsai, W.C. Cheng, J.S. Taur and C.W. Tao, “Face Detection Using Eigenface and Neural Network”, IEEE International Conference on 8-11, October 2006. [2] Hiroyuki Kobayashi and Qiangfu Zhao, “Face Detection with Clustering, LDA and NN”, IEEE International Conference on 1-8, July 2007. [3] Juwei Lu, Kostantinos N. Plataniotis, and Anastasios N. Venetsanopoulos, “Face Recognition Using LDABased Algorithms”, IEEE transactions on Neural Networks, Vol.14, No. 1, Jan 2003. [4] M. Turk and A. P. Pentland, “Eigenfaces for recognition,” J. Cognitive Neurosci., vol. 3, no. 1, pp. 71–86, 1991. [5] Mohamed Rizon, Muhammad Firdaus Hashim, Puteh Saad, Sazali Yaacob, “Face Recognition using Eigenfaces and Neural Networks”, American Journal of Applied Sciences 2 (6): 1872-1875, 2006 [6] Kresimir Delac , Mislav Grgic , Panos Liatsis, “Appearance-based Statistical Methods for Face Recognition”, 47th International Symposium ELMAR2005, 08-10 June 2005 [7] Fenghua Wang, Jiuqiang Han, “Robust multimodal biometric authentication integrating iris, face and palmprint”, ISSN 1392 – 124X INFORMATION TECHNOLOGY AND CONTROL, 2008 [8] Su Hongtao, David Dagan Feng, Zhao Rong-chun, “Face Recognition Using Multi-feature and Radial Basis Function Network”, Pan-Sydney Area Workshop on Visual Information Processing (VIP2002), 2002 [9] Namrata vaswani, member, ieee, and rama chellappa, fellow, ieee, “ principal components null space analysis for image and video classification“,IEEE transactions on image processing, vol. 15, no. 7, july 2006. [10] Lin Guo, De-Shuang Huang, “Human Face Recognition Based On Radial Basis Probabilistic Neural Network”, Institute of Intelligent Machines, Chinese Academy of Sciences, IEEE, 2008 [11] Wankou Yang, Hui Yan, Jianguo Wang, Jingyu Yang, “Face Recognition Using Complete Fuzzy LDA” IEEE transactions on Machine Intelligence 2008 [12] Jahan Zeb, Muhammad Younus Javed, and Usman Qayyum, “Low Resolution Single Neural Network Based Face Recognition”, proceedings of world academy of science, engineering and technology volume 22 july 2007. [13] Curtsey ORL, AR and Indian Face database
Number of images
Correct % of Avg. recogni Recogni-tion tion rate ORL 400 394 98.5 Indian 600 586 97.76 AR 800 760 95 Table 4 Comparison of recognition in three databases.
VI. CONCLUSION In conclusion, we have proposed and shown that the Face Recognition using MFNN approach outperforms exiting approaches. PCA extracts features that represent the class. LDA extracts the features that are required to separate classes. Here in MFNN method both eigen faces and fisher faces are extracted to get the advantages of both PCA and LDA. We fused the features extracted from PCA and LDA using wavefusion (wfusmat function) so that this method of approach given better results. The strength of the MFNN is in its extraction layer. It enables the network to learn complex patterns by extracting progressively more meaningful features from the input patterns of a face. The MFNN thus avoids being too restricted by mathematical metric in its classification process. This increases its ability to generalize.
28