EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim EE462 MLCV Face Detection Demo 2 Multiclass object detection EE462 MLCV [Torralba et al PAMI 07] 3 EE462 MLCV Object Detection From TUD dataset 4 EE462 MLCV Object Detection From TUD dataset 5 EE462 MLCV Object Detection From TUD dataset 6 EE462 MLCV Number of windows x # of scales # of pixels Number of Windows: 747,666 7 EE462 MLCV Time per window …… dimension D or raw pixels … Num of feature vectors: 747,666 8 EE462 MLCV Time per window …… dimension D or raw pixels … Num of feature vectors: 747,666 In order to finish the task in 1 sec Time per window (or vector): 0.00000134 sec Neural Network? Nonlinear SVM? 9 EE462 MLCV Examples of face detection From Viola, Jones, 2001 10 EE462 MLCV More traditionally… Narrow down the search space Integrating Visual Cues [Darrell et al IJCV 00] Face pattern detection output (left). Connected components recovered from stereo range data (mid). Flesh hue regions from skin hue classification (right). 11 EE462 MLCV Since about 2001… Boosting Simple Features [Viola &Jones 01] Adaboost classification Strong classifier Weak classifier Weak classifiers: Haar-basis like functions (45,396 in total) 12 EE462 MLCV Introduction to Boosting Classifiers - AdaBoost EE462 MLCV Sorry for inconsistent notations… 14 EE462 MLCV Boosting 15 EE462 MLCV Boosting 16 EE462 MLCV Boosting Iteratively reweighting training samples. Higher weights to previously misclassified samples. 50 21rounds 3 4 5 round rounds 17 EE462 MLCV 18 EE462 MLCV AdaBoost 19 EE462 MLCV 20 EE462 MLCV Boosting 21 EE462 MLCV Boosting as an optimisation framework 22 EE462 MLCV Minimising Exponential Error 23 EE462 MLCV 24 EE462 MLCV 25 EE462 MLCV 26 EE462 MLCV 27 EE462 MLCV Existence of weak learners Definition of a baseline learner Data weights: Set Baseline classifier: Error is at most ½. for all x Each weak learner in Boosting is demanded s.t. → Error of the composite hypothesis goes to zero as boosting rounds increase [Duffy et al 00]. 28 EE462 MLCV Robust real-time object detector Boosting Simple Features EE462 MLCV [Viola and Jones CVPR 01] Adaboost classification Strong classifier Weak classifier Weak classifiers: Haar-basis like functions (45,396 in total) 30 EE462 MLCV 31 EE462 MLCV Evaluation (testing) From Viola, Jones, 2001 32 Boosting Simple Features EE462 MLCV [Viola and Jones CVPR 01] Integral image A value at (x,y) is the sum of the pixel values above and to the left of (x,y). The integral image can be computed in one pass over the original image. 33 Boosting Simple Features EE462 MLCV [Viola and Jones CVPR 01] Integral image The sum of original image values within the rectangle can be computed: Sum = A-B-C+D This provides the fast evaluation of Haar-basis like features 34 EE462 MLCV Evaluation (testing) From Viola, Jones, 2001 35 EE462 MLCV Boosting as a Tree-structured Classifier EE462 MLCV Boosting (very shallow network) The strong classifier H as boosted decision stumps has a flat structure x …… c0 c1 c0 c1 …… c0 c1 c0 c1 c0 c1 c0 c1 Cf. Decision “ferns” has been shown to outperform “trees” [Zisserman et al, 07] [Fua et al, 07] 37 EE462 MLCV Boosting -continued Good generalisation by a flat structure Fast evalution Sequential optimisation A strong boosting classifier Boosting Cascade [viola & Jones 04], Boosting chain [Xiao et al] Very imbalanced tree Speeds up for unbalanced binary problems Hard to design 38 EE462 MLCV A cascade of classifiers The detection system requires good detection rate and extremely low false positive rates. False positive rate and detection rate are f_i is the false positive rate of i-th classifier on the examples that get through to it. The expected number of features evaluated is p_j is the proportion of windows input to i-th classifier. 39 EE462 MLCV Demo video: Fast evaluation 40 EE462 MLCV Object Detection by a Cascade of Classifiers Pictures from Romdhani et al. ICCV01 41