adaboosthaar-waveletviola-jones

What if each round of boosting selects same Haar-feature in Viola-jones face detection method?


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!


Solution

  • 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.