header photo

Level 3a - Getting Ready For Face Detection

We'll be off to begin face detection right after This article.
It will give you the basic concept and preliminary information you should  have before starting face detection implementation!



NOTE: Firstly, Get Yourself a Copy of 'Learning Open CV'
This is a VERY good book for understanding usage of OpenCV and eventually Emgu CV. it provides you with the deal behind the coding. This book tells you about
Digital Image Processing and Computer Vision stuff is implemented
it is done like that, i.e. the logic and concept behind that implementation
3.The code
! YES! but its in C++ (or C) so you .NET folks need to look up the internet and you'll get things once you have the lead :) i did!

I will be referring to the content in this book now and then in order for you understand some things.
DOWNLOAD - But Please Buy this book if possible, it is only right to do so :)


The text file below that you can read is some content i gathered in form of an article or FAQ on Machine Learning from chapter 13 of Learning OpenCV as it forms the basis of face/object detection. Read it because it gives only the highlights and important concept you need.------------------------------------------------------------------------------------------------------------------------------------------

"Why do I need to read about Machine learning here? wasn't our goal to learn about face detection?

Answer:Good question. simple: face detection is a job of DIP & computer vision -> computer vision is an advance branch of Artificial intelligence ->aaannnddddd Artificial Intelligence in computers is attained via machine learning! see how it all links now? in simpler words, "machine learning is a way in with help of which we implement face detection in computers."


2.1. WHAT is Face Detection? 
Question: "what does face detection mean? i mean, i know it's to find a face in an image, but what does it mean 'by definition'?"

  Right! first things first!  Face detection is a computer vision technology that determines the locations and sizes of human faces in arbitrary (digital) images. It detects facial features and ignores anything else, such as buildings, trees and bodies. Face detection can be regarded as a specific case of object-class detection. In object-class detection, the task is to find the locations and sizes of all objects in a digital image that belong to a given class. Examples include upper torsos, pedestrians, and cars.



2.2. Different Methods for Face Detection:
 Question: "What's the point of knowing different methods when we're going to follow only one?"

  Its always good to know that the method you're applying is in fact the better one among all the rest. for that you should know what methods have been developed,their pros and cons and why you're not using those instead, who knows you might find some other method more useful for your project?
This way you can create your work with maximum efficiency. knowing the current work done allows us to explore future possibilities as well.


"There are many ways to detect a face in a scene - easier and harder ones. Here is a list of the most common approaches in face detection:

  • Finding faces in images with controlled background
  • Finding faces by color
  • Finding faces by motion
  • Using a mixture of the above
  • Finding faces in unconstrained scenes:

                     Neural Net approach
                     Neural Nets using statistical cluster information
                     Model-based Face Tracking
                    Weak classifier cascades" -- Extracted from website: Different Approaches to Face Detection

you can read the details on their website. However, below is what you should focus on.

The paper below provides A Survey of Methods for Face Detection by Andrew King.

  • It introduces you to the problem domain of face detection and mentions its application.
  • it enlists the available solutions given.
  • and then compares them to give the best model created so far (the Viola Jones method).

i have highlighted the more important things you should read at least. however, this is an excellent paper; concise, very informative and easy to understand. i highly recommend you go through it all!  

2.3. Viola-Jones Method for Face Detection:

  Question: " is Viola-Jones same as Viola Jones Method and/ or Viola-Jones Algorithm?"

Answer:  you bet! yes they are the names of the very same thing. so take note that I'd refer to this method by any of these names.


Seemingly, now you know the basics from machine learning and various face detection methods. if you read the content i provided above, you also might have some idea about what Viola Jones method is and what is it based on. to explain in detail how it works, you should read on the below documents.

1. How Viola-Jones Method Works   (trust me, you WANT to know this before implementing it!)
OK, now the article below is a part of Seeing With OpenCV series. You can either read it there, or just continue below. it will provide you VERY quick review on the basic idea behind Viola-Jones method.

2.  Quick + Concise info on 'Haar Cascade Classifier' - THE DETECTOR  in Viola-Jones Method by Ole Helvig Jensen
     The paper below has a worth reading short details on viola-jones algorithm, it also has a page with briefing on other existing face detection models(solutions), as you might've read about some in Andrew King's paper in A Survey For face Detection Methods above.
i have once again highlighted the important part you should primly focus on reading. precisely its from page 7-14 at least read these pages.


3. Original paper published by Viola and Jones
       What's better than to check out the original work? well okay it might be a bit advanced if you're completely new, but you can always refer to it when you want the true account of the original thing. so here you can DOWNLOAD the paper by Viola-Jones.


Phew! Thank GOD that ended! I'm tired from reading,compiling, writing it all in one day today, so i bet you'd be dead tired from reading it all in one go (if you did that is :D ) well no more waiting! next post: FACE DETECTION APPLICATION!!!!

P.S: this is not me in the image.  Hurray
for Google! :D



IF YOU HAVE A QUESTION/PROBLEM REGARDING THIS TUTORIAL,then Please post your question as a comment in the following format:
"QUESTION: why is that....etc etc"




Go Back

thank you...

Thanks for your tutorial and it really brings me to another world!

Böyle bir paylaşım yaptığın ve sıcak kanlı mesajların için teşekkürler. Blogunu türkiyeden takip ediyorum, mesajımı özellikle türkçe yazdım bilginin dili olmaz. Paylaşımın için çok teşekkürler. Başarılarının devamını dilerim

thank you and I really appreciate your work...

Best Explanation ,I have ever read,Thanks for for changing my track of thinking!!

Superb tutorial. Thanks Admin , great work!

thanks a lot:))

Muy buenos sus tutoriales. Realmente enseñan.



Thanks... I would have been doomed for my project review next week if i didnt make it to this page... at the right time... Learned a ton... Extracted a lot... Thank you admin :)