header photo

Level 3a - Getting Ready For Face Detection

December 23, 2011

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!

 

LEARNING AGENDA

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
1.How
Digital Image Processing and Computer Vision stuff is implemented
2.Why
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 :)

-----------------------------------------------------------------------------------------------

1- KNOW YOUR 'MACHINE LEARNING' STUFF
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.------------------------------------------------------------------------------------------------------------------------------------------

Question:
"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- KNOW YOUR 'FACE DETECTION' STUFF

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'?"

Answer:
  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?"

Answer:
  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 LIKE THIS TUTORIAL THEN PLEASE LEAVE YOUR KIND COMMENT AT THE BOTTOM OF THIS PAGE :)

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"

   
NOTE: ANY IRRELEVANT PROBLEM/QUESTION WILL NOT BE ANSWERED!

SEE YOU IN THE NEXT TUTORIAL :)

 

Go Back

Hello,
I just want to thank for your labor. Humanity needs people like you:)

thanks for this nice compilation.

Hi, it's really amazing

thank you very mutch

nice tutorial =) really informative... now i have a little knowledge about how a computer determines if it is a face or not in front of a cam ^__^ keep it up sir

thank you very mutch

it very useful for me!!!!

These articles are written very well!
Thank you for this information. It has helped me tremendously in understanding image processing concepts and the OpenCSV/Emgu frameworks.

Keep up the good work.

Nice....

Thank you so much, great contribution!!! :-)

Thank you very much!
You really made a great work!!!
It is very helpfull!



Comment