Wednesday, August 24, 2005

Reviewing eigenfaces

Ok, yesterday night I was trying to implement the eigenface algorithm [1] on MATLAB, using the AT&T [2] database, but I had some issues with it...
Let me explain myself what I did:

For a given face like this one:

This face can be thought as , so the mean face should be the sum of n samples of faces divided by n. So, the mean face just defined, can looks like as follows:

Now, given the mean face, we can get the difference between the mean face and the original face, in therms of the spatial domain and their intensity values, and it looks like this:

The eigenvalues of the the covariance matrix are defined as:

So then, the eigenvalues just obtained have been multiplied by the image obtained differencing the mean face and the original face, obtainig something like this:

This is called eigenface, however, this doesn't looks like the eigenfaces introduced on the journal articles regarding eigenfaces, therefore, I have to ask myself some questions, to get fully understanding of the main idea of the eigenfaces:

  • "The eigenvector of the covariance matrix..." <--about which covariance matrix are they talking about? the original face covariance matrix? or the differenced face covariance matrix?
  • The eigenface is the product between the eigenvalues and the differenced face?
  • What the Karhunen-Loeve Transform does exactly?
  • Is the eigenface part of the Karhunen-Loeve Transform?
  • Where does the Principal Component Analysis (PCA) ends? Doues it ends getting the Karhunen-Loeve Transform; or, ends obtaining the eigenface?
  • Do I deserve to eat today?

Well, I hope to get the answers to some of my questions, if someone want to comment, anything, I'll appreciate it.

[1] M. Turk, A. Pentland, "Eigenfaces for recognition", Journal of Cognitive Neuroscience, Massachusetts Institute of Technology, Vol. 3, No. 1, 1992.
[2] Face database propietary of AT&T Research laboratories.

No comments: