Embedded Face Recognition based on Fast Genetic ... - IEEE Xplore

0 downloads 0 Views 2MB Size Report
Jul 14, 2006 - increasing amount of storage in digital photography systems, ... Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography.
726

IEEE Transactions on Consumer Electronics, Vol. 52, No. 3, AUGUST 2006

Embedded Face Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography Dong-Sun Kim, Member, IEEE, In-Ja Jeon, Seung-Yerl Lee, Phill-Kyu Rhee, and Duck-Jin Chung, Member, IEEE Abstract — In this paper, we propose embedded face recognition (FR) to use in intelligent image system. For efficient FR VLSI design, we use a feature selection and feature extraction method based on Gabor wavelets using a fast genetic algorithm (FGA). Many FR systems are based on Gabor wavelet due to its desirable characteristics of spatial locality and orientation selectivity. However, the process of searching for features with Gabor wavelet is computationally expensive and has an unusual sensibility for variations such as illumination. To overcome these problems and use in realtime applications, we optimize Gabor wavelet’s parameters of translation, orientations and scales, which make it approximates a local image contour region by the use of hardware oriented FGA. From experimental results, we certify that our method shows recognition rate of over 97.27 % for FERET dataset, which exceeds the performance of the other popular methods1. Index Terms — Face recognition, gabor wavelets, genetic algorithm, intelligent image system.

I. INTRODUCTION In recent years, the demand for smart devices in consumer electronics is increasing and such smart electronic products consciously sense and understand their surroundings for adapting their services according to the contexts [1]. One of the important aspects in this context-awareness is the user identification and face recognition (FR) systems have been an intensively focused for this purpose, primarily due to its wide range of application. As shown in Fig. 1, intelligent digital photography is one of promising consumer application using facial recognition. FR will be able to categorize a film containing hundreds of images based on selected figure’s facial features such as one of family member or friend. Categorized results using FR can be transferred to image data base for electronic photo album or directly print out. The more increasing amount of storage in digital photography systems, sorting high volumes of files with overwhelming mounts of images is a growing concern and FR can be successfully used for such intelligent digital photography.

1 This work was supported by SITC (Super Intelligent Technology Center). Dong-Sun Kim is with the Department of DxB·Communication Convergence Research Center, Korea Electronics Technology Institute, Korea (e-mail: dskim@ keti.re.kr). In-Ja Jeon, and Phill-Kyu Rhee are with the Intelligent Media Lab, Computer Science and Engineering, INHA University, Incheon, Korea. Seung-Yerl Lee and Duck-Jin Chung are with the school of Information and Communication Engineering, INHA University, Incheon, Korea.

Contributed Paper Manuscript received July 14, 2006

Fig. 1. Intelligent Digital Photography.

FR systems consist of two stages; the feature extraction and the recognition stage. In the feature extraction stage, the system extracts the position of the facial features such as eyes, nose, and mouth from the face region [1], [2]. Next, in the recognition stage, it makes unique information for each new face by describing the extracted features and their relationships [2], [3]. Therefore, a good face recognition methodology should consider both feature extraction and recognition issues [1]-[4]. However, the problem of extracting feature from a human face remains barrier to apply the practical applications, since it is influenced by the light condition, various background, and individual variation. By far, many facial feature extraction algorithms have been proposed. They can be mainly divided into three algorithms; template [7], appearance [8] and feature based [9] algorithm. Compared with other algorithms, the features based algorithm is recently used in many embedded stand-alone real-time applications because of its advantage that it needs limited memory on computing the cost functions and extracting the feature [9]. Among of such feature based algorithms, Gabor wavelets representation is mostly used for classifying facial actions since Donato et al. [6] have shown through experiments that the Gabor wavelet representation gives better performance than other techniques [10], [11]. However, the normal process of searching for features with Gabor wavelet is computationally expensive and has an unusual sensibility for variations by illumination and individual variation [9]-[12]. In this reason, Genetic Algorithms (GAs) is mostly used as an optimization algorithm to decide Gabor wavelet representation at recent times [13], [14]. However, GA usually requires a long computation time due to its iterative evolution mechanism and it is essential to reduce the optimization time for the timebottlenecked FR systems.

0098 3063/06/$20.00 © 2006 IEEE

D.-S. Kim et al.: Embedded Face Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography

In this paper, we introduce a FR VLSI chip based on hardwired fast GA (FGA) that is optimized Gabor wavelet encoding scheme for enhancing recognition time and rate. Proposed FGA is based on a modified survival method and is designed with the efficient pipeline and parallelization architecture considering memory latency for reducing the hardware complexity and computation time. We verify our proposed FR system with the superiority via IT-Lab and FERET. In addition, it is implement a single VLSI chip using 0.18 μm CMOS technology. The rest of this paper is organized as follows. Section II describes a Gabor encoding and an optimization methodology of the Gabor encoding scheme using the proposed FGA. Section III explains the proposed FGA for the efficient Gabor wavelet representation and the performance estimation of the face recognition system with the proposed method and implementation results are discussed in section IV. II. PROPOSED FACE RECOGNITION SYSTEM BASED ON GABOR –FGA Face Recognition (FR) identify the person in the image using a stored data base of faces, which depends heavily on the particular choice of features used by the classifier [10]-[12]. Gabor wavelet representation is mostly used for classifying facial actions since it is verified through experiments that the Gabor wavelet representation gives better performance than other techniques. The biological relevance and computational properties of Gabor wavelets for image analysis have been described in [8]-[12]. The Gabor wavelet representation, therefore, yield features that display scale, locality, and differentiation properties. These properties are quite robust to variability of face image formation, such as the variations of illumination and facial expressions [9]. The scheme of our FR system based on a Gabor-FGA that is optimized Gabor wavelet encoding scheme using FGA, is shown in Fig. 2. The gray colored FGA block is implemented with hardware for adopting real-time application and the other blocks are implemented with software for 32 bit embedded microcontroller. Input Images

Preprocessing

Gabor Wavelet Transform

Gabor vector construction

Adjustment of Gabor kernel Parameters by FGA

- Classification accuracy - Generalization capability

FGA

Kernel parameters of Face region

Search among the different combination of kernel design parameters, fiducial points, and vector elements

Patterns Identify Flow (PIF)

Fitness measure

727

The used model base is generated offline based on frontal views of faces and application of Gabor wavelets to the image area, which contain the faces. Face models are represented by the magnitude of multi-scale Gabor wavelets filter. Faces in the input images are recognized when they successfully match with a specific model based on distinctive local features in the Gabor wavelet representation. A. Gabor Wavelets Gabor Wavelet (GW) efficiently extracts orientation selectivity, spatial frequency, and spatial localization. GW is biologically motivated convolution kernels in the shape of plane waves restricted by Gabor kernel. The convolution coefficient for kernels of different frequencies and orientations starting at a particular fiducial point is calculated. Generally, Gabor Kernels can be categorized to three types. The first type of Gabor kernels (LW) given by is defined as follows [9]. ψ ( x, y ) =

k 2j

σ2

exp(−

k 2j ( x 2 + y 2 )

))& σ2 ) ⋅ [exp(ik j ( x 2 + y 2 )) − exp( − )] 2

2σ 2 −ν + 2 ))& π k j = (kν cos θ μ , kν sin θ μ )T , kν = 2 2 π , θ μ = μ n μ = 0,..., n j = μ + 8ν , ν = 0,..., m,

(1)

The family of LW is similar each other since they are generated from one mother wavelet by dilation and rotation using the wave vector. The effect of the DC term vanishes when the parameter k μ ,ν has sufficiently high values, where

()

ı determines the ratio of the Gaussian window width to wavelength. GW is usually used at five different frequencies, Ȟ=0,…, 4, and eight orientations, ȝ = 0,…, 7 [9]. The kernels show desirable characteristics of spatial locality and orientation selectivity, a suitable choice for face image feature extraction for classification. The second type of Gabor kernels (TSL) is denoted as follows [10]:

ων ω κ2 exp(− ν2 (4x'2 + y'2 )) ⋅[exp(iων x' ) − exp(− )] 2 2πκ 8κ π ωv =νω0 , θμ = μ , ν = 0,..., m, μ = 0,..., n

ψ ( x, y) =

n ª x' º ªcosθμ sinθμ º ª x º « y' » = «− sinθμ cosθμ » «¬ y»¼ ¼ ¬ ¼ ¬

(2)

where, ω0 is the radial frequency in radians per unit length, θ is the wavelet orientation in radians and k is a constant. The GW is centered at (x=0, y=0) and normalized. The third type of Gabor kernels (XW) is defined as follows [11]:

Performance Evaluation by Fitness function

­ °

ª§ '2 ·2 § '2 ·2 º½ x y ° ¸ +¨ ¸ »¾ ⋅ exp i ª¬u( x − xi ) +ν ( y − yi )º¼ «© σ ¸¹ ¨© ασ ¸¹ »° ¬ ¼¿

ψ (x, y) = exp ®−𠫨¨ Decision of Gabor Encoding Scheme

Fig. 2. Flow diagram of the proposed face recognition method using the Gabor-FGA.

{

}

°¯ π (3) ωv =νω0 , θμ = μ , ν = 0,..., m, μ = 0,..., n , u = ων cosθμ , ν = ων sinθμ n ª x' º ªcosθμ sinθμ º ª x º « y' » = «− sinθμ cosθμ » «¬ y»¼ ¼ ¬ ¼ ¬

IEEE Transactions on Consumer Electronics, Vol. 53, No. 3, AUGUST 2006

728

where, (xi,yi) is the spatial centroid of the elliptical Gaussian window whose scale and aspect are regulated by σ and α, respectively. ωk and θl (k,l∈N) are the modulation frequency and direction, and (u,v) are the frequency components in x and y directions, respectively. The scale σ controls the size of the filter as well as its bandwidth, while the aspect ratio α and the rotation parameter φl (generally set equal to θl) control the shape of the spatial window and the spectral bandwidth. B. Gabor Vector Representation The Gabor Wavelet Transform (GWT) of an image is defined by the convolution of the sub-area of image using a r family of Gabor kernels. Let f ( x) be the gray value of a subr image around pixels x = ( x, y ) , and GWT of the sub-image is defined as follows: r r r G μ ,ν x = f a ∗ ϕ μ ,ν ( a )

()

=

( )

(4)

∫ ∫ f (α , β )ϕ μ ,ν ( x − α , y − β ) d α d β

where, x = (x, y) , and ∗ denotes the convolution operator. r

( ) is the normalized vector constructed from G ( x ) , it is

r G μ( e,ν) x

μ ,ν

adapted by the normalization factor e and normalized to zero mean and unit variance. Gabor feature vector F(e) at a fiducial r point x is then defined as follows: r r F ( e ) x = (G0,0 x

()

()

( e )t

r G0,1 x

()

( e )t

r ...G4,7 x

()

( e )t t

)

(5)

Most of these are located at well-defined features, which are likely to be significant, such as pupil, mouth, nose, and so on. A set of fiducial points was marked manually. 24 fiducial points that do by standard established to do manually and different 16 fiducial points decided through 6 methods as follows. 1) Fiducial points between eyebrows and eyebrows calculate and decided each Euclidean distance coordinates in 3 feature point coordinated systems that confront of eyebrows. 2) Fiducial points between eyes decide 2 feature points that confront between eyes calculating each Euclidean distance coordinates in coordinated system. 3) Fiducial points that is established in nose decided feature point in the each y+5, y+7, y+5 point in 3 feature points that is situated on nostril and the middle. 4) Fiducial points are established on the line of the nose. 5) 3 fiducial points decided on the ridge of the nose calculate and decided Euclidean distance coordinates between before 3 fiducial points on decided ridge of the nose and fiducial points on the line of the nose. 6) Fiducial points decided on lips calculate and decided Euclidean distance coordinates between fiducial points situated in the upper lip and center of lips. The geometries of fiducial points given in Fig. 3 and Fig. 4 are tested and we acquire effective recognition rate making change for fiducial point number according to size of using frontal face image.

The feature vector thus includes all the Gabor transform at r r the fiducial point x , G 0 ,0 ( x ) , μ= 0, ... , 7, ν= 0, ..., 4, as it derives an optimal discriminating information for a given external environment using the evolutionary module. C. The Kernel parameters and Fiducial point Geometry The design of optimal Gabor vector includes determining optimal Gabor kernel parameters and selecting proper fiducial points. The GW has three parameters: frequency (ω), orientation (θ), and the ratio of the Gaussian window width to wavelength (σ). It is used at five different frequencies and eight orientations. The GW also has three parameters: frequency (ω), orientation (θ), and the ratio of the standard deviation of an elliptical Gaussian to frequency (κ). It is used at three different frequencies and twenty orientations. κ is fixed for Gabor wavelets of a particular bandwidth. The GW by Malsberg have six parameters: frequency (ω), orientation (θ), size of filter (σ), aspect ratio (α), scaling factor (ρ), and bandwidth-frequency (λ). It is used at seven frequencies and eight orientations [11]. Other parameters of the filters were supposed as α=1, ρ= 2 , λ=π/4. Although two GWs have the different number of parameters, it is important to optimize parameters for face recognition. Multiple fiducial points, each of which is characterized by GWT, represent face features.

Fig. 3. Fiducial points of this image decided on different fiducial point.

Fig. 4. The geometry of fiducial points. (a) 6-fiducial points in image of size 32*32. (b) 12-fiducial points in image of size 64*64. (a) 24-fiducial points in image of size 128*128. (a) 40-fiducial points in image of size 128*128.

D. Gabor-FGA for Feature Selection In FR systems, the role of FGA module is to restructure a Gabor feature vector of a face for achieving optimal performance of recognition system in varying environment. Proposed FGA initiates a population, which is a set of members. Each member is described by a vector, which is called a chromosome. The fitness of each member is evaluated,

D.-S. Kim et al.: Embedded Face Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography

and only a portion of the population is selected as the population of next generation. In general, new generation will have higher fitness score than its previous generation. This process is repeated until the best face recognition architecture is reached, or a generation exceeds a desired criterion value. Chromosome and Genetic Operators: Our FGA is employed to search among the different combination of kernel design parameters, fiducial points, and vector elements of each Gabor feature vector. The chromosome represents the all-possible combination of kernel design parameters, fiducial points and their Gabor feature vectors. The optimality of the chromosome is defined by classification accuracy and generalization capability. The total Gabor feature vector for all fiducial points, V is evolved from a larger vector set defined as follows:

( ( ) ( )

( ))

))& ))& ))& e e e V = F ( ) x1 F ( ) x2 ⋅⋅⋅⋅⋅ F ( ) xn

(6)

where, x1 , x2 ,⋅ ⋅ ⋅ , xn are fiducial points. The contribution of fiducial points is in n-dimensional space by a set of weights in the range of (0.0, 1.0). As it searches the geno-space, the FGA makes its choices via genetic operators as a function of probability distribution driven by fitness function. The genetic operators used here are selection, crossover, and mutation. The Fitness Function of FGA: Evolution or adoption is guided by the fitness function defined for the system performance and the class scattering criterion. The system performance denotes the correctness that the evolvable adaptation has achieved so far, and the class scattering indicates the expected fitness on future generations. The FGA module derives the classifier being balanced between successful recognition and generalization capabilities. Here, used fitness function is defined as follows:

η(V ) = λη 1 s (V ) + λ2ηg (V )

(7)

where, Șs(V) is the term for the system correctness and successful recognition rate and, Șg(V) is the term for class generalization. Ȝ1 and Ȝ2 are positive parameters that indicate the weight of each term, respectively.

The A-nn employed here is deterministic and easy to implement. The reference face points in the Gabor space is preprocessed into a hierarchical decomposition of the space, called balanced box decomposition tree. The height of the tree is O (log n), and subdivided space is O(d) complexity, where d is the dimension of the Gabor space. The face points associated the leaf is computed, the closest point found so far is tracked. The Optimization Process of Gabor Encoding Scheme: The FGA as previously discussed has been employed to decide the Gabor encoding scheme of the autonomous FR system for various input environments. The FR system learns a given input environment, the Gabor encoding scheme and classifier architecture adapt itself by restructuring its structure and optimizing kernel parameters. III. FAST GENETIC ALGORITHM FOR FACE RECOGNITION SYSTEMS GA was first investigated by Holland [20] and has been in recent years attracted a great deal of attention in many different areas as a way to effectively search through complex and multi-dimensional spaces. Actually the goal of the genetic algorithm is to come up with a best value, but not necessarily optimal solution to the problem. The general genetic algorithm uses several simple operations in order to simulate evolution shown as Fig. 5. GA begins with a set of initial populations that is randomly generated. And then, the each population calculates fitness function that reflects the quality of the solution. In order to generate improved offspring, thereafter, a good parent is selected from the pool of chromosomes according to each individual’s fitness using selection operator, which reproduces the individuals selected to form a new population. Thereafter crossover and mutation on the population are performed and such operations are repeated until some condition is satisfied. Crossover operation swaps some part of genetic bit string within parents. It means as crossover of genes in real world that descendants are inherited characteristics from both parents. Mutation operation is an inversion of some bits from whole bit string at very low rate [20]. Such crossover and mutation operation increase the diversity of genes and influence on each individual in the population to get higher fitness.

The Optimization of Image filter process: The image filters employed here is the lighting compensation, histogram equalization, boost filtering, and opening operation. The image filters themselves are also optimized in applying sequences and parameters. A-nn (Approximate Nearest Neighbor) algorithm is employed for the recognition [19]. The recognition problem is formulated as follows: Given a set S of k points in the Gabor vector space G and query Gabor vector V, the task is to find point nearest to V.

729

Fig. 5. The Genetic Algorithm.

730

IEEE Transactions on Consumer Electronics, Vol. 52, No. 3, AUGUST 2006

A. Fast Genetic Algorithm To reduce the hardware implementation complexity and GA operation time for FR system, we design fast genetic algorithm (FGA) with the improved the steady-state model based on a modified tournament selection method and replacement scheme. Table I shows the pseudo-code for the proposed FGA. TABLE I THE PSEUDO-CODE OF THE PROPOSED GENETIC ALGORITHM 1. Initialize Parent ȕ and best chromosome Parent ȕ, Best chrom = all bits is initialized by zero While optimal value (Best chrom) do 2. Select two chromosomes from population using two RNs. Chrom Į = Population {Chrom Į_adrs = Random(Npa)} Chrom ȕ = Population {Chrom ȕ_ adrs = Random(Npb)} 3. Copy the previous p rent for the other parent Parent ȕ = previous Parent Į 4. Decide one parent from two chromosomes using fitness value Parent Į = Max. of Fitness (Chrom Į , Chrom ȕ ) Worse adrs = Min. of Fitness (Chrom Į_ adrs, Chrom ȕ _ adrs) Worse fit = Min. of Fitness(Chrom Į fitness, Chrom ȕ fitness) 5. Do Mutation and Crossover using a few methods Crossover (Į ; ȕ) : [1-point, 2 point, uniform] Childrendata (Į ; ȕ) = Crossover (Parent Į , Parent ȕ ) Mutation (Į ; ȕ) : [single-point, multi-point](Pm) Childrendata (Į ; ȕ) = Mutation (Children Į data, Children ȕ data) 6. Evaluate the fitness on a specific problem Childrenfitness (Į ; ȕ) = Fitness (Children Į data, Children ȕ data) 7. Update a population using new offspring and Migration data Migr chrom in = Migrator (other GA) New chrom = Max. of Fitness (Children Į data, Children ȕ data) Migr chrom = Max. of Fitness (Children Į migr data, Children ȕ migr data) IF New chromfitness > Worse fit then IF New chromfitness > Migr chromfitness then Population (Worse adrs) = New chrom Else Population (Worse adrs) = Migr chrom END IF; Else IF Worse fit > Migr chromfitness then Population (Worse adrs) = Worse data Else Population (Worse adrs) = Migr chrom END IF; END IF IF New chromfitness > Best chromfitness then Best chrom = New chrom END IF 8. Determine Mutation rate H=hamming(New chromfitness, previous Best chrom) Mutation rate = pm(H) 9. Migrate data to other GA IF Migration = 1 then Migrator(Migr chrom out); END IF End While

It begins its operations as selecting two chromosomes from a population using pseudo random number generator, rnd ( ) after initializing all bits in memory to zero. Selection operator (SO) determines between two selected chromosomes according to its fitness value. The fitness function derives the classifier being balanced between successful recognition and

generalization capabilities for FR system. Here, used fitness function is defined as the term for the system correctness and successful recognition rate and, the term for class generalization. In case of the steady-state GA model, because it replaces two previous parents with two offspring that generated by genetic operator, it has a fast convergence speed but it generally has a lack of diversity and is easy to fall to local minima. To overcome these problems, FGA model devises to compare a worse chromosome of two parents with the best chromosome among two offspring and the migrated chromosome from another processor. Good chromosomes from other processor also increase the entire average fitness value of population. And then, it updates population whenever the offspring's fitness is better than worse parent's. In result, the probability of premature convergence increases relatively and the preservation of chromosome is improved as compared with random selection of survival-based GA. The crossover operator (XO) exchanges the chromosome strings of two individuals from a crossover n-th index point ln or random mask. Proposed FGA supports three kinds of crossover patterns such as 1-point, 2-points, and uniform crossover. If Ci denotes i-th position of chromosome C and Ȗ implies the randomly generated crossover mask, these crossover operations can be expressed as below.

(α ', β ') = XO (α , β , crossover − type)

{

α ' = α i ∧ βi ' = α i , XO(α , β ,1) = i α i ' = β i ∧ β i ' = βi ,

l1 ≤ i l1 > i

­° α i ' = α i ∧ βi ' = βi , XO(α , β , 2) = ® α i ' = βi ∧ βi ' = α i , °¯ α i ' = α i ∧ βi ' = βi ,

l1 < i l1 ≤ i ≤ l2 l2 > i

­ α ' = (α i ⊗ γ i ) ⊕ (γ i ⊗ βi ) XO(α , β , unit ) = ® i ¯ βi ' = ( βi ⊗ γ i ) ⊕ (γ i ⊗ α i )

(8)

(9)

(10)

The mutation operator (MO) inverts one bit of the individual and n-point mutation operation means that MO is applied n times. It is used for recovering the genetic characteristics and depends on the mutation probability pm. Here, pm is applied to single-point and multi-point for enhancing the schema of GA. The mutation operator of Į can be defined as

α ' = MO(α ), MOn (α ) = MO n (α ) ­ MO(α ) = ® α i ' = α i , ¯ αi ' = αi ,

(11)

i =l i ≠l

In addition, migration operator imports the best chromosome from external GA for adjusting population diversity. Fitness evaluation with the internal and migrated offspring follows to determine one with higher fitness value between them. Finally, the population is updated by this survived offspring. Empirical change of GA parameters and methods can be added at the end of the procedure in order to

D.-S. Kim et al.: Embedded Face Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography

obtain higher convergence speed. For the effective hardware implementation of proposed FGA, we consider the iterative characteristic of GA to compromise between the architectural complexity and the speed of computation. For this purpose, we divide into concurrent parallel groups and each parallel group is connected with pipeline and control signals, and process serially on population and parallel on chromosome.

731

Survival Determination Module: This module determines the survival of offspring fitter than parent chromosome as shown in Fig. 9. Because our survival determination scheme gives chromosome with better fitness value more opportunity to survive, proposed algorithm converges into the optimal solution faster than the survival-based GA as increasing the number of compared chromosomes.

B. VLSI Implementation of FGA Fig. 6 shows the block diagram of FGAP that consists of mainly eleven sub-modules such as System Memory Controller (SMC), Population Data (PD), Random Number Generator (RNG), Selection Control (SC), Survival Determination (SD), Migrator, Selection, Mutation Rate Control (MRC), Crossover and Mutation, and Fitness Evaluation (FE). Selection Module: This module selects the object of parent to make two offspring. We use the simplified tournament selection process for fast convergence. As shown in Fig. 7, after it obtains better one between two individuals using a comparator, the tournament winner is stored in the two registers of current parent. At the same time, the register of current parent that is already made previously is replaced with the register of previous parent. It contributes to both a reduction of hardware size and speed because two parents are obtained by only two individuals that are fetched from the memory. Also, because the selection pressure of the tournament selection is higher, the optimal solution is obtained in shorter time than in random selection of the survival-based GA. Crossover and Mutation Module: For the use in various problems, this module has several methods of crossover and mutation. In case of crossover, it provides the three methods: 1-point crossover, 2-point crossover, and uniform crossover. As shown in Fig. 8 (a), the crossover block is composed of one comparator, two register and MUX sets including two multiplexers. In addition, we use two kinds of mutation: simple mutation and mutation of string with variable mutation rate. The mutation block is composed of two-input XOR gates, comparator and two registers, as Fig. 8 (b). Random Number Generator: The random number generator (RNG) is used for determining a chromosome for selection from the population array, a possibility of mutation and a position of crossover and mutation. In order to overcome the drawback of LFSR, we used cellular automata (CA) for our implemented RNG module. The problem of cellular automata is too sensitive to the initial conditions. To solve this problem and increase the maximum length cycle, we also changed boundary condition with a 4-bit counter. That is, the CA used in RNG is designed according to rule 90 and 150, which is similar performance of simulation [22].

a i (t + 1) = a i −1 (t ) ⊕ a i +1 (t )

... [ Rule 90]

a i (t + 1) = a i −1 (t ) ⊕ a i (t ) ⊕ a i +1 (t )

... [ Rule 150]

Fig. 6. Block diagram of genetic algorithm processor.

Fig. 7. Hardware structure of selection module.

(a)

(b) Fig. 8. (a) Structure of simple crossover (1-point crossover) (b) Structure of mutation (Multi-point mutation).

732

IEEE Transactions on Consumer Electronics, Vol. 52, No. 3, AUGUST 2006



π

1.5π





2.5π

 Fig. 9. The flow diagram of survival determination. 9 * 9, π

System Memory and Selection Controller: This module provides an interface to external (or internal) memory for the rest of the system. Especially, the proposed memory controller is designed to fetch two population data in a row for the faster data manipulations. IV. EXPERIMENTS For this Gabor Encoding using FGA, we used 1000 images of 100 persons from our lab data set, and 2418 images of 1209 persons from FERET data set. The performance test of proposed FR system is followed using our laboratory, FERET data sets. We employ the leave-one-out method in our performance evaluation and compare the performance of three different GWs using images of resolution 128×128 to select the most proper method in our recognition system. Because each GW may have its own optimal parameters, changing the values of its parameters within the accepted range performs the comparison. Firstly, we evaluated the performance of three different GWs. The face recognition performance of the LW, TSL and XW is shown in Fig. 10. In experiment, we find that the performance of the LW method is influenced by ı and the size of convolution. When the value of ı is 2ʌ and the convolution has a size of 33×33, the number of error is the smallest. In case of LW, we also find that the performance of the LW method is superior to those of the TSL method and the XW method. The TSL method has one additional parameter ț than the LW that affects shape of GW. When the ı is above 2 and the convolution has a size of 33×33 regardless of ț, the performance of TSL is almost the same as the LW method. However, when the size of convolution is 9×9, the TSL method is much inferior to the LW method. So, the performance of the XW isn't acceptable in our application, though it shows the best performance when the ı is 3ʌ and the size of convolution is 17×17. Therefore, we select the Malsberg's kernel from the above experiment and explore the various orientation sets and the frequency sets using FGA. The sizes of the kernel are 33x33 and 17x17, and the value of ı is 2ʌ and the resolutions of the images are 128x128 and 64x64.

17 *17, π 32 * 32, π

π

1.5π



2.5π



 32 * 32, π / 8

9 * 9, π / 8 9 * 9, π / 32 9 * 9, π / 16 17 *17, π / 8 33 * 33, π / 16 17 *17, π / 32

33 * 33, π / 32 17 *17, π / 16

π

1.5π



2.5π



Fig. 10. The performance comparison of three different Gabor Wavelets.

As shown in Tableൖ , we can achieve an optimal performance with 8 orientations and 8 frequencies using 128x128 images. The FERET gallery image of 1209 peoples is used for registration and 1209 probe_fafb_expression images are used for test [23]. Table III shows the comparative test performance other popular methods and it shows that our method shows recognition rate of over 97.27 % for FERET dataset, which exceeds the performance of the other popular methods. VI. CONCLUSION In this paper, we introduce a single embedded face recognition system base on the optimized Gabor waveletencoding scheme using the FGAP for intelligent digital photography. By using the FGAP for finding optimal feature selection, we can efficiently select the optimal feature set for classification and design the robust FR system. We show the validity of FR system through experiments with FERET dataset that it shows recognition rate of over 97.27 %. Proposed FGA is implemented hardware to reduce drastically

D.-S. Kim et al.: Embedded Face Recognition based on Fast Genetic Algorithm for Intelligent Digital Photography TABLE II THE RESULT OF MALSBERG’S KERNEL 33*33, 17*17 USING FGAP Frequency Orientation 2 3 4 5 6 7 8 235 83 42 21 14 8 10 3 247 107 55 27 22 17 17 4 143 52 25 14 9 9 8 5 146 65 28 19 12 11 12 6 110 44 22 13 13 11 11 7 118 44 19 13 12 10 8 8 41 23 12 12 10 9 12 42 23 13 13 10 9 16 41 23 13 13 10 9 20 Frequency Orientation 2 3 4 5 6 7 8 381 115 43 29 25 24 23 3 467 161 73 44 39 36 36 4 298 85 57 37 36 36 35 5 276 29 21 17 18 17 18 6 230 70 50 31 27 29 32 7 209 59 51 28 28 26 29 8 61 48 26 28 27 28 12 56 46 30 29 28 27 16 60 48 32 29 26 26 20 TABLE III COMPARATIVE PERFORMANCE EVALUATION USING FERET DATASHEET Method Rank1 correct acceptance Eigenface 83.40% Elastic Graph Matching 95.00% LDA 96.20% (kepenekei’s method) 96.30% Eigenface by Bayesian 94.80% Evolutionary Pursuit 92.14% Proposed method 97.27%

From above results, we can expect the proposed FR VLSI chip set to be applied to smart electronic devices, speech recognition, and computer vision as well as face recognition. ACKNOWLEDGMENT Authors are grateful to Bicto Lee at DAVAN Co. for assisting us in Place & Routing for IC manufacturing. REFERENCES [1] [2] [3] [4]

[5] [6] [7] [8] [9] [10] [11] [12] [13] [14]

[15] [16] [17] Fig. 11. Layout of FR VLSI chip.

the total elapsed time in evolution computation. It enhance the optimization performance over conventional GAs about 15% in accuracy and 30% of the computation speed-up on face recognition. In addition, we implement proposed FR system using 0.18 μ m 1 poly 6 metal CMOS technology as shown in Fig. 11.

733

[18] [19] [20]

Fei Zuo. and Peter H. N. de With, “Real-time Embedded Face Recognition for Smart Home,” IEEE Trans. Consumer Electronics, vol. 51, pp. 183-190, February 2005. E. Hjelmas and B. K. Low, “Face detection: A survey,” Computer Vision and Image Understanding, vol. 83, pp. 236-274, 2001. A. Samal and P. A. Iyengar, “Automatic recognition and analysis of human faces and facial expression: A survey,” Pattern Recognition, vol. 25, no. 1, pp. 65-77, 1992. Wanlei Chi, Guang Dai, and Lin Zhang, “Face recognition based on independent Gabor features and support vector machine,” Intelligent Control and Automation, Fifth World Congress on WCICA 2004, vol. 5, pp. 15-19, June 2004. M.S. Bartlett, J.R. Movellan, and T.J. Sejnowski, “Face recognition by independent component analysis,” IEEE Trans. Neural Networks, vol. 13, no. 6, pp. 1450-1464, 2002. G. Donato, M. S. Bartlett, J. C. Hager, P. Ekman, and T. J. Sejnowski, “Classifying facial actions,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 21, no. 10, pp. 974-989, 1999. .Baron R. J., “Mechanisms of human facial recognition,” International Journal on Man Machines Studies, vol. 15, pp 137-178, 1981. Shah D. and Marshall S., “Statistical coding method for facial feature,” IEE Proceedings of the Visual Image Signal Processing, vol. 145, pp. 187-192, 1998. Brunelli R. and Poggio T., “Face recognition: features versus templates,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 15, no. 10, pp. 1042-1052, 1993. T. S. Lee, “Image representation using 2D Gabor wavelets,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 18, no. 10, pp. 959-971, 1996. Xing. Wu and B. Bhanu, “Gabor wavelet representation for 3-D object recognition,” IEEE Trans. Image Processing, vol. 6, no. 1, pp. 47-64, Jan 1999. V. Kruger and G. Sommer, “Wavelet networks for face processing,” Journal of the Optical Society of America, vol. 19, no. 6, pp. 11121119, 2002. C. Liu and H. Wechsler, “Evolutionary pursuit and its application to face recognition,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 22, no. 6, pp. 570-582, 2000. Zhang Yankun and Liu Chongqing, “Face recognition using kernel principal component analysis and genetic algorithms,” Neural Networks for Signal Processing, Proceedings of the 2002 12th IEEE Workshop on 2002, pp. 337-343, September 2002. M. Turk, A. Pentland, “Eigenfaces for recognition,” J. Cognitive Neurosci. vol. 3, pp. 71-86, 1991. K. Etemad, R. Chellappa, “Discriminant analysis for recognition of human face images,” J. Opt. Soc. Am. vol. 14, pp. 1724–1733, 1997. Pelikan M., Parthasarathy P. and Ramraj A., “Fine-grained Parallel Genetic Algorithms in Charm++,” ACM Crossroad Magazine: Parallel Computing, 2002. Laurenz Wiskott et al., “Face recognition by elastic bunch graph matching”, IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 19, pp. 775-779, 1997. Arya, S., Mount, D. M., Silverman, N. S. Netanyahu. R., Wu, A. Y., “An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions,” Journal of ACM, pp. 1-31, 1994. Holland J. H, “Adaptation in Natural and Artificial Systems,” The University of Michigan Press, Michigan, 1975.

734

IEEE Transactions on Consumer Electronics, Vol. 52, No. 3, AUGUST 2006

[21] J. J. Kim, Y. H. Choi, C. H. Lee and D. J. Chung, “Implementation of a High-Performance Genetic Algorithm Processor for Hardware Optimization,” IEICE TRANS. ELECTRON, vol. E85-C, no. 1, pp. 195203, January 2002. [22] N. Yoshida, T. Moriki and T.Yasuoka, “GAP: Genetic VLSI processor for genetic algorithm,” Second International ICSC Symp. on Soft Computing, pp. 341-345, 1997. [23] P. J. Phillips, H. Wechsler, J. Huang, and P. Rauss, “The FERET database and evaluation procedure for face-recognition algorithms,” Image and Vision Computing, vol. 16, pp. 295-306, 1998. [24] H. S. Kim and S. B. Cho, “An efficient genetic algorithm with less fitness evaluation by clustering,” Proceedings of the 2001 Congress on Evolutionary Computation, vol. 2, pp. 887-894, 2001. Dong-Sun Kim (M’99) was born in Incheon, Korea, in 1972. He received the B.S and M.S degrees in the school of Electronics and Electrical Engineering in 1997 and 1999, respectively, from INHA University, Incheon, Korea. On 2005, he received Ph.D. degree in the school of Information and Telecommunication Engineering from INHA University, Incheon, Korea. Since 1999, he was with the Korea Electronics Technology Institute (KETI), Gyeonggi-do, Korea and working on R&BD at the DxB·Communication Convergence Research Center, where he currently is a senior researcher and team leader. He is a member of IEEE. His research interests are in the areas of wireless/wired communication systems, wireless sensor network, VLSI & SoC design, multimedia codec design, the computer architecture and the embedded system design. In-Ja Jeon received the B.S. degree in Computer Science from DongYang University and M.S degree in Computer Science from INHA University, Korea, in 1999 and 2001, respectively. On 2005, she received Ph.D. degree from INHA University. Her research interests are Computer Vision, Pattern Recognition, and Biometrics.

Seung-Yerl Lee received the B.S. and M.S degrees in the school of Information and Telecommunication Engineering from the INHA University, Korea, in 2003 and 2005, respectively. He is currently a Ph.D. candidate in the school of Information and Telecommunication Engineering in INHA University. His research interests are the wireless communication hardware design, WPAN, WLAN and VLSI & SoC design. Phil-Kyu Rhee received the B.S. degree in Electrical Engineering from the Seoul University, Seoul, Korea, the M.S. degree in Computer science from the East Texas State University, Commerce, TX, and Ph.D. degree in Computer Science from the University of Louisiana, Lafayette, LA, in 1982,1986 , and 1990 respectively. During 1982 - 1985 he was working in the System Engineering Research Institute, Seoul, Korea as a research scientist. In 1991 he joined the Electronic and Telecommunication Research Institute, Seoul, Korea, as a senior research staff. Since 1992, he has been an Associate Professor in the Department of Computer Science and Engineering of the INHA University, Incheon, Korea and since 2001, he is a professor in the same department and university. His current research interests are Pattern Recognition, Machine Intelligence, and Parallel Computer Architecture. Dr. Rhee is a member of the IEEE Computer Society and KISS (Korea Information Science Society). Duck-Jin Chung was born in Korea on Feb. 8, 1948. He received the B.S degree from the Seoul National University of Electrical Engineering, Korea on 1970, and M.S. degree from Utah State University on 1984. On 1988, he received Ph.D. degree from University of Utah. He is currently a professor at the school of Information and Communication Engineering of INHA University, Incheon, Korea. He is a member of IEEE. His research interests are the VLSI & SoC design, the computer architecture and the embedded system design.

Suggest Documents