Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Reading about independent component analysis (ICA), I learned that one of its applications is face recognition. I think in this problem we have a database of images and a test image to be recognized. However, I can't figure out what the independent components are and what the mixture (multivariate signal) is.

share|improve this question
up vote 2 down vote accepted

For your data set of images, first vectorize the images by raster scanning them, and making them vectors. Thus, say you have $M$ images, each of size 64*64 pixels. Then the total number of pixels per image is $N=64^2$, which means $N=4096$. Now, you have an image matrix of size $M\text{x}N$.

For this image matrix, what you want to do is find the $M$ independent components, of again, length $N$. In other words, you want to decompose this set of images into another set of images, except those images make up the independent components of the original faces. (Similar to eigen-faces, but different).

To answer your question about the mixture, the set of faces that you start with is the mixture. In other words, the set of faces that you have, is assumed to be a mixture of independent faces that you are trying to find.

ICA will find those independent features for you, and for natural images, independent components turn out to be features with extremely high kurtosis, namely, the edges.

share|improve this answer
thank you....... – HforHesham Jan 8 '13 at 12:15

The basic idea in ICA is to separate a mixture into statistically independent components. Sometimes that's the end of the problem (e.g., solving the cocktail party problem). In face recognition the weights of the mixture components are used to create a feature vector to uniquely and succinctly identify a person. A notable difference is that you are trying to estimate the components not of one mixture, but of several (the faces, that is).

There's an enlightening presentation with code here.

share|improve this answer
Technically speaking, ICA cannot solve the cock-tail party problem because it assumes an instantaneous mixture model, which the time delay between microphones completely destroys, and it becomes a convolutive mixture problem instead. – Mohammad Jan 5 '13 at 4:52
@Emre thank you. – HforHesham Jan 8 '13 at 12:14
Emre how can we get in touch with you? – Ktuncer Jan 14 '13 at 0:29
Emre, the e-mail is probably visible to you but not to us. – Ktuncer Jan 15 '13 at 15:08
@Ktuncer: fixed – Emre Jan 15 '13 at 18:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.