Society of Robots - Robot Forum
Software => Software => Topic started by: namalak on May 03, 2010, 10:41:01 AM
-
Does any one know how the eye classifier (haarcascade_eye.xml) or the face classifier works? What are the statistics or criteria it utilize to identify an eye or a face?
-
I mean the eye classifier in OpenCV
-
It is based on using Boost to learn a classification model (ie an eye, a face, etc) based on a training set of feature vectors extracted from running different configs of Haar-like kernels over it. I know that sentence was dense with nomenclature but not sure how much you know about machine learning and/or computer vision. The idea is to take an image of an eye (or non-eye), break it down into a mathematical vector (composed of filter responses from the Haar-like kernels) and then "picking out" the most important components with some sort of machine learning algorithm (ie regression, Boost, SVM, etc).
Jack
-
thanks Jack for the post. I cud get an idea of the eye classifier.
but small question. what do you mean by the "picking out the most important components". do you mean the eye pupil of the eye?
-
Not really. When you run your Haar filter over your image, you will be constructing a vector of responses (ie <1.2, 5.6, 3.6, ...>). I am way oversimplifying but a statistical training algorithm picks out the ones that are important (ie 1.2 and 3.6).
If you are interested, I'd start with OpenCV's wiki page and read up about statistical learning and computer vision. A good paper about the eye/face classifier in OpenCV is the Viola Jones paper. It should be listed on their Wiki page.
Jack