Face Recognition CPSC 4600/5600 @ UTC/CSE Face Recognition Introduction Face recognition algorithms Comparison Short summary
Download
Report
Transcript Face Recognition CPSC 4600/5600 @ UTC/CSE Face Recognition Introduction Face recognition algorithms Comparison Short summary
Face Recognition
CPSC 4600/5600 @ UTC/CSE
Face Recognition
Introduction
Face recognition algorithms
Comparison
Short summary
2
Face Recognition Algorithms
We will introduce
Eigenfaces
Fisherfaces
Elastic Bunch-Graph Matching
3
Eigenfaces
Developed in 1991 by M.Turk
Based on Principal Component Analysis
(PCA)
Relatively simple
Fast
Robust
4
Eigenfaces
PCA seeks directions that are efficient for
representing the data
not efficient
Class A
efficient
Class A
Class B
Class B
5
Eigenfaces
PCA maximizes the total scatter
scatter
Class A
Class B
6
Eigenfaces
PCA reduces the dimension of the data
Speeds up the computational time
7
8
Eigenfaces, the algorithm
Assumptions
Square images with Width = Height = N
M is the number of images in the database
P is the number of persons in the database
9
Eigenfaces, the algorithm
The database
a1
a2
a
2
N
b1
b
2
b
2
N
c1
c
2
c
2
N
d1
d
2
d
2
N
e1
e
2
e
N2
f1
f
2
f
2
N
g1
g
2
g
2
N
h1
h
2
h
2
N
10
Eigenfaces, the algorithm
We compute the average face
a1 b1
1 a2 b2
m
M
aN 2 bN 2
h1
h2
,
hN 2
where M 8
11
Eigenfaces, the algorithm
Then subtract it from the training faces
a1 m1
b1 m1
c1 m1
d1 m1
a
m
b
m
c
m
d
m
2
2
2
2
2
2
2
2
am
, bm
, cm
, dm
,
a
m
b
m
c
m
d
m
N2
N2
N2
N2
N2
N2
N2
N2
e1 m1
e
m
2
2
em
,
eN 2 mN 2
f1 m1
g1 m1
h1 m1
f
m
g
m
h
m
2
2
2
2
2
2
fm
, gm
, hm
f N 2 mN 2
g N 2 mN 2
hN 2 mN 2
12
Eigenfaces, the algorithm
Now we build the matrix which is N2 by M
A am bm cm d m em f m g m hm
The covariance matrix which is N2 by N2
Cov AA
13
Eigenfaces, the algorithm
Find eigenvalues of the covariance matrix
The matrix is very large
The computational effort is very big
We are interested in at most M eigenvalues
We can reduce the dimension of the matrix
14
Eigenfaces, the algorithm
Compute another matrix which is M by M
LA A
Find the M eigenvalues and eigenvectors
Eigenvectors of Cov and L are equivalent
Build matrix V from the eigenvectors of L
15
Eigenfaces, the algorithm
Eigenvectors of Cov are linear combination
of image space with the eigenvectors of L
U AV
V is Matrix of
eigenvectors
A am bm cm d m em f m g m hm
Eigenvectors represent the variation in the
faces
16
Eigenfaces, the algorithm
A: collection of the
training faces
U: Face Space /
Eigen Space
17
Eigenfaces
Eigenface of original faces
18
Eigenfaces, the algorithm
Compute for each face its projection onto
the face space
f ,
U h
1 U am , 2 U bm , 3 U cm , 4 U d m ,
5 U em , 6 U
m
7 U g m , 8
m
Compute the threshold
1
max i j
2
for i, j 1.. M
19
Eigenfaces: Recognition Procedure
To recognize a face
r1
r2
rN 2
Subtract the average face from it
r1 m1
r
m
2
2
rm
rN 2 mN 2
20
Eigenfaces, the algorithm
Compute its projection onto the face space U
U
rm
Compute the distance in the face space
between the face and all known faces
i
2
i
2
for i 1.. M
21
Eigenfaces, the algorithm
Reconstruct the face from eigenfaces
s U
Compute the distance between the face
and its reconstruction
rm s
2
2
22
Eigenfaces, the algorithm
Distinguish between
If then it’s not a face; the distance
between the face and its reconstruction is
larger than threshold
If and min i
then it’s a new face
If and i , (i 1.. M ) then it’s a known
face because the distance in the face space
between the face and all known faces is larger
than threshold
23
Eigenfaces, the algorithm
Problems with eigenfaces
Different illumination
24
Eigenfaces, the algorithm
Problems with eigenfaces
Different head pose
Different alignment
Different facial expression
25
Fisherfaces
Developed in 1997 by P.Belhumeur et al.
Based on Fisher’s Linear Discriminant
Analysis (LDA)
Faster than eigenfaces, in some cases
Has lower error rates
Works well even if different illumination
Works well even if different facial express.
26
Fisherfaces
LDA seeks directions that are efficient for
discrimination between the data
Class A
Class B
27
Fisherfaces
LDA maximizes the between-class scatter
LDA minimizes the within-class scatter
Class A
Class B
28
Fisherfaces, the algorithm
Assumptions
Square images with Width=Height=N
M is the number of images in the database
P is the number of persons in the database
29
Fisherfaces, the algorithm
The database
a1
a2
a
2
N
b1
b
2
b
2
N
c1
c
2
c
2
N
d1
d
2
d
2
N
e1
e
2
e
N2
f1
f
2
f
2
N
g1
g
2
g
2
N
h1
h
2
h
2
N
30
Fisherfaces, the algorithm
We compute the average of all faces
a1 b1
1 a2 b2
m
M
aN 2 bN 2
h1
h2
,
hN 2
where M 8
31
Fisherfaces, the algorithm
Compute the average face of each person
a1 b1
a
b
1 2
2
x
,
2
aN 2 bN 2
e1
1 e2
z
2
eN 2
c1 d1
c
d
1 2
2
y
,
2
cN 2 d N 2
f1
g1 h1
f2
g
h
1 2
2
, w
2
f N 2
g
h
N2
N2
32
Fisherfaces, the algorithm
And subtract them from the training faces
a1 x1
b1 x1
c1 y1
d1 y1
a
x
b
x
c
y
d
y
2
2
2
2
2
2
2
2
am
, bm
, cm
, dm
,
a N 2 xN 2
bN 2 xN 2
cN 2 y N 2
d N 2 yN 2
e1 z1
e
z
2
2
em
,
eN 2 z N 2
f1 z1
g1 w1
h1 w1
f
z
g
w
h
w
2
2
2
2
2
2
fm
, gm
, hm
f N 2 zN 2
g N 2 wN 2
hN 2 wN 2
33
Fisherfaces, the algorithm
We build scatter matrices S1, S2, S3, S4
e
, S g
h
S1 am am bm bm , S 2 cm cm d m d m ,
S3
e
f
f
m m
m m
4
g
m m hm
m
And the within-class scatter matrix SW
SW S1 S2 S3 S4
34
Fisherfaces, the algorithm
The between-class scatter matrix
S B 2 x m x m 2 y m y m 2 z m z m 2 w m w m
We are seeking the matrix W maximizing
J W
W S BW
W SW W
35
Fisherfaces, the algorithm
If SW is nonsingular ( M N 2 ):
1
Columns of W are eigenvectors of SW SB
We have to compute the inverse of SW
We have to multiply the matrices
We have to compute the eigenvectors
36
Fisherfaces, the algorithm
If SW is nonsingular ( M N 2 ):
Simpler:
Columns of W are eigenvectors satisfying
SB wi i SW wi
The eigenvalues are roots of
SB i SW 0
Get eigenvectors by solving
SB i SW wi 0
37
Fisherfaces, the algorithm
If SW is singular ( M N ):
Apply PCA first
2
Will reduce the dimension of faces from N2 to M
There are M M-dimensional vectors
Apply LDA as described
38
Fisherfaces, the algorithm
Project faces onto the LDA-space
xLDA W x ,
y LDA W y ,
z LDA W z , wLDA W w
To classify the face
Project it onto the LDA-space
Run a nearest-neighbor classifier
39
Fisherfaces, the algorithm
Problems
Small databases
The face to classify must be in the DB
40
PCA & Fisher’s Linear Discriminant
41
PCA & Fisher’s Linear Discriminant
42
Comparison
FERET database
best ID rate: eigenfaces 80.0%, fisherfaces 93.2%
43
Comparison
Eigenfaces
project faces onto a lower dimensional subspace
no distinction between inter- and intra-class
variabilities
optimal for representation but not for
discrimination
44
Comparison
Fisherfaces
find a sub-space which maximizes the ratio of
inter-class and intra-class variability
same intra-class variability for all classes
45
Local Feature Analysis
-- Elastic Bunch-Graph Matching
46
Face Features
Facial recognition utilizes distinctive features of
the face – including: distinct micro elements like:
Mouth, Nose, Eye, Cheekbones, Chin, Lips, Forehead,
Ears
Upper outlines of the eye sockets, the areas
surrounding the cheekbones, the sides of the
mouth, and the location of the nose and eyes.
The distance between the eyes, the length of the
nose, and the angle of the jaw.
47
Face Features
Some technologies do not utilize areas of the face
located near the hairline, so they are somewhat resistant
to moderate changes in hairstyle.
When used in identification mode, facial recognition
technology generally returns candidate lists of close
matches as opposed to returning a single definitive
match as does fingerprint and iris-scan.
The file containing facial micro features is called a
"template."
Using templates, the software then compares that image
with another image and produces a score that measures
how similar the images are to each other.
48
Face Features
Typical sources of images for use in facial
recognition include video camera signals
and pre-existing photos such as those in
driver's license databases.
including:
Distance between the micro elements
A reference feature
Size of the micro element
Amount of head radiated from the face
(unseen by human eye). Heat can be
measured using an infrared camera.
49
A face recognition based on local feature
analysis
A face is represented as a graph, whose nodes,
positioned in correspondence to the facial
fiducial points.
A fiducial point is a point or line on a scale used for
reference or comparison purposes.
A face recognition system uses an automatic
approach to localize the facial fiducial points.
It then determines the head pose and compares
the face with the gallery images.
This approach is invariant to rotation, light and
scale.
50
A template for the 34 fiducial points on a face image:
51
EBGM
Elastic Bunch-Graph Matching (EBGM) algorithm
locates landmarks on an image, such as the eyes, nose,
and mouth.
Gabor jets are extracted from each landmark and are
used to form a face graph for each image. A face graph
serves the same function as the projected vectors in the
PCA or LDA algorithm; they represent the image in a low
dimensional space.
After a face graph has been created for each test image,
the algorithm measures the similarity of the face graphs.
Paper:http://www.snl.salk.edu/~fellous/posters/Bu97post
er/BUPoster.pdf
52
Summary
Three algorithms have been introduced
Eigenfaces
the dimension of the data from N2 to M
Verify if the image is a face at all
Allow online training
Fast recognition of faces
Problems with illumination, head pose etc
Reduce
53
Summary
Fisherfaces
Reduce dimension of the data from N2 to P-1
Can outperform eigenfaces on a representative
DB
Works also with various illuminations
Can only classify a face which is “known” to DB
Elastic Bunch-Graph Matching
Reduce the dimension of the data from N2 to M
Recognize face with different poses
Recognize face with different expressions
54
References
[1] M. Turk, A. Pentland, “Face Recognition Using Eigenfaces”
[2] J. Ashbourn, Avanti, V. Bruce, A. Young, ”Face Recognition Based
on Symmetrization and Eigenfaces”
[3] http://www.markus-hofmann.de/eigen.html
[4] P. Belhumeur, J. Hespanha, D. Kriegman, “Eigenfaces vs
Fisherfaces: Recognition using Class Specific Linear Projection”
[5] R. Duda, P. Hart, D. Stork, “Pattern Classification”, ISBN 0-47105669-3, pp. 121-124
[6] F. Perronin, J.-L. Dugelay, “Deformable Face Mapping For Person
Identification”, ICIP 2003, Barcelona
[7] B. Moghaddam, C. Nastar, and A. Pentland. A bayesian similarity
measure for direct image matching. ICPR, B:350–358, 1996.
http://www.face-rec.org/interesting-papers/
55
Hands-on Lab of Face Biometrics
Present one of the following algorithms
Elastic Bunch-Graph Matching (EBGM)
algorithm
Bayesian Intrapersonal/Extrapersonal
Classifier, or
One from http://www.face-rec.org/interestingpapers/
Hands-on Lab of Face Biometrics
http://www.cs.colostate.edu/evalfacerec/
User Guide
56