EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.

42
EE462 MLCV EE462 MLCV Lecture 5-6 Object Detection Boosting Tae-Kyun Kim

Transcript of EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.

  • Slide 1
  • EE462 MLCV Lecture 5-6 Object Detection Boosting Tae-Kyun Kim
  • Slide 2
  • EE462 MLCV Face Detection Demo 2 Robust real-time object detector, Viola and Jones, CVPR 01 Implemented by Intel OpenCV
  • Slide 3
  • EE462 MLCV 3 Multiclass object detection [Torralba et al PAMI 07] A boosting algorithm, originally for binary class problems, has been extended to multi-class problems.
  • Slide 4
  • EE462 MLCV Object Detection 4 Input is a single image, given without any prior knowledge.
  • Slide 5
  • EE462 MLCV Object Detection 5 Output is a set of tight bounding boxes (positions and scales) of instances of a target object class (e.g. pedestrian).
  • Slide 6
  • EE462 MLCV 6 Object Detection We scan every scale and pixel location of an image.
  • Slide 7
  • EE462 MLCV Number of windows 7 Number of Windows: 747,666 x # of scales # of pixels It ends up with a huge number of candidate sub-windows.
  • Slide 8
  • EE462 MLCV Time per window 8 or raw pixels dimension D Num of feature vectors: 747,666 Classification: What amount of time are we given to process a single scanning window? SIFT
  • Slide 9
  • EE462 MLCV Time per window 9 or raw pixels dimension D Num of feature vectors: 747,666 Time per window (or vector): 0.00000134 sec In order to finish the task in 1 sec Neural Network? Nonlinear SVM?
  • Slide 10
  • EE462 MLCV Examples of face detection 10 From Viola, Jones, 2001
  • Slide 11
  • EE462 MLCV By 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 More traditionally The search space is narrowed down
  • Slide 12
  • EE462 MLCV Since about 2001 (Viola &Jones 01) Boosting Simple Features has been a dominating art. Adaboost classification Weak classifiers: Haar-basis like functions (45,396 (>>T) in total feature pool) 12 Weak classifier Strong classifier
  • Slide 13
  • EE462 MLCV Introduction to Boosting Classifiers - AdaBoost (Adaptive Boosting)
  • Slide 14
  • EE462 MLCV Sorry for inconsistent notations 14
  • Slide 15
  • EE462 MLCV Boosting 15
  • Slide 16
  • EE462 MLCV Boosting 16
  • Slide 17
  • EE462 MLCV Principally, Boosting does Iteratively reweighting training samples, Assigning higher weights to previously misclassified samples. 17 1 round2 rounds3 rounds4 rounds5 rounds50 rounds
  • Slide 18
  • EE462 MLCV 18 In the previous example, We consider all horizontal or vertical lines. For each line, we define two weaklearners. +1 +1
  • Slide 19
  • EE462 MLCV AdaBoost 19 M : # of weak classifiers to choose, among all weak classifiers,
  • Slide 20
  • EE462 MLCV 20
  • Slide 21
  • EE462 MLCV Boosting 21
  • Slide 22
  • EE462 MLCV Boosting as an optimisation framework 22
  • Slide 23
  • EE462 MLCV Minimising Exponential Error 23
  • Slide 24
  • EE462 MLCV 24
  • Slide 25
  • EE462 MLCV 25
  • Slide 26
  • EE462 MLCV 26
  • Slide 27
  • EE462 MLCV 27
  • Slide 28
  • EE462 MLCV Existence of weak learners Definition of a baseline learner Data weights: Set Baseline classifier: for all x Error is at most . 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
  • Slide 29
  • EE462 MLCV Robust real-time object detector
  • Slide 30
  • EE462 MLCV Boosting Simple Features [Viola and Jones CVPR 01] Adaboost classification Weak classifiers: Haar-basis like functions (45,396 in total feature pool) 30 Weak classifier Strong classifier 20
  • Slide 31
  • EE462 MLCV 31 Learning (concept illustration) Face images Non-face images Resize to 20x20 D=400 weaklearners Output:
  • Slide 32
  • EE462 MLCV Evaluation (testing) 32 From Viola, Jones, 2001 For given Non-local maxima suppression we apply the boosting classifier to every scan-window. Non-local maxima supression is performed.
  • Slide 33
  • EE462 MLCV How to accelerate boosting training and evaluation
  • Slide 34
  • EE462 MLCV 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. 34
  • Slide 35
  • EE462 MLCV Boosting Simple Features [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 35
  • Slide 36
  • EE462 MLCV Evaluation (testing) 36 From Viola, Jones, 2001 x y ii(x,y)
  • Slide 37
  • EE462 MLCV Boosting as a Tree-structured Classifier
  • Slide 38
  • EE462 MLCV Boosting (very shallow network) The strong classifier H as boosted decision stumps has a flat structure Cf. Decision ferns has been shown to outperform trees [Zisserman et al, 07] [Fua et al, 07] 38 c0 c1 x
  • Slide 39
  • EE462 MLCV Boosting -continued Good generalisation is achieved by a flat structure. It provides fast evaluation. It does sequential optimisation. 39 A strong boosting classifier Boosting Cascade [viola & Jones 04], Boosting chain [Xiao et al] It is very imbalanced tree structured. It speeds up evaluation by rejecting easy negative samples at early stages. It is hard to design A strong boosting classifier T = 2 5 10 20 50 100
  • Slide 40
  • 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. 40
  • Slide 41
  • EE462 MLCV Demo video: Fast evaluation 41
  • Slide 42
  • EE462 MLCV Object Detection by a Cascade of Classifiers 42 Pictures from Romdhani et al. ICCV01 It speeds up object detection by coarse-to-fine search.