A Robust Real Time Face Detection. Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements.

Slides:



Advertisements
Similar presentations
Detecting Faces in Images: A Survey
Advertisements

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.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko.
Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010.
FilterBoost: Regression and Classification on Large Datasets Joseph K. Bradley 1 and Robert E. Schapire 2 1 Carnegie Mellon University 2 Princeton University.
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)
HCI Final Project Robust Real Time Face Detection Paul Viola, Michael Jones, Robust Real-Time Face Detetion, International Journal of Computer Vision,
Rapid Object Detection using a Boosted Cascade of Simple Features
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.
Adaboost and its application
Introduction to Boosting Aristotelis Tsirigos SCLT seminar - NYU Computer Science.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Viola and Jones Object Detector Ruxandra Paun EE/CS/CNS Presentation
Fast Human Detection Using a Novel Boosted Cascading Structure With Meta Stages Yu-Ting Chen and Chu-Song Chen, Member, IEEE.
Computer Vision CSPP Artificial Intelligence March 3, 2004.
Foundations of Computer Vision Rapid object / face detection using a Boosted Cascade of Simple features Presented by Christos Stoilas Rapid object / face.
F ACE D ETECTION FOR A CCESS C ONTROL By Dmitri De Klerk Supervisor: James Connan.
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.
AdaBoost Robert E. Schapire (Princeton University) Yoav Freund (University of California at San Diego) Presented by Zhi-Hua Zhou (Nanjing University)
Face Detection using the Viola-Jones Method
CS 231A Section 1: Linear Algebra & Probability Review
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.
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
Lecture 29: Face Detection Revisited CS4670 / 5670: Computer Vision Noah Snavely.
Face detection Slides adapted Grauman & Liebe’s tutorial
Visual Object Recognition
Terrorists Team members: Ágnes Bartha György Kovács Imre Hajagos Wojciech Zyla.
Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Kostantina Palla & Alfredo Kalaitzis School of Informatics University.
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 6: Classification – Boosting and SVMs CAP 5415 Fall 2006.
HCI/ComS 575X: Computational Perception Instructor: Alexander Stoytchev
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.
Bibek Jang Karki. Outline Integral Image Representation of image in summation format AdaBoost Ranking of features Combining best features to form strong.
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.
Hand Gesture Recognition Using Haar-Like Features and a Stochastic Context-Free Grammar IEEE 高裕凱 陳思安.
FACE DETECTION : AMIT BHAMARE. WHAT IS FACE DETECTION ? Face detection is computer based technology which detect the face in digital image. Trivial task.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko slides adapted from Svetlana Lazebnik.
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.
Face Detection and Recognition Reading: Chapter and, optionally, “Face Recognition using Eigenfaces” by M. Turk and A. Pentland.
AdaBoost Algorithm and its Application on Object Detection Fayin Li.
Recognition Part II: Face Detection via AdaBoost Linda Shapiro CSE
1 Munther Abualkibash University of Bridgeport, CT.
Reading: R. Schapire, A brief introduction to boosting
2. Skin - color filtering.
License Plate Detection
Session 7: Face Detection (cont.)
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.
ADABOOST(Adaptative Boosting)
Lecture 29: Face Detection Revisited
Presentation transcript:

A Robust Real Time Face Detection

Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements  Demonstration

AdaBoost A short Introduction to Boosting (Freund & Schapire, 1999) Logistic Regression, AdaBoost and Bregman Distances (Collins, Schapire, Singer, 2002)

Boosting  The Horse-Racing Gambler Problem –Rules of thumb for a set of races –How should we choose the set of races in order to get the best rules of thumb? –How should the rules be combined into a single highly accurate prediction rule?  Boosting !

Boosting

AdaBoost - the idea  Initialize sample weights  For each cycle: –Find a classifier that performs well on the weighted sample –Increase weights of misclassified examples  Return a weighted list of classifiers  AdaBoost agglomerates many weak classifiers into one strong classifier. Shoe size IQ

AdaBoost - algorithm example decision distribution step

AdaBoost – training error  Freund and Schapire (1997) proved that:  AdaBoost adapts to the error rates of the individual weak hypotheses. –Therefore it is called ADABoost.

AdaBoost – generalization error  Freund and Schapire (1997) showed that:

AdaBoost – generalization error  The analysis implies that boosting will overfit if the algorithm is run for too many rounds  However, it was observed empirically that AdaBoost does not overfit, –even when run thousands of rounds.  Moreover, it was observed that the generalization error continues to drive down long after training error reached zero

AdaBoost – generalization error  An alternative analysis was presented by Schapire et al. (1998), that suits the empirical findings

AdaBoost – different point of view  We try to solve the problem of approximating the y’s using a linear combination of weak hypotheses  In other words, we are interested in the problem of finding a vector of parameters α such that is a ‘good approximation’ of y i  For classification problems we try to match the sign of f(x i ) to y i

AdaBoost – different point of view  Sometimes it is advantageous to minimize some other (non-negative) loss function instead of the number of classification errors  For AdaBoost the loss function is  This point of view was used by Collins, Schapire and Singer (2002) to demonstrate that AdaBoost converges to optimality

Face Detection (not face recognition)

Face Detection in Monkeys There are cells that ‘detect faces’

Face Detection in Human There are ‘processes of face detection’

Faces Are Special We humans analyze faces in a ‘different way’

Faces Are Special We humans analyze faces in a ‘different way’

Faces Are Special We analyze faces in a ‘different way’

Face Recognition in Human We analyze faces ‘in a specific location’

Robust Real-Time Face Detection Viola and Jones, 2003

Features Picture analysis, Integral Image

Features  The system classifies images based on the value of simple features Two-rectangle Three-rectangle Four-rectangle Value = ∑ (pixels in white area) - ∑ (pixels in black area)

Contrast Features Source Result Notice that each feature is related to a special location in the sub-window

Features  Notice that each feature is related to a special location in the sub-window  Why features and not pixels? –Encode domain knowledge –Feature based system operates faster –Inspiration from human vision

Features  Later we will see that there are other features that can be used to implement an efficient face detector  The original system of Viola and Jones used only rectangle features

Computing Features  Given a detection resolution of 24x24, and size of ~200x200, the set of rectangle features is ~160,000 !  We need to find a way to rapidly compute the features

Integral Image  Intermediate representation of the image  Computed in one pass over the original image

Integral Image Using the integral image representation one can compute the value of any rectangular sum in constant time. For example the integral sum inside rectangle D we can compute as: ii(4) + ii(1) – ii(2) – ii(3) (x,y) s(x,y) = s(x,y-1) + i(x,y) ii(x,y) = ii(x-1,y) + s(x,y) (0,0) x y

Integral Image Integral Image (x,y)

Building a Detector Cascading, training a cascade

Main Ideas  The Features will be used as weak classifiers  We will concatenate several detectors serially into a cascade  We will boost (using a version of AdaBoost) a number of features to get ‘good enough’ detectors

Weak Classifiers Weak Classifier : A feature which best separates the examples Given a sub-window (x), a feature (f), a threshold (Θ), and a polarity (p) indicating the direction of the inequality: Probability for this threshold

Weak Classifiers  A weak classifier is a combination of a feature and a threshold  We have K features  We have N thresholds where N is the number of examples  Thus there are KN weak classifiers

Weak Classifier Selection  For each feature sort the examples based on feature value  For each element evaluate the total sum of positive/negative example weights (T+/T-) and the sum of positive/negative weights below the current example (S+/S-)  The error for a threshold which splits the range between the current and previous example in the sorted list is :

An example eBAS-S+T-T+Wfyx 2/53/52/5002/53/51/52X1 1/54/51/51/502/53/51/53X2 05/502/502/53/51/551X3 1/54/51/52/51/52/53/51/571X4 2/53/52/52/52/52/53/51/581X5 examples weight Error = min(A,B) positive/negative example weights the sum of positive/negative weights below the current example decision For e calculation Feature value

Main Ideas: Cascading  The Features will be used as weak classifiers  We will concatenate several detectors serially into a cascade  We will boost (using a version of AdaBoost) a number of features to get ‘good enough’ detectors

Cascading  We start with simple classifiers which reject many of the negative sub-windows while detecting almost all positive sub-windows  Positive results from the first classifier triggers the evaluation of a second (more complex) classifier, and so on  A negative outcome at any point leads to the immediate rejection of the sub-window

Cascading

Main Ideas: Boosting  The Features will be used as weak classifiers  We will concatenate several detectors serially into a cascade  We will boost (using a version of AdaBoost) a number of features to get ‘good enough’ detectors

Training a cascade  User selects values for: –Maximum acceptable false positive rate per layer –Minimum acceptable detection rate per layer –Target overall false positive rate  User gives a set of positive and negative examples

Training a cascade (cont.)  While the overall false positive rate is not met: –While the false positive rate of current layer is less than the maximum per layer:  Train a classifier with n features using AdaBoost on a set of positive and negative examples  Decrease threshold when the current classifier detection rate of the layer is more than the minimum  Evaluate current cascade classifier on validation set –Evaluate current cascade detector on a set of non faces images and put any false detections into the negative training set

Results

Training Data Set  4916 hand labeled faces  Aligned to base resolution (24x24)  Non faces for first layer were collected from 9500 non faces images  Non faces for subsequent layers were obtained by scanning the partial cascade across non faces and collecting false positives (max 6000 for each layer)

Structure of the Detector  38 layer cascade  6060 features

Speed of final Detector  On a 700Mhz Pentium III processor, the face detector can process a 384 by 288 pixel image in about.067 seconds

Improvements Learning Object Detection from a Small Number of Examples: the Importance of Good Features (Levy & Weiss, 2004)

Improvements  Performance depends crucially on the features that are used to represent the objects (Levy & Weiss, 2004)  Good Features imply: –Good results from small training databases –Better generalization abilities –Shorter (faster) classifiers

Edge Orientation Histogram  Invariant to global illumination changes  Captures geometric properties of faces  Domain knowledge represented: –Inner part of the face includes more horizontal edges then vertical –The ration between vertical and horizontal edges is bounded –The area of the eyes includes mainly horizontal edges –The chin has more or less the same number of oblique edges on both sides

Edge Orientation Histogram  Called EOH  The EOH can be calculated using some kind of Integral Image: –We find the gradients at the point (x,y) using Sobel masks –We calculate the orientation of the edge (x,y) –We divide the edges into K bins –The result is stored in K matrices –We use the same idea of Integral Image for the matrices

EOH Features  The ratio between two orientations  The dominance of a given orientation  Symmetry Features

Results  Already with only 250 positive examples we can see above 90% detection rate  Faster classifier  Better performance in profile faces

Demo Implementing Viola & Jones system Frank Fritze, 2004