2

I am implementing Viola-Jones face detection to detect human faces. While training using Adaboost, boosting round selects the same haar feature. For example, if the selected Haar-feature (x,y,w,h,f,p) for the first three round is (0,0,4,2,1,0) , (1,3,5,2,3,1) and (2,4,7,2,4,1) then for the remaining round of boosting it select the same haar-feature, so that the list of my selected Haar-feature becomes,

[(0,0,4,2,1,0),(1,3,5,2,3,1),(2,4,7,2,4,1),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0),(1,2,4,8,1,0)].

Here, x,y = x_y coordinate, w = width of Haar-feature, h = height of Haar-feature, f = feature type, p = parity of Haar-feature.

My Question:

1) If the each round of boosting select the same Haar-feature, should I select the next Haar-feature that have comparatively minimum error.

Thanks!

user2766019
  • 577
  • 4
  • 7
  • 20

1 Answers1

3

No, you should not. Adaboost can indeed pick the same feature more than once per boosting run, but usually the feature will have a different weight value (alpha value).

The results you're getting might have many different causes. For instance, you may have a bug in your Adaboost code. You may also have a bug in your features or weak classifiers. Or you're not providing enough samples to your boosting algorithm. Or, your weak classifiers are too weak. Or your strong classifier is overfitting really fast.

Ramiro
  • 698
  • 6
  • 21
  • I am using 2500 of positive samples and 4500 of negative samples, so 'not providing enough samples' shouldn't be the case. What do u mean by ' your weak classifiers are too weak'? Is there any way to know that my Adaboost or Weak classifier have any bugs? Another thing, when I tried with selecting another feature that have comparatively low error rather than selecting same Haar-feature I got good result on validation data set comparative to those I got selecting same Haar-feature. Thanks! – user2766019 Nov 03 '13 at 08:46
  • The amount of samples might depend on the kind of problem you're handling. To detect faces, Viola and Jones used almost 5000 positive instances and, in some cases 5000 negative instances or 15000 negative instances. Weak classifiers might be too weak if their weighted classification error is too close to 50%. Debugging Adaboost or weak classifiers is like debugging any software, so I don't have any specific hints. Anyway, it is good to know you got results picking another classifier, but I'm unaware of papers with reports of people doing this. But hey, if it works for you, what else can I say? – Ramiro Nov 04 '13 at 03:52