  Cascaded AdaBoost classifier is a well-known efficient object detection
algorithm. The cascade structure has many parameters to be determined. Most of
existing cascade learning algorithms are designed by assigning detection rate
and false positive rate to each stage either dynamically or statically. Their
objective functions are not directly related to minimum computation cost. These
algorithms are not guaranteed to have optimal solution in the sense of
minimizing computation cost. On the assumption that a strong classifier is
given, in this paper we propose an optimal cascade learning algorithm (we call
it iCascade) which iteratively partitions the strong classifiers into two parts
until predefined number of stages are generated. iCascade searches the optimal
number ri of weak classifiers of each stage i by directly minimizing the
computation cost of the cascade. Theorems are provided to guarantee the
existence of the unique optimal solution. Theorems are also given for the
proposed efficient algorithm of searching optimal parameters ri. Once a new
stage is added, the parameter ri for each stage decreases gradually as
iteration proceeds, which we call decreasing phenomenon. Moreover, with the
goal of minimizing computation cost, we develop an effective algorithm for
setting the optimal threshold of each stage classifier. In addition, we prove
in theory why more new weak classifiers are required compared to the last
stage. Experimental results on face detection demonstrate the effectiveness and
efficiency of the proposed algorithm.
