Face Detection and Head Tracking Ying Wu Electrical Engineering Computer Science Northwestern...

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

description

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

Transcript of Face Detection and Head Tracking Ying Wu Electrical Engineering Computer Science Northwestern...

Page 1: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Face Detection and Head Tracking

Ying [email protected]

Electrical Engineering & Computer Science

Northwestern University, Evanston, ILhttp://www.ece.northwestern.edu/~yingwu

Page 2: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

The Basics: Detection Theory

Bayesian decision Likelihood ratio detection

Page 5: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Bayesian Rule

iii

iiiii pxp

pxpxp

pxpxp)()|(

)()|()(

)()|()|(

posterior likelihoodprior

Page 6: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Minimum-Error-Rate Decision

kiki

ki 10

)|(

c

k ikikkkii xpxppxR

1

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

ikxpxp kii )|()|( if decide

Page 8: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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

tHxpHxp

)0|()1|(

Page 9: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Detection vs. False Positive

“+” “-”

false positive miss detection

threshold

“+” “-”

false positive miss detection

threshold

Page 10: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Visual Detection A Framework Three key issues

– target representation– pattern classification– effective search

Page 11: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

A Framework Detection window Scan all locations and scales

Page 13: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Three Key Issues Target Representation Pattern Classification

– classifier– training

Effective Search

Page 14: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Pattern Classification Linear separable

Linear non-separable

Page 16: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Viola & Jones’ detector

Feature integral image Classifier AdaBoosting Speedup Cascading classifiers Putting things together

Page 18: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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

Page 19: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Integral Image

Page 21: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

The Smartness

Page 22: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Training: AdaBoosting

Idea 1: combining weak classifiers

Idea 2: feature selection

Page 25: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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

Page 26: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Training Algorithm

Page 27: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

The Final Classifier

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

Page 28: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Learning Results

Page 29: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Cascading classifiers

Page 31: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Comparison

Page 33: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Comments It is quite difficult to train the

cascading classifiers

Page 34: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Training Data

Page 38: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Results

Page 39: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

ROC

Page 40: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Other Methods

Rowley-Baluja-Kanade

Page 42: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

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 and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

RBK: Some Results

Courtesy of Rowley et al., 1998

Page 44: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Open Issues

Out-of-plane rotation Occlusion Illumination

Page 45: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Tracking Heads?

The task:Localize faces and track them in image sequences

Challenges:Lighting, occlusion, rotation, etc.

Courtesy of Y. Wu, 2001

Page 46: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Outline

Motivation What is tracking? One solution (Birchfield_CVPR98) Other methods and open issues

Page 47: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Motivation Why tracking?

– The complexity of face detection scan all the pixel positions and several scales

– The limitation of face detection hard to handle out-of-plane rotation

– Can we maintain the identity of the faces? although face recognition is the ultimate solution

for this, we may not need it, if not necessary Objectives

– fast (frame-rate) face/head localization– handle 360o out-of-plane rotation

Page 48: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Visual Tracking

Page 49: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Four Elements

Infer target states in video sequences

Target states vs. image observations Visual cues and modalities Four elements

– Target representation X– Observation representation Z– Hypotheses measurement p(Zt|Xt)– Hypotheses generating p(Xt|Xt-1)

Page 50: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Visual Tracking

Ground TruthPrediction

HypothesisEstimation

]|[ 1tt ZXE

]|[ tt ZXE

tX

]|[]),|[( 11 ttttt ZXEZZXE

]|[ 11 tt ZXE

Page 51: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Formulating Visual Tracking

ttttttt

tttttt

dXZXpXXpZXp

ZXpXZpZXp

)|()|()|(

)|()|()|(

11

11111

P(Xt|Xt-1)Dynm. Mdl

P(Zt|Xt)Obsrv. Mdl

Page 52: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Tracking as Density Propagation

State space Xt

State space Xt+1

)|( tt ZXp

),|()|(

11

11

ttt

tt

ZZXpZXp

Posterior

Prob.

Posterior

Prob.

Page 53: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

One Solution(Birchfield_CVPR98)

Framework

Search strategy

Edge cue

Color cue

Page 54: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Framework s = (x,y,) Tracking is treated as a local

search based on the prediction

hypotheses Edge matching

score

color matching

score

Page 55: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Search Strategy

Local exhaustive search

Do you have better ideas?

is the search step size

Page 56: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Edge Cue

Method I

Method II

Which is better?

The the magnitude of the gradient at perimeter pixel i of the ellipse s.

# of pixels on the perimeter of the ellipse

unit vector normal to the ellipse at pixel i.

Page 57: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Normalization

Why do we need normalization? How good is it?

Page 58: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Color Cue Histogram intersection # of bins

Model histogram

Page 59: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Color Cue

Color space– B-G– G-R– R+G+B (why do we need that)

8 bins for B-G and G-R, 4 for R+G+B

Training the model histogram Normalization

Page 60: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Comments Can the rotation be handled? Can the scaling issue be handled? Is the search strategy good enough? Is the color module good? Is the motion prediction enough? Is the combination of the two cues good? Can it handle occlusion? Can it cope with multiple faces

– Coalesce – Switch ID

Page 61: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Other Solutions

Condensation algorithm

3D head tracking

Page 62: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Tracking as Density Propagation

State space Xt

State space Xt+1

)|( tt ZXp

),|()|(

11

11

ttt

tt

ZZXpZXp

Posterior

Prob.

Posterior

Prob.

Page 63: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Sequential Monte Carlo

P(Xt|Zt) is represented by a set of weighted samples Sample weights are determined by P(Zt

(n)|Xt(n))

Hypotheses generating is controlled by P(Xt|Xt-1)

Page 64: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

Challenge to Condensation

Curse of dimensionality– What to track?

Positions, orientations Shape deformation Color appearance changing

– The dimensionality of X– The number of hypotheses grows

exponentially

Page 65: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

3D Face Tracking: The Problem

The goal:Estimate and track 3D head poses

The challenges: Side view

Back view

Poor illumination

Low resolution

Different users

Page 66: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

3D Face Tracking: A Solution

Predictor

Motion Model

Final Pose

Estimator

Cropped Input

Image

Prepro-cessing

Feature Extraction

Ellipsoid Model

Annotated Pose

Courtesy of Y. Wu and K. Toyama, 2000

Page 67: Face Detection and Head Tracking Ying Wu Electrical Engineering  Computer Science Northwestern University, Evanston, IL

3D Face Tracking: some results