Face detection with Waldboost algorithm

Face detection algorithms based on the work of Viola and Jones [11] train the classifier by processing training examples of face and non-face patterns. A general effort is to process a large number of training examples and hence describe the problem accurately. Current approaches are based on the assumption that non-face patterns can be easily obtained contrary to faces. While the faces remain in the training the whole time, the easy non-face patterns are stepwise replaced with more difficult ones. In the case when a large number of faces is at disposal, such conventional techniques are not able to process the whole positive training set effectively. The main contribution of this thesis is the improvement of the Waldboost algorithm [12] by which the positive training patterns are treated in a similar way as non-face patterns, called symmetric bootstrap. In the symmetric bootstrap, both the easy positiveand easy negativepatterns are stepwise replaced with more difficult ones and hence bigger space of faces is explored in the training. In order to show the effect of symmetric bootstrap, sufficiently large pool of positive training patterns had to be found and the non-face distribution appropriately modeled. A new bounding box alignment, which does not require any feature points, was found. This alignment enables us to easily collect training data from different sources (e.g. on-line face detectors) and simplifies the training task, which leads to higher detection rates of the classifier. The space of the positive training patterns was further enlarged by the technique, which is able to generate new faces from already seen ones, called face synthesis. Using synthesis, we are able to generate a large positive training set with user defined parameters controlling in-plane rotation, bounding box shift/scale and wight to height ratio of faces. The non-face patterns are in the symmetric bootstrap modeled by parts of faces, resulting in lower false positive rates. Except the above mentioned contributions, the original implementation of the Waldboost learning was accelerated by 60% enabling more effective testing of new algorithms. And next, it was shown that features used for classification can be correlated with other useful information such as head pose. This conclusion is elaborated in a new algorithm proposal trying to exploit the entire sequence of feature responses for classification. According to the experiments, the symmetric bootstrap can improves the performance of the Waldboost in the cases when the whole set of positive training examples can not be processed at once. The improvement is, however, limited by the distinguishing power of the weak features. As in the non-symmetric version we reach the possibilities of the weak learner after some time of training and further improvement is not possible. This break point is reached by the symmetric bootstrap sooner suggesting development of stronger features. Abstrakt Učeńı současných algoritmů detekce obličeje je založeno na zpracováńı trénovaćıch př́ıklad̊u obličej̊u a pozad́ı. Obecnou snahou je proj́ıt co největš́ı množstv́ı př́ıklad̊u a t́ım popsat daný problém co nejpřesněji. Algoritmy vycházej́ı z předpokladu, že negativńı př́ıklady můžeme snadno źıskat skenováńım, zat́ımco obličeje nikoliv. K oběma tř́ıdám tedy přistupujeme při učeńı odlǐsně. Zat́ımco obličeje z̊ustávaj́ı v tréninku po celou dobu, prostor pozad́ı je efektivně zpracován bootstrapováńım (jednoduché př́ıklady pozad́ı jsou postupně nahrazovány složitěǰśımi). V současné době je stále jednodušš́ı źıskat ohromné množstv́ı př́ıklad̊u obličej̊u (např. pomoćı detektor̊u), které ovšem tyto standardńı algoritmy nejsou schopny zpracovat efektivně. Základńım př́ınosem této práce je rozš́ı̌reńı učeńı klasifikačńıho algoritmu Waldboost [12], pomoćı kterého je možné k tř́ıdě obličej̊u přistupovat téměř stejným zp̊usobem jako k tř́ıdě pozad́ı, t.j. bootstrapováńı obličej̊u (symetrický bootstrap). Symetrický bootstrap umožňuje zpracovat mnohem větš́ı prostor obličej̊u což v určitých př́ıpadech může vést na lepš́ı klasifikátor. Aby bylo možné demonstrovat efekt symetrického bootstrapu, bylo nutné naj́ıt velký zdroj pozitivńıch trénovaćıch dat a vhodně modelovat distribuci pozad́ı. Byl nalezen vhodný zp̊usob zarovnáńı bounding boxu, který pro svou definici nevyžaduje polohu význačných bod̊u v obličeji. Tento zp̊usob zarovnáńı umožňuje snadno źıskávat nové př́ıklady obličej̊u z r̊uzných zdroj̊u (např. z detektor̊u) a vede na rychleǰśı a kvalitněǰśı klasifikátor. Prostor obličej̊u byl dále rozš́ı̌ren syntézou. Syntéza dovoluje generovat libovolné množstv́ı pozitivńıch př́ıklad̊u s parametry, které specifikuje uživatel (in-plane rotace, posun a zvětšeńı bounding boxu, změna identity). Negativńı př́ıklady jsou v symetrickém bootstrapu modelovány novým zp̊usobem a to, skenováńım část́ı obličeje což vede na menš́ı chybu klasifikace. Dále bylo ukázáno, že odezvy př́ıznak̊u, které se typicky využ́ıvaj́ı pouze pro klasifikaci, mohou být korelovány i s jinou užitečnou informaćı jako je 3D rotace hlavy. Toto pozorováńı bylo rozvinuto v návrhu algoritmu, který pro klasifikaci využ́ıvá celou sekvenci př́ıznak̊u. V neposledńı řadě byl p̊uvodńı algoritmus urychlen o 60%. Podle provedených experiment̊u, symetrický bootstrap může zlepšit klasifikačńı schopnosti detektoru v př́ıpadě, kdy nejsme schopni zpracovat celý soubor pozitivńıch př́ıklad̊u najednou. Jeho efekt je však do značné mı́ry limitován klasifikačńımi schopnostmi slabých klasifikátor̊u. Stejně jako v nesymetrické verzi, trénink se po určitém čase zastavuje a daľśı vylepšeńı již neńı možné. Tento bod je ovšem pro symetrický bootstrap dosažen dř́ıve, což naznačuje nutnost vyvinout lepš́ı př́ıznaky.