Home > TKJ Electronics > Face Recognition using Eigenfaces and Fisherfaces

Face Recognition using Eigenfaces and Fisherfaces

In this project I developed an Android application with Jonathan Wang at UIUC demonstation face recognition using Eigenfaces and Fisherfaces.

I will not go into details on the theory about Eigenfaces and Fisherfaces in this blog post. Instead the reader should refer to the two reports written as part of the project: Eigenfaces for Recognition and Near-Real-Time Facial Recognition on an Android Tablet Using Fisherfaces. I would also recommend reading the original papers: Eigenfaces for Recognition and Eigenfaces vs. Fisherfaces: Recognition Using Class Specific Linear Projection.

The library is written in C++ where all the matrix operations are performed using Eigen. One of the advantages of using Eigen is that it can be used on any hardware platform (even microcontrollers), as it got no library dependencies. This allowed us to easily test the code on our laptops and then afterwards use it directly in the Android application by using the Android NDK toolset. As usual the code is available on Github: FaceRecognitionLib.

A few screenshots of the Android application can be seen below:

Google Play

The application is available on Google Play and the source code is provided at the following link.

If you have any questions leave them below or open up an issue on Github.

Categories: TKJ Electronics Tags:
  1. Mouni
    July 30th, 2019 at 00:43 | #1

    I want to use just Eigen faces for face recognition
    I have followed the steps as mentioned under the Issues section for checking the output but did not understand the line
    “hardcode the useEigenfaces variable:

    useEigenfaces = True”

    Can you please let me know where in FaceRecognitionAppActivity.java file do I have to hardcode the variable?


  2. August 14th, 2019 at 13:44 | #2
  3. Anvar
    May 9th, 2021 at 12:35 | #3

    Hi Lauszus how are you, are you doing. I have a question about runing a app that you are put in github, as this https://github.com/Lauszus/FaceRecognitionApp link, I did all things that you mentioned in overview. But I have steel some problem to build this project.

    NDK is missing a “platforms” directory.
    If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to C:\Users
    If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

    Can you help me with this. Thank you beforehand.

  1. No trackbacks yet.