19
2013 Scientific Computing 2 111/03/30 2 Face Recognition Characteristics of FR: A mode of biometric identification Easy for human, hard for machine Image database: Test image: A: B: C: D: E: F: G: Who is this guy?

PCA & LDA for Face Recognition J.-S. Roger Jang ( 張智星 ) CS Dept., Tsing Hua Univ., Taiwan mirlab.org 2010 Scientific Computing

Embed Size (px)

Citation preview

2013 Scientific Computing

2 112/04/19 2

Face RecognitionFace Recognition

Characteristics of FR:• A mode of biometric

identification• Easy for human, hard for

machine

Image database:Test image:

A:

B:

C:

D:

E:

F:

G:

Who is this guy?

2013 Scientific Computing

3 112/04/19 3

Biometric IdentificationBiometric Identification

Identification of people from their physical characteristics, such as

• faces• voices• fingerprints• palm prints• hand vein distributions• hand shapes and sizes• retinal scans

2013 Scientific Computing

4 112/04/19 4

FR via PCAFR via PCA

First paper:• M. Turk and A. Pentland, "Eigenfaces for

Recognition", Journal of Cognitive Neuroscience, vol. 3, no. 1, pp. 71-86, 1991

Characteristics• Efficient computation

• Proven mathematics

• Applicable to face detection

2013 Scientific Computing

5 112/04/19 5

Problem DefinitionProblem Definition

Input• A dataset of face images of n person

• An unknown person’s face image

Output:• Determine the identity of the unknown person

2013 Scientific Computing

6

ATT Face DatasetATT Face Dataset

Origin• Olivetti Research

Laboratory, 1992~1994

Stats:• 40 subjects, each

with 10 images

Characteristics• Same-size photos of

black and white

• Centered faces of different poses

112/04/19 6

2013 Scientific Computing

7

Face Recognition via PCAFace Recognition via PCA

Compute

Mean Face

Facial Signatures

400

Subtract

Compute

Eigenvectors

(Eigenfaces)

Select 6

Principal

Eigenfaces

400 400

6

1iiiuwf

2013 Scientific Computing

8 112/04/19 8

Steps of Feature Extraction via PCASteps of Feature Extraction via PCA

3 simple steps:1. Data preprocessing

- Each sample image is rearranged into a column vector of length 112*92=10304. All images are put into a matrix F of size 10304x400.

- Mean face is subtracted from each column.

2. PCA

- Find the eigenvectors of F*F’.

3. Projection

- Select top k eigenvectors with k largest eigenvalues k eigenfaces!

- Do projection along these eigenfaces to find new features for classification

2013 Scientific Computing

9 112/04/19 9

Details for Step 2: PCADetails for Step 2: PCAProblem: is large,10304x10304! (849MB!) How to

compute the eigenvectors of ?

Observation:• If u is the eigenvector of F’F, then Fu is the eigenvector of FF’.

• If is the eigenvalue of F’F, then is also the eigenvalue of FF’.

Note that:• FF’ has 10304 eigenvalues.

• F’F has 400 eigenvalues, corresponding to the 400 largest eigenvalues of FF’.

'FF'FF

FuFuFFFuFuFFuFuF '''

2013 Scientific Computing

10 112/04/19 10

Details for Step 3: Projection (1/2)Details for Step 3: Projection (1/2)

Each face (minus the mean) in the training set can be represented as a linear combination of the best k eigenvectors:

Typical eigenfaces when k=4:

1u

2u

3u

4u

k

iiimean uwff

1

2013 Scientific Computing

11 112/04/19 11

Details for Step 3: Projection (2/2)Details for Step 3: Projection (2/2)

Since is an orthonormal basis, any face (after mean subtraction) can be represented by this basis:

The feature vector of the face is then the new coordinates obtained by:

1 2 3 4, , ,u u u u

1

2

3

4

0.9571, 0.1945,0.0461,0.0586

T

TTT

T

T

u

uU f f

u

u

2013 Scientific Computing

12 112/04/19 12

ClassificationClassification

Once the features for images are extracted, we can then apply any classification methods to obtain the final recognition results, including

• Minimum distance classifier

• Support vector machines

• Neural networks

• Quadratic classifier

• Gaussian mixture models

2013 Scientific Computing

13 112/04/19 13

Face Detection Using EigenfacesFace Detection Using Eigenfaces

2013 Scientific Computing

14

Distance from Face Space (DFFS)Distance from Face Space (DFFS)

112/04/19 14

2013 Scientific Computing

15

PCA for ATT DatasetPCA for ATT Dataset

Variance vs. no. of eigenvalues used

16 eigenfaces

112/04/19 15

2013 Scientific Computing

16

PCA for ATT Dataset: AccuracyPCA for ATT Dataset: Accuracy

Accuracy vs. no. of eigenvalues used Accuracy of 98.50% is achieved when the dimensionality is 28.

112/04/19 16

2013 Scientific Computing

17

PCA for ATT Dataset: DFFSPCA for ATT Dataset: DFFS

112/04/19 17

2013 Scientific Computing

18

PCA for ATT Dataset: SimilarityPCA for ATT Dataset: Similarity

112/04/19 18

2013 Scientific Computing

19

PCA for ATT Dataset: DemoPCA for ATT Dataset: Demo

Face Recognition via PCA (eigenfaces)

112/04/19 19

load faceData.mat frOpt.method='pca'; frOpt.pcaDim=7; frOpt.plot=1; faceRecogDemo(faceData, frOpt);

2013 Scientific Computing

20

PCA+LDA for FRPCA+LDA for FR

Steps for FR via fisherfaces:1. Perform PCA to reduce to 60 dimensions

2. Perform LDA to find the best dimensionality 99.00% when the dimensionality is 14.

112/04/19 20