AdaBoost with Totally Corrective Step for Face Detection

Face detection is important for many applications and various algorithms have been proposed [literatura]. In many applications, real-time performance is required. Recently, Viola and Jones [6] introduced an impressive face detection system capable of detecting faces in real-time with high detection rate and very low false positive rate. These properties are attributed especially to (1) very efficient features used, (2) AdaBoost learning algorithm, and (3) a cascade technique used for decision making. In this paper, an improvement of AdaBoost algorithm is proposed and its utility for cascade building is shown. Viola and Jones’ detector consists of several classifiers trained by discrete AdaBoost algorithm [1] and organised into a decision cascade. Each cascade stage classifier is set to reach a very high detection rate and an “acceptably” low false positive rate. Because it is trained on the data classified as a face by the previous stages, the final false positive rate is very low (multiplication of the previous stages’ false positive rates, see Algorithm 3) and the final detection rate remains acceptably high. The cascade evaluation is equivalent to a degenerated decision tree. When the current stage classifier labels a region in an image as a non-face, the decision process is terminated. Otherwise, the next stage classifier is run. The region is declared a face if it is accepted by all classifiers in the cascade. Face detection is done by scanning the cascade detector across the image at multiple scales and locations. A typical image contains only small number of face regions compare to the number of regions scanned. Due to early termination of the decision process in non-face regions, only few stages of the cascade are evaluated in average ([6, 4]). Hence, the speed of the cascaded classifier depends heavily on the computational complexity and rejection rates of the first few stages. A question discussed in this paper is, whether the classifiers in the first few stages can be further shortened, while keeping the properties allowing reaching the same or better detection rates. A new algorithm based on AdaBoost is developed as an attempt to answer the question. AdaBoost [1] constructs the classifier as a linear combination of “weak” classifiers chosen from a given, finite or infinite, set. Its goal is to chose small number (compare to the size of the set) of weak classifiers and assign them proper coefficients to represent a decision hyperplane sufficiently. Hence, AdaBoost can be viewed as an optimization procedure, which works in the space of weak classifiers’ coefficients, starting with a zero vector and ending with a vector with only small number of non-zero elements. Standard (discrete) AdaBoost is a greedy algorithm, which changes one zero coefficient to a non-zero value in each step. Because of its greedy character, neither the found weak classifiers nor their coefficients are optimal. A totally corrective algorithm with coefficients updates (TCAcu) proposed in this paper differs from the standard AdaBoost in two main aspects. Firstly, in the standard AdaBoost, a newly added weak classifier can be shown to be “independent” in precisely defined way on the last added one. TCAcu finds a new weak classifier that is independent on all previous ones. Secondly, the coefficients of already found weak classifiers are updated repetitively during the learning process. It is shown, that these modifications minimise the classification error upper bound more greedily and that shorter classifiers are found. The term “totally corrective algorithm” was first used by Kivinen and Warmuth [2]. They devised a variant of AdaBoost with the same independence property as in TCAcu. However, Kivinen and Warmuth’s motivation was independence itself. In order to reach it, they omitted the original AdaBoost training error minimisation function. To keep this working properly, the algorithm has to be designed more carefully. Kivinen and Warmuth also give no empirical analysis of the algorithm. Another attempt to shorten the final classifier was proposed by Li at al. [3] and was motivated by the feature selection view of AdaBoost. In case, the weak classifiers cor-