Anda di halaman 1dari 6

Face Recognition Using DSP

Naresh Kumar, Mohit Solanki, Bhavik Patel and Kunal Kamal

applications and biometric systems. AbstractFace typically processors. recognition on algorithms were The speed, complexity and accuracy become critical when the face recognition algorithms are implemented on a DSP [4]. There are two main approaches to face recognition viz., feature based methods and linear algebra based approaches [2]. Feature based recognition is based on the extraction of the properties of individual organs located on a face such as eyes, nose and mouth and their relationships with each other. The linear algebra based approaches decompose face images into a small set of implemented When general-purpose algorithms are

these

implemented in a product, a Digital Signal Processor (DSP) can replace the general-purpose processor and hence reduce the overhead. In such a scenario the computation time, memory, cost and power consumption issues become critical. The primary aim of face recognition is to determine the identity of an individual based on a still image of his or her face. The eigenface algorithm for face recognition was implemented in Matlab and some aspects of a DSP implementation are discussed.

characteristic features images called eigenfaces.

II. EIGENFACE ALGORITHM


Eigenface approach is a principal component analysis (PCA) method, in which a small set of

I. INTRODUCTION
The primary aim of face recognition is to determine the identity of an individual based on a still image of his or her face. Human beings can recognize thousands of faces and identify familiar faces at a glance. Computational models of face recognition are interesting because they can

characteristic pictures are used to describe the variation between face images, independent of any judgement of features. Any face can be looked at as being composed of a certain number of characteristic faces or eigenfaces. Since we are more interested in the variation of features from face to face and not the entire information present in the image we determine the eigenvectors of the covariance matrix of the distribution of face images. Thereafter, every face image is represented by a linear combination of these eigenvectors. Retaining only those eigenfaces that have significant weight reduces the dimensionality of the problem. To recognize a new face it is projected into the subspace spanned by the eigenfaces, and it is classified by comparing its position in face space with the positions of known individuals [1]. In our implementation we used the Eigenface

contribute not only to theoretical insights but also to practical application. Computers that recognize faces could be applied to a wide variety of problems, including criminal identification, security systems, image and film processing and human-computer interaction. The ability to model a particular face and distinguish it from a large number of stored face models would make it possible to improve criminal identification. Face recognition is an important component of modern video based surveillance

algorithm [1], which is based on PCA, outlined below:

ui = Avi = vik k
k =1

7. The eigen values i , are sorted in the descending Initial Processing and Training: 1. The training set images, i (i = 1: M ) are read from the database and an image matrix I order and eigen vectors of non-negligible eigen values are retained (the reduction of dimensionality is achieved here). 8. Each image is projected on the basis consisting of Eigenfaces and the corresponding weights are determined. A weight matrix consisting of the weight vectors is formed.

( 1 , 2, .... M ) consisting of individual images as column vectors is constructed. 2. The training set is normalized using a convenient value for mean and standard deviation to account for the changes in lighting conditions, background variations and to improve the image quality. 3. A mean image is calculated from the image matrix.

( ) = {k } , Where k = uk T and 1 k M '


Recognition of the input image 9. The weight vector corresponding to input image is determined. The weight vector is then compared

1 M

i =1

with the columns of the weight matrix from step 8.


i

Euclidean distance, defined as below is used as a metric for face recognition.

Every image differs from the mean by a vector, i = i i . 4. The covariance matrix is constructed.

k 2 =|| k ||2
Advantages and disadvantages The primary advantage of the eigenface method is the system's speed and efficiency. The eigenface approach reduces the amount of data needed to identify an individual. Further, the eigenface recognition system was the first working facial recognition system. The eigenface method provides accurate recognition rates, but has difficulty when presented with face deformities, such as scarring. The eigenface method also has problems identifying faces in different light levels and pose positions. The face must be presented to the system as a frontal view in order for the system to work. When the eigenface method is combined with the eigenfeatures method, the system becomes much more versatile. Greater accuracy can be achieved because of the eigenfeatures method's ability to identify faces with variations such as beards and glasses.

C ({ i }) =

1 M

i =1

T i

i = AAT

where A is a column-wise concatenation of all the

i , i.e., A = [ 1 2 .... M ]
The matrix C, is however N2x N2 and determining N2 eigenvectors and eigen values is an intractable task for typical image sizes. Generally the number of images M are very small compare to N2.so, efficient way to calculate the eigen vector is to first solve for eigen vectors of M by M matrix and then taking appropriate linear combinations of face images. This is shown in next step. 5. The eigen values and eigen vectors of L= AT A are calculated i.e. AT Avi = i vi It is important to note that the size of L is only M M . 6. The eigenvectors of covariance matrix C is calculated using the following relation

EE603: DSP Application Assignment

III.

MATLAB IMPLEMENTATION

IV. RESULTS
The training set of images read into Matlab is shown in Fig. 1. The mean image and the Eigenfaces obtained for our training set are shown in Fig. 2 and Fig. 3.

A digital camera was used to create a face database by capturing the images of different people. Care was taken to ensure that the lighting conditions were similar and background variations were minimized. The images captured were then

converted to grayscale and resized so as to achieve realistic speeds in the computer processing. The

algorithm as outlined in the previous section was implemented. Since the size of our database is small we used a relatively large size (200x250) images. However, it must be noted that the size of our database is sufficient to demonstrate the working of the Eigenface algorithm. In the actual DSP implementation the size of the images must be small because of the memory restrictions on the DSP. As mentioned in step 9 of the algorithm, we used the Euclidean distance as a measure to recognize the faces. First we input a known image and observed the Euclidean distance. This distance tells us how close the input image is from the images on our training set. The maximum Euclidean distance for a known face was in the range 30000 to 35000.The minimum Euclidean distance for a known face was in the range 25000 to 26000. Based on these distances obtained for our training set a program was written that computes the Euclidean distance for a new face and compares the same with the above values. It was noted that for an image that is not a face both minimum and maximum euclidean distances were above 30,000. For a face in the database the euclidean distances were in the ranges specified above. If either of these criteria are not satisfied then we conclude that the image is a face not within the database. The system thus specifies whether the image is a face or not a face, and if a face then if the image present in the database or not.
Fig.3 The eigenfaces obtained for the training set. The threshold for including an eigenface was kept low and hence all the eigenfaces are shown. Fig.2 Figure shows the mean image that was obtained. Note that the mean image contains features from all the faces. Fig.1 The training set of images read into matlab

EE603: DSP Application Assignment

The program attempts to reconstruct the input image from the eigenfaces. At this step any image will be reconstructed as a face with varying degrees of clarity. Fig 4 shows the reconstructed image for a non face input that is successfully identified as a Non Face. Conditions for successful recognition: As mentioned in section II, the eigenface method is sensitive to changes in background, variations in light intensity, etc. This aspect is highlighted in Fig. 8.
Fig.6 A input image that is successfully identified as a face within the database.

Fig.4 A input image that is not a face and the corresponding reconstructed image are shown in this figure. The program identified this image as Non face and specifies that in the title of the reconstructed image.

Fig.7 A input image that is successfully identified as a face within the database

Fig.5 A input image that is successfully identified as a face not within the database.

Fig.8 A input image that is wrongly identified as face not within the database. This, we believe, is because of the change in background.

EE603: DSP Application Assignment

V. DSP IMPLEMENTATION

Face recognition applications require powerful processors. Most of the face recognition algorithms are implemented on general-purpose computers and are therefore not suitable for embedded systems. There is a need for more cost-effective and low power implementation of these algorithms. In this aspect fast DSP processor attracts more attention. Further, DSP provides very fast multiply and add instructions, which are can be used in math-intensive signal processing applications like face recognition. The DSP can have a large external memory while its internal memory internal is limited. memory Therefore, should be fast used An alternative approach to recognition: Since in our program we reconstruct the input image, we believe we can apply the concept of correlation from signal processing to recognize faces. There will be high degree of correlation between the input image and the reconstructed image only when the input image belongs to the database. Thus, crosscorrelation can be used as a measure to recognize the faces. We were not fully successful in implementing this approach. Some features of the proposed system: 1. A 32bit Floating Point DSP Processor is needed, since image-processing data has a wide dynamic range. 2. DSP capable of executing parallel instructions to take advantage of the inherent parallelism present in vector-matrix arithmetic
Fig.9 A simplified block diagram of a DSP based face recognition application

processing

efficiently. In a practical face recognition system, an external memory is used to store the recognition program and the initial training set is loaded dynamically at startup. Eigenface algorithm mentioned discussed above operates on floating point numbers. A 32 bit floating-point DSP with DMA is suitable candidate for this application.
.

VI. FUTURE SCOPE


An enhancement of our program would be to include face detection as well. In most applications the input data is a frame captured by a camera. The program has to first identify the location of face and then perform the recognition procedure. We noted that the background variations could impact the success of the algorithm. Filtering can be used to reduce the background variation and thereby improve the accuracy of the system. The algorithm used can be adapted to other applications like number/pattern recognition. It must also be pointed out that although there are commercial face recognition systems available in
5 EE603: DSP Application Assignment

3. External memory whose size scales with the


number of images in the training set. Typically 4 MB.

4. DMA to achieve higher speeds. Since the


application involves a large amount of data transfer, typically memory access becomes a bottleneck.

market, the effectiveness still being debated.


REFERENCES

[1] M. Turk, A. Pentland, Eigenfaces for Recognition, Journal of Cognitive Neurosicence, Vol. 3, No. 1, 1991, pp. 71-86 [2] W. Zhao, R. Chellappa, A. Rosenfeld, P.J. Phillips, Face Recognition: A Literature Survey, ACM Computing Surveys, 2003, pp. 399-458. [3] A.U. Batur, B. E Flinchbaugh, M H, Hayes, A DSP-Based Approach For The Implementation Of Face Recognition Algorithms, ICASSP, 2003. [4] Bo-Ya Chen, Guang-Da Su,Ya-Feng Deng, 2 channel Parallel Face Detection Board Using Two TMS320C6201 DSPs, Proceedings of the Fourth International Conference on Machine Learning and Cybernetics, Guangzhou, 18-21 August 2005 [5] Randall, N. (1999, April 6). Biometric basics. PC Magazine, 193-202. [6] Lau Technologies. (1999). Facial recognition technology. Retrieved September 25, 1999 from the World-Wide-Web: http://www.lautechnologies.com/Pages/Facial Recognition.htm. [7] Face Recognition Homepage: World Wide Web http://www.face-rec.org/

EE603: DSP Application Assignment

Anda mungkin juga menyukai