Explore Courses Blog Tutorials Interview Questions
0 votes
in AI and Deep Learning by (50.2k points)

I have implemented the AdaBoost sequence algorithm and currently, I am trying to implement the so-called Cascaded AdaBoost, basing on P. Viola and M. Jones's original paper. Unfortunately, I have some doubts, connected with adjusting the threshold for one stage. As we can read in the original paper, the procedure is described in literally one sentence:

Decrease threshold for the ith classifier until the current cascaded classifier has a detection rate of at least d × Di − 1 (this also affects Fi)

I am not sure mainly two things:

  • What is the threshold? Is it 0.5 * sum (alpha) expression value or only 0.5 factor?

  • What should be the initial value of the threshold? (0.5?)

  • What does "decrease threshold" mean in detail? Do I need to iterative select a new threshold e.g. 0.5, 0.4, 0.3? What is the step of decreasing?

I have tried to search for this info on Google, but unfortunately, I could not find any useful information.

Thank you for your help.

1 Answer

0 votes
by (108k points)

1. (0.5*sum(alpha)) is the threshold. 

2. The initial value of the threshold is what is above. After that, try to analyze the samples using the intermediate strong classifier (what you currently have). You'll get the scores each of the samples to succeed, and depending on the current value of the threshold, some of the positive samples will be classified as negative, etc.

So, depending on the desired detection rate desired for this stage (strong classifier), reduce the threshold so that many positive samples get correctly classified.

Browse Categories