Face Detection CSE 576. Face detection State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko.

Slides:



Advertisements
Similar presentations
EE462 MLCV Lecture 5-6 Object Detection – Boosting Tae-Kyun Kim.
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 State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko.
Recap: Bag of Words for Large Scale Retrieval Slide Credit: Nister Slide.
Face Detection & Synthesis using 3D Models & OpenCV Learning Bit by Bit Don Miller ITP, Spring 2010.
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.
Viola/Jones: features “Rectangle filters” Differences between sums of pixels in adjacent rectangles { y t (x) = +1 if h t (x) >  t -1 otherwise Unique.
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.
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.
Learning and Vision: Discriminative Models
A Robust Real Time Face Detection. Outline  AdaBoost – Learning Algorithm  Face Detection in real life  Using AdaBoost for Face Detection  Improvements.
Robust Real-Time Object Detection Paul Viola & Michael Jones.
Viola and Jones Object Detector Ruxandra Paun EE/CS/CNS Presentation
Foundations of Computer Vision Rapid object / face detection using a Boosted Cascade of Simple features Presented by Christos Stoilas Rapid object / face.
FACE DETECTION AND RECOGNITION By: Paranjith Singh Lohiya Ravi Babu Lavu.
Face Detection using the Viola-Jones Method
Using Statistic-based Boosting Cascade Weilong Yang, Wei Song, Zhigang Qiao, Michael Fang 1.
CS 231A Section 1: Linear Algebra & Probability Review
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.
Lecture 29: Face Detection Revisited CS4670 / 5670: Computer Vision Noah Snavely.
Face detection Slides adapted Grauman & Liebe’s tutorial
Visual Object Recognition
Robust Real-time Face Detection by Paul Viola and Michael Jones, 2002 Presentation by Kostantina Palla & Alfredo Kalaitzis School of Informatics University.
Robust real-time face detection Paul A. Viola and Michael J. Jones Intl. J. Computer Vision 57(2), 137–154, 2004 (originally in CVPR’2001) (slides adapted.
Tony Jebara, Columbia University Advanced Machine Learning & Perception Instructor: Tony Jebara.
Face detection Behold a state-of-the-art face detector! (Courtesy Boris Babenko)Boris Babenko slides adapted from Svetlana Lazebnik.
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.
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.
Lecture 15: Eigenfaces CS6670: Computer Vision Noah Snavely.
Lecture 15: Eigenfaces CS6670: Computer Vision Noah Snavely.
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.
Project Overview CSE 6367 – Computer Vision Vassilis Athitsos University of Texas at Arlington.
(Courtesy Boris Babenko)
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
Things iPhoto thinks are faces
2. Skin - color filtering.
Recognition Part II: Face Detection via AdaBoost
Skin and Face Detection
Session 7: Face Detection (cont.)
High-Level Vision Face Detection.
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
Face/Flesh Detection and Face Recognition
Presentation transcript:

Face Detection CSE 576

Face detection State-of-the-art face detection demo (Courtesy Boris Babenko)Boris Babenko

Face detection and recognition DetectionRecognition “Sally”

Face detection Where are the faces?

Face Detection What kind of features? What kind of classifiers?

Image Features “Rectangle filters” Value = ∑ (pixels in white area) – ∑ (pixels in black area) +1

Feature extraction K. Grauman, B. Leibe Feature output is difference between adjacent regions Viola & Jones, CVPR 2001 Efficiently computable with integral image: any sum can be computed in constant time Avoid scaling images scale features directly for same cost “Rectangular” filters

Sums of rectangular regions How do we compute the sum of the pixels in the red box? After some pre-computation, this can be done in constant time for any box. This “trick” is commonly used for computing Haar wavelets (a fundemental building block of many object recognition approaches.)

Sums of rectangular regions The trick is to compute an “integral image.” Every pixel is the sum of its neighbors to the upper left. Sequentially compute using:

Sums of rectangular regions AB CD Solution is found using: A + D – B - C What if the position of the box lies between pixels?

K. Grauman, B. Leibe Large library of filters Considering all possible filter parameters: position, scale, and type: 180,000+ possible features associated with each 24 x 24 window Use AdaBoost both to select the informative features and to form the classifier Viola & Jones, CVPR 2001

Feature selection For a 24x24 detection region, the number of possible rectangle features is ~160,000! At test time, it is impractical to evaluate the entire feature set Can we create a good classifier using just a small subset of all possible features? How to select such a subset?

K. Grauman, B. Leibe AdaBoost for feature+classifier selection Want to select the single rectangle feature and threshold that best separates positive (faces) and negative (non-faces) training examples, in terms of weighted error. Outputs of a possible rectangle feature on faces and non-faces. … Resulting weak classifier: For next round, reweight the examples according to errors, choose another filter/threshold combo. Viola & Jones, CVPR 2001

AdaBoost: Intuition K. Grauman, B. Leibe Figure adapted from Freund and Schapire Consider a 2-d feature space with positive and negative examples. Each weak classifier splits the training examples with at least 50% accuracy. Examples misclassified by a previous weak learner are given more emphasis at future rounds.

AdaBoost: Intuition K. Grauman, B. Leibe

AdaBoost: Intuition K. Grauman, B. Leibe Final classifier is combination of the weak classifiers

K. Grauman, B. Leibe Final classifier is combination of the weak ones, weighted according to error they had.

AdaBoost Algorithm Start with uniform weights on training examples Find the best threshold and polarity for each feature, and return error. Re-weight the examples: Incorrectly classified -> more weight Correctly classified -> less weight {x 1,…x n } For T rounds

Recall Classification NN Naïve Bayes Logistic Regression Boosting Face Detection Simple Features Integral Images Boosting AB CD

K. Grauman, B. Leibe Picking the best classifier Efficient single pass approach: At each sample compute: Find the minimum value of, and use the value of the corresponding sample as the threshold. = min ( S + (T – S), S + (T – S) ) S = sum of samples below the current sample T = total sum of all samples

Measuring classification performance Confusion matrix Accuracy – (TP+TN)/ (TP+TN+FP+FN) True Positive Rate=Recall – TP/(TP+FN) False Positive Rate – FP/(FP+TN) Precision – TP/(TP+FP) F1 Score – 2*Recall*Precision/ (Recall+Precision) Predicted class Class1Class2Class3 Actual class Class14016 Class23257 Class34910 Predicted PositiveNegative Actual PositiveTrue Positive False Negative NegativeFalse Positive True Negative

Boosting for face detection First two features selected by boosting: This feature combination can yield 100% detection rate and 50% false positive rate

Boosting for face detection A 200-feature classifier can yield 95% detection rate and a false positive rate of 1 in Is this good enough? Receiver operating characteristic (ROC) curve

Attentional cascade We start with simple classifiers which reject many of the negative sub-windows while detecting almost all positive sub-windows Positive response 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 FACE IMAGE SUB-WINDOW Classifier 1 T Classifier 3 T F NON-FACE T Classifier 2 T F NON-FACE F

Attentional cascade Chain classifiers that are progressively more complex and have lower false positive rates: vs falsenegdetermined by % False Pos % Detection FACE IMAGE SUB-WINDOW Classifier 1 T Classifier 3 T F NON-FACE T Classifier 2 T F NON-FACE F Receiver operating characteristic

Attentional cascade The detection rate and the false positive rate of the cascade are found by multiplying the respective rates of the individual stages A detection rate of 0.9 and a false positive rate on the order of can be achieved by a 10-stage cascade if each stage has a detection rate of 0.99 ( ≈ 0.9) and a false positive rate of about 0.30 ( ≈ 6× ) FACE IMAGE SUB-WINDOW Classifier 1 T Classifier 3 T F NON-FACE T Classifier 2 T F NON-FACE F

Training the cascade Set target detection and false positive rates for each stage Keep adding features to the current stage until its target rates have been met – Need to lower AdaBoost threshold to maximize detection (as opposed to minimizing total classification error) – Test on a validation set If the overall false positive rate is not low enough, then add another stage Use false positives from current stage as the negative training examples for the next stage

K. Grauman, B. Leibe Viola-Jones Face Detector: Summary Train with 5K positives, 350M negatives Real-time detector using 38 layer cascade 6061 features in final layer [Implementation available in OpenCV: Faces Non-faces Train cascade of classifiers with AdaBoost Selected features, thresholds, and weights New image Apply to each subwindow

The implemented system Training Data – 5000 faces All frontal, rescaled to 24x24 pixels – 300 million non-faces 9500 non-face images – Faces are normalized Scale, translation Many variations – Across individuals – Illumination – Pose

System performance Training time: “weeks” on 466 MHz Sun workstation 38 layers, total of 6061 features Average of 10 features evaluated per window on test set “On a 700 Mhz Pentium III processor, the face detector can process a 384 by 288 pixel image in about.067 seconds” – 15 Hz – 15 times faster than previous detector of comparable accuracy (Rowley et al., 1998)

Non-maximal suppression (NMS) Many detections above threshold.

Non-maximal suppression (NMS)

Similar accuracy, but 10x faster Is this good?

K. Grauman, B. Leibe Viola-Jones Face Detector: Results

K. Grauman, B. Leibe Viola-Jones Face Detector: Results

K. Grauman, B. Leibe Viola-Jones Face Detector: Results

K. Grauman, B. Leibe Detecting profile faces? Detecting profile faces requires training separate detector with profile examples.

K. Grauman, B. Leibe Paul Viola, ICCV tutorial Viola-Jones Face Detector: Results

Summary: Viola/Jones detector Rectangle features Integral images for fast computation Boosting for feature selection Attentional cascade for fast rejection of negative windows