 Research
 Open Access
 Published:
2DPCA fractal features and genetic algorithm for efficient face representation and recognition
EURASIP Journal on Information Securityvolume 2011, Article number: 1 (2011)
Abstract
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 bidimensional 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.
I. Introduction
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.

Local approaches which are based on the fact that the face contains parts that have a high discriminating power such as eyes, nose, mouth... To recognize a person, we use either the blocks containing these regions or the geometric relationships between them [1, 2].
Representative works include hidden Markov model [3],
elastic bunch graph matching algorithm [4]...

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 [5], discrete cosine transform, and Gabor Wavelets [6]... 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 interimage resemblance [9]. 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 bidimensional 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 PCAIFS, 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 [15].
Image fractal encoding is well known in the literature. It has been widely used for image compression [9, 16]. In this article, we have used it for classification purpose.
Firstly, the coding involves the partitioning of the image into ranges R_{ i } , which do not intersect and can have fixed size or not (quadtree partitioning), and domain D_{ i } which can intersect. Secondly, we have searched the best range/domain matching by applying a transformation W_{ i } to each domain D_{ i } (see Figure 1).
This is possible because fractal coding is based on the selfsimilarity of the face, which means that regions can be the transformed versions of some others like shown in Figure 2.
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 [9].
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 (X_{Dom}, Y_{Dom}), that represent the domain block coordinates and the rotation W_{ i } . These three parameters are integers.

X_{Dom} ∈ [0, L], L is the image length.

Y_{Dom} ∈ [0, W ], W is the image width.

W_{ i }∈ [0, 7], eight possible rotations.
Figure 3 illustrates a chromosome representation.
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 (X_{Dom} , X_{Dom}, 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 (X_{Dom} , X_{Dom}) and transformed with corresponding contrast S and the lighting O.
The RMSE parameter is given in the following:
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 [18]. 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;
Wend
(RegionSize) = (RegionSize)/2;
If Regions size > 4

Decompose the rest region not coded into (Range Size) blocks;
Else

(FixedError) = (FixedError) + X;

Code all remaining Regions;
IEnd
Wend
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 twodimensional 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 [20]. 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.
The first step is to calculate the covariance matrix G_{ t } of fractal features which is obtained from the images of the training database as follows:
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 $\widehat{X}$ is the average of all fractal matrices associated to the images from the training database.
The next step is to choose d eigenvalues associated with eigenvectors obtained from the previously calculated covariance matrix. These eigenvalues determine the new reference that minimizes the criterion J (R) defined by:
The third step is to extract the main features of X as follows:
where R = [R_{1}R_{2} ... R_{ d } ] is the projection matrix and Y = [Y_{1}Y_{2} ... 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 [21] or graphically according to the shape of eigenvalues [22]. 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 [23], 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 [24], 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 retropropagation. This architecture is the most used one because it can reduce missclassification 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.
Table 1 shows the performance of our system using fractal features for the two databases. Each of the recognition rate has been tested on five random combination of the face samples. According to these observations, fractal features gave very good results.
D. Face recognition using 2DPCAIFS features
Given the large number of the used parameters (320 parameters), our idea was to apply a bidimensional PCA on the fractal features for the two alreadymentioned databases. After a 2DPCA was applied on all features matrices, we were able to achieve the following results found in Table 2.
We study here the relation between the number of transformation used as features and the recognition rate. We have found that recognition rate grows until transformation number reaches a value about 5, and then it remains almost constant as transformation number continues to grow. Consequently, the compromise recognition rate/transformation (the optimal situation is given with the minimum number of transformation and a satisfactory recognition rate) number is solved for five eigenvectors for the two databases. This can be explained according to the variation of the eigenvalues. We can keep until the fifth eigenvalue and the remaining eigenvalues can be neglected as shown in Figure 6. Here, we preserve all the five parameters for each transformation, for the two databases.
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 2DPCAIFS features
In Table 3, we present the recognition rate obtained, when using all fractal features, and those reduced by the 2DPCA with the optimal configuration (five transformations where each one is coded by five parameters). While comparing the two methods, we can deduce those recognition rates that were found using the two databases which did not decrease significantly.
The major advantage of 2DPCAIFS method is that the number of parameters decreases from 320 parameters with IFS to only 25 parameters with 2DPCAIFS, which can reduce the recognition time while keeping a very satisfactory recognition rate.
VI. Comparison with other approaches
Here we compare our results with earlier results published in [10–12]. ORL database is used for comparison. The FND method [10] consists of three steps:

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 d_{FN} (fractal neighbor distance) defined as the distance between the test image and the attractor image:
$${d}_{\mathsf{\text{FN}}}=d\left({f}_{j}\left(I\right),I\right),$$(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 LRSNNT method [11] 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 [12] 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.
Although both approaches, the FND and X, use the IFS coding, they are completely different from our approach. This difference is summarized in Table 4.
The performance comparison between all approaches is shown in Table 5 and Figure 7.
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 2DPCAIFS 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.
VII. Conclusion
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.
Abbreviations
 2DPCA:

bidimensional principal component analysis
 IFS:

iterated function system.
References
 1.
Ben Jemaa Y, Khanfir S: Automatic local Gabor features extraction for face recognition. Int J Comput Sci Inf Secur 2009, 3(1):116122.
 2.
Cox IJ, Ghosn J, Yianilos PN: Featurebased recognition using mixturedistance. IEEE Conference on Computer Vision and pattern Recognition 1996, 209216.
 3.
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: 35533556.
 4.
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: 355396.
 5.
Moon H, Philips PJ: Computational and performance aspects of PCA based face recognition algorithms. Perception 2001, 30: 303321.
 6.
Hang HZ, Zhang B, Huang W, Tian Q: Gabor wavelet associative memory for face recognition. IEEE Trans Neural Netw 2005, 16(1):275278. 10.1109/TNN.2004.841811
 7.
Zhao W, chellappa R, Phillips PJ, Rosenfeld A: Face recongnition: a literature survey. ACM Comput Surv 2003, 35(4):399458. 10.1145/954339.954342
 8.
Chen CJ: Integration of local and global features for face recognition. International Conference on Neural Networks and Signal Processing 2008, 193198.
 9.
Wohlberg BE, De Jager G: A review of the fractal image coding literature. IEEE Trans Image Process 1999, 8(12):17161729. 10.1109/83.806618
 10.
Tan T, Yan H: Object recognition based on fractal neighbor distance. Signal Process 2001, 81: 21052129. 10.1016/S01651684(01)001074
 11.
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:
 12.
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.
 13.
Abate AF, Nappi M, Riccio D, Tucci M: Occluded face recognition by means of the IFS. Lecture Notes in Computer Science 2005., 3656:
 14.
AF, Nappi M, Riccio D, Tortora G: An IFS based approach for face recognition. IEEE ICIP 2005., 2:
 15.
Barnsley B, Hurt L: Fractal Image Compression. Peters, Wellesley; 1993.
 16.
Fisher Y: Fractal Image Compression with Quadtrees. book SpringerVerlag London, UK; 1995.
 17.
Goldberg DE: Genetic Algorithms in Search, Optimization, and Machine Learning. Addison Wesley Publishing Company; 1989.
 18.
Shonkwill R, Mendivil F, Deliu A: Genetic algorithms for the 1D fractal inverse problem. Proceedings of the Fourth International Conference on Genetic Algorithms, San Diego 1991.
 19.
Wu MS, Teng WC, Jeng JH, Hsieh JG: Spatial correlation genetic algorithm for fractal image compression. Fractals 2006, 28(N 2):497510.
 20.
Yang J, Zhang D, Frangi AF, YuYang J: Twodimentional PCA: a new approach to appearencebased face representation and recognition. IEEE Trans Pattern Anal Mach Intell 2004, 26: 131137. 10.1109/TPAMI.2004.1261097
 21.
Turk MA, Pentland A: Face recognition using eigenfaces. IEEE conference on Computer Vision and Pattern Recognition 1991, 586590.
 22.
Turk MA, Pentland AP: Eigenfaces for recognition. J Cogn Neurosci 1991, 3(1):7186. 10.1162/jocn.1991.3.1.71
 23.
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: 643660.
 24.
ORL Face Database[http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html]
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Received
Accepted
Published
DOI
Keywords
 face recognition
 fractal coding
 2DPCA
 IFS
 genetic algorithms