transcript
- 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.