Cascading classifiers

Cascading classifiers are trained with several hundred "positive" sample views of a particular object and arbitrary "negative" images of the same size.

The requirement for this classifier was to be fast in order to be implemented on low-power CPUs, such as cameras and phones.

In recent cascades, pixel value from some part of a rectangle compared to another have been replaced with Haar wavelets.

To have good overall performance, the following criteria must be met: The training procedure for one stage is therefore to have many weak learners (simple pixel difference operators), train them as a group (raise their weight if they give correct result), but be mindful of having only a few active weak learners so the computation time remains low.

After the initial algorithm, it was understood that training the cascade as a whole can be optimized, to achieve a desired true detection rate with minimal complexity.

This is particularly useful for models that have highly combinatorial or counting rules (for example, class1 if exactly two features are negative, class2 otherwise), which cannot be fitted without looking at all the interaction terms.

A two-stage algorithm can effectively merge these two cases by giving a medium-high probability to class1 if feature1 or (exclusive) feature2 is negative.