Facial Recognition Algorithms

There are many types of Facial Recognition Algorithms, all of them with their own quirks and use cases, some notable mentions are...

  • Principal Component Analysis (PCA)

  • Independent Component Analysis (ICA)

  • Linear Discriminant Analysis (LDA)

  • Elastic Bunch Graph Matching (EBGM)

  • Fisherfaces

  • Eigenface

  • And many more!

Some use deep learning, some use machine learning, some can identify the face like a human, some need to scan the image pixel by pixel to find the face, some can identify faces using cameras in real time, and some cannot. Each method simply has different properties. In our case though, we needed an algorithm that could scan faces in real time while not taking a supercomputer's worth of processing power. That's how we decided on using Haar Cascades.

Object Detection Algorithm used by our program

  • Specializes in facial detection

  • Used on images and videos

-A cascade function trained by “positive” and “negative” images

-In the context of facial recognition, “positive” images are ones of faces, and “negative” images without faces

-This algorithm is the most efficient at tracking faces in real-time such as our program does

If you want more specifics on Haar Cascades, there'll be a link below to an article by Girija Shankar Behera who explains Haar Cascades in Depth and with amazing gifs helping for learners to visualize how this algorithm works.

https://towardsdatascience.com/face-detection-with-haar-cascade-727f68dafd08