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

Slides:



Advertisements
Similar presentations
Ignas Budvytis*, Tae-Kyun Kim*, Roberto Cipolla * - indicates equal contribution Making a Shallow Network Deep: Growing a Tree from Decision Regions of.
Advertisements

EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
Rapid Object Detection using a Boosted Cascade of Simple Features Paul Viola, Michael Jones Conference on Computer Vision and Pattern Recognition 2001.
© Tan,Steinbach, Kumar Introduction to Data Mining 4/18/ Other Classification Techniques 1.Nearest Neighbor Classifiers 2.Support Vector Machines.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko.
AdaBoost & Its Applications
Face detection Many slides adapted from P. Viola.
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei Li,
EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
The Viola/Jones Face Detector Prepared with figures taken from “Robust real-time object detection” CRL 2001/01, February 2001.
The Viola/Jones Face Detector (2001)
1 Learning to Detect Objects in Images via a Sparse, Part-Based Representation S. Agarwal, A. Awan and D. Roth IEEE Transactions on Pattern Analysis and.
Rapid Object Detection using a Boosted Cascade of Simple Features
Generic Object Detection using Feature Maps Oscar Danielsson Stefan Carlsson
Object Recognition with Informative Features and Linear Classification Authors: Vidal-Naquet & Ullman Presenter: David Bradley.
Robust Real-time Object Detection by Paul Viola and Michael Jones ICCV 2001 Workshop on Statistical and Computation Theories of Vision Presentation by.
Ensemble Tracking Shai Avidan IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE February 2007.
Face detection and recognition Many slides adapted from K. Grauman and D. Lowe.
A Robust Real Time Face Detection. Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements.
Ensemble Learning: An Introduction
Adaboost and its application
CS 223B Assignment 1 Help Session Dan Maynes-Aminzade.
A Robust Real Time Face Detection. Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements.
Introduction to Boosting Aristotelis Tsirigos SCLT seminar - NYU Computer Science.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Face Processing System Presented by: Harvest Jang Group meeting Fall 2002.
Foundations of Computer Vision Rapid object / face detection using a Boosted Cascade of Simple features Presented by Christos Stoilas Rapid object / face.
Face Detection CSE 576. Face detection State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko.
FACE DETECTION AND RECOGNITION By: Paranjith Singh Lohiya Ravi Babu Lavu.
Face Detection using the Viola-Jones Method
EADS DS / SDC LTIS Page 1 7 th CNES/DLR Workshop on Information Extraction and Scene Understanding for Meter Resolution Image – 29/03/07 - Oberpfaffenhofen.
“Secret” of Object Detection Zheng Wu (Summer intern in MSRNE) Sep. 3, 2010 Joint work with Ce Liu (MSRNE) William T. Freeman (MIT) Adam Kalai (MSRNE)
Recognition using Boosting Modified from various sources including
Object Detection Using the Statistics of Parts Presented by Nicholas Chan – Advanced Perception Robust Real-time Object Detection Henry Schneiderman.
Detecting Pedestrians Using Patterns of Motion and Appearance Paul Viola Microsoft Research Irfan Ullah Dept. of Info. and Comm. Engr. Myongji University.
Window-based models for generic object detection Mei-Chen Yeh 04/24/2012.
Sign Classification Boosted Cascade of Classifiers using University of Southern California Thang Dinh Eunyoung Kim
Benk Erika Kelemen Zsolt
Lecture 29: Face Detection Revisited CS4670 / 5670: Computer Vision Noah Snavely.
Face detection Slides adapted Grauman & Liebe’s tutorial
BOOSTING David Kauchak CS451 – Fall Admin Final project.
Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Kostantina Palla & Alfredo Kalaitzis School of Informatics University.
ECE738 Advanced Image Processing Face Detection IEEE Trans. PAMI, July 1997.
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
Face Detection Ying Wu Electrical and Computer Engineering Northwestern University, Evanston, IL
Robust Real Time Face Detection
Adaboost and Object Detection Xu and Arun. Principle of Adaboost Three cobblers with their wits combined equal Zhuge Liang the master mind. Failure is.
Lecture 09 03/01/2012 Shai Avidan הבהרה: החומר המחייב הוא החומר הנלמד בכיתה ולא זה המופיע / לא מופיע במצגת.
The Viola/Jones Face Detector A “paradigmatic” method for real-time object detection Training is slow, but detection is very fast Key ideas Integral images.
Learning to Detect Faces A Large-Scale Application of Machine Learning (This material is not in the text: for further information see the paper by P.
FACE DETECTION : AMIT BHAMARE. WHAT IS FACE DETECTION ? Face detection is computer based technology which detect the face in digital image. Trivial task.
Notes on HW 1 grading I gave full credit as long as you gave a description, confusion matrix, and working code Many people’s descriptions were quite short.
A Brief Introduction on Face Detection Mei-Chen Yeh 04/06/2010 P. Viola and M. J. Jones, Robust Real-Time Face Detection, IJCV 2004.
Face detection Many slides adapted from P. Viola.
Hand Detection with a Cascade of Boosted Classifiers Using Haar-like Features Qing Chen Discover Lab, SITE, University of Ottawa May 2, 2006.
AdaBoost Algorithm and its Application on Object Detection Fayin Li.
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Reading: R. Schapire, A brief introduction to boosting
2. Skin - color filtering.
Cascade for Fast Detection
License Plate Detection
Session 7: Face Detection (cont.)
Lit part of blue dress and shadowed part of white dress are the same color
Asymmetric Gradient Boosting with Application to Spam Filtering
Learning to Detect Faces Rapidly and Robustly
Cos 429: Face Detection (Part 2) Viola-Jones and AdaBoost Guest Instructor: Andras Ferencz (Your Regular Instructor: Fei-Fei Li) Thanks to Fei-Fei.
Face Detection via AdaBoost
ADABOOST(Adaptative Boosting)
Lecture 29: Face Detection Revisited
Presentation transcript:

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

EE462 MLCV Face Detection Demo 2

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.

EE462 MLCV Object Detection 4 Input: A single image is given as input, without any prior knowledge.

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

EE462 MLCV 6 Object Detection Scanning windows: We scan every scale and every pixel location in an image.

EE462 MLCV Number of Hypotheses 7 Number of Windows: e.g. 747,666 … x # of scales # of pixels It ends up with a huge number of candidate windows.

EE462 MLCV Time per window 8 or raw pixels …… dimension D Num of feature vectors: 747,666 … Classification: What amount of time is given to process a single scanning window? SIFT

EE462 MLCV Time per window 9 or raw pixels …… dimension D Num of feature vectors: 747,666 … Time per window (or vector): sec In order to finish the task say in 1 sec Neural Network? Nonlinear SVM?

EE462 MLCV Examples of face detection 10 From Viola, Jones, 2001

EE462 MLCV  By Integrating Visual Cues [Darrell et al IJCV 00].  Face pattern detection output (left).  Connected components recovered from stereo range data (mid).  Regions from skin colour (hue) classification (right). 11 More traditionally… The search space is narrowed down.

EE462 MLCV Since about 2001 (Viola &Jones 01)… “ Boosting Simple Features” has been a dominating art.  Adaboost classification  Weak classifiers: Haar-basis features/functions  The feature pool size is e.g. 45,396 (>>T) 12 Weak classifierStrong classifier

EE462 MLCV Introduction to Boosting Classifiers - AdaBoost (Adaptive Boosting)

EE462 MLCV Boosting 14 Boosting gives good results even if the base classifiers have a performance slightly better than random guessing. Hence, the base classifiers are called weakclassifiers or weaklearners.

EE462 MLCV Boosting 15 For a two (binary)-class classification problem, we train with training data x 1,…, x N target variables t 1,…, t N, where t N ∈ {-1,1}, data weight w 1,…, w N weak (base) classifier candidates y(x) ∈ {-1, 1}.

EE462 MLCV Boosting does Iteratively, 1) reweighting training samples,  by assigning higher weights to previously misclassified samples, 2) finding the best weakclassifier for the weighted samples round2 rounds3 rounds4 rounds5 rounds50 rounds

EE462 MLCV 17 In the previous example, the weaklearner was defined by a horizontal or vertical line, and its direction. +1

EE462 MLCV AdaBoost (adaptive boosting) 18 : the number of weak classifiers to choose 1. Initialise the data weights {w n } by w n (1) = 1/N for n = 1,…,N. 2. For m = 1, …,M (a) Learn a classifier y m (x) that minimises the weighted error, among all weak classifier candidates where I is the impulse function. (b) Evaluate

EE462 MLCV 19 and set (c) Update the data weights 3. Make predictions using the final model by

EE462 MLCV Boosting 20

EE462 MLCV Boosting as an optimisation framework 21

EE462 MLCV Minimising Exponential Error 22 AdaBoost is the sequential minimisation of the exponential error function where t n ∈ {-1, 1} and f m (x) is a classifier as a linear combination of base classifiers y l (x) We minimise E with respect to the weight α l and the parameters of the base classifiers y l (x).

EE462 MLCV 23 Sequential Minimisation: suppose that the base classifiers y 1 (x),. …, y m-1 (x) and their coefficients α 1, …, α m-1 are fixed, and we minimise only w.r.t. a m and y m (x). The error function is rewritten by where w n (m) = exp{−t n f m-1 (x n )} are constants.

EE462 MLCV 24 Denote the set of data points correctly classified by y m (x n ) by T m, and those misclassified M m, then When we minimise w.r.t. y m (x n ), the second term is constant and minimising E is equivalent to

EE462 MLCV 25 By setting the derivative w.r.t. α m to 0, we obtain where From As The term exp(-α m /2) is independent of n, thus we obtain

EE462 MLCV 26 Pros: it leads to simple derivations of Adaboost algorithms. Cons: it penalises large negative values. It is prone to outliers. Exponential Error Function The exponential (green) rescaled cross-entropy (red) hinge (blue), and misclassification (black) error ftns.

EE462 MLCV Existence of weaklearners  Definition of a baseline learner  Data weights:  Set  Baseline classifier: for all x  Error is at most ½.  Each weaklearner in Boosting is required s.t. Error of the composite hypothesis goes to zero as boosting rounds increase [Duffy et al 00]. 27

EE462 MLCV Robust real-time object detector Viola and Jones, CVPR

EE462 MLCV Boosting Simple Features [Viola and Jones CVPR 01]  Adaboost classification  Weak classifiers: Haar-basis like functions (45,396 in total feature pool) 29 Weak classifier Strong classifier 24 pixels 24 pixels ……

EE462 MLCV 30 Learning (concept illustration) Face images Non- face images Resized to 24x24 weaklearners Output: Resized to 24x24

EE462 MLCV Evaluation (testing) 31 Non-local maxima suppression The learnt boosting classifier i.e. is applied to every scan- window. The response map is obtained, then non-local maxima suppression is performed.

EE462 MLCV Receiver Operating Characteristic (ROC)  Boosting classifier score (prior to the binary classification) is compared with a threshold.  The ROC curve is drawn by the false negative rate against the false positive rate at various threshold values:  False positive rate (FPR) = FP/N  False negative rate (FNR) = FN/P where P positive instances,  N negative instances,  FP false positive cases, and  FN false negative cases. 32 > Threshold Class 1 (face) Class -1 (no face) < Threshold FPR FNR 0 1 1

EE462 MLCV How to accelerate the boosting training and evaluation

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

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 ( )-( )

EE462 MLCV Evaluation (testing) 36 x y ii(x,y) *In the coursework2, you can first crop image windows, then compute the integral images of the windows, than of the entire image.

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  Cf. Decision “ferns” has been shown to outperform “trees” [Zisserman et al, 07] [Fua et al, 07] 38 c0 c1 x ……

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 = ……

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

EE462 MLCV Demo video: Fast evaluation 41

EE462 MLCV Object Detection by a Cascade of Classifiers 42 Romdhani et al. ICCV01 It speeds up object detection by coarse-to-fine search.