Title: The Viola/Jones Face Detector
1The Viola/Jones Face Detector
- Prepared with figures taken from
- Robust real-time object detection
- CRL 2001/01, February 2001
2Three Measures Toward Speeded Up Detection
- Integral image a fast way to compute simple
features - In Adaboost the weak learner is nothing but a
feature selector. The advantage is that if there
are N weak learners there are merely N features
to compute. - Cascaded combination of classifiers. Most of true
negatives are rejected very fast at the at the
first few stages. Can keep high detection rate
and low false positive rate.
3Image Features
Rectangle filters Similar to Haar wavelets
Base resolution is 24-by-24 11 scales, scaling
factor of 1.25 45396 features
4Rectangular Features for Face Detection
Forehead, eye features can be captured
5Fast Feature Computation Integral Image
- Integral image value at a pixel (x, y) is the sum
of the pixel values of the original image above
and to the left of (x, y), inclusive. - Integral image can be computed by one pass
through the image
6Computing Sum within a Rectangle by Integral Image
- The sum of the pixels within rectangle D can be
computed with four array references. - The value of the integral image at location 1 is
the sum of the pixels in rectangle A. - The value at location 2 is A B, at location 3
is A C, and at location 4 is A B C D. - The sum within D can be computed as 4 1 - (2
3).
7Constrained Classifier Feature Selection
- Restrict the weak learner to a single feature
- A weak classifier hj(x) consists of a feature fj,
a threshold ?j, and a parity pj indicating the
direction of inequality sign - x is a 24-by-24 sub-window of an image
8Boosting Algorithm
9Learning Result
Must do better
10Cascading Classifiers
The initial classifier eliminates a large number
of negative examples with very little processing.
Subsequent layers eliminate additional
negatives but require additional computation.
After several stages of processing the number
of sub-windows have been reduced radically.
11How Cascading Can Meet Performance?
For K stages of cascading with each stage having
fi as the false positive rate, the overall false
positive rate for the cascade is
Similarly, the overall detection rate is
To keep F very low and D very high, for each
stage the goal is to have very high detection
rate (close to 100), but moderate false
positive rate (say, 30)
12Cascaded Classifier
50
20
2
IMAGE SUB-WINDOW
5 Features
20 Features
FACE
1 Feature
F
F
F
NON-FACE
NON-FACE
NON-FACE
- A 1 feature classifier achieves 100 detection
rate and about 50 false positive rate. - A 5 feature classifier achieves 100 detection
rate and 40 false positive rate (20 cumulative) - using data from previous stage.
- A 20 feature classifier achieve 100 detection
rate with 10 false positive rate (2 cumulative)
13Building A Cascaded Detector
14Classifier is Learned from Labeled Data
- Training Data
- 4916 hand labeled faces
- All frontal
- 10000 non faces
- Faces are normalized
- Scale, translation
- Many variations
- Across individuals
- Illumination
- Pose (rotation both in plane and out)
15Boosted Face Detection
- For each round of boosting
- Evaluate each rectangle filter on each example
- Sort examples by filter values
- Select best threshold for each filter (min Z)
- Select best filter/threshold ( Feature)
- Reweight examples
- Weeks to learn train
- 15 frames per second to detect faces from unknown
images.
16Performance
17Output of Face Detector on Test Images