This action might not be possible to undo. Are you sure you want to continue?

BooksAudiobooksComicsSheet Music### Categories

### Categories

### Categories

Editors' Picks Books

Hand-picked favorites from

our editors

our editors

Editors' Picks Audiobooks

Hand-picked favorites from

our editors

our editors

Editors' Picks Comics

Hand-picked favorites from

our editors

our editors

Editors' Picks Sheet Music

Hand-picked favorites from

our editors

our editors

Top Books

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Audiobooks

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Comics

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Sheet Music

What's trending, bestsellers,

award-winners & more

award-winners & more

Welcome to Scribd! Start your free trial and access books, documents and more.Find out more

1

CHAPTER 1 INTRODUCTION

1.1 Introduction to face recognition

Face recognition by humans is a high level visual task for which it has been extremely difficult to construct detailed neurophysiological and psychophysical models. This is because faces are complex natural stimuli that differ dramatically from the artificially constructed data often used in both human and computer vision research. Thus, developing a computational approach to face recognition can prove to be very difficult indeed. In fact, despite the many relatively successful attempts to implement computerbased face recognition systems, we have yet to see one which combines speed, accuracy, and robustness to face variations caused by 3D pose, facial expressions, and aging. The primary difficulty in analyzing and recognizing human faces arises because variations in a single face can be very large, while variations between different faces are quite small. That is, there is an inherent structure to a human face, but that structure exhibits large variations due to the presence of a multitude of muscles in a particular face. Given that recognizing faces is critical for humans in their everyday activities, automating this process would be very useful in a wide range of applications including security, surveillance, criminal identification, and video compression. This paper discusses a new computational approach to face recognition that, when combined with proper face localization techniques, has proved to be very efficacious. This section begins with a survey of the face recognition research performed to date. The proposed approach is then presented along with its objectives and the motivations for choosing it. The section concludes with an overview of the structure of the paper.

Face Recognition A facial recognition system is a computer-driven application for automatically identifying a person from a digital image. It does that by comparing selected facial features in the live image and a facial database. It is typically used for security systems and can be compared to other biometrics such as fingerprint or eye iris recognition systems. The great advantage of facial recognition system is that it does not require aid from the test subject. Properly

Dept. Of E.C.E

Sri Krishnadevaraya Engg. College,Gooty.

High speed face recognition using DCT and Neural networks

2

designed systems installed in airports, multiplexes and other public places can detect the presence of criminals among the crowd. History of Face Recognition The development and implementation of face recognition systems is totally dependent in the development of computers, since without computers the efficient use of the algorithms is impossible. So the history of face recognition goes side by side with the history of computers. Research in automatic face recognition dates back at least until the 1960¶s. Bledsoe, in 1966, was the first to attempt semi-automated face recognition with a hybrid human computer system that classified faces on the basis of fiducial marks entered on photographs by hand. Parameters for the classification were normalized distances and ratios among points such as eye corners, mouth corners, nose tip and chin point. Later work at Bell

laboratories(Goldstein, Harmon and Lesk,1971; Harmon, 1971) developed a vector of upto 21 features and recognized faces using standard pattern classification techniques. The chosen features were largely subjective evaluation (e.g. shade of hair, length of ears, lip thickness) made by human subjects, each of which would be difficult to automate. An early paper by Fischler and Elschlager (1973) attempted to measure similar features automatically. They described a linear embedding algorithm that used local feature template matching and a global measure of fit to find and measure facial features. This template matching approach has been continued and improved by recent work of Yuille, Cohen and Hallinan (1989). Their strategy is based on ³deformable templates´, which are parameterized models of the face and its features in which the parameter values are determined by interaction with the image.Connectionalist approach to face identification seeks to capture the configurational or gestate-like nature of the task. Kohonen (1989) and Kohonen and Lahito (1981) describe an associative network with a simple learning algorithm that can recognize (classify) face images and recall a face image from an incomplete or noisy version input to the network. Fleming and Cottrell (1990) extend these ideas using nonlinear units, training the system by back propagation. Stonham¶s WISARD system (1986) is a general pattern recognition devise based on neutral net principles. It has been applied with some success to binary face images, recognizing both identity and expression. Most connectionist system dealing with faces treat the input image as a general 2-D pattern, and can make no explicit use of the configurational prosperities of face. Moreover, some of these systems require an inordinate number of training examples to achieve a reasonable level of performance. Kirby

Dept. Of E.C.E Sri Krishnadevaraya Engg. College,Gooty.

High speed face recognition using DCT and Neural networks

3

and Sirovich were among the first to apply principal component analysis (PCA) to face images and showed that PCA is an optimal compression scheme that minimizes the mean squared error between the original images and their reconstructions for any given level of compression. Turk and Pentland popularized the use of PCA for face recognition. They used PCA to compute a set of subspace basis vectors (which they called ³eigenfaces´) for a database of face images and projected the images in the database into the compressed subspace. New test images were then matched to images in the database by projecting them onto the basis vectors and finding the nearest compressed image in the subspace(eigenspace). The initial success of eigenfaces popularized the idea of matching images in compressed subspaces. Researchers began to search for other subspaces that might improve performance. One alternative is Fisher¶s Linear Discriminant Analysis (LDA, a.k.a. ³fisherfaces´). For any N-class classification problem, the goal of LDA is to find the N-1 basis vectors that maximize the interclass distances while minimizing the intraclass distances.

**1.2 Outline of a Typical Face Recognition System
**

The acquisition module This is the entry point of the face recognition process. It is the module where the face image under consideration is presented to the system. In other words, the user is asked to present a face image to the face recognition system in this module. An acquisition module can request a face image from several different environments: The face image can be an image file that is located on a magnetic disk, it can be captured by a frame grabber and camera or it can be scanned from paper with the help of a scanner. The pre-processing module In this module, by means of early vision techniques, face images are normalized and if desired, they are enhanced to improve the recognition performance of the system. Some or all of the pre-processing steps may be implemented in a face recognition system The feature extraction module After performing some pre-processing (if necessary), the normalized face image is presented to the feature extraction module in order to find the key features that are going to be used for classification. In other words, this module is responsible for composing a feature vector that is well enough to represent the face image.

Dept. Of E.C.E

Sri Krishnadevaraya Engg. College,Gooty.

High speed face recognition using DCT and Neural networks

4

The classification module In this module, with the help of a pattern classifier, extracted features of the face image is compared with the ones stored in a face library (or face database). After doing this comparison, face image is classified as either known or unknown. Principal component analysis, based on information theory concepts, seeks a computational model that best describes a face, by extracting the most relevant information contained in that face. Eigenfaces approach is a principal component analysis method, in which a small set of characteristic pictures are used to describe the variation between face images. Goal is to find out the eigenvectors (Eigenfaces) of the covariance matrix of the distribution, spanned by a training set of face images. represented by a linear combination of these eigenvectors. Evaluations of these eigenvectors are quite difficult for typical image sizes but, an approximation that is suitable for practical purposes is also presented. Recognition is Later, every face image is

performed by projecting a new image into the subspace spanned by the Eigenfaces and then classifying the face by comparing its position in face space with the positions of known individuals. Eigenfaces approach seems to be an adequate method to be used in face recognition due to its simplicity, speed and learning capability. Experimental results are given to demonstrate the viability of the proposed ³face recognition method´.

**1.3 Introduction to Digital Image Processing
**

Information carrying function of time is called signal. Real time signals can be audio(voice) or video(image) signals. Still video is called an image. Moving image is called a video. Difference between digital image processing and signals and systems is that time graph is not there in DIP. X and Y coordinates in DIP are spatial coordinates. Time graph is not there because photo doesn¶t change with time. What is image? Image : An image is defined as a two dimensional function f(x, y) where x and y are spatial coordinates and the amplitude µf¶ at any point (x, y) is known as the intensity of image at that point.

Dept. Of E.C.E

Sri Krishnadevaraya Engg. College,Gooty.

High speed face recognition using DCT and Neural networks

5

What is a pixel? Pixel : A pixel(short for picture element) is a single point in a graphic image. Each such information element is not really a dot, nor a square but an abstract sample. Each element of the above matrix is known as a pixel where dark = 0 and light = 1. A pixel with only 1 bit will represent a black and white image. If the number of bits are increased then the number of gray levels will increase and a better picture quality is achieved. All naturally occurring images are analog in nature. If the number of pixels is more then the clarity is more. An image is represented as a matrix in DIP. In DSP we use only row matrices. Naturally occurring images should be sampled and quantized to get a digital image. A good image should have 1024*1024 pixels which is known as 1k * 1k = 1M pixel.

**1.4 Fundamental steps in DIP
**

Image acquition : Digital image acquisition is the creation of digital images typically from a physical object. A digital image may be created directly from a physical scene by a camera or similar device. Alternatively it can be obtained from another image in an analog medium such as photographs, photographic film, or printed paper by a scanner or similar device. Many technical images acquired with tomographic equipment, side-looking radar, or radio telescopes are actually obtained by complex processing of non-image data.

Image enhancement : The process of image acquisition frequently leads to image degradation due to mechanical problems, out-of-focus blur, motion, inappropriate illumination and noise. The goal of image enhancement is to start from a recorded image and to produce the most visually pleasing image.

Image restoration : The goal of image restoration is to start from a recorded image and to produce the most visually pleasing image. The goal of enhancement is beauty. The goal of restoration is truth. The measure of success in restoration is usually an error measure between the original and the estimate image. No mathematical error function is known that corresponds to human perceptual assessment of error.

Dept. Of E.C.E

Sri Krishnadevaraya Engg. College,Gooty.

Dept. . This latter group is also referred to as the background. College. green and blue. Wavelet and multiresolution processing : Many times a particular spectral component occurring at any instant can be of particular interest. Of E. MRA analyzes the signal at different frequencies with different resolutions. Wavelet transform is capable of providing the time and frequency information simultaneously. Segmentation: In the analysis of the objects in images it is essential that we can distinguish between the objects of interest and ³the rest´. Hence 3 matrices are necessary each one representing each colour.Gooty. The techniques that are used to find the objects of interest are usually referred to as segmentation techniques. Its objective is to reduce redundancy of the image data in order to be able to store or transmit data in an efficient form.C. Since these techniques rely only on the relative ordering of pixel values not on their numerical values they are especially suited to the processing of binary images and grayscale images. Compression: Image compression is the application of data compression on digital images.E Sri Krishnadevaraya Engg. Morphological processing: Morphological processing is a collection of techniques for DIP based on mathematical morphology. In these cases it may be very beneficial to know the time intervals these particular spectral components occur.High speed face recognition using DCT and Neural networks 6 Colour image processing : Colour image processing is based on that any colour can be obtained by mixing 3 basic colours red. Although the time and frequency resolution problems are results of a physical phenomenon ( the Heisenberg uncertainty principle ) and exist regardless of the transform used. in EEGs the latency of an event-related potential is of particular interest. MRA is designed to give good time resolution and poor frequency resolution at high frequencies and good frequency resolution and poor time resolution at low frequencies. For example. it is possible to any signal by using an alternative approach called the multiresolution analysis (MRA). hence giving a time-frequency representation of the signal.

Furthermore. such as eyes.C. . Fusion To fuse the local information.1 Discrete Cosine Transformation (DCT) DCT is a well-known signal analysis tool used in compression standards due to its compact representation power. the extracted features from 8x8 pixels blocks can be combined at the feature level or at the decision level. Local Appearance Based Face Representation Local appearance based face representation is a generic local approach and does not require detection of any salient local regions. Of E.High speed face recognition using DCT and Neural networks 7 CHAPTER 2 FACE RECOGNITION USING DCT 2. From the remaining DCT coefficients the ones containing the highest information are extracted via zigzag scan. Feature Fusion In feature fusion. Local appearance based face representation can be performed as follows: A detected and normalized face image Implementation of face recognition system is divided into blocks of 8x8 pixels size. as in the modular or component based approaches [5. the DCT coefficients obtained from each block are concatenated to construct the feature vector which is used by the classifier. which makes it a very useful tool for signal representation both in terms of information packing and in terms of computational complexity due to its data independent nature. College. Although Discrete Cosine transform (KLT) is known to be the optimal transform in terms of information packing. DCT closely approximates the compact representation ability of the KLT. Dept.Gooty. Each block is then represented by its DCT coefficients. 10] for face representation. The reason for choosing a block size of 8x8 pixels is to have smallenough blocks in which stationarity is provided and transform complexity is kept simple on one hand. The top-left DCT coefficient is removed from the representation since it only represents the average intensity value of the block.E Sri Krishnadevaraya Engg. its data dependent nature makes it unfeasible for use in some practical tasks. and to have big enough blocks to provide sufficient compression on the other hand.

1989). (2. and Rao (1974) first introduced the discrete cosine transform (DCT) in the early seventies.High speed face recognition using DCT and Neural networks 8 Decision Fusion In decision fusion. In particular.2 Definition Ahmed. The variance distribution for the various discrete transforms is usually measured when the input sequence is a stationary first-order Markov process (Markov-1 process). 1991). DCT-III. 1989). and several variants have been proposed (Rao and Yip. DCT-II was the one first suggested by Ahmed et al. the DCT was categorized by Wang (1984) into four slightly different transformations named DCT-I.E Sri Krishnadevaraya Engg. and it is the one of concern in this paper. (2. Thus. which is expected since the process is stationary (Jain. Compression Performance in Terms of the Variance Distribution The Karhunen-Loeve transform (KLT) is a statistically optimal transform based on a number of performance criteria. The matrix in Eq. Such a process has an autocovariance matrix of the form Shown In Eq. This is so because such a transform would require less information to be stored and used for recognition. The error criterion generally used when reconstructing from truncated transforms is the mean-square error (MSE). classification is done separately on each block and later. This criterion judges the performance of a discrete transform by measuring its variance distribution for a random sequence having some specific probability distribution function (Rao and Yip. Dept. In this respect.6) is aToeplitz matrix. . Of E. and DCT-IV. One of these Criteria Is the variance distribution of transform coefficients. a transform exhibiting largevariance distributions for a small number of coefficients is desirable. the individual classification results are combined. Natarajan. In terms of pattern recognition. it is noted that dimensionality reduction is perhaps as important an objective as class separability in an application such as face recognition. College.Gooty. the DCT has been shown to approach the optimality of the KLT (Pratt. as well as others.. the DCT has grown in popularity.C. 1990). DCT-II. Of the four classesWang defined. It is desirable to have a small number of transform coefficients with large variances such that all other coefficients can be discarded with little error in the reconstruction of signals from the ones retained. Thus. Ever since. To combine the individual classification results 2.6) and provides a good model for the scan lines of gray-scale images (Jain. 1990).

Advantages. Applications. The data for this curve were obtained directly from Rao and Yip (1990) in which Dept. 1990).R..E Sri Krishnadevaraya Engg. New York: Academic. Ní1 1 . Data is shown for the following transforms: discrete cosine transform (DCT).C.9. Rao and P. Yip.Gooty. Figure 2.6) Face Recognition Using the Discrete Cosine Transform 171 Figure 2. Discrete Cosine Transform² Algorithms. discrete sine transform (type I) (DST-I). . . slant transform (ST).High speed face recognition using DCT and Neural networks 9 the variance distribution measures are usually computed for random sequences of leng N th that result in an auto-covariance matrix of the form: R= 1 2 . and Karhunen-Loeve transform (KLT).1 Variance distribution for a selection of discrete transforms for N = 16 and = 0.9 (adapted from K. College.1 shows the variance distribution for a selection of discrete transforms given a first-order Markov process of length N = 16 and = 0.. discrete sine transform (type II) (DST-II). | | < 1 ««««««««««««««««(2. discrete Fourier transform (DFT).. 1 correlation coeff. Of E. Ní2 Ní1 Ní2 .

when compared to other deterministic transforms. only those with the highest corresponding eigenvalues are usually retained to form the KLT basis set. Comparison with the KLT The KLT completely decorrelates a signal in the transformdomain. Of E. are extremely useful in pattern recognition applications.Gooty. Both of these observations highlight the potential of the DCT for data compression and. feature extraction. the covariance matrix of interest is given by C = A AT (2.7) where A is a matrix whose columns are the M training images (after having an average face image subtracted from each of them) reshaped into N2-element vectors. All of these properties. 1976). the computation of the eigenvectors of C may be intractable. and minimizes the total representation entropy of the input sequence (Rosenfeld and Kak. because M is usually much smaller than N2 in face recognition. In particular. contains the most energy (variance) in the fewest number of transform coefficients. the eigenvectors of C can be obtained more efficiently by computing the eigenvectors of another smaller matrix (see (Turk and Pentland. particularly the first two. The computation of the KLT essentially involves the determination of the eigenvectors of a covariance matrix of a set of training sequences (images in the case of face recognition). say. 1991) for details). The purpose here is to illustrate that the DCT variance distribution. as discussed in Turk and Pentland (1991). Once the eigenvectors of C are obtained. given M trainingimages of size.E Sri Krishnadevaraya Engg. more importantly. decreases most rapidly.High speed face recognition using DCT and Neural networks 10 other curves for different lengths are also presented. N × N. which confirms its near optimality. Note that because of the size of A. The DCT variance distribution is also very close to that of the KLT. minimizes MSE in data compression. . College.C. However. One measure for the fraction of eigenvectors retained for the KLT basis set is given by = M_ _l=1 l M _l=1 l Dept.

2 It is thus concluded that the discrete cosine transform is very well suited to application in face recognition. (2. the KLT basis functions are data-dependent. 172 Hafed and Levine As for the computational complexity of the DCT and KLT. is alleviated with the DCT. this equivalence also explains the near optimal performance of the DCT based on a handful of other criteria such as energy packing efficiency. and mean-square error in estimation (Rao and Yip. College. in the case of a first-order Markov process.Gooty.E Sri Krishnadevaraya Engg. theDCTexhibits striking feature extraction and data compression capabilities. In fact. since the KLT has been shown to be very effective in face recognition (Pentland et al.C. the DCT of the same image can be computed in O(N2log2N) time because of its relation to the discrete Fourier transform²which can be implemented efficiently using the fast Fourier transform (Oppenheim and Schafer. As for online feature extraction. these basis functions can be found analytically (Rao and Yip. it is expected that a deterministic transform that is mathematically related to it would probably perform just as well in the same application. Of E. It is this asymptotic equivalence that explains the near optimal performance of the DCT in terms of its variance distribution for first-order Markov processes.6)) 1 for any given N (Rao and Yip. In comparison. (2. Because of the similarity of its basis functions to those of theKLT.1990). Moreover. This overhead in computation. Specifically. This provides a strong justification for the use of the DCT for face recognition. . it is evident from the above overview that theKLT requires significant processing during training.High speed face recognition using DCT and Neural networks 11 where l is the lth eigenvalue ofC and M_ is the number of eigenvectors forming the KLT basis set. these functions can be shown to be asymptotically equivalent to the DCT basis functions as (Eq. 1994).6)) and as N for any given (of Eq. albeit occurring in a non-time-critical off-line training process. since its basis set is data-dependent.7). coupled with these. This means that the DCT can be computationally more efficient than the KLT depending on the size of the KLT basis set. residual correlation. In fact.. 1990). 1990). Now. the ease and speed of the computation of theDCT may even favor it over the KLT in face recognition. (2. Dept. As can be seen from the definition of C in Eq. the KLT of an N × N image can be computed in O(M_N2) time where M_ is the number of KLT basis vectors. 1989).

This is different from the use of the DCT in the JPEG compression standard (Pennebaker and Mitchell. then the Euclidean distance between the two is d =_( f0 ív0)2 +( f1 ív1)2+ where v = [v0 v1 . This feature vector contains the low-to-mid frequency DCT coefficients. This comparison is based on features extracted using the DCT. the system compares this face¶s feature vector to the feature vectors of the database faces using a Euclidean distance nearest-neighbor classifier (Duda and Hart. it can be compared to other faces. . and illumination conditions. . A match is obtained by minimizing d.1 Basic Algorithm The face recognition algorithm discussed in this paper is depicted in Fig. .1 It involves both face normalization and recognition.High speed face recognition using DCT and Neural networks 12 CHAPTER 3 FACE NORMALIZATION AND RECOGNITION 3. under the same nominal size. 3. This requirement is not a major limitation because the algorithm can easily be invoked after running a localization system such as the one presented in Jebara (1996) or others in the literature. 1973). College. (3. (3. The use of the DCT on individual subsets of an image. position. Of E.Gooty. As can be seen from Fig 3. Note that this approach computes the DCT on the entire normalized image. . 1993).2) and M is the number of DCT coefficients retained as features. The basic idea here is to compute the DCT of the normalized face and retain a certain subset of the DCT coefficients as a feature vector Describing this face. the eye coordinates of the input faces need to be entered manually in order to normalize the faces correctly. It then executes both geometric and illumination normalization functions as will be described later. fMí1]«««««««««««««««««««««.1) Dept. as +( fMí1 ívMí1)2««««««.C.2. orientation. vMí1]T f = [ f0 f1 .E Sri Krishnadevaraya Engg. Since face and eye localization is not performed automatically. To recognize a particular input face. the system receives as input an image containing a face along with its eye coordinates. as these are the ones having the highest variance. Once a normalized (and cropped) face is obtained. in which the DCTis computed on individual subsets of the image. If the feature vector of the probe is v and that of a database face is f. .

be quite small. Of E. In other words. the system could end up declaring an input face as unknown even though it exists in the gallery. as will be seen in the next section. as will be illustrated later. College. Otherwise. note that this approach basically assumes no thresholds on d. (2000).E Sri Krishnadevaraya Engg. If a threshold q is defined on d. As an illustration. In this way. then the gallery face that minimizes d would only be output as the match when d <q. and no probe is ever rejected as unknown. the system described always assumes that the closest match is the correct match. 1997). Figure3. at the cost ofa certain number of rejections.Gooty. Suitable values of q can be obtained using the so-called Receiver Operating Characteristic curve (ROC) (Grzybowski and Younger.High speed face recognition using DCT and Neural networks 13 in the JPEG standard.C. . but. the probewould be declared asunknown. Dept. of course. one can actually define a threshold to achieve 100% recognition accuracy.1 Face recognition system using the DCT. for face recognition has been proposed in Shneier and Abdel-Mottaleb (1996) and Eickeler et al. That is. Also.

. square subsets. Most of the discarded coefficients have magnitudes less than 1.3. in the case of face recognition.2 (b). College. Thus there is an order of 10. we note that the DC term is more than 15. but it can in fact Face Recognition Using the Discrete Cosine Transform Fig. and Fig. The size of this subset is chosen such that it can sufficiently represent a face.High speed face recognition using DCT and Neural networks 14 Feature Extraction To obtain the feature vector representing a face. In fact. looking at Fig.2(b) shows the low-to-mid frequency 8 × 8subset of its DCT coefficients.C.Gooty.2(a) shows a sample image of a face. For the purposes of this paper.000 and the minimum magnitude in the presented set of coefficients is less than 1. Its DCT is computed. similar to the one shown in Fig. Of E.2(b). 3. 3.000 reduction in coefficient magnitude in the first 64 DCT coefficients. and only a subset of the obtained coefficients is retained. It can be observed that the DCT coefficients exhibit the expected behavior in which a relatively large amount of information about the original image is stored in a fairly small number of coefficients. That is. data compression ratios larger than the ones necessary to render accurate reconstruction of input images are175 Hafed and Levine (a) (b) encountered Dept. It should be noted that the size of the subset of DCT coefficients retained as a feature vector may not be large enough for achieving an accurate reconstruction of the input image.E Sri Krishnadevaraya Engg. are used for the feature vectors.3.

of course. it may be the case that one chooses to use more DCT coefficients to represent faces. because by adding them. In fact. 1996). there could be a cost associated with doing so.E Sri Krishnadevaraya Engg. Specifically. College.C. more coefficients do not necessarily imply better recognition results. one may actually be representing more irrelevant information (Swets and Weng.2 Typical face image (a) of size 128 × 128 and an 8 × 8 subset of its DCT (b).3 shows the effect of using a feature vector of size 64 to reconstructa typical face image. because accurate reconstruction is not a requirement. Dept. Figure 3. Of E. has no ramifications on the performance evaluation ofthe system.High speed face recognition using DCT and Neural networks 15 Figure 3. . However. This observation.Gooty. Now. this situation was also encountered in Turk and Pentland (1991) where the KLT coefficients used in face recognition were not sufficient to achieve a subjectively acceptable facial reconstruction.

High speed face recognition using DCT and Neural networks 16 (a) (b) Figure 3. Face Recognition Using Dept.C.Gooty. College. .E Sri Krishnadevaraya Engg.2 Normalization Two kinds of normalization are performed in the proposed face recognition system. Of E.3 Effect of reconstructing a 128 × 128 image using only 64 DCT coefficients: (a) original (b) reconstructed. The first deals with geometric distortions due to varying imaging conditions. 3.

High speed face recognition using DCT and Neural networks 17 the Discrete Cosine Transform 175 That is. and faces from two different scales were used as the probes. Thus it uses the image of a whole face and. scale. The reasoning here is that the variations in pixel intensities between different images of faces could be due to illumination conditions. The second kind of normalization deals with the illumination of faces. Geometry The proposed system is a holistic approach to face recognition. it is expected to be sensitive to variations in facial scale and orientation. To investigate the effects of scale on face recognition accuracy. In the figure. College. Normalization in this case is not very easily dealt with because illumination normalization could result in an artificial tinting of light colored faces and a corresponding lightening of dark colored ones. Of E.Gooty. as discussed in Section 1. it attempts to compensate for position. These experiments and their results are detailed in Section 4. Figure 3. faces at a single scale were used as the gallery faces. in a fair amount of detail in Section 4. This way. An investigation of this effect was performed in the case of the DCT to confirm this observation.5 illustrates how scale can degrade the performance of a face recognition system. the term ³Training Case´ refers to Figure 3.E Sri Krishnadevaraya Engg. and the stage is set for various experiments to test their effectiveness for face recognition. The labels refer to the experiments performed in Fig.4 Effect of varying scale on recognition accuracy. This database contains a subset of faces that only vary in scale.4.5 Three faces from the MIT database exhibiting scale variations. which is described. . along with the other databases studied. and minor orientation variations in faces. the issues involved in both kinds of normalization are presented. Figure 3. Dept. The data used for this test were from the MIT database. feature vectors are always compared for images characterized by the same conditions.C. 3. In the following two subsections.

Figure 3. the scale in the gallery images. Dept. Of E.C. 1991). College. That is.E Sri Krishnadevaraya Engg. upright pose. These results indicate that the DCT exhibits sensitivity to scale similar to that shown for the KLT (Turk and Pentland. .5 Examples of faces Figure 3. The geometric normalization we have used basically attempts to make all faces have the same size and same frontal. It also attempts to crop face images such that most of the background is excluded. and the terms ³Case 1´ and ³Case 2´ describe the two scales that were available for the probes. and 14 individuals of the MIT database were considered.5 shows examples of faces from the training set and from the two cases of scal investigated. To achieve this. it scales faces such that the eyes are176 Hafed and Levine Figure 3. it uses the input face eye coordinates and defines a transformation to place these eyes in standard positions.Gooty.High speed face recognition using DCT and Neural networks 18 64 DCT coefficients were used for feature vectors.6 Geometric normalization and the parameters used.

Note that we only require the eye coordinates of input faces in order to perform this normalization. As for the actual normalization technique implemented. no compensation is done for three-dimensional (in depth) pose variations.Gooty.6 is that the normalization performed accounts for only twodimensional perturbations in orientation. Of course. 3. and translate the image to place the eyes at set positions within a 128×128 cropping window (see Fig. scale the image (while maintaining the original aspect ratio) so that the eye centers are at a fixed distance apart (36 pixels). hair. That is. Of E. even if people are looking straight ahead (see Fig. This is a much more difficult problem to deal with. These rotations are the ones that may arise naturally. and they seemed appropriate given the variations in face geometry among people.6 were chosen to result in as little background. Thus no knowledge of individual face contours is available. it basically consists of defining and applying a 2-D affine transformation.3. Since we cannot tailor an optimal normalization and cropping scheme for each face without knowledge of its contours. Of course. 3. This normalization procedure is illustrated in Fig.8 illustrates the result of applying such a transformation on a sample face image. 3.always the same distance apart. Dept. Figure 3. larger 2-D rotations do not occur naturally and always include some 3-D aspect to them. and a satisfactory solution to it has yet to be found. the dimensions shown in Fig.E Sri Krishnadevaraya Engg. and it is similar to that proposed in Brunelli and Poggio (1993). and clothing information as possible. Given the eye coordinates of the input face image. 3. which obviously 2-D normalization does not account for. one could increase the robustness of a face recognition system to 3-D pose variations by including several training images containing such variations for a single person. Another observation we can make about Fig.High speed face recognition using DCT and Neural networks 19 The final image dimensions are 128 × 128. .C. The effect of doing this will be discussed in the next section. by two-dimensional perturbations in orientation. College.7 for an example). Also. based on the relative eye positions and their distance.6. which means that we cannot easily exclude the whole background from the normalized images. we mean slight rotations from the upright position.6). and it positions these faces in an image such that most of the background is excluded. the normalization procedure performs thefollowing three transformations: rotate the image so that the eyes fall on a horizontal line.

even though Turk and Pentland indicate that the correlation between face images under different lighting conditions remains relatively high (Turk and Pentland. obtained with different sensors under different lighting conditions.3 Illumination Illumination variations play a Significant role in degrading the performance of a face recognition system. we apply Hummel¶s histogram modification technique (Hummel. To compensate for illumination variations in our experiments. That is. . 1991).7 An example of naturally arising perturbations in face orientations. 1975).E Sri Krishnadevaraya Engg.C. we simply choose Face Recognition Using the Discrete Cosine Transform 177 Figure 3. In fact. Dept. experience has shown that for large databases of images.Gooty. special care must be expended to ensure that recognition thresholds are not affected. Of E.High speed face recognition using DCT and Neural networks 20 3. College.

In turn. It was found that the best compromise was achieved if the illumination of a single face is adjusted so as to compensate for possible non-uniform lighting conditions of the two halves Dept. 1996). and the net result is a loss of contrast in the facial images. then all histograms will be mapped onto one histogram that has a reduced dynamic range (due to averaging). Note the changes in scale. this loss of contrast makes all faces look somewhat similar. This is so because there could be tradeoffs involved in choosing such a target. It should be noted that another interesting approach to illumination compensation can be found in Brunelli (1997).C. That is.E Sri Krishnadevaraya Engg. and position. a target histogram and then compute a gray-scale transformation thatwould modify the input image histogram to resemble the target. and some vital information about these faces. Of E.Gooty. if an average face is considered as a target. The aim was to find an appropriate solution to this problem in order to improve the performance of our system. like skin color. especially if the face database contains a wide variety of skin tones. orientation. An illustration of the normalization performed on faces. This alleviates the need to train with multiple images under varying pose. is lost. The results of this study are documented in an unpublished report available from the authors (Hafed. The main conclusion that can be drawn from the study is that illumination normalization is very sensitive to the choice of target illumination. College. but it also has significant computational costs. . The key issue in illumination compensation is how to select the target illumination. An extensive study of illumination 178 Hafed and Levine compensation of faces for automatic recognition was done in conjunction with these experiments.High speed face recognition using DCT and Neural networks 21 Figure 3. in which computer graphics techniques are used to estimate and compensate for illuminant direction.8 The result of applying such a transformation on a sample face image.

At run-time.9 As can be seen. were used in the experimentation. the various modules used and the flowchart of operation. These were fairly extensive. College. and its face codes are extracted. Linear Discriminant Analysis (LDA) [2]. Specifically. . 3. we also test a local appearance based approach using PCA for the representation instead of DCT which will be named Local PCA in the paper. This section begins with a brief overview of the various face databases used for testing the system. That is. 3. The closest match is found by performing a search that basically computes Euclidean distances and sort the results using a fast algorithm (Silvester. This approach will be named ³local DCT + GMM´ in the remainder of the paper. with significant differences between them.C.4 Experiments This section describes experiments with the developed face recognition system. 1993). This stage can be thought of as a modeling stage. several databases. as well as another DCT based local approach. there is a pre-processing stage in which the face codes for the individual database images are extracted and stored for later use. if the illumination of faces in a database is sufficiently uniform. a test input is presented to the system. no inter-face normalization is performed. Independent Component Analysis (ICA). the results of illumination normalization really depend on the database being considered. A flowchart of the system described in the previous section is presented in Fig. no artificial darkening or lightening of faces occurs due to attempts to normalize all faces to a single target. 1994).E Sri Krishnadevaraya Engg. We compare the proposed local appearance-based approach with several well-known holistic face recognition approaches Principal Component Analysis (PCA) [15]. and the hallmark of the work presented here is that the DCT was put to the test under a wide variety of conditions. Of E. which uses Gaussian mixture models for modeling the distributions of feature vectors. Of course.High speed face recognition using DCT and Neural networks 22 of the same face. then illumination normalization techniques are redundant. Dept. and in this way. which is necessary even for human beings: we perform a correlation between what is seen and what is already known in order to actually achieve recognition (Sekuler and Blake. Moreover. the differences among these databases are highlighted. Then the experiments performed and their results are presented and discussed. For example.Gooty.

College.Gooty.9 Implementation of face recognition system Dept. . Of E.E Sri Krishnadevaraya Engg.C.High speed face recognition using DCT and Neural networks 23 Figure 3.

3. From these 11 face images. ³surprised´ .³glasses´.3. Fig.C.11 plots the obtained recognition results for the four approaches for varying number of coefficients (holistic and local approaches are plotted in different figures due to the difference in the dimension of used feature vectors in the classification). ³normal´. In all our experiments. Of E.10 Samples from the Yale database. the ones with annotations ³center light´.Gooty.E Sri Krishnadevaraya Engg. Fig. The face images are closely cropped and scaled to 64x64 resolution. Fig3. where for each individual.are used for testing. The test images with illumination from sides and with glasses are put in the test set on purpose in order to harden the testing conditions.10 depicts some sample images from the training and testing set. The remaining 6 images .High speed face recognition using DCT and Neural networks 24 Fig. we use 5 for training. ³right light´. It can be observed that while there¶s no significant performance difference between PCA. Second row: Samples from test set. the performances of PCA. ³sad´. First row: Samples from training set. In the first experiment. College. global DCT. ³left light´. ³no glasses´. there are 11 face images containing variations in illumination and facial expression. 3. local DCT and local PCA with feature fusion are examined with varying feature vector dimensions.5 Experiments on the Yale database The Yale face database consists of 15 individuals. ³sleepy´ and ³wink´.11 shows that Local DCT outperforms Local PCA significantly at each feature vector dimension which Dept. we use the nearest neighbor classifier with the normalized correlation d as the distance metric: 3. where the classification is done with Maximum-Likelihood. . local PCA and global DCT. except for the DCT+GMM approach. local DCT with feature fusion outperforms these three approaches significantly. ³happy´.

3.8% 72. 40 eigenvectors are chosen corresponding to 97.4% 58. the block-based DCT with decision fusion is examined.Rate 75.PCA vs. Table 1 depicts the obtained results. College.C. again with varying feature vector dimensions. the results obtained with PCA for local appearance represenation are much lower than those obtained with the local DCT representation. For comparison.From the results depicted in below Table it can be seen that the proposed approaches using local DCT features outperform the holistic approaches as well as the local DCT features modeled with a GMM. the results obtained when using PCA for local representation are also depicted in Table 3.92% of the energy content.9% Dept. which ignores location information.2% 74. 99% accuracy is achieved.1 Different database method and its recognition rate Method PCA(20) LDA(14) ICA 1(40) ICA 2(40) Global DCT(64) Local DCT(18)+GMM(8) as in [12] Local DCT +Feature Fusion (192) Local DCT (10)+Decision Fusion(64) Reco.6% 80.7% 98. Using 20 DCT coefficients. It can be seen that further improvement is gained via decision fusion.High speed face recognition using DCT and Neural networks 25 indicates that using DCT for local appearance representation is a better choice than using PCA.E Sri Krishnadevaraya Engg.Gooty.9% 86.0% 77. Next.11 Correct recognition rate versus number of used coefficients on the Yale database. 3. Of E. Fig. DCT.1 Overall. .

E Sri Krishnadevaraya Engg. through a learning process. Historical background Neural network simulations appear to be a recent development. Currently. important advances were made by relatively few researchers. ANNs like people. But the technology available at that time did not allow them to do too much.C. Dept. College. The first artificial neuron was produced in 1943 by the neurophysiologist warren McCulloch and the logician Walter Pits. such as pattern recognition or data classification. An ANN is configured for a specific application.Gooty. These pioneers were able to develop convincing technology which surpassed the limitations identified by Minsky and Papert. learn by example. The key element of this paradigm is the novel structure of the information processing system. This is true of ANNs as well. . During this period when funding and professional supports was minimal. It is composed of a large number of highly interconnected processing elements (neurons) working in unison to solve specific problems. Following an initial period of enthusiasm. this field was established before the advent of computers. published a book (in 1969) in which they summed up a general feeling of frustration (against neural networks) among researchers. Minsky and Papert . and has survived at least one major setback and several eras.High speed face recognition using DCT and Neural networks 26 CHAPTER 4 INTRODUTION TO NEURAL NETWORKS 4.1 What is a neural network? An artificial neural network (ANN) is an information processing paradigm that is inspired by the way biological nervous system. Learning in biological system involves adjustments to the synaptic connections that exist between the neurons. Many important advance have been boosted by the use of inexpensive computer emulations. process information. the neural network field enjoys a resurgence of interest and a corresponding increase in funding. and was thus accepted by most without further analysis. the field survived a period of frustration and disrepute. such as the brain. However. Of E.

Fault tolerance via redundant information coding: Partial destruction of a network leads to the corresponding degradation of performance. 4. College. This expert can then be used to provide projections given new situations of interest and answer ³what if´ questions. . A trained neural can be thought of as an ³expert´ in the category of information it has been given to analise. Unless the specific steps that the computer needs to follow are known the computer cannot solve the problems. Self . 2. But computers would be so much more useful if they could do things that we don¶t exactly know how to do.organisation: an ANN can create its own organization or representation of the information it receives during learning time. the computer follows a set of instructions in order to solve a problem. That restricts the problem solving capability of conventional computers to problems that we already understand and know how to solve. Real time operation: ANN computations may be carried out in parallel.Gooty. The example must be selected carefully otherwise Dept.High speed face recognition using DCT and Neural networks 27 4.E Sri Krishnadevaraya Engg. with their remarkable ability to derive meaning from complicated or imprecise data. Conventional computers use an algorithmic approach i. Neural network by an example.2 Why use neural networks? Neural networks. 1. They cannot be programmed to perform a specific task. Of E.3 Neural network versus conventional computers Neural networks take a different approach to problem solving than that of conventional computers. However.C. can be used to extract patterns and detect trends that are too complex to be noticed by either humans or other computer techniques. and special hardware devices are being designed and manufactured which take advantage of this capability. Neural networks process information in a similar way the human brains does. Other advantages Adaptive learning: an ability to learn how to do tasks based on the data given for training or initial experience. The network is Composed of a large number of highly interconnected processing elements(neurons) working in parallel to solve a specific problem. some network capabilities may be retained even with major network damage. 3.e.

conventional computers use a cognitive approach to problem solving. Neural networks and conventional algorithmic computers are not in competition but complement each other. These machines are totally predictable. of units: a layer of ³input´ units is connected to a layer of ³hidden´ units.High speed face recognition using DCT and Neural networks 28 useful time is wasted or even worse the network might be functioning incorrectly.4 Architecture of neural networks The commonest type of artificial neural network consists of three groups. The behaviour of the output units depends on the activity of the hidden units and the weights between the hidden and output units. 4. it¶s operation can be unpredictable. There are tasks are more suited to an algorithmic approach like arithmetic operations and tasks that are more suited to neural networks.Gooty. the way the problem is to solved must be known and stated in small unambiguous instruction. Even more. These instructions are then converted to a high level language program and then into machine code that the computer can understand. The activity of the input units represents the raw information that is fed into the network. The disadvantage is that because that because the network finds out how to solve the problem by itself. College. if anything goes wrong is due to a software or hardware fault. or layers. Dept. . a large number of tasks. On the other hand.C. require systems that use a combination of the two approaches (normally a conventional computer is used to supervise the neural network) in order to perform at maximum efficiency. Of E. which is connected to a layer of ³output´.E Sri Krishnadevaraya Engg. The activity of each hidden unit is determined by the activities of the input units and the weights on the connections between the input and the hidden units.

. College.C.Gooty.1 Back propogation to Nurel networks Dept.E Sri Krishnadevaraya Engg.4.High speed face recognition using DCT and Neural networks 29 Fig. Of E.

College. In more general fields of data processing. normalization is a process that changes the range of pixel intensity values. Applications include photographs with poor contrast due to glare.Gooty.2 Block diagram of the face recognition system using Eigenface algorithm Perform image pre-processing and normalization In image processing. . it is referred to as dynamic range expansion.High speed face recognition using DCT and Neural networks 30 Block Diagram Load training set images into database Perform image pre-processing and normalization Using Eigenface method calculate Eigen vectors & Eigen values of all images Face Recognition output Matching Algorithm Test image Figure 4.C. Dept. for example. Normalization is sometimes called contrast stretching. Of E. such as digital signal processing.E Sri Krishnadevaraya Engg.

Often. For example. Then each pixel intensity is multiplied by 255/130. signals. which have the same constant dimensions. hence the term normalization.C. Auto-normalization in image processing software typically normalizes to the full dynamic range of the number system specified in the image file format. College. into a range that is more familiar or normal to the senses. If the intensity range of the image is 50 to 180 and the desired range is 0 to 255 the process entails subtracting 50 from each of pixel intensity. Dept. the motivation is to achieve consistency in dynamic range for a set of data.Gooty. a newspaper will strive to make all of the images in an issue share a similar range of grayscale. so that two photographs of the same iris under different conditions will have characteristic features at the same spatial location.E Sri Krishnadevaraya Engg.High speed face recognition using DCT and Neural networks 31 The purpose of dynamic range expansion in the various applications is usually to bring the image. or other type of signal. . Of E. or images to avoid mental distraction or fatigue. making the range 0 to 130. Normalization is a linear process. The normalization process will produce iris regions. making the range 0 to 255.

In the plane. where Q is M with l subtracted from the main diagonal. Of E.E Sri Krishnadevaraya Engg. The y axis. but it continues to point in the same direction. Think of an eigen vector as an arrow whose direction is not changed. but some vectors will continue to point in the same direction. is subtle. or squashes down to 0. The entire kernel is known as the eigen space. The direction of the vector has been reversed. It may stretch. and of course it depends on the value of l. The eigen vector x lies in the kernel of the map implemented by Q.e. as a matrix. because all vectors move. or reverses course. as space is transformed. Multiply by K on the left to build the K vector space. or shrinks. It has been scaled by -1. in the above example. the reflection y = -y has the x and y axes as eigen vectors. . because it lives in the same line as the original vector. In this function.1 Finding Eigen Values and Vectors Given a matrix M implementing a linear transformation. and apply the transformation. what are its eigen vectors and values? Let the vector x represent an eigen vector and let l be the eigen value. as well as a field. 5. a rigid rotation of 90° has no eigen vectors.High speed face recognition using DCT and Neural networks 32 CHAPTER 5 EIGEN VECTOR VALUES OF IMAGE An eigen vector is a vector that is scaled by a linear transformation. An eigen vector stretches. The right side drops to 0. as illustrated by a spinning planet. However. and requires a field. and the left side is x*M-x*l*identity. yet we still call it an eigen vector. Rewrite lx as x times l times the identity matrix and subtract it from both sides. the following method for deriving eigen values and vectors is based on the determinant. The key is that the output vector is a constant (possibly negative) times the input vector. the eigen values corresponding to the two eigen vectors. An eigen value only makes sense in the context of an eigen vector. or shrink. but not moved. We must solve x*M = lx. such as the north pole. Most arrows will move. All other vectors move in the plane. i. x is scaled by 1 and y by -1. College. the arrow whose length is being changed. However.C. These concepts are valid over a division ring. Pull x out of both factors and write x*Q = 0.Gooty. Dept. on the right. The scaling factor of an eigen vector is called its eigen value. pointing in the opposite direction.

and so is the eigen space of l. This is not surprising.High speed face recognition using DCT and Neural networks 33 If the eigen space is nontrivial then the determinant of Q must be 0. let a linear map multiply the vectors v and w by the scaling factor l. and every eigen vector with eigen value l is spanned by b. The identity matrix. and an n -dimensional eigen space to go with it.E Sri Krishnadevaraya Engg. then derives the eigen space for each eigen value.e. Here x1 through xk are the eigen vectors. giving an n degree polynomial in l. Some eigen values will produce multiple eigen vectors.C. The vectors in b are eigen vectors. 3v+4w is also scaled by l. In summary. The Same Eigen Value Let two eigen vectors have the same eigen value. Conversely. namely the y axis. the entire space spanned by those vectors is an eigen space. Let R be the transpose of Q and solve R*x = 0. . Dept. The roots of this polynomial are the eigen values. In contrast. an eigen vector with some other eigen value lies outside of b. College.1|0. Thus c1x1 + c2x2 + « + ck xk = 0. with the same eigen value. to pull all the entries to the left of l. specifically. We are looking for the set of vectors x such that x*Q = 0.1]. This is illustrated by [1. This is a set of simultaneous equations that can be solved using gaussian elimination. has an eigen value of 1. This kernel is a vector space. and the eigen vector is 0. since the eigen vectors associated with l are precisely the kernel of the transfoormation defined by the matrix M with l subtracted from the main diagonal. by solving an n degree polynomial. an eigen value may have multiplicity > 1. By linearity. for instance. Suppose we have the shortest counterexample. Different Eigen Values Different eigen values always lead to independent eigen spaces.Gooty. Expand the determinant.1. an eigen space with more than one dimension. a somewhat straightforward algorithm extracts the eigen values. When a set of vectors has a common eigen value. Substitute each root in turn and find the kernel of Q. yet there is only one eigen vector. The eigen values are 1 and 1. There are at most n eigen values. i. with eigen value l. Of E. (This is where we need a field. a function that tilts the x axis counterclockwise and leaves the y axis alone. where x has become a column vector.) This is called the characteristic polynomial of the matrix. In fact every linear combination of v and w is scaled by l. and build a traditional polynomial. Select a basis b for the eigen space of l.

we selected the shortest list. More than one vector remains. Since lengths are preserved by a rotation. l is ±1. Furthermore. which is a contradiction. This gives a shorter linear combination of dependent eigen vectors that yields 0.C. The first 6 have eigen value l. Make this substitution and find a shorter list of dependent eigen vectors that do not all share the same eigen value. thus multiple eigen values are represented. about the eigen vector. Now take the sum of cixi and multiply by M on the right.High speed face recognition using DCT and Neural networks 34 and c1 through ck are the coefficients that prove the vectors form a dependent set. we will prove there are no other coefficients that carry the eigen vectors to 0. has an axis of rotation. Yet each coefficient is effectively multiplied by the eigen value for its eigen vector. In particular.E Sri Krishnadevaraya Engg.Gooty. So l = 1. In other words. We already showed these dependent eigen vectors cannot share a common eigen value. A rigid rotation in 3 space always has an axis of rotation. the vectors represent at least two different eigen values. That's why every planet. and not all eigen values are equal. then subtract. If these vectors are dependent then one of them can be expressed as a linear combination of the other 6. College. Let M implement the rotation. This does not change the fact that the sum of cixi is still zero. The image of 0 ought to be 0. 5. and the space rotates through some angle star. Remember. else cjxj = 0. If a set of coefficients carries our eigen vectors to 0. Let the first 7 vectors share a common eigen value l. and the rest have some other eigen value. scale them so the first coefficients in each set are equal. so this is a contradiction.2 Axis of Rotation Here is a simple application of eigen vectors. else they would be linearly independent. . However. Therefore the eigen vectors associated with any given eigen value are independent. The determinant of M. with l subtracted from its main diagonal. Of E. This is a shorter list of dependent eigen vectors with multiple eigen values. it must be a scale multiple of c1 c2 c3 « ck. Scale all the coefficients c1 through ck by a common factor s. and every cubic has at least one real root. not all eigen values are 0. If l is -1 we have a reflection. and xj is the 0 vector. gives a cubic polynomial in l. other than this scaling factor. every Dept. If there are two independent sets of coefficients that lead to 0. apply the linear transformation.

E Sri Krishnadevaraya Engg. .C.1 Flow chart for finding images are same or not Dept.Gooty. Of E.5. College.High speed face recognition using DCT and Neural networks 35 Matching Algorithm Here you can do Both images are Same Displays the results Match Found or Not Found Load training set images into database Calculate mean of all images Calculate Eigen vectors of the correlation matrix Calculate the minimized Euclidean distance of test image Determine if face Display match is not found Display Match Found End Fig.

3. face background can be removed.Gooty.E Sri Krishnadevaraya Engg. which can dramatically improve edge detection performance. It is the module where the face image under consideration is presented to the system. by means of early vision techniques. It modifies the dynamic range (contrast range) of the image and as a result. Image size (resolution) normalization: it is usually done to change the acquired image size to a default image size on which the face recognition system operates. face images are normalized and if desired. The pre-processing module In this module. 2. High-pass filtering: feature extractors that are based on facial outlines may benefit the results that are obtained from an edge detection scheme. High-pass filtering emphasizes the details of an image such as contours. . median filtering can clean the image without loosing information. In other words. This is especially important for face recognition systems where entire information contained in the image module should be capable of determining the face outline. the user is asked to present a face image to the face recognition system in this module. Of E.High speed face recognition using DCT and Neural networks 36 5. it can be captured by a frame grabber and camera or it can be scanned from paper with the help of a scanner. Dept. Median filtering: for noisy images especially obtained from a camera or from a frame grabber. An acquisition module can request a face image from several different environments: The face image can be an image file that is located on a magnetic disk.3 Outline a typical Face recognition system Modules in face recognition The acquisition module This is the entry point of the face recognition process.C. some important facial features become more apparent. College. 5. Histogram equalization: it is usually done on too dark or too bright images in order to enhance the image quality and to improve face recognition performance. 4. Some or all of the following pre-processing steps may be implemented in a face recognition system: 1. they are enhanced to improve the recognition performance of the system. Background removal: in order to deal primarily with facial information itself.

Gooty. The classification module In this module. Illumination normalization: face images taken under different illuminations can degrade recognition performance especially for face recognition systems based on the principal component analysis in which entire face information is used for recognition. In other words.C. 7. a face recognition system encounters various problems during the recognition process. face image is classified as either known or unknown.4 Problems that may occur during Face Recogni tion Due to the dynamic nature of face images. It is possible to classify a face recognition system as either ³robust´ or ³weak´ based on its recognition performances under these circumstances. Translational and rotational normalizations: in some cases. The head plays the key role in the determination of facial features.E Sri Krishnadevaraya Engg. The feature extraction and the classification modules adjust their parameters in order to achieve optimum recognition performance by making use of training sets. After doing this comparison. it may be desirable that the pre-processing module determines and if possible. normalizes the shifts and rotations in the head position. this module is responsible for composing a feature vector that is well enough to represent the face image. The feature extraction module After performing some pre-processing (if necessary). it is possible to work on a face image in which the head is somehow shifted or rotated. Training set Training sets are used during the ³learning phase´ of the face recognition process. normalization is done to account for this. Hence. 5.High speed face recognition using DCT and Neural networks 37 6. Dept. with the help of a pattern classifier. Of E. College. . the normalized face image is presented to the feature extraction module in order to find the key features that are going to be used for classification. Especially for face recognition systems that are based on the frontal views of faces. extracted features of the face image is compared with the ones stored in a face library (or face database).

2. Also. it should function under partially occluded images. the position and the strength of the light source can be modified.Gooty. 4. face images of the same person could be taken from frontal and profile views. Noise invariance: a robust face recognition system should be insensitive to noise generated by frame grabbers or cameras. 5.E Sri Krishnadevaraya Engg. Dept. head orientation may change due to translations and rotations. Shift invariance: the same face can be presented to the system at different perspectives and orientations. . Besides. Of E. This may happen due to the focal distance between the face and the camera.C. As this distance gets closer. Emotional expression and detail invariance: face images of the same person can differ in expressions when smiling or laughing. Scale invariance: the same face can be presented to the system at different scales. Also. beards or moustaches can be present. the face image gets bigger. Illumination invariance: face images of the same person can be taken under different illumination conditions such as.High speed face recognition using DCT and Neural networks 38 The objectives of a robust face recognition system are given below: 1. College. 3. For instance. some details such as dark glasses.

6. Data acquisition 4.Gooty. Math and computation 2.High speed face recognition using DCT and Neural networks 39 CHAPTER 6 DEVELOPING TOOLS 6. Toolboxes available for solving advanced problems in several application areas Features and capabilities of MATLAB Dept. 3.exploration ands visualization 5. A complete online help system 5. . It was written originally to provide easy access to matrix software developed by LINPACK (linear system package) and EISPACK (Eigen system package) projects. Scientific and engineering graphics The main features of MATLAB 1. Of E. matrix or vector oriented high level programming language for individual applications.It integrates computation visualization and programming in an easy to use environment Mat lab stands for matrix laboratory. A large collection of predefined mathematical functions and the ability to define one¶s own functions. College. Powerful. Advance algorithm for high performance numerical computation .E Sri Krishnadevaraya Engg. Two-and three dimensional graphics for plotting and displaying data 4.especially in the Field matrix algebra 2. Data analysis . MATLAB is therefore built on a foundation of sophisticated matrix software in which the basic element is matrix that does not require pre dimensioning Typical uses of MATLAB 1. Algorithm development 3.C.1 MATLAB Introduction MATLAB is a high performance language for technical computing .

How to use the debugger 5. . Basic flow control and programming language 2.Gooty.2 DIP using MAT LAB MATLAB deals with 1. Signal processing Image processing Control systems Neural Networks Communications Robust control Statistics Block Diagram 6. 5. How to write functions with matlab 4. Of E. How to write scripts (main functions) with matlab 3. 6. 7. 4.E Sri Krishnadevaraya Engg. College. How to use the graphical interface Dept.High speed face recognition using DCT and Neural networks 40 MATLAB MATLAB PROGRAMMING LANGUAGE User written / Built in functions Graphics 2-D graphics 3-D graphics Computation Linear algebra Signal processing External interface Interface with C and FORTRAN Tool boxes 1. 2.C. 3.

Matlab resources Language: High level matrix/vector language with o Scripts and main programs o Functions o Flow statements (for. Of E. Examples of useful scripts and functions for image processing After learning about matlab we will be able to use matlab as a tool to help us with our maths. The variables declared in a script are visible in the workspace and they can be saved. To create a script. write your code and run it. else) o data structures (struct.Gooty. College. neural networks. Scripts can therefore take a lot of memory if you are not careful.save) o object oriented programming. statistics. especially when dealing with images. while) o Control statements (if. you will need to start the editor.E Sri Krishnadevaraya Engg. .C. Environment o Command window. Dept. cells) o input/ouputs (read. signal & image processing. scripts are the equivalent of main programs. electronics. o Editor o Debugger o Profiler (evaluate performances) Mathematical libraries o Vast collection of functions API o Call c function from matlab o Call matlab functions from c Scripts and main programs In matlab.High speed face recognition using DCT and Neural networks 41 6. control and automation.write.

If the file is not in the current directory or in a directory in the MATLAB path.... Dept. [.ref) (HDF only) [....fmt) [.E Sri Krishnadevaraya Engg. If imread cannot find a file named filename.fmt. A is a three-dimensional (m-by-n-by-3) array. filename is a string that specifies the name of the graphics file..map.High speed face recognition using DCT and Neural networks 42 6. it looks for a file named filename. ..alpha] = imread(.. specify the full pathname for a location on your system.] = imread(filename) [.... College.) (PNG only) Description: A = imread(filename. If the file contains a truecolor (RGB) image. If you do not specify a string for fmt. [X.idx) (TIFF only) [....] = imread(filename) attempts to infer the format of the file from its content.. If the file contains a grayscale intensity image.1].. A is a two-dimensional array.] = imread(. and fmt is a string that specifies the format of the file..imread: Read images from graphics files.fmt) [X.C. The colormap values are rescaled to the range [0.Gooty.map] = imread(filename..3 MATLAB functions 1. the toolbox will try to discern the format of the file by checking the file header.BG) (PNG only) [A. Of E.. A and map are two-dimensional arrays.fmt) reads a grayscale or truecolor image named filename into A.'BackgroundColor'.] = imread(.] = imread(.fmt) reads the indexed image in filename into X and its associated colormap into map..map] = imread(filename. Syntax: A = imread(filename.

if idx is 3. idx is an integer value that specifies the order in which the image appears in the file.1 This table lists the possible values for fmt. .C. For example. A PNG file does not necessarily contain transparency data. which indicates the transparency status of each corresponding pixel in the image (transparent or nontransparent). PNG-Specific Syntax: The discussion in this section is only relevant to PNG files that contain transparent pixels.idx) reads in one image from a multi-image TIFF file. Another potential PNG component related to Dept. will be identified by one of two components: a transparency chunk or an alpha channel. when they exist.. imread reads the first image in the file.5020 can be displayed as transparent. e. not both.g.5020..] = imread(..E Sri Krishnadevaraya Engg.) The transparency chunk identifies which pixel values will be treated as transparent. Transparent pixels.Gooty. If you omit this argument. if the value in the transparency chunk of an 8-bit image is 0. all pixels in the image with the color 0. (A PNG file can only have one of these components..High speed face recognition using DCT and Neural networks 43 6. Format 'bmp' 'hdf' 'jpg' or 'jpeg' 'pcx' `png' 'tif' or 'tiff' 'xwd' File type Windows Bitmap (BMP) Hierarchical Data Format (HDF) Joint Photographic Experts Group (JPEG) Windows Paintbrush (PCX) Portable Network Graphics (PNG) Tagged Image File Format (TIFF) X Windows Dump (XWD) Special Case Syntax TIFF-Specific Syntax: [. Of E. To read all ages of a TIFF file. omit the idx argument. imread reads the third image in the file.. College. An alpha channel is an array with the same number of pixels as are in the image..

8-bit. You can use imfinfo to match up image order with reference number. XYBitmaps. HDF-Specific syntax: [. 16-bit indexed. 1TIFF bit. 6. Of E. XWD 1-bit and 8-bit ZPixmaps. 1-bit images with CCITT compression. JPEG images with some commonly used extensions 1-bit.2 This table summarizes the types of images that imread can read Format Variants 1-bit. 8-bit. and 24-bit images with packbits compression. 8bit and 16-bit indexed images. 4-bit and 8-bit run-length encoded (RLE) images 8-bit raster image datasets.. and 48-bit RGB images.. 16-bit.) If you omit this argument. 1-bit XYPixmaps BMP HDF JPEG PCX PNG Dept. which (if present) defines a color value that can be used behind all transparent pixels.Gooty. and 24-bit uncompressed images. including 1-bit. For example. College. imread reads the first image in the file. ref is an integer value that specifies the reference number used to identify the image.ref) reads in one image from a multi-image HDF file. and 16-bit grayscale images. and 24-bit uncompressed images. and describes how you can override it. This section identifies the default behavior of the toolbox for reading PNG images that contain either a transparency chunk or an alpha channel. 2-bit. 8-bit. 24-bit raster image datasets Any baseline JPEG image (8 or 24-bit).E Sri Krishnadevaraya Engg. if ref is 12. (Note that in an HDF file the reference numbers do not necessarily correspond to the order of the images in the file.] = imread(. 8-bit.High speed face recognition using DCT and Neural networks 44 transparency is the background color chunk.. also 16-bit grayscale.. . 4-bit.C. imread reads the image whose reference number is 12. 24-bit and 48-bit RGB images Any baseline TIFF image. 4-bit. 8-bit. including 1-bit. with or without associated colormap.. and 24-bit images Any PNG image. .

E Sri Krishnadevaraya Engg. imshow displays pixels with the value 0 (zero) as black and pixels with the value 1 as white.. .map) imshow(filename) himage = imshow(.. If you use an empty matrix ([]) for [low high]. Each row is interpreted as a color.[low high]) imshow(RGB) imshow(BW) imshow(X. College. Of E.. The value low (and any value less than low) displays as black. the minimum value in I is displayed as black.High speed face recognition using DCT and Neural networks 45 2. and the third blue. but it must have exactly 3 columns.. imshow(RGB) displays the truecolor image RGB. specifying the display range for I in [low high]. param2. val2. and the maximum value is displayed as white. imshow(X.0 to 1. the second green. imshow(BW) displays the binary image BW.. that is.imshow: Display image Syntax imshow(I) imshow(I.) Description imshow(I) displays the grayscale image I. the value high (and any value greater than high) displays as white. imshow(I.0. with the first element specifying the intensity of red light..C.[low high]) displays the grayscale image I.. using the default number of gray levels. param1.map) displays the indexed image X with the colormap map. Dept.Gooty.. Color intensity can be specified on the interval 0.) imshow(. val1. Values in between are displayed as intermediate shades of gray. imshow uses [min(I(:)) max(I(:))]. A color map matrix may have any number of rows.

imshow calls imread or dicomread to read the image from the file.Gooty. imshow(X). Remarks imshow is the toolbox's fundamental image display function. optimizing figure. Dept. The file must contain an image that can be read by imread or dicomread.tif'). and the Adjust Contrast tool. If the file contains multiple images. Image Information tool. and image object property settings for image display. axes. Of E. but does not store the image data in the MATLAB workspace. The file must be in the current directory or on the MATLAB path. College. Examples Display an image from a file. such as the Pixel Region tool. .High speed face recognition using DCT and Neural networks 46 imshow(filename) displays the image stored in the graphics file filename.E Sri Krishnadevaraya Engg. imtool presents an integrated environment for displaying images and performing some common image processing tasks. imtool provides all the image display capabilities of imshow but also provides access to several other tools for navigating and exploring images.C. the first one will be displayed. X= imread('moon.

and applications associated with MATLAB. containing tools (graphical user interfaces) for managing files. Dept. Of E. College. the MATLAB desktop appears. The following illustration shows the default desktop. .High speed face recognition using DCT and Neural networks 47 6. For more information about the desktop tools . variables.C. You can customize the arrangement of tools and documents to suit your needs.4 MATLAB Desktop Introduction When you start MATLAB.E Sri Krishnadevaraya Engg.Gooty.

You can enter matrices into MATLAB in several different ways: Enter an explicit list of elements.C. Start MATLAB and follow along with each example.5 Implementations 1. or Dept. Create matrices with your own functions in M-files. simply type in the Command Window A = [16 3 2 13. sum. to indicate the end of each row.High speed face recognition using DCT and Neural networks 48 6. Surround the entire list of elements with square brackets. [ ]. 4 15 14 1] MATLAB displays the matrix you just entered: A =16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 This matrix matches the numbers in the engraving. . You can refer to it simply as A. Start by entering Dürer¶s matrix as a list of its elements. and diag You are probably already aware that the special properties of a magic square have to do with the various ways of summing its elements. College. transpose. Of E. To enter matrix.Gooty. If you take the sum along any row or column. 9 6 7 12. Now that you have A in the workspace. You only have to follow a few basic conventions: Separate the elements of a row with blanks or commas. Generate matrices using built-in functions. it is automatically remembered in the MATLAB workspace. 5 10 11 8. Load matrices from external data files.E Sri Krishnadevaraya Engg. Arithmetic operations Entering Matrices The best way for you to get started with MATLAB is to learn how to handle matrices. Once you have entered the matrix. Use a semicolon.

the magic sum. to store the results of a calculation.C. You have computed a row vector containing the sums of the columns of A. 34. A'. you will always get the same number. so one way to get the row sums is to transpose the matrix. For an additional way that avoids the double transpose use the dimension argument for the sum function.). and also changes the sign of the imaginary component of any complex elements of the matrix. College..High speed face recognition using DCT and Neural networks 49 along either of the two main diagonals. The first statement to try is sum(A) MATLAB replies with ans =34 34 34 34 When you do not specify an output variable. each of the columns has the same sum. transposes without affecting the sign of complex elements. . Of E..g. It flips a matrix about its main diagonal. short for answer. The apostrophe-dot operator (e. MATLAB has two transpose operators. How about the row sums? MATLAB has a preference for working with the columns of a matrix. So A' produces ans = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1 And sum(A')' produces a column vector containing the row sums ans = 34 34 Dept. compute the column sums of the transpose.E Sri Krishnadevaraya Engg. MATLAB uses the variable ans. The apostrophe operator (e. A') performs a complex conjugate transposition. Sure enough. Let us verify that using MATLAB. For matrices containing all real elements.g.Gooty. and then transpose the result. the two operators return the same result.

. + Addition Dept.High speed face recognition using DCT and Neural networks 50 34 34 The sum of the elements on the main diagonal is obtained with the sum and the diag functions: diag(A) produces ans = 16 10 7 1 And sum(diag(A)) produces ans = 34 The other diagonal. flips a matrix From left to right: Sum (diag(fliplr(A))) ans = 34 You have verified that the matrix in Dürer¶s engraving is indeed a magic Square and. is not so important Mathematically. But a function originally intended for use in graphics. the so-called anti diagonal. Of E.C. in the process.E Sri Krishnadevaraya Engg.Gooty. so MATLAB does not have a ready-made function for it. Operators Expressions use familiar arithmetic operators and precedence rules. College. have sampled a few MATLAB matrix operations. fliplr.

Gooty.C. College. .4) Z= 0000 0000 F = 5*ones(3. Of E.3) F= 555 555 Dept.E Sri Krishnadevaraya Engg. zeros All zeros ones All ones rand Uniformly distributed random elements randn Normally distributed random elements Here are some examples: Z = zeros(2. ^ Power ' Complex conjugate transpose ( ) Specify evaluation order Generating Matrices MATLAB provides four functions that generate basic matrices.High speed face recognition using DCT and Neural networks 51 .Subtraction * Multiplication / Division \ Left division (described in ³Matrices and Linear Algebra´ in the MATLAB documentation) .

Then the statement magik reads the file and creates a variable.m.6 Graph Components MATLAB displays graphs in a special window known as a figure. Of E.C.0 12.0 5. Save the file under a name that ends in .4) R= 0.0 10.3252 0.2366 1.0 4.4620 -2. Use the MATLAB Editor or another text editor to create a file Containing the same statements you would type at the MATLAB command Line. A.0 9. create a file containing these five lines: A = [. containing our example matrix. which are text files containing MATLAB code. Store the file under the name magik.High speed face recognition using DCT and Neural networks 52 555 N = fix(10*rand(1. which are contained by the figure.0 8.0 1. The actual visual representation of the data is achieved with graphics Dept.0046 1.0 7. 16.0556 0.3210 -1.Gooty.10)) N= 9264874084 R = randn(4. To create a graph.. .0 11.6014 -2..6313 -0.5512 -0.0 3.3792 M-Files You can create your own matrices using M-files.1132 -1. you need to define a coordinate system.E Sri Krishnadevaraya Engg.2316 -0.0998 0. Therefore every graph is placed within axes.0 2.0 13.For example.0 6.0 15.0860 -0.4931 -0.0 14.0 ]. College.6353 0. 6.m.

Create and arrange subplots in the figure Drag and drop data into graphs Display the plotting tools from the View menu or by clicking the plotting tools icon in the figure toolbar. These tools enable you to do the following: Select from a wide variety of graph types Change the type of graph that represents a variable See and set the properties of graphics objects Annotate graphs with text.E Sri Krishnadevaraya Engg. College. arrows. Plotting Tools Plotting tools are attached to figures and create an environment for creating Graphs. which MATLAB automatically creates specifically to accommodate the range of the data. Of E.C. These objects are drawn within the coordinate system defined by the axes.Gooty. as shown in the following picture.High speed face recognition using DCT and Neural networks 53 objects like lines and surfaces. . The actual data is stored as properties of the graphics objects. Dept. etc.

which are programs you write to run MATLAB functions. as well as for M-file debugging.C.Gooty. Dept. To create or edit an M-file use File > New or File > Open.E Sri Krishnadevaraya Engg. or use the edit function.High speed face recognition using DCT and Neural networks 54 Editor/Debugger Use the Editor/Debugger to create and debug M-files. Of E. The Editor/Debugger provides a graphical user interface for text editing. . College.

Our method consists of three steps.19%) of available transform components. eyes and mouth. face images are transformed into DCT domain. high recognition rates can be achieved using only a small proportion (0. in order to obtain the most silent and invariant feature of face images.High speed face recognition using DCT and Neural networks 55 CHAPTER 7 CONCLUSION AND FUTURE SCOPE 7. . At last.C. Of E. College. First. Discrete Cosine Transforms (DCTs) are used to reduce image information redundancy because only a subset of the transform coefficients are necessary to preserve the most important facial features.2Future scope Based on energy probability.E Sri Krishnadevaraya Engg. the proposed method has shown better recognition performance than PCA plus LDA and existing DCT method. Third. we propose a new feature extraction method for face recognition. Dept. In this project. For the purpose of dimension reduction of data and optimization of valid information. it will extract the linear discriminative features by LDA and perform the classification by the nearest neighbor classifier.Gooty. We demonstrate experimentally that when DCT coefficients are fed into a backpropagation neural network for classification. the LDA is applied in the data extracted from the frequency mask that can facilitate the selection of useful DCT frequency bands for image recognition.1 Conclusion High information redundancy and strong correlations in face images result in inefficiencies when such images are used directly in recognition tasks. such as hair outline. because not all the bands are useful in classification. DCT domain acquired from face image is applied on energy probability for the purpose of dimension reduction of data and optimization of valid information. 7.. Second.

Sirohey. ³Face recognition: A convolutional neural network approach. Adams. Face Recognition using Hidden Markov Models. 4. Skodras.´ submitted to IEEE Conference on Computer Vision and Pattern Recognition. Samaria. Chellappa. vol. 4. C. 422-432. [8].C. Lee Giles.´ IEEE Transactions on Pattern Analysis and Machine Intelligence. pp. 1999. Reading. ³Efficient computation of the two-dimensional fast cosine transform. Bormans. Of E. Christopoulos. vol. no.C. Gonzalez and R.1995 [2]. Tsoi. Chalmond and S. R. 685-696. F. Back. 1.3 References [1] . C. Bishop. pp. M. 5. and J.´ in SPIE Hybrid Image and Signal Processing IV. Dept. 1995. Nebauer. C. 229-237. Woods. [4] C. ³Generalization of principal component analysis. Joutsensalo. Digital Image Processing. Wilson. pp. pp. 2000. Karhunen and J. and S. vol. J. R. 9.1997. PhD thesis. 1. vol. 12. Cornelis. Oxford: OxfordUniversity press. MA: Addison-Wesley. [3]. pp. no. A.Gooty. Z.´ IEEE Transactions on Neural Networks. Cambridge University.´ IEEE Transactions on Neural Networks. [7].´ Neural Networks. [6].8. 705-740. 103-108. Sirovich. vol. R. pp. 1995. 549-562. ³Dimensionality reduction of face images using discrete cosine transforms for recognition. A. no. L.E Sri Krishnadevaraya Engg. optimization problems and neural networks. 98-113. S. and H. 1990. 1998. Neural Networks for Pattern Recognition. ³Survey on independent component analysis. 21. 83. College. vol. no. ³Nonlinear modeling of scattered multivariate data and its application to shape change. [10]. 94-128. 1999. and A. Bolouri.´ Proceedingsof the IEEE. ³Application of the Karhunen-Loeve procedure for the characterization of human faces. Lawrence. Kirby and L. Pan. 1992. ³Evaluation of convolutional neural networks for visual recognition. 2. M. [9]. 1994. ³Human and machine recognition of faces: A survey. 5. pp. no. [11].´ Neural Computing Surveys. 1994.´ IEEE Transactions on Pattern Analysis and Machine Intelligence. Girard. A. pp. [5]. J. B. . Hyvarinen. no.High speed face recognition using DCT and Neural networks 56 7. 8.

S. 304-314. 1973. R. on Neural Networks. College.´ Pattern Recognition. 2001. Levine. O¶Toole. 1209-1230. Face recognition using the discrete cosine transform. Pattern Recognition Letters. Asari. Face recognition by independent component analysis. 27. and G. 43(3). Saund. In ICCV. [17]. B. ³Connectionist models of face processing: A survey. [19]. [18]. Kanade. 2002. 2001. pp. vol. Z. H. pages 688 694. M. A. on PAMI. [13]. Valentin. P. Inform. Eigenfaces vs. E. N.´ IEEE Transactions on Pattern Analysis and Machine Intelligence. Picture processing by computer complex and recognition of human faces. T. fisherfaces: Recognition using class specific linear projection. Heisele et al. [16]. Kyoto Univ. Cottrell. 1997. 19(7):711 720. 3. M.High speed face recognition using DCT and Neural networks 57 [12]. Bartlett et al. no. IEEE Trans.. [15]. Belhumeur et al. pp. Face recognition with support vector machines: Global versus component-based approach. ³Dimensionality-reduction using connectionist networks. Dept. IEEE Trans. 1994. 11.D.C. Technical report. [14]. .. International Journal of Computer Vision. 1989. Hafed and M. Abdi. 2004. 13(6):1450 1454. Gottumukkal and V. An improved face recognition technique based on modular PCA approach. vol.Gooty. Of E. D. Sci.E Sri Krishnadevaraya Engg. 25(4). K. Dept.

Tools and Techniques for the Implementation of a Fpga-based Stereoscopic Camera - Ubiquitous Computing and Communication Journal

by Ubiquitous Computing and Communication Journal

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue listening from where you left off, or restart the preview.

scribd