Emgu CV Face Recognition: How tomprove the accuracy

emgucvface-recognition

I have leverage the facial recognition code from http://www.codeproject.com/Articles/239849/Multiple-face-detection-and-recognition-in-real-ti and had a good start using it to recognize a few faces.

But challenge is that the accuracy is getting pretty low once I increase the number of different people. I wrote some code to programatically produce training images for the recognizer, with around 1300 trained faces (all 100 x 100 pixel gray scale) of about 280 different people.

The tips from the above webpage doesn't seems to help much in improving the accuracy. I was wonder do any one has any good hints and experience with using Emgu CV to do accurate face recognition. Speed is not too important for now.

Much appreciated, Thanks in advance.

Best Answer

Unfortunately, one of the biggest problems with the eigen-face approach is that for large numbers of subjects in the test set, the accuracy will go down, because fundamentally this is an appearance based approach and the likelihood of having similar faces goes up, the more faces you add.

I actually did my final year uni project using the eigen-face recognition method and used the following paper to improve accuracy.

http://vplab.iitm.ac.in/publi_journal/conference/frarc.pdf

This method splits the face into multiple horizontal sections and performs recognition on each part. At the end, the results of each part are weighted and brought together to form a final score. Ill leave you to read the gory details although I warn you, this won't be available in an off the shelf API such as EMGU CV.

Other tips applicable to EMGU CV:

  1. Use as many training images as possible for each person in the set
  2. If possible try and split the set into smaller groups
  3. Try and use some pre-processing techniques, such as light normalization
  4. Perhaps try a slightly higher resolution image (although this will degrade performance)
  5. Take training images with different poses (i.e. face direction and emotion)

In summary, the best way to improve accuracy will be to write your own recognition procedure with exactly the features you want and it's not actually as hard as you may think, it just requires patience. Also you may want to look at other face recognition methods (there are many) such as a geometric approach, that uses information such as distance between eyes etc.

Related Topic