Ask Your Question

Need explanation for viola-jones boosting

asked 2014-03-16 23:36:28 -0600

sodeq gravatar image

I've been trying to implementviola-jones face detection inside my project. I've read the paper too. However, i got things mixed up in my mind.

  1. I know that AdaBoost uses weak classifier (which could be any learning algorithm) to produce the hypothesis. In viola-jones system, which is the weak classifier? Is it the haar-like features?
  2. I have read the cascaded file (the xml files), i found that at each stage, a leaf has a single "feature index". What are they?
edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-08-29 03:10:38 -0600

Netsai Chibuku gravatar image
  1. In Viola-Jones, each weak classifier corresponds to one Haar-like feature.
  2. Probably it is an index into the "features" array which is at the end of the xml file. Each Haar-like feature in "features" array is defined by 2 rectangles, each with a weight.
edit flag offensive delete link more


Actually I would like to mention that your conclusions are completely wrong. First of all, a weak classifier corresponds to a stage in code, which is not a single feature! It starts with 1 feature and adds features untill demands are reached. Each weak classifier is thus a combo of multiple features.

StevenPuttemans gravatar imageStevenPuttemans ( 2014-08-29 04:25:20 -0600 )edit

Thank you @StevenPuttemans! I just go by seminal 2001 paper on boosting by Viola&Jones: "The weak learner is constrained so that each weak classifier returned can depend on only a single feature. As a result each stage of the boosting process, which selects a new weak classifier, can be viewed as a feature selection process."[1] But English is not my first language.

[1] "Rapid Object Detection using a Boosted Cascade of Simple Features", Viola & Jones, CVPR 2001.

Netsai Chibuku gravatar imageNetsai Chibuku ( 2014-09-05 01:22:53 -0600 )edit

Hmm I would have to look deeper into this. I always considered openCV to use combinations of features for each stage - aka a weak classifier - because of the complexity that raises and according to the fact that you can choose to use stumps or tree based criteria. I will get back to you on this!

StevenPuttemans gravatar imageStevenPuttemans ( 2014-09-05 03:40:28 -0600 )edit

Question Tools

1 follower


Asked: 2014-03-16 23:36:28 -0600

Seen: 371 times

Last updated: Aug 29 '14