Wednesday, January 19, 2011

DCT and Artificial Neural Networks based Face Recognition


Another method of Face Recognition is Neural Network based recognition. In this method we use Discrete Cosine Transforms to reduce the image to a few DCT coefficients which represent the image and then using an Artificial Neural Network we train the image to be identified onto the image-set in the database. We can use DCT coefficients or Eigenfaces alone for face recognition, but as the size of the database increases the time taken for recognizing the faces increases. Due to this we use Artificial Neural Networks for large databases in which the mapping of the coefficients of a test image (i.e. image to be identified) over the entire database takes almost constant time irrespective of the size of the database.

Wednesday, January 12, 2011

Eigenfaces based Face Recognition


So after more than a month, this is an implementation of Eigenfaces based face Recognition in Matlab. And the delay was mainly because of the GUI implementation for which I had to scrape code off a few forums. But all's well that ends well.

The first face recognition algorithm which was written in 1991 by Turk and Pentland was based on a very fundamental principle of Eigen Vectors. The process involved was a statistical approach called Principal Component Analysis. Basically, the eigen vectors of the covariance matrix of the images (the images are preprocessed and normalized beforehand) are called eigen faces. Eigenfaces based face recognition is an information based technique in which as the size of the database increases, the time for recognition increases (unlike some other techniques like neural networks). But overall it is quite popular due to the fact that its easy to implement, fast and requires less memory.