I just saw a video from Washington University where professor Steve Brunton explain how to use Eigenfaces for classfication e.g image recognition.

Eigenfaces is really simple and does not require any training or parameter tuning etc. He show that it took just few seconds and then it's done. Super fast.

Eigenfaces was solved by using Singular value decomposition.

$$A = USV^T$$ Eigenfaces classification

So what is best if I want to have some kind of simple image classification? Should I spend time and energy to train a deep neural or should I focus on eigenfaces? Eigenfaces is legacy, but it's still not bad, right?

Is it easy to train a deep neural network with multiple pictures? Or is that a hard task? As I see other people doing deep learning, they just cook up someting and then they have solved world problems. Sounds too good to be true right?

In what situation do you prefer eigenfaces over deep neural network? No?


As it stands, neural networks outperform the Eigenfaces approach. With this I mean that neural networks can solve a large range of problems with more accuracy.

Eigenfaces are nice because they can work already with a small amount of training samples, specially compared to neural networks that are known to be data intensive. So, in a small amount of data setting, you could start with Eigenfaces for feature extraction and pair it up with an SVM for classification. However, now a days, there are pre-trained neural network models (e.g. Facenet), which offer pre-trained embeddings for you to use for feature extraction. Then, all you need to do is train "a last layer" for classification. Bottom line is, you don't need to start from scratch, making it obsolete to use Eigenfaces for feature extraction.

| improve this answer | |
  • $\begingroup$ Thank you! So we can take the conclusion that if I got poor data, e.g 100 images for 5 people. Then Eigenfaces will work much better? I know that deep neural networks is better, but that's the same agrument to say that Python lagunage is much better than C, even if C is more used. I would be happy if you can extand your answer with some pros and cons list for both eigenfaces and deep neural networks for classification only. Thew view on data, the view on training, the view on compexity, the view on parameter settings etc. Take your time :) $\endgroup$ – Daniel Mårtensson Feb 29 at 11:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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