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.