Face Detection Ying Wu [email protected] Electrical and Computer Engineering Northwestern...

44
Face Detection Ying Wu [email protected] Electrical and Computer Engineering Northwestern University, Evanston, IL http://www.ece.northwestern.edu/~yingwu

Transcript of Face Detection Ying Wu [email protected] Electrical and Computer Engineering Northwestern...

Page 1: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Face Detection

Ying [email protected]

Electrical and Computer EngineeringNorthwestern University, Evanston, IL

http://www.ece.northwestern.edu/~yingwu

Page 2: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Face Detection: The Problem

The Goal:

Identify and locate faces in an image

The Challenges:

Position

Scale

Orientation

Illumination

Facial expression

Partial occlusion

Page 3: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Outline The Basics Visual Detection

– A framework– Pattern classification– Handling scales

Viola & Jones’ method– Feature: Integral image– Classifier: AdaBoosting– Speedup: Cascading classifiers– Putting things together

Other methods Open Issues

Page 4: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

The Basics: Detection Theory

Bayesian decision Likelihood ratio detection

Page 5: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Bayesian Rule

iii

iiiii pxp

pxp

xp

pxpxp

)()|(

)()|(

)(

)()|()|(

posterior likelihoodprior

Page 6: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Bayesian Decision

Classes {1, 2,…, c}

Actions {1, 2,…, a}

Loss: (k| i)

Risk: Overall risk:

Bayesian decision

c

kkkii xpxR

1

)|()|()|(

x

dxxpxxRR )()|)((

)|(minarg* xR kk

Page 7: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Minimum-Error-Rate Decision

ki

kiki 1

0)|(

c

k ikikkkii xpxppxR

1

)|(1)|()()|()|(

ikxpxp kii )|()|( if decide

Page 8: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Likelihood Ratio Detection

x – the data H – hypothesis

– H0: the data does not contain the target– H1: the data contains the target

Detection: p(x|H1) > p(x|H0) Likelihood ratio

tHxp

Hxp

)0|(

)1|(

Page 9: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Detection vs. False Positive

“+” “-”

false positive miss detection

threshold

“+” “-”

false positive miss detection

threshold

Page 10: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Visual Detection

A Framework Three key issues

– target representation– pattern classification– effective search

Page 11: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Visual Detection

Detecting an “object” in an image– output: location and size

Challenges– how to describe the “object”?– how likely is an image patch the image of the

target?– how to handle rotation?– how to handle the scale?– how to handle illumination?

Page 12: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

A Framework

Detection window Scan all locations and scales

Page 13: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Three Key Issues

Target Representation Pattern Classification

– classifier– training

Effective Search

Page 14: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Target Representation

Rule-based – e.g. “the nose is underneath two eyes”, etc.

Shape Template-based– deformable shape

Image Appearance-based– vectorize the pixels of an image patch

Visual Feature-based– descriptive features

Page 15: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Pattern Classification

Linear separable

Linear non-separable

Page 16: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Effective Search

Location– scan pixel by pixel

Scale– solution I

keep the size of detection window the same use multiple resolution images

– solution II: change the size of detection window

Efficiency???

Page 17: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Viola & Jones’ detector

Feature integral image Classifier AdaBoosting Speedup Cascading classifiers Putting things together

Page 18: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

An Overview

Feature-based face representation AdaBoosting as the classifier Cascading classifier to speedup

Page 19: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Harr-like features

Q1: how many features can be calculated within a detection window?Q2: how to calculate these features rapidly?

Page 20: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Integral Image

Page 21: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

The Smartness

Page 22: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Training and Classification

Training– why?– An optimization problem– The most difficult part

Classification– basic: two-class (0/1) classification– classifier– online computation

Page 23: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Weak Classifier

Weak?– using only one feature for classification– classifier: thresholding

– a weak classifier: (fj, j,pj)

Why not combining multiple weak classifiers? How???

Page 24: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Training: AdaBoosting

Idea 1: combining weak classifiers

Idea 2: feature selection

Page 25: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Feature Selection

How many features do we have? What is the best strategy?

Page 26: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Training Algorithm

Page 27: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

The Final Classifier

This is a linear combination of a selected set of weak classifiers

Page 28: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Learning Results

Page 29: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Attentional Cascade

Motivation– most detection windows contain non-faces– thus, most computation is wasted

Idea?– can we save some computation on non-faces?– can we reject the majority of the non-faces

very quickly?– using simple classifiers for screening!

Page 30: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Cascading classifiers

Page 31: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Designing Cascade Design parameters

– # of cascade stages– # of features for each stage– parameters of each stage

Example: a 32-stage classifier– S1: 2-feature, detect 100% faces and reject 60% non-faces– S2: 5-feature, detect 100% faces and reject 80% non-faces– S3-5: 20-feature– S6-7: 50-feature– S8-12: 100-feature– S13-32: 200-feature

Page 32: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Comparison

Page 33: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Comments

It is quite difficult to train the cascading classifiers

Page 34: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Handling scales

Scaling the detector itself, rather than using multiple resolution images

Why?– const computation

Practice– Use a set of scales a factor of 1.25 apart

Page 35: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Integrating multiple detection

Why multiple detection?– detector is insensitive to small changes in

translation and scale Post-processing

– connect component labeling– the center of the component

Page 36: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Putting things together

Training: off-line– Data collection

positive data negative data

– Validation set– Cascade AdaBoosting

Detection: on-line– Scanning the image

Page 37: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Training Data

Page 38: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Results

Page 39: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

ROC

Page 40: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Summary

Advantages– Simple easy to implement– Rapid real-time system

Disadvantages– Training is quite time-consuming (may take

days)– May need enormous engineering efforts for

fine tuning

Page 41: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Other Methods

Rowley-Baluja-Kanade

Page 42: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Rowley-Baluja-Kanade

Train a set of multilayer perceptrons and arbitrate a decision among all the inputs, and search among different scales,

[Rowley, Baluja and Kanade, 1998]

Page 43: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

RBK: Some Results

Courtesy of Rowley et al., 1998

Page 44: Face Detection Ying Wu yingwu@ece.northwestern.edu Electrical and Computer Engineering Northwestern University, Evanston, IL yingwu.

Open Issues

Out-of-plane rotation Occlusion Illumination