Parallel Processing for Automatic Face Recognition using Eigenfaces Yong-Seok Cheon and Chang-Sung Jeong Department of Electronic Engineering Korea University, Anam-dong 5-1, Sungbuk-gu Seoul, Korea e-mail: [email protected] Abstract In this paper, we present a parallel face recognition algorithm based on \eigenfaces", which are known as the signicant features because they are the eigenvectors(principal components) of a set of face images. Our work is composed of two phases: eigenface construction and face recognition. For the construction of eigenfaces, a solution of eigenvalue/eigenvector problem using parallel Jacobi transformation is suggested. In recognition phase, a set of weight components is calculated in parallel by projecting a input face image onto each of precomputed eigenfaces at each processing elements(PE's). Our parallel face recognition approach were implemented and evaluated on the transputer based parallel computer using grey scale face images with moderately cluttered backgrounds. Experimental results reveals that time taken for both eigenface construction and recognition is sharply decreased as the number of PE's are increased. Keywords Face recognition, parallel algorithm, high performance computing, parallel linear algebra 1. Introduction Automatic face recognition is emerging as an active research area spanning several disciplines such as image processing, pattern recognition and computer vision. A general statement of the problem can be formulated as follows: Given still or video image of a scene, identify one or more persons in the scene using a stored database of faces. The solution of the problem involves segmentation of faces from cluttered scenes, extraction of features from the face region, identication, and matching. In this paper, we are concerned with the parallel face recognition based on eigenface approach. Automatic human face recognition can be broadly categorized into two major branches, one which relies on a 3-D input image, while the other works with a 2-D representation(intensity data) of the image[2]. Though 3-D face recognition approaches have demonstrated some advantages, proponents of a 2-D face recognition scheme would cite the abundance of data present in the world today, from police mug shots to newspaper photographs, as a major incentive to do research on face recognition based on 2-D data. Brunelli and Poggio discussed the classication of automatic face recognition methods into This paper was supported by Korea Sanhak Foundation, 1995 two broad classes of techniques: geometric feature based matching and template matching[4]. Geometric feature based matching involves decomposing the face image into pertinent features like eyes, nose, mouth, chin, etc[6, 7]. The general idea behind template matching approach is the construction of an articial template to match with the prominent features of the face. Yuille et al.[5] described two such templates, one for the eye and the other for the mouth. Another work, slightly dierent from those mentioned above, is used by Turk and Pentland[1]. They adopted matching using \eigenfaces," i.e. template matching using the Karhunen-Loeve transformation of a set of face images[3]. In their approach face images are projected onto a feature space called the \face space". The face space is dened by \eigenfaces", which are determined by the set of eigenvectors of the set of training faces. A new target face is projected onto this face space. The norm is used as the measure for matching. This method does not rely on features such as eyes, ears and noses within the face for matching. This approach has advantages over other face recognition schemes in its speed and simplicity, learning capacity, and insensitivity to small or gradual changes in the face image. In this paper, we present a parallel face recognition algorithm based on eigenfaces. Our algorithm is basically composed of two phases: eigenface construction and face recognition. For construction of eigenfaces, a solution of eigenvalue/eigenvector problem using parallel Jacobi transformation is suggested. In recognition phase, a set of weight components is calculated in parallel by projecting the input face image onto each of precomputed eigenfaces at each processing elements(PE's). The organization of this paper is as follows. In section 2, we describe eigenface approach for face recognition. In section 3 and 4, we shall present a parallel face recognition algorithm using eigenfaces and its experimental results respectively. Finally, in section 5, we give a conclusion. 2. Eigenface Approach The idea of using eigenfaces was motivated by a technique developed by Sirovich and Kirby[3] for eciently representing pictures of faces using principal component analysis. The scheme is based on an information theory approach that decomposes face images called \eigen- eigenvalues, respectively, of the covariance matrix C = M1 M X n=1 nTn = AAT where the matrix A = [1 2 : : : M ]. Consider the eigenvectors vi of AT A such that T A Avi = i vi . Premultiplying both sides by A, we have AAT Avi = i Avi fromTwhich we see that Avi are the eigenvectors of C = AA . Following this analysis, we construct the M by M matrix L = AT A, where Lmn = Tm n , and nd the M eigenvectors, vl , of L. These vectors determine linear combinations of the M training set face images to form the eigenfaces ul . Figure 1: Eigenfaces faces," which may be thought of as the principal components of the initial training set of face images. Recognition is performed by projecting a new image onto the subspace spanned by the eigenfaces (\face space") and then classifying the face by comparing its position in face space with the positions of known individuals. This approach to face recognition involves the following initialization and eigenface construction operations and recognition operations. 2.1 Eigenface construction Let an image be a two-dimensional N by N array of intensity values. The image may also be considered as a vector of dimension N 2 , or equivalently, a point in N 2 -dimensional space. Image of faces, being similar in overall conguration, will not be randomly distributed in the huge image space and can be described by a relatively low dimensional subspace. The eigenfaces resulted from the eort to nd the vectors that best account for the distribution of face images within the entire image space. Let the training set of face images be ?1 , ?2 , ?3 , : : :,P?M . The average face of the set is dened by = 1 M M n=1 ?n . Each face diers from the average by the vector i = ?i ? . This set of very large vectors is then subject to principal component analysis, which seeks a set of M orthonormal vectors, un , which best describes the distribution of the data. The kth vector, uk , is chosen such that M X 1 k = M (uTk n )2 n=1 is a maximum, subject to uTl uk = lk = 1; if l = k 0; otherwise The vectors uk and scalars k are the eigenvectors and ul = M X k=1 vlk k ; l = 1; : : : ; M 2.2 Classcation and recognition using eigenfaces A new face image(?) is transformed into its eigenface components (projected into \face space") by a simple operation, !k = uTk (? ? ) for k = 1; : : : ; M . The weights form a vector T = [!1 !2 : : : !M ] which describes the contribution of each eigenface in representing the input face image, treating the eigenfaces as a basis set for face images. The simplest method for determining which face class provides the best description of an input face image is to nd the face class k that minimizes the Euclidian distance k = k( ? k )k2 where k is a vector describing the kth face class. The face classes i are calculated by averaging the results of the eigenface representation over a small number of face images of each individual. A face is classied as belonging to class k when the minimum k is below some chosen threshold e . Otherwise the face is classied as \unknown" or \not a face". 3. Parallel Algorithm 3.1 Parallel face recognition In this section we shall describe a parallel algorithm for automatic face recognition using eigenfaces. The algorithm can be described as follows: First, M face images of the training set are distributed over M PE's, and M eigenfaces is computed in parallel. Since the eigenface computation involves typical symmetric eigenvalue/eigenvector problem, sequential method is very costly. We present a parallel Jacobi transformation to solve the eigenvalue/eigenvector problem to make eigenfaces. After the eigenfaces are ready, M face classes based on M face images in the training set are constructed using the eigenfaces. Each face class has a pattern vector which describes the contribution of the eigenfaces in representing the related face image in the 6). Determine if ? is a face at all by checking to see if the image is suciently close to \face space" using the appropriate threshold value. 7). If it is a face, classify the weight pattern as either a known person or as unknown as follows : Compute, for each PE (i), Euclidian distance i of the pattern vector T for the new face image ? from the pattern vector i in parallel. The face with the minimum distance to T is the identication result. If the minimum distance is above the threshold value, the input face image is determined as \unknown". 3.2 Parallel Jacobi transformation (a) input image (b) matched image Figure 2: Recognition results training set. For recognition of a new face image, a pattern vector for the face is calculated in parallel using precomputed M eigenfaces. Now, we can determine the new face image as \one of the face in training set", \unknown", or \not a face" according to the minimal Euclidean distances of the pattern vector for the new face image from those for M face classes. The outline of the parallel face recognition algorthm is given below. Initialization and eigenface construction 1). Store each characteristic face image ?i(1 i M ) in PE (i). The set of these initially registered face images is called \training set". 2). Calculate, for each PE (i), the eigenface ui from the training set in parallel. The M eigenfaces can be obtained by solving symmetric eigenvalue problem using parallel Jacobi transformation. The eigenfaces ui 's are unit vectors that dene the subspace determined by the face images in training set, which we call \face space". 3). Calculate, for each PE (i), the eigenface weight component !ki in M -dimensional weight space for each face image ?k in the training set by projecting it onto the \face space". Each of M weight components can be computed by simple dot product in parallel. M eigenface weight components for ?k form a pattern vector Tk = [!k1 ; !k2 ; : : : ; !kM ] that describes the contribution of eigenfaces in representing the face image, treating the eigenfaces as a basis set for face images. 4). Store a pattern vector i for each face image ?i in PE (i). i represents a face class i. Consquently, PE (i) contains ui and i Recognition 5). Transform a new face image ? into its eigenface com- ponents in parallel and make the pattern vector T = [!1; !2 ; : : : ; !M ] by projecting the input face image onto each of M eigenfaces at each PE. The main part of the eigenface construction step is to solve a symmetric eigenvalue/eigenvector problem. Since this is inherently one of the most time-consuming procedure and eigenfaces have to be recalculated when new face classes enter the training set, we propose a parallel method using Jacobi transformation to speed it up. An N N matrix A is said to have an eigenvector x and corresponding eigenvalue , if A x = x. The Jacobi method consists of a sequence of orthogonal similarity transformations of the form as below. D = PT3 PT2 PT1 A P1 P2 P3 If we get all the way to diagonal form, then the eigenvectors are the columns of the accumulated transformation. X = P 1 P2 P3 Each transformation is just a plane rotation designed to annihilated one of the o-diagonal matrix elements and aects only two rows and columns. The idea of the Jacobi method is to try to zero the o-diagonal elements by a series of plane rotations. Jacobi transformations can be applied in parallel to disjoint pairs of rows and/or columns of the matrix, so a matrix with N rows and columns can have N=2 Jacobi transformations applied simultaneously. The question remains of the order in which to apply the simultaneous rotations. We use exclusive-OR operation to make N=2 disjoint pairs of rows and/or columns. Each rotation parameter i;j is determined by the ith and j th row(or column). The description of the parallel algorithm on MCC with N N PE's is given below. Let the elements of the target matrix A are distributed in order that A(i; j ) is stored in PE (i; j ). Procedure PAR JACOBI 1. if i = j 2. V (i; j ) = 1 3. else 4. V (i; j ) = 0 5. Repeat 6. for k := 1 to N ? 1 do 7. Determine i;i k 8. R(i; j ) A(i k; j ) 9. Determine j;j k 10. C (i; j ) A(i; j k) 11. V 0 (i; j ) V (i; j k) # of eigenfaces Eigenface construction time(sec) Recognition accuracy 2 2.651 31.2% 4 4.230 58.7% 8 6.937 85.6% 16 11.788 97.8% Table 1: Eect of the number of eigenfaces on execution time and recognition accuracy (# of PE's = 1, # of face images in the training set = 16) # of PE's # of faces(M ) 8 16 ! # (e.f. const.) (recog.) (e.f. const.) (recog.) 1 6.98 20.07 11.78 3.24 2 4.35 11.75 7.07 1.95 4 2.83 6.58 4.59 1.22 8 1.95 4.15 2.93 0.78 Table 2: Execution time for eigenface construction and recognition with respect to the number of PE's and M (# of eigenfaces = M , unit : sec) 12. if i < i k 13. A(i; j ) := cos i;i k A(i; j ) ? sin i;i k R(i; j ) 14. else 15. A(i; j ) := sin i;i k R(i; j ) + cos i;i k A(i; j ) 16. if j < j k 17. A(i; j ) := cos j;j k A(i; j ) ? sin j;j k C (i; j ) 18. V (i; j ) := cos j;j k V (i; j ) ? sin j;j k V 0 (i; j ) 19. else 20. A(i; j ) := sin j;j k C (i; j ) + cos j;j k A(i; j ) 21. V (i; j ) := sin j;j k V 0 (i; j ) + cos j;j k V (i; j ) 22. if j = i k 23. A(i; j ) := 0 24. Until convergence End PAR JACOBI The procedure PAR JACOBI computes N eigenvectors in V in parallel. Since it takes O(N ) to determine the rotation parameter and save the counterpart elements by transfering each other from line 7 to line 11 and the other steps in the loop can be done in O(1), each iteration of the loop can be done in O(N ) time on MCC. Therefore, PAR JACOBI can be executed in O(N 2 ) on MCC with N N PE's at each sweep. 4. Experimental Results In this section, we shall describe the experimental results of our work. We have implemented our parallel face recognition algorithm on the transputer based parallel computer KOPS(KOrea Parallel System) with the face images obtained from MIT. We rst describe the eect of the number of eigenfaces used on the performance, and then the performance of the parallel algorithm is shown as the number of PE's varies. Table 1 shows the execution time taken for eigenface construction and recognition rate for the various number of eigenfaces. The time taken for computing eigenfaces is increased rapidly as the number of eigenfaces is increased, which shows that the number of eigenfaces has a signicant impact on the performance. On the contrary, recognition accuracy is best when the number of eigenfaces is same as the number of face image in training set. Table 2 shows the execution time of the parallel face recognition algorithm versus the number of PE's as the number of face images in training set changes. Execution time for both eigenface construction and recognition is sharply decreased as the number of PE's is increased. The time for recognition is for recognizing all the persons in the training set. 5. Conclusion In this paper, we have addressed the automatic parallel face recognition using eigenfaces. In our parallel approach, eigenfaces are computed mainly by solving eigenvalue/eigenvector problem using parallel Jacobi transformation. Since solving eigenvalue problem with the traditional sequential methods at the eigenface construction step is very expensive and time-consuming, we speed up this procedure with the fast parallel algorithm. We use M eigenfaces from the training set of M face images when M PE's are available, while the sequential approach adopts much less eigenfaces because time for the eigenface construction step increases rapidly with respect to the number of eigenfaces to be created. Though smaller M 0 (M 0 < M ) eigenfaces may be sucient sometimes, more eigenfaces provide higher recognition accuracy. Our parallel face recognition approach has been implemented on the transputer based parallel computer KOPS(KOrea Parallel System) with grey scale face images with moderately cluttered backgrounds. Experimental results show that execution time taken for both eigenface construction and recognition is sharply decreased as the number of PE's is increased. References [1] M. Turk and A. Pentland, \Eigenfaces for recognition," Journal of Cognitive Neuroscience, Vol. 3, No. 1, 1991, pp. 71-86. [2] S. A. Sirohey, \Human face segmentation and identication," Tech. Rep. CAR-TR-695, Center for Autom. Res., Univ. Maryland, College Park, MD, 1993. [3] M. Kirby and L. Sirovich, \Application of the Karhunen-Loeve procedure for the charaterization of human faces," IEEE Trans. Pattern Analysis and Machine Intelligence, Vol. 12, No. 1, 1990. [4] R. Brunelli and T. Poggio, \Face recognition: Features vs. Templates," IEEE Trans. Pattern Analysis and Machine Intelligence, Vol. 15, No. 10, 1993. [5] A. L. Yuille, D. S. Cohen, and P. W. Hallinan, \Feature extraction from faces using deformable templates," Proc. IEEE Conf. Computer Vision Pattern Recognition, 1989, pp. 104-109. [6] B. S. Manjunath, R. Chellappa, and C. von der Malsburg, \A feature based approach to face recognition," Proc. IEEE Conf. Computer Vision Pattern Recognition, 1992, pp. 373-378. [7] R. Chellappa, C. L. Wilson, and S. Sirohey, \Human and Machine Recognition of faces: A survey," Proc. of the IEEE, Vol. 83, No. 5, 1995, pp. 705-740.
© Copyright 2026 Paperzz