Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Traditional Face Detection With Python: Conclusion

Good work! You are now able to find faces in images. In this course, you learned how to represent regions in an image with Haar-like features. These features can be calculated very quickly using integral images.

You learned how AdaBoost finds the best performing Haar-like features from thousands of available features and turns them into a series of weak classifiers. Finally, you learned how to create a cascade of weak classifiers that can quickly and reliably distinguish faces from non-faces.

These steps illustrate many important elements of computer vision:

  • Finding useful features
  • Combining them to solve complex problems
  • Balancing between performance and managing computational resources

These ideas apply to object detection in general and will help you solve many real-world challenges. Good luck!

bobjefferyjds on Dec. 30, 2019

Very interesting to learn how this is done! Thanks!

bryszarda on Feb. 6, 2020

Eye opening material, it’s fascinating how it’s done. Many thanks!

alocknoc on March 27, 2020


Jos Garca on March 28, 2020

Nice course and very straight forward, I’ve done other courses about this with tons of useless theory details.

ibrahim suleiman on March 29, 2020

Nice course but a new experience i have go over the course again thanks alot you just gave me a project to boost my skills and profile

koellingh on March 30, 2020

When I ran the program, the algorithm worked except it did not detect the baby’s face. Why might this be?

Jos Garca on March 30, 2020

The results depends of the machine learning model, so if the model isn’t training enough or optimized for baby faces could fail. This short course only show how to apply this specific model to detect faces.

jjhacker15 on April 2, 2020

Thank you so much ❤️

doelf daniel on April 3, 2020

It’s how to use it and not how to do it.

helarsen on April 4, 2020

Austin, you are an excellent presenter. Thanks!

nitinsrii on April 7, 2020

Austin, Nice! Thank you for explaining this wonderful concept.

hulejiramzey on April 11, 2020


anakobembash on April 12, 2020

This is awesome. thanks

elvisamoako on April 15, 2020

Its demonstrates the power of python and quality teaching

balbutire on April 15, 2020

Excellent clarification of the image classification process which doesn’t dip into advanced math for explanations. thx.

sdr54519 on April 17, 2020

Blown away! Very informative tutorial. I’m a newbie but learned a lot this short tutorial. More free tutorials like this will help me in getting my foot into the world of ML. Thanks!

Tomas Menito on April 23, 2020

Great tutorial, thanks!

sneha588 on April 28, 2020

Thank you so much sir. Very well explained !

hassanbutt2019 on April 30, 2020

it was good experience

sroux53 on May 21, 2020


Marcelo Garbarino on June 8, 2020

Great course for introducing these concepts. Thanks!

Now, instead of using conda, I’d use Python3 virtualenv. In my case, I created one, installed the pip packages, and the resulting requirements.txt is like this, for today’s versions:


ehernandezvilla on July 31, 2020


msm1089 on June 22, 2021

I found this a useful and concise tutorial. I understood everything, except perhaps one thing.

When using cascades, a region must ‘pass’ the feature test of all weak classifiers. So the technique relies on having a full, frontal facing face in view. It seems the whole photo is ‘swept’ by the haar feature detectors. But since the size of this filter is fixed at quite a small size (~20-28 pixel square), does it mean it can only detect a face that is around the same size?

If a face covered say a 60 pixel square area, no subsection is going to be pass for ALL haar feature detectors (e.g. it will never see 2 eyes in the same 20 pixel square). I must be missing something here…the only thing I can think of is that each haar feature is checked at different sizes, but this seems to contradict what the tutorial said, that a size of 28x28 (i.e. fixed size) has been found to be good.

Become a Member to join the conversation.