2DPCA fractal features and genetic algorithm for efficient face representation and recognition
© Ben Jemaa et al; licensee Springer. 2011
Received: 15 November 2010
Accepted: 23 August 2011
Published: 23 August 2011
In this article, we present an automatic face recognition system. We show that fractal features obtained from Iterated Function System allow a successful face recognition and outperform the classical approaches. We propose a new fractal feature extraction algorithm based on genetic algorithms to speed up the feature extraction step. In order to capture the more important information that is contained in a face with a few fractal features, we use a bi-dimensional principal component analysis. We have shown with experimental results using two databases as to how the optimal recognition ratio and the recognition time make our system an effective tool for automatic face recognition.
Keywordsface recognition fractal coding 2DPCA IFS genetic algorithms
The human face is a very rich source of information that can be used to identify persons. This ability of recognition allows us to distinguish persons despite the facial resemblance between them. Nowadays, many researchers try to benefit from computer applications, which become widely used in face automatic recognition.
After more than 30 years of research, we can classify the different existing face recognition systems into three main approaches.
Representative works include hidden Markov model ,
elastic bunch graph matching algorithm ...
There are global approaches which treat the face as a whole object and use all the information included in it. Many methods have been proposed that include the use of Eigenfaces , discrete cosine transform, and Gabor Wavelets ... These methods suffer from the size of the feature vector provided to the classifier. For this reason, many linear and nonlinear methods for vector size reduction are applied (PCA, LDA, ICA, ...).
Hybrid approaches: The principle of these approaches is to imitate the human visual system, which uses both local and global features to recognize persons. The combination of these two methods has only one interest: to take advantage of the combined benefits of both approaches [7, 8].
Despite the number of researchers and the proposed methods, several factors can significantly affect face recognition performances, such as the pose, the presence/absence of structural components, facial expressions, occlusion, and illumination variations.
In order to encounter these factors and ensure a high recognition rate and a fast recognition time, we have used, in this article, the fractal representation which exploits the inter-image resemblance . There are few articles that are related to this topic [face recognition using Iterated Function System (IFS) theory] [10–14]. A description of some of these studies and their differences from the proposed method can be found in Section 6.
The proposed system contains the following steps:
Normalization of the original image.
Feature extraction using fractal encoding of the normalized image and genetic algorithm.
Application of the bi-dimensional principal component analysis (2DPCA) technique on the fractal code to reduce the feature vector dimension.
Classification using Multi layer perceptron.
The idea proposed in this article has two major advantages compared with the other approaches:
Reduced size of the fractal code represents the feature vector. Since it has a reduced dimension, the recognition can be ensured with satisfactory time. We have proposed a new fractal algorithm based on genetic algorithm to ensure a low time for feature extraction step.
High fidelity compared with the original image. The fractal code represents discriminant features of the original image. These features are invariant overlooked lighting, rotation, and translation of the face and scaling, because the IFS theory takes into account these variations.
We proposed to apply a 2DPCA to represent face by a few fractal features having a high discriminatory power.
This article is organized as follows: Basic notions concerning IFS, fractal coding theory and the new fractal algorithm based on genetic algorithm are provided in Section 2. Fractal features are presented in section 3. The most discriminating fractal parameters extracted using 2DPCA are described in Section 4. Section 5 provides face recognition system based on neural networks, the experimental results and Comparison between the two types of features obtained using IFS and PCA-IFS, respectively. A comparison with other approaches is also done in section 6. Conclusion and future works are presented in Section 7.
II. Genetic algorithm for fractal coding
A. IFS theory
The IFS theory is proposed by Barnsley, who suggested that, instead of storing all the pixels of the still image, we can keep only a collection of global contracting transformations such as rotation and contrast scaling .
Therefore, to code an image, we need to determine a set of R i , D i , and W i . To achieve an excellent coding phase, we should make a good choice of transformation W i between both R i and D i . Then, we have to find the perfect adjustment of the contrast S i and the lighting O i for each W i using the method of least square .
B. The proposed algorithm
The major problem of standard fractal coding is time consumption compared with other methods of image coding. The time is essentially spent on the search of the similar domain block. We present in this article, a new genetic algorithm for image coding, that speeds up this method. In the next, we have detailed our algorithm: the representation of the fitness function, the Genetic operators and some other improvements to the simple genetic algorithms.
There are many algorithms of optimization used for different domains. We have chosen genetic algorithm [17–19] to accelerate our fractal image coding algorithm. We have given details of genetic characteristics in the following section.
1) Chromosome attributes
According to the regions parameter coding, a chromosome is constituted by N genes, where N is the number of regions not yet coded.
The gene is composed of three parameters (XDom, YDom), that represent the domain block coordinates and the rotation W i . These three parameters are integers.
XDom ∈ [0, L], L is the image length.
YDom ∈ [0, W ], W is the image width.
W i ∈ [0, 7], eight possible rotations.
2) Genetic operators
The crossover and mutation operators ensure the production of offspring. These genetic operators must be defined according to the chromosome specification. With these basic components, a genetic algorithm works as follows: The first procedure is to generate the first population represented with string codification (chromosome) that represents possible solution to the problem. Each individual is evaluated, and according to its fitness, an associated probability to be selected for reproduction is assigned.
The crossover operator combines two individuals (the parents) of the current generation whose chromosomes have not given selected solution to produce two offspring individuals. According to our chromosome specification, a new scheme of the crossover operator is proposed. The offspring coordinates and the isometric flip are selected randomly from the parents as presented in Figure 4.
Mutation operator modifies the chromosome genes randomly according to the mutation probability. Genes (XDom , XDom, W i ) are changed with random generated values, respectively, in [0, L], [0, W], and [0, 7] intervals (see Figure 5).
3) Fitness measure
The fitness function assigns to each individual in the population a numeric value, that determines its quality as a potential solution. The fitness denotes the individual's ability to survive and to produce offspring.
In our case, the fitness is the number of regions that can be coded with root mean square error (RMSE)less than a fixed value. The RMSE is the distance between the region and the domain block is determined by its coordinates (XDom , XDom) and transformed with corresponding contrast S and the lighting O.
where || . || is the two norm function, D i is domain elements, R j denotes the range elements, and values of contrast S and lighting O are obtained when minimizing the RMSE criterion (they are the two arguments that minimize the RMSE).
4) Genetic coding algorithm
Genetic algorithms have been used previously to find solutions to the minimization problems related to the fractal inverse problem . Here, we describe the Genetic Algorithm that we have used to speed up the coding algorithm. This algorithm is used for all decomposition schemes. In spite of the range block size and position, the domain block is always double the size of the range one. The Algorithm
(Input I: NxN gray scale image [Image would be square] Output W: Coded IFS);
(Region Size) = 16; (Fixed Error) = X;
Decompose the input image into (Region Size) blocks;
While Exist (Regions not coded)
Scale the Domain Blocks;
Generate a random population of chromosomes;
While Exist (Regions not coded) and (Last generation not reached)
Compute fitness for all regions;
When optimal domain block found write obtained transformation parameters to the output W;
Generate new population Apply Crossover and Mutation operators;
(RegionSize) = (RegionSize)/2;
If Regions size > 4
Decompose the rest region not coded into (Range Size) blocks;
(FixedError) = (FixedError) + X;
Code all remaining Regions;
III. Fractal features extraction
After fractal coding, where each domain is compared with all regions of the image, we obtain a set of transformations which can approximate the face image. Each transformation is represented by parameters of contrast S i , brightness O i , spatial coordinates of Range/Domain, and rotation W i (seven parameters). The size of the obtained feature matrix is equal to 7× the number of transformations necessary to code all regions. So reducing the size of the information is necessary for minimizing the recognition time. An immediate reduction of the feature vector consists of replacing the coordinates of the regions and domains by two normalized distances:
x: the distance between the Domain D i and the region R i according to the abscissas,
y: the distance between the Domain D i and the region R i as the ordinates.
The size of the new matrix is then equal to 5× the number of transformations.
Despite all the reductions of the fractal vector, it remains quite large. Thus, we proposed to use a two-dimensional PCA to extract the most discriminating features.
IV. The discriminating parameters of fractal features
The 2DPCA is a method of data analysis, based on finding a new reference on which we represent the information while keeping only discriminating data . As opposed to conventional PCA, 2DPCA is based on matrices rather than vectors. Consequently, the covariance matrix can be constructed directly using original matrix of features. So, when using 2DPCA, it is easier to evaluate the covariance matrix, and less time is required to determine the corresponding eigenvectors.
The idea consists of projecting each feature matrix X (n × m) through a linear transformation.
where M is the number of images in the database, X j represents the fractal matrix obtained from the image number j of the training database, and is the average of all fractal matrices associated to the images from the training database.
where R = [R1R2 ... R d ] is the projection matrix and Y = [Y1Y2 ... Y d ] is the fractal feature matrix produced after applying 2DPCA.
To project the matrix in the new base, we have selected the eigenvectors associated with the largest eigenvalues. The biggest shortcoming of 2DPCA is the choice of the number of retained eigenvalues. To solve this problem, researchers have adopted different solutions, either heuristically  or graphically according to the shape of eigenvalues . In this article, we used a graphically method to select the most important eigenvectors.
V. Experimental results
A. Overview of the used face databases
To highlight the performances of the proposed system, we have carried out the first experiment on the Yale database , with the aim of pinpointing the behavior of our approach under changing face expressions and poses. This base contains 165 images of 15 individuals. In this experiment, 30% of all image samples per class are chosen randomly and are used for training, and the remaining images for test. The proposed approach has also been applied on the ORL database , which contains 10 different images of each of the 40 distinct individuals. For this database also, 30% image samples per class are chosen randomly, and are used for training and the remaining images for test. In the ORL database, images are taken at different lighting conditions, facial expressions, and orientations which allows testing the behavior of our approach under these changes.
B. The classification system
The face recognition was ensured by a multilayer perceptron architecture. The training of weights is assured by the algorithm of retro-propagation. This architecture is the most used one because it can reduce miss-classification among the neighborhood classes.
C. Face recognition using fractal features
In order to have fractal feature vectors with the same length, the size of the face must be normalized (32 × 32). The normalized image is coded by 64 transformations using fractal code. Consequently, we obtained 320 fractal features as each transformation is coded on 5 parameters, as already explained in Section 3.
Recognition rate using fractal features
D. Face recognition using 2DPCA-IFS features
Recognition rate versus the number of transformations
Number of transformations
From the previous analysis, we can notice that the best choice to keep is five transformations where each one is coded by five parameters to ensure a good recognition phase.
E. Comparison between IFS and 2DPCA-IFS features
Recognition rate for the two approaches and the two databases
IFS and GA
2DPCA-IFS and GA
The major advantage of 2DPCA-IFS method is that the number of parameters decreases from 320 parameters with IFS to only 25 parameters with 2DPCA-IFS, which can reduce the recognition time while keeping a very satisfactory recognition rate.
VI. Comparison with other approaches
A standard fractal coding giving a code for each image in the database.
Each image I is decoded with each code in the database to generate the output image called the attractor.
A classification step for each test image I using the minimization of FND distance dFN (fractal neighbor distance) defined as the distance between the test image and the attractor image:(5)
where f j is the j th fractal code in the database, f j (I ) is the decoded image using the code f j .
The LR-SNN-T method  is based on an equalization of the original image and a normalization of its dimension using a bicubic interpolation. The feature vector is represented by the whole image after processing. The classification is achieved by a multilayer perceptron.
Finally, the X method  consists on extracting parts of face, containing the most discriminating information like eyes, nose... Then applying a standard fractal coding on each detected part, the classification is also ensured by a multilayer perceptron.
Differences between our approach and other approaches
Technique used for feature extraction
Standard fractal decoding
Standard fractal coding applied in facial regions
Genetic algorithm for fractal coding
Databases used for evaluation
ORL--In room database
Recognition rates/times for different methods
IFS and GA
2DPCA-IFS and GA
Recognition time (S)
We conclude that
Fractal features are much more powerful than others and are good means to characterize faces.
Five eigenvalues are sufficient to code faces. A little improvement is observed when more than five eigenvalues are used.
The robustness of our 2DPCA-IFS approach is that it gives the best time recognition, and thanks to the use of genetic algorithm and 2DPCA technique, which keeps a high recognition rate proving its applicability for real time system.
A hybrid approach is introduced in which, through the 2DPCA, the most discriminating genetic fractal features are extracted and used as the input of a neural network.
The performance of our method is both due to the fidelity of fractal coding for representing images, the genetic algorithm to speed up the features extraction step, and the 2DPCA which highlights all discriminating features.
Compared with other approaches, the proposed recognition method has achieved high recognition rate and low recognition time for the two databases.
bi-dimensional principal component analysis
iterated function system.
- Ben Jemaa Y, Khanfir S: Automatic local Gabor features extraction for face recognition. Int J Comput Sci Inf Secur 2009, 3(1):116-122.
- Cox IJ, Ghosn J, Yianilos PN: Feature-based recognition using mixture-distance. IEEE Conference on Computer Vision and pattern Recognition 1996, 209-216.
- Nefian AV, Hayes MH: An embedded HMM based approach for face detection and recognition. IEEE International Conference on Acoustics, Speech and Signal Processing 1999, 6: 3553-3556.
- Wiskott L, Fellous JM, Kruger N: CVD Malsburg, Face recognition by elastic bunch graph matching. Intelligent Biometric Techniques in Fingerprint and Face Recognition 1999, Chapter 11: 355-396.
- Moon H, Philips PJ: Computational and performance aspects of PCA based face recognition algorithms. Perception 2001, 30: 303-321.View Article
- Hang HZ, Zhang B, Huang W, Tian Q: Gabor wavelet associative memory for face recognition. IEEE Trans Neural Netw 2005, 16(1):275-278. 10.1109/TNN.2004.841811View Article
- Zhao W, chellappa R, Phillips PJ, Rosenfeld A: Face recongnition: a literature survey. ACM Comput Surv 2003, 35(4):399-458. 10.1145/954339.954342View Article
- Chen CJ: Integration of local and global features for face recognition. International Conference on Neural Networks and Signal Processing 2008, 193-198.
- Wohlberg BE, De Jager G: A review of the fractal image coding literature. IEEE Trans Image Process 1999, 8(12):1716-1729. 10.1109/83.806618MathSciNetView Article
- Tan T, Yan H: Object recognition based on fractal neighbor distance. Signal Process 2001, 81: 2105-2129. 10.1016/S0165-1684(01)00107-4View Article
- Zeb J, Javed MY, Qayyum U: Low resolution single neural network based face recognition, in Proceedings of World Academy of Science. Engineering and Technology 2007., 22:
- Temdee P, Khawparisuth D, Chamnongthai K: Face recognition by using fractal encoding and backpropagation neural network. International Symposium on Signal Processing and its Applications, Brisbane, Australia 1999.
- Abate AF, Nappi M, Riccio D, Tucci M: Occluded face recognition by means of the IFS. Lecture Notes in Computer Science 2005., 3656:
- AF, Nappi M, Riccio D, Tortora G: An IFS based approach for face recognition. IEEE ICIP 2005., 2:
- Barnsley B, Hurt L: Fractal Image Compression. Peters, Wellesley; 1993.
- Fisher Y: Fractal Image Compression with Quadtrees. book Springer-Verlag London, UK; 1995.View Article
- Goldberg DE: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley Publishing Company; 1989.
- Shonkwill R, Mendivil F, Deliu A: Genetic algorithms for the 1-D fractal inverse problem. Proceedings of the Fourth International Conference on Genetic Algorithms, San Diego 1991.
- Wu M-S, Teng W-C, Jeng J-H, Hsieh J-G: Spatial correlation genetic algorithm for fractal image compression. Fractals 2006, 28(N 2):497-510.View Article
- Yang J, Zhang D, Frangi AF, YuYang J: Two-dimentional PCA: a new approach to appearence-based face representation and recognition. IEEE Trans Pattern Anal Mach Intell 2004, 26: 131-137. 10.1109/TPAMI.2004.1261097View Article
- Turk MA, Pentland A: Face recognition using eigenfaces. IEEE conference on Computer Vision and Pattern Recognition 1991, 586-590.
- Turk MA, Pentland AP: Eigenfaces for recognition. J Cogn Neurosci 1991, 3(1):71-86. 10.1162/jocn.19126.96.36.199View Article
- Georghiades A, Kriegman D, Belhumeur P: From few to many: generative models for recognition under variable pose and illumination. IEEE Trans Pattern Anal Mach Intell 2001, 40: 643-660.View Article
- ORL Face Database[http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html]
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.