Question

I have read the paper about Viola-Jones method for object detection and am confused by a few things.

1 - For Adaboost does each round mean that we calculate all the 160k features across all images then find the one with the least error (which as i understand is a 'weak classifier? please correct me if I am wrong). If yes then won't this take extremely long to train on a large set of images which can take months ? And also how many rounds will you run it for if this is correct.

2- If the above point is wrong then does it mean that for each feature, we evaluate all the non-face and face images with one feature and compare it to a certain acceptable threshold of error, and if it lies below this acceptable threshold then we take this feature as a weak classifier and then update the weights before using the next feature from the 160k features.

I have tried understanding the MATLAB code in this link http://www.ece301.com/ml-doc/54-face-detect-matlab-1.html but not sure if the way he implemented adaboost was correct.

It would also be a great help if there was a link that would explain adaboost used by Viola-Jones in a simple and clear way.

Was it helpful?

Solution

AdaBoost tries out multiple weak classifier over several rounds , Selecting the best weak classifier in each round and combining the best classifier to create a strong classifier.

Example for adaboost :

 Data point    Classifier 1  Classifier 2     Classifier 3
 x1             Fail           pass             fail     
 x2             Pass           fail             pass 
 x3             fail           pass             pass 
 x4             pass           fail             pass

AdaBoost can use classifier that are consistently wrong by reversing their decision .

OTHER TIPS

1) Yes. If your parameters are, say, 5000 positive windows and 5000 negative ones (extracted from the set of negative background images you provided initially), then at each stage every feature is evaluated in turn for all 10000 windows and the best one is added to the feature set. And yes in the original paper of Viola-Jones each feature is a weak classifier.
The process of checking all features will take a long time, but not weeks. As a matter of fact the bottle neck is the gathering of negative widows over the last stages than could require days or also weeks The number of rounds depends on the reaching of the given conditions. Each stage requires a number of round (usually more in final stages). So for example: stage 1 requires 3 features (3 rounds), stage 2 requires 5 features (5 rounds), stage 3 requires 6 features (6 rounds), etc.

2) The above point is true so it doesn’t apply.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top