A MATLAB based Face Recognition System using Image Processing and Neural Networks

Project Enquiry:

Fields with * are mandatory

ABSTRACT

Automatic recognition of people is a challenging problem which has received much attention during recent years due to its many applications in different fields. Face recognition is one of those challenging problems and up to date, there is no technique that provides a robust  solution to all situations. This paper presents a new technique for human face recognition.

This technique uses an image-based approach towards artificial intelligence by removing redundant data from face images through image compression using the two-dimensional discrete  cosine transform (2D-DCT). The DCT extracts features from face images based on skin color.  Feature-vectors are constructed by computing DCT coefficients.

A self-organizing map (SOM) using an unsupervised learning technique is used to classify DCT-based feature vectors into groups to identify if the subject in the input image is“present” or “not present” in the image  database. Face recognition with SOM is carried out by classifying intensity values of grayscale pixels into different groups.

Evaluation was performed in MATLAB using an image database of 25 face images, containing five  subjects and each subject having 5 images with different facial expressions. After training for approximately 850 epochs the system achieved a recognition rate of 81.36% for 10 consecutive trials. The main advantage of this technique is its high-speed processing capability and low computational requirements, in terms of both speed and memory utilization.

DISCRETE COSINE TRANSFORM

A. Overview:

The discrete cosine transform is an algorithm widely used in different applications. The  most popular use of the DCT is for data  compression, as it forms the basis for the international standard loss image compression algorithm known as JPEG. The DCT has the property that, for a typical image, most of the visually significant information about the image is concentrated   in just a few coefficients. Extracted DCT coefficients can be used as a type of signature that is useful for recognition tasks, such as face recognition.

B.  Face Image Preprocessing:

Face images of different candidates with different facial expressions are taken with a Canon Powershot S3 IS 6.0 megapixel digital camera in the size of 1200 × 1600 pixels (2.0 megapixels). All face images taken resemble the following general features:

  • Uniform illumination conditions
  • Light color background
  • Faces in upright and frontal position
  • Tolerance for tilting and rotation up to 20 degrees
Face Images of Candidates. (a) Face Images of Different Subjects. (b) Face Image of a Single Subject with 5 Different Facial Expressions .

Face Images of Candidates. (a) Face Images of Different Subjects. (b) Face Image of a Single Subject with 5 Different Facial Expressions .

C. 2D-DCT Image Compression:

Nearest-neighbor interpolation is performed using the MATLAB Image Processing Toolbox to resize preprocessed images from size 512 × 512 pixels to image blocks of size 8 × 8 pixels.

SELF-ORGANIZING MAPS

A. Overview:

The self-organizing map also known as a Kohonen Map is a well-known artificial neural network. It is an unsupervised learning process, which learns the distribution of a set of patterns  without any class information. It has the property of topology preservation. There is a competition among the neurons to be activated or fired. The result is that only one neuron  that wins the competition is fired and is called the “winner”.

 2D-DCT Computation of Face Image.

2D-DCT Computation of Face Image.

B. Network Architecture:

SOMs can be one-dimensional, two-dimensional or multi-dimensional maps. The number of input connections in a SOM network depends on the number of attributes to be used in the classification.

C. Unsupervised Learning:

During the learning phase, the neuron with weights closest to the input data vector is declared as the winner. Then weights of all of the neurons in the neighborhood of the winning neuron are adjusted by an amount inversely proportional to the Euclidean distance. It clusters and classifies the data set based on the set of attributes used.

D. Training:

During the training phase, labeled DCT-vectors are presented to the SOM one at a time. For each node, the number of “wins” is recorded along with the label of the input sample. The weight  vectors for the nodes are updated as described in the learning phase.

E. Testing:

During the testing phase, each input vector is compared with all nodes of the SOM, and the  best match is found based on minimum Euclidean distance, The final output of the system based  on its recognition, displays if the test image is “present” or “not present” in the image database.

EXPERIMENTAL RESULTS

A. Image Database:

A face image database was created for the purpose of benchmarking the face recognition system. The image database is divided into two subsets, for separate training and testing purposes. During SOM training, 25 images were used, containing five subjects and each subject having 5 images with different facial expressions.

B. Validation of Technique:

The preprocessed grayscale images of size 8 × 8 pixels are reshaped in MATLAB to form a 64 × 1 array with 64 rows and 1 column for each image. This technique is performed on all 5 test  images to form the input data for testing the recognition system. Similarly, the image  database for training uses 25 images and forms a matrix of 64 × 25 with 64 rows and 25 columns.

Euclidean Distance Weights. (a) Untrained Image Database. (b) Image database Trained with SOM Network.

Euclidean Distance Weights. (a) Untrained Image Database. (b) Image database Trained with SOM Network.

C. DCT Block Size:

The first experiment studies the effect of DCT block size on the rate of recognition of the system with each DCT coefficient being used in the feature vector. Table I shows that the best recognition rate obtained is for the case of 8 × 8 block sizes, and this block size was used in all subsequent experiments.

D. Reducing DCT-Feature Vector Size:

The second experiment is concerned with computational load, which comes from large sized DCT-feature vectors. The aim of this experiment is to determine if a smaller feature vector could  be constructed from a set of DCT coefficients, without significantly degrading system performance.

E. Reducing Processing Time Based on Epochs:

The third experiment is concerned with the processing time of the overall system. Processing time contributes mainly towards the time required for training the SOM network. Training time  depends upon the number of epochs used for training.

CONCLUSION

This paper has presented a novel face recognition technique that uses features derived from DCT coefficients, along with a SOM-based classifier. The system was evaluated in MATLAB using  an  image database of 25 face images, containing five subjects and each subject having 5 images with different facial expressions. After training for approximately 850 epochs the system   achieved a recognition rate of 81.36% for 10 consecutive trials.

A reduced feature space, described for experiment 2 above, dramatically reduces the computational requirements of the  method as compared with standard DCT-feature extraction methods. This makes our system well suited for low-cost, real-time hardware implementation. Commercial implementations of this   technique do not currently exist. However, it is conceivable that a practical SOM-based face recognition system may be possible in the future.

Source:  Universiti Tenaga Nasional
Authors: Jawad Nagi | Syed Khaleel Ahmed

Download Project

>> Image Processing Project Topics with Full Reports and Free Source Code

>> Huge List of Matlab Projects with Free Source Code

>> Matlab Projects on Voice, Speech Recognition and Fingerprint Recognition

Project Enquiry:

Fields with * are mandatory

Leave a Comment

Your email address will not be published. Required fields are marked *