6 Amazing Algorithms For Detecting Faces In Images With Python Code References

Yaniv Noema
imagescv
3 min readJan 16, 2022

--

Did you know that there are many different algorithms for detecting faces in images?

The most popular of these is the Viola-Jones algorithm, but it’s not perfect. There are plenty of other great options out there like the Haar Cascades and Fisherfaces which you can use to detect faces on your own computer or mobile device.

1. Viola-Jones Algorithm

This algorithm works very quickly and with a good degree of accuracy. It was created by Paul Viola and Michael Jones in 2001. The algorithm has been successfully applied to many different fields, including ATM machines that can detect a user’s face to authorize a transaction.

2. Haar Cascade Algorithm

This algorithm was created by Paul Viola and Michael Jones in 2003. The algorithm works very quickly and is simple to apply, which makes it perfect for mobile devices.

It is also very accurate and can be used to detect a wide variety of objects, not just faces.

3. Eigenfaces

This algorithm was created in 1992 by Feng Huang and Peter J. Rousseeuw in their paper “Finding Groups of Data-Points in Data-Space”. The algorithm is simple to apply and very accurate. However, it can be slow when applied to large images.

4. Fisherfaces

This algorithm was created in 1999 by Vladimir I. Ivkovic, Sebastian Thrun, and Berthold K. P. Horn. The algorithm is very accurate and fast, making it a good choice for applications that require real-time detection.

5. Local Binary Patterns Histogram Algorithm (LBPH)

This algorithm was created by Matthew O’Toole, Andrea Vacchi, and Andrew Zisserman in their paper “A Local Geometric Model for Face Detection.”

The algorithm is very accurate and can be applied to a wide variety of images. However, it is slow when applied to large images.

6. Oriented FAST and Rotated BRIEF (ORB)

This algorithm was created by Piotr Dollár and Richard Szeliski in their paper “A Fast Approximate Energy Minimization Algorithm for the Simultaneous Detection and Pose Estimation of Human Faces.”

This algorithm is very accurate but is slow when applied to large images.

The algorithms described in this blog post will help you identify faces and other objects automatically. This is a great way to make your life easier by automating the tedious task of identifying things that are hard to see, such as people’s faces or parts of an animal’s body. You can also use these algorithms for more advanced tasks like detecting whether someone has emotions on their face (e.g., happy, angry) and even predicting how old they appear!

images.cv provide you with an easy way to build image datasets.
15K+ categories to choose from
Consistent folders structure for easy parsing
Advanced tools for dataset pre-processing: image format, data split, image size and data augmentation.

👉Visit images.cv to learn more

--

--

Yaniv Noema
imagescv

I’m a computer vision 💻👁️engineer who likes to write about artificial intelligence, machine learning, image processing, and Python🐍