Research Graphic

Concordia DEC Lab

about us . courses . students . research. publications . events . people . contact us

 

 

PalmPrints: A Novel Co-Evolutionary Algorithm

For Clustering Finger Images

Nawwaf Kharma, Ching Y. Suen, and Pei F. Guo 

 

1   Introduction

Biometric approaches to identity verification offer a mostly convenient and potentially effective means of personal identification. All such techniques, whether palm-based or not, rely on the individual's most-unique and stable, physical or behavioural characteristics.

The use of multiple sets of features requires feature selection as a prerequisite for the subsequent application of classification or clustering [5, 8]. In [5], a hybrid genetic algorithm (GA) for feature selection resulted in (a) better convergence properties; (b) significant improvement in terms of final performance; and (c) the acquisition of subset-size feature control. Again, in [8], a GA, in combination with a k-nearest neighbour classifier, was successfully employed in feature dimensionality reduction.

Clustering is the grouping of similar objects (e.g. hand images) together in one set. It is an important unsupervised classification technique. The simplest and most well known clustering algorithm is the k-means algorithm. However, this algorithm requires that the user specifies, before hand, the desired number of clusters. An evolutionary strategy implementing variable length clustering in the x-y plane was developed to address the problem of dynamic clustering [3]. Additionally, a genetic clustering algorithm was used to determine the best number of clusters, while simultaneously clustering objects [9].  

Genetic algorithms are randomized search and optimization techniques guided by the principles of evolution and natural genetics, and offering a large amount of implicit parallelism. GAs perform search in complex, large and multi-modal landscapes. They have been used to provide (near-)optimal solutions to many optimization problems [4].

Cooperative co-evolution refers to the simultaneous evolution of two or more species with coupled fitness. Such evolution allows the discovery of complex solutions wherever complex solutions are needed. The fitness of an individual depends on its ability to collaborate with individuals from other species. In this way, the evolutionary pressure stemming from the difficulty of the problem favours the development of cooperative individual strategies [7].

In this paper, we propose a cooperative co-evolutionary clustering algorithm, which integrates dynamic clustering, with (hand-based) feature selection. The co-evolutionary part is defined as the problem of partitioning a set of hand objects into a number of clusters without a priori knowledge of the feature space. The paper is organized as follows. In section 2, hand feature extraction is described. In section 3, cooperative co-evolutionary clustering and feature selection are presented, along with implementation results. Finally, the conclusions are presented in section 4.

2   Feature Extraction

Hand geometry refers to the geometric structure of the hand. Shape analysis requires the extraction of object features, often normalized, and invariant to various geometric transformations such as translation, rotation and (to a lesser degree) scaling. The features used may be divided into two sets: geometric features and statistical features.

2.1   Geometric Features

The geometrical features measured can be divided into six categories:

- Finger Width(s): the distance between the minima of the two phalanges at either side of a finger. The line connecting those two phalanges is termed the finger base-line.

- Finger Height(s): the length of the line starting at the fingertip and intersecting (at right angles) with the finger base-line.

- Finger Circumference(s): The length of the finger contour.

- Finger Angle(s): The two acute angles made between the finger base-line and the two lines connecting the phalange minima with the finger tip.

- Finger Base Length(s): The length of the finger base-lines.

- Palm Aspect Ratio: the ratio of the 'palm width' to the 'palm height'. Palm width is (double) the distance between the phalange joint of the middle finger, and the midpoint of the line connecting the outer points of the base lines of the thumb and pinkie (call it mp). Palm length is (double) the shortest distance between mp and the right edge of the palm image.

 

2.2   Statistical Features

Before any statistical features are measured, the fingers are re-oriented (see Fig. 1), such that they are standing upright by using the Rotation and Shifting of the Coordinate Systems. Then, each 2D finger contour is mapped onto a 1D contour (see Fig. 2), taking the finger midpoint centre as its reference point. The shape analysis for four fingers (excluding the thumb) is measured using: (1) Central moments; (2) Fourier descriptors; (3) Zernike moments.

             

Fig. 1. Hand Fingers (vertically re-oriented) using the Rotation and Shifting of the Coordinate Systems                    


Fig. 2. 1D Contour of a Finger. The y-axis represents the Euclidean distance between the contour point and the finger midpoint centre (called the reference point)

Central Moments. For a digital image, the pth order regular moment with respect to a one-dimensional function F[n] is defined as:

The normalized one-dimensional pth order central moments are defined as:

           

F[n]:  with nĪ[0,N]; the Euclidean distance between point n and the finger reference point.

N:      the total number of pixels.

Fourier Descriptors. We define a normalized cumulative function F* as an expanding Fourier series to obtain descriptive coefficients (Fourier Descriptors or FD's). Given a periodic 1D digital function F[n] in [0, N] points (periodic), the expanding Fourier series is:

                                

                      

The kth harmonic amplitudes of the Fourier Descriptors are:

 

                                           

Zernike Moments. For a digital image with a polar form function , the normalized (n+m)th order Zernike moments  is approximated by:

 

       

n: a positive integer.

m: a positive or negative integer subject to the constraints that  n-|m| is even, |l|≤ n.

: the length of vector between point j and the finger reference point.

3   Co-evolution in Dynamic Clustering and Feature Selection

Our clustering application involves the optimization of three quantities, which together form a complete solution, (1) the set of features (dimensions) used for clustering; (2) the actual cluster centres; and (3) the total number of clusters. Since this is the case, and since the relationship between the three quantities is complementary (as opposed to adversarial), it makes sense to use cooperative (as opposed to competitive) co-evolution as the model for the overall genetic optimization process. Indeed, it is our hypothesis that whenever a (complete) potential solution (i) is comprised of a number of complementary components; (ii) has a medium-high degree of dimensionality; and (iii) features a relatively low level of coupling between the various components; then attempting a cooperative co-evolutionary approach is justified.

In similarity-based clustering techniques, a number of cluster centres are proposed. An input pattern (point) is assigned to the cluster whose centre is closest to the point. After all the points are assigned to clusters, the cluster centres are re-computed. Then, the points are re-assigned to the (new) clusters based (again) on their distance from the new cluster centres. This process is iterative, and hence it continues until the locations of the cluster centres stabilize.

During co-evolutionary clustering, the above occurs, but in addition, less discriminatory features are eliminated, leaving a more efficient subset for use. As a result, the overall output of the genetic optimization process is a number of traditionally good (i.e. tight and well-separated) clusters, which also exist in the smallest possible feature space.

The co-evolutionary genetic algorithm used entails that we have two populations (one of cluster centres and another of dimension selections: more on this below), each going through a typical GA process. This process is iterative and follows these steps:

(a) fitness evaluation; (b) selection; (c) the application of crossover and mutation (to generate the next population); (d) convergence testing (to decide whether to exit or not);  (e) back to (a). 

This continues until the convergence test is satisfied and the process is stopped.  The GA process is applied to the first population and in parallel (but totally independently) to the second population. The only difference between a GA applied to one (evolving population) and a GA applied to two cooperatively co-evolving populations is that fitness evaluation of an individual in one population is done after that individual is joined to another individual in the other population. Hence, the fitness of individuals in one population is actually coupled with (and is evaluated with the help of) individuals in the other population.

Below, is a description of the most important aspects of the genetic algorithm applied to the co-evolving populations that make-up PalmPrints. First, the way individuals are represented (as chromosomes) is described. This is followed by an explanation of step (a) to step (e), listed above. Finally, a discussion of the results is presented.

3.1       Chromosomal Representation

In any co-evolutionary genetic algorithm, two (or more) populations co-evolve. In our case, there are only two populations, (a) a population of cluster centres (Cpop), each represented by a variable-length vector of real numbers; and (b) a population of 'dimension-selections', or simply dimensions (Dpop), each represented by a vector of bits. Each individual in Cpop represents a (whole) number of cluster centre coordinates. The total number of coordinates equals the number of clusters. On the other hand, each individual ('dimension-selection') in Dpop indicates, via its '1' bits, which dimensions will be used and which, via its '0' bits, will not be used. Splicing an individual (or chromosome) from Cpop with an individual (or chromosome) from Dpop will give us an overall chromosome that has the following form:

 

{(A1, B1, . , Z1), (A2, B2, ... , Z2), ... (An, Bn, ... ,  Zn), 10110.0 }

 

Taken as a single representational unit, this chromosome determines:

(1)     The number of clusters, via the number of cluster centres in the left-hand side of the chromosome;

(2)      The actual cluster centres, via the coordinates of cluster centres, also presented in the left-hand side of the chromosome; and

(3)      The number of dimensions (or features) used to represent the cluster centres, via the bit vector on the right-hand side of the chromosome.

As an example, the chromosome presented above has n clusters in three dimensions: the first, third and fourth dimensions. (This is so because the bit vector has 1 in its first bit location, 1 in its third bit location and 1 in its fourth bit location.) The maximum number of feature dimensions (allowed in this example) is equal to the number of letters in the English alphabet: 26, while the minimum is 1. And, the maximum number of clusters (which is not shown) is m>n.

3.2       Crossover and Mutation, Generally

In our approach, the crossover operators need to (a) deal with varying-length chromosomes; (b) allow for a varying number of feature dimensions;  (c) allow for a varying number of clusters; and (d) to be able to adjust the values of the coordinates of the various cluster centres. This is not a trivial task, and is achieved via a host of crossover operators, each tuned for its own task. This is explained below.

Crossover and Mutation for Cpop. Cpop needs crossover and mutation operators suited for variable-length clusters as well as real-valued parameters. When crossing over two parent chromosomes to produce two new child chromosomes, the algorithm follows a three-step procedure:

(a)      The length of a child chromosome is randomly selected from the range: [2, MaxLength], where MaxLength is equal to the total number of clusters in both parent chromosomes; 

(b)      Each child chromosome picks up copies of cluster centre coordinates, from each of the two parents, in proportion to the relative fitness of the parents (to each other); and finally, 

(c)      The actual values of the cluster coordinates are modified using the following (mutation) formula for ith feature with α randomly selected from the range [0,1]:

Fi: the ith feature dimension, i= 0,1,2..

α: a random value ranged [0,1].

min(f i) / max(f i ):   minimum  / maximum value that feature i can take.

               

                With α changed within [0,1], the function of equation (1) varies the ith feature dimension in its own feature distinguished range [min(Fi), max(Fi)] as for the variation of actual values of the cluster coordinates (see Fig. 3).  

 

 

 

 

 

 

Fig. 3. Variation of the ith feature dimension within [min(Fi), max(Fi)] with a random value α ranged [0,1]

In addition to crossover, mutation is applied, with a probability μc to one set of cluster centre coordinates. The value of μc used is 0.2 (or 20%).

Crossover and Mutation for Dpop. Dpop needs one crossover operator suited for fixed length binary-valued parameters. For a binary representation of Dpop chromosomes, single-point crossover is applied. Following that, mutation is applied with a mutation rate of μd. The value of μd used is 0.02. 

3.2        Selection and Generation of Future Generations

For both populations, elitism is applied first, and causes copies of the fittest chromosomes to be carried over (without change) from the current generation to the next generation. Elitism is set at 12% of Cpop and 10% of Dpop. Another 12% of Cpop and 10% of Dpop are generated via the crossing over of pairs of elite individuals, to generate an equal number of children. The rest (76% of Cpop and 80% of Dpop ) of the next generation is generated through the application of crossover and mutation (in that order) to randomly selected individuals from the non-elite part of the current generation. Crossover is applied with a probability of 1 (i.e. all selected individuals are crossed over), while mutation is applied with a probability of 20% for Cpop and 2% for Dpop.

3.3        Fitness Function

Since the Mean Square Error (MSE) can always be decreased by adding a data point as a cluster centre, fitness was a monotonically decreasing function of cluster numbers. The fitness function (MSE) was poorly suited for comparing clustering situations that had a different numbers of clusters. A heuristic MSE was chosen with dynamic cluster n, based on the one given by [3].

In our own approach of dynamic clustering with feature selection in a co-evolutionary GA, there are two dynamic variables interchanged with the two populations: dynamic clustering and dynamic feature dimensions. Hence, a new extended MSE fitness is proposed for our model, which measures quantities of both object tightness (fT ) and cluster separation (fS ):


 

n:     dynamic no. of clusters                                  

k:     dynamic no. of features

ci:    the ith cluster centre                                                  

Ave(A):  the average value of A

mi:   the number of data points belonging to the ith cluster

xi:  the jth data point belonging to the ith cluster

d(a,b):    the Euclidean distance between points a and b

 

The square root of the number of clusters and the square root of the number of dimension in MSE extended fitness are chosen to be unbiased in the dynamic co-evolutionary environment. The point of the MSE extended fitness is to optimize of the distance criterion by minimizing the within-cluster spread and maximizing the inter-cluster separation.

3.4        Convergence Testing

The number of generations prior to termination depends on whether an acceptable solution is reached or a set number of iterations are exceeded. Most genetic algorithms keep track of the population statistics in the form of population maximum and mean fitness, standard deviation of (maximum or mean) fitness, and minimum cost. Any of these or any combination of these can serve as a convergence test. In PalmPrints, we stop the GA when the maximum fitness does not change by more than .001 for 10 consecutive generations.

3.5        Implementation Results

The Dpop population is initialized with 500 members, from which 50 parents were paired from top to bottom. The remaining 400 offspring are produced randomly using single-point crossover and a mutation rate (μd) of 0.02. Cpop is initialized at 88 individuals, from which 10 members are selected to produce 10 direct new copies in the next generation. The remaining 68 are generated randomly, using the dimension fine-tuning crossover strategy and a mutation rate (μc) of 0.2.

The experiment presented here uses 100 hand images and 84 normalized features. Termination occurred at a maximum of 250 generations, since it is discovered that fitness converged to less than 0.0001 variance prior. The results are promising; the average co-evolutionary clustering fitness is 0.9912 with a significantly low standard deviation of 0.1108. The average number of clusters is 4, with a very low standard deviation of 0.4714. Average hand image misplacement rate is 0.0580, with a low standard deviation of 2.044. Following convergence, the dimension of the feature space is 41, with zero standard deviation. Hence, half of the original 84 features are eliminated. Convergence results are shown in Fig. 4.

 

 

Fig. 4. Convergence results

4   Conclusions

This study is the first to use a genetic algorithm to simultaneously achieve dimensionality reduction and object (hand image) clustering. In order to do this, a cooperative co-evolutionary GA is crafted, one that uses two populations of part-solutions in order to evolve complete highly fit solutions for the whole problem. It does succeed in both its objectives. The results show that the dimensionality of the clustering space is cut in half. The number (4) and quality (0.058) of clusters produced are also very good. These results open the way towards other cooperative co-evolutionary applications, in which 3 or more populations are used to co-evolve solutions and designs consisting of 3 or more loosely-coupled sub-solutions or modules.

In addition to the main contribution of this study, the authors introduce a number of new or modified structural (e.g. palm aspect ratio) and statistical features (e.g. finger 1D contour transformation) that may prove equally useful to others working on the development of biometric-based technologies.

References

1. Fogel, D.B.: Evolutionary Computation: Toward A New Philosophy Of Machine Intelligence. IEEE Press, New York, (1995)

2. Haupt, R.L. and Haupt, S.E.: Practical Genetic Algorithms. Wiley Interscience, New York (1998)

3. Lee, C.-Y.: Efficient Automatic Engineering Design Synthesis Via Evolutionary Exploration.  PhD thesis (2002), California Institute of Technology, Pasadena, California   

4. Maulik, U., Bandyopadhyay S.: Genetic Algorithm-based Clustering Technique. Pattern Recognition 33 (2000) 1455-1465 

5. Oh, I.-S., Lee, J.-S. and Moon, B.-R.: Local Search-embedded Genetic Algorithms For Feature Selection. Proc. of International Conf. on Pattern Recognition  (2002) 148-151  

6.  Paredis, J.: Coevolutionary Computation.  Artificial Life 2 (1995) 355-375    

7.  Pena-Reyes, C.A., Sipper M.: Fuzzy CoCo: A Cooperative-Coevolutionary Approach To Fuzzy Modeling. IEEE Transaction on Fuzzy Systems Vol. 9, No.5 (October 2001) 727-737   

8. Raymer, M.L., Punch, W.F., Goodman, E.D., Kuhn, L.A. and Jain, A.K.: Dimensionality Reduction Using Genetic Algorithms. IEEE Transaction on Evolutionary Computation, Vol. 4, No.2 (July 2000) 164 -171

9. Tseng, L.Y., Yang, S.B.: A Genetic Approach To The Automatic Clustering Problem. Pattern Recognition 34 (2001) 415-424

 

DEC Lab Home

Last Updated April 6, 2004