Face Recognition Library
Developed by Kristian Lauszus, 2016
The code is released under the GNU General Public License.
This Eigenfaces are calculated efficiently as described in the paper by M. Turk and A. Pentland.
The Eigenfaces.m Matlab script was used for development and was then ported to C++.
If you want to convert the PGM image run the convert_pgm.sh script.
Some information can be found in the Eigenfaces_Report.pdf.
A short blog post can be found at the following link: http://blog.tkjelectronics.dk/2017/07/face-recognition-using-eigenfaces-and-fisherfaces.
When using the code with the AT&T Facedatabase the output looks like this:
Notice how the Eigenfaces is only slightly worse compared to Fisherfaces.
Yale Face Database
However when using the Yale Face Database the difference is significant:
This clearly shows the weakness of Eigenfaces, as it only maximizes the scatter between classes and thus end up matching all images with light coming from the left side.
Note you need to prepare the Yale Face Database by running the convert_yalefaces.sh script first.
This library was used for an Android application. Some screenshots can be seen below:
brew install eigen imagemagick
sudo apt-get install libeigen3-dev imagemagick
The RedSVD library is included as a submodule.
For more information send me an email at firstname.lastname@example.org.