Face Recognition Face Recognition CPSC 4600/5600 @ UTC/CSE CPSC 4600/5600 @ UTC/CSE
Transcript
Slide 1
Face Recognition CPSC 4600/5600 @ UTC/CSE
Slide 2
2 Face Recognition Introduction Introduction Face recognition
algorithms Face recognition algorithms Comparison Comparison Short
summary Short summary
Slide 3
3 Face Recognition Algorithms We will introduce We will
introduce Eigenfaces Eigenfaces Fisherfaces Fisherfaces Elastic
Bunch-Graph Matching Elastic Bunch-Graph Matching
Slide 4
4 Eigenfaces Developed in 1991 by M.Turk Developed in 1991 by
M.Turk Based on Principal Component Analysis (PCA) Based on
Principal Component Analysis (PCA) Relatively simple Relatively
simple Fast Fast Robust Robust
Slide 5
5 Eigenfaces PCA seeks directions that are efficient for
representing the data PCA seeks directions that are efficient for
representing the data efficient not efficient Class A Class B Class
A Class B
Slide 6
6 Eigenfaces PCA maximizes the total scatter scatter Class A
Class B
Slide 7
7 Eigenfaces PCA reduces the dimension of the data PCA reduces
the dimension of the data Speeds up the computational time Speeds
up the computational time
Slide 8
8
Slide 9
9 Eigenfaces, the algorithm Assumptions Assumptions Square
images with Width = Height = N Square images with Width = Height =
N M is the number of images in the database M is the number of
images in the database P is the number of persons in the database P
is the number of persons in the database
Slide 10
10 Eigenfaces, the algorithm The database The database
Slide 11
11 Eigenfaces, the algorithm We compute the average face We
compute the average face
Slide 12
12 Eigenfaces, the algorithm Then subtract it from the training
faces Then subtract it from the training faces
Slide 13
13 Eigenfaces, the algorithm Now we build the matrix which is N
2 by M Now we build the matrix which is N 2 by M The covariance
matrix which is N 2 by N 2 The covariance matrix which is N 2 by N
2
Slide 14
14 Eigenfaces, the algorithm Find eigenvalues of the covariance
matrix Find eigenvalues of the covariance matrix The matrix is very
large The matrix is very large The computational effort is very big
The computational effort is very big We are interested in at most M
eigenvalues We are interested in at most M eigenvalues We can
reduce the dimension of the matrix We can reduce the dimension of
the matrix
Slide 15
15 Eigenfaces, the algorithm Compute another matrix which is M
by M Compute another matrix which is M by M Find the M eigenvalues
and eigenvectors Find the M eigenvalues and eigenvectors
Eigenvectors of Cov and L are equivalent Eigenvectors of Cov and L
are equivalent Build matrix V from the eigenvectors of L Build
matrix V from the eigenvectors of L
Slide 16
16 Eigenfaces, the algorithm Eigenvectors of Cov are linear
combination of image space with the eigenvectors of L Eigenvectors
of Cov are linear combination of image space with the eigenvectors
of L Eigenvectors represent the variation in the faces Eigenvectors
represent the variation in the faces V is Matrix of
eigenvectors
Slide 17
17 Eigenfaces, the algorithm A: collection of the training
faces U: Face Space / Eigen Space
Slide 18
18 Eigenfaces Eigenface of original faces Eigenface of original
faces
Slide 19
19 Eigenfaces, the algorithm Compute for each face its
projection onto the face space Compute for each face its projection
onto the face space Compute the threshold Compute the
threshold
Slide 20
20 Eigenfaces: Recognition Procedure To recognize a face To
recognize a face Subtract the average face from it Subtract the
average face from it
Slide 21
21 Eigenfaces, the algorithm Compute its projection onto the
face space U Compute its projection onto the face space U Compute
the distance in the face space between the face and all known faces
Compute the distance in the face space between the face and all
known faces
Slide 22
22 Eigenfaces, the algorithm Reconstruct the face from
eigenfaces Reconstruct the face from eigenfaces Compute the
distance between the face and its reconstruction Compute the
distance between the face and its reconstruction
Slide 23
23 Eigenfaces, the algorithm Distinguish between Distinguish
between If then its not a face; the distance between the face and
its reconstruction is larger than threshold If then its not a face;
the distance between the face and its reconstruction is larger than
threshold If then its a new face If then its a new face If then its
a known face because the distance in the face space between the
face and all known faces is larger than threshold If then its a
known face because the distance in the face space between the face
and all known faces is larger than threshold
Slide 24
24 Eigenfaces, the algorithm Problems with eigenfaces Problems
with eigenfaces Different illumination Different illumination
Slide 25
25 Eigenfaces, the algorithm Problems with eigenfaces Problems
with eigenfaces Different head pose Different head pose Different
alignment Different alignment Different facial expression Different
facial expression
Slide 26
26 Fisherfaces Developed in 1997 by P.Belhumeur et al.
Developed in 1997 by P.Belhumeur et al. Based on Fishers Linear
Discriminant Analysis (LDA) Based on Fishers Linear Discriminant
Analysis (LDA) Faster than eigenfaces, in some cases Faster than
eigenfaces, in some cases Has lower error rates Has lower error
rates Works well even if different illumination Works well even if
different illumination Works well even if different facial express.
Works well even if different facial express.
Slide 27
27 Fisherfaces LDA seeks directions that are efficient for
discrimination between the data LDA seeks directions that are
efficient for discrimination between the data Class A Class B
Slide 28
28 Fisherfaces LDA maximizes the between-class scatter LDA
maximizes the between-class scatter LDA minimizes the within-class
scatter LDA minimizes the within-class scatter Class A Class B
Slide 29
29 Fisherfaces, the algorithm Assumptions Assumptions Square
images with Width=Height=N Square images with Width=Height=N M is
the number of images in the database M is the number of images in
the database P is the number of persons in the database P is the
number of persons in the database
Slide 30
30 Fisherfaces, the algorithm The database The database
Slide 31
31 Fisherfaces, the algorithm We compute the average of all
faces We compute the average of all faces
Slide 32
32 Fisherfaces, the algorithm Compute the average face of each
person Compute the average face of each person
Slide 33
33 Fisherfaces, the algorithm And subtract them from the
training faces And subtract them from the training faces
Slide 34
34 Fisherfaces, the algorithm We build scatter matrices S 1, S
2, S 3, S 4 We build scatter matrices S 1, S 2, S 3, S 4 And the
within-class scatter matrix S W And the within-class scatter matrix
S W
Slide 35
35 Fisherfaces, the algorithm The between-class scatter matrix
The between-class scatter matrix We are seeking the matrix W
maximizing We are seeking the matrix W maximizing
Slide 36
36 Fisherfaces, the algorithm If S W is nonsingular ( ):
Columns of W are eigenvectors of Columns of W are eigenvectors of
We have to compute the inverse of S W We have to compute the
inverse of S W We have to multiply the matrices We have to multiply
the matrices We have to compute the eigenvectors We have to compute
the eigenvectors
Slide 37
37 Fisherfaces, the algorithm If S W is nonsingular ( ):
Simpler: Simpler: Columns of W are eigenvectors satisfying Columns
of W are eigenvectors satisfying The eigenvalues are roots of The
eigenvalues are roots of Get eigenvectors by solving Get
eigenvectors by solving
Slide 38
38 Fisherfaces, the algorithm If S W is singular ( ): Apply PCA
first Apply PCA first Will reduce the dimension of faces from N 2
to M Will reduce the dimension of faces from N 2 to M There are M M
-dimensional vectors There are M M -dimensional vectors Apply LDA
as described Apply LDA as described
Slide 39
39 Fisherfaces, the algorithm Project faces onto the LDA-space
Project faces onto the LDA-space To classify the face To classify
the face Project it onto the LDA-space Project it onto the
LDA-space Run a nearest-neighbor classifier Run a nearest-neighbor
classifier
Slide 40
40 Fisherfaces, the algorithm Problems Problems Small databases
Small databases The face to classify must be in the DB The face to
classify must be in the DB
Slide 41
41 PCA & Fishers Linear Discriminant
Slide 42
42 PCA & Fishers Linear Discriminant
Slide 43
43 Comparison FERET database FERET database best ID rate:
eigenfaces 80.0%, fisherfaces 93.2% best ID rate: eigenfaces 80.0%,
fisherfaces 93.2%
Slide 44
44 Comparison Eigenfaces Eigenfaces project faces onto a lower
dimensional sub- space project faces onto a lower dimensional sub-
space no distinction between inter- and intra-class variabilities
no distinction between inter- and intra-class variabilities optimal
for representation but not for discrimination
Slide 45
45 Comparison Fisherfaces Fisherfaces find a sub-space which
maximizes the ratio of inter-class and intra-class variability find
a sub-space which maximizes the ratio of inter-class and
intra-class variability same intra-class variability for all
classes same intra-class variability for all classes
Slide 46
46 Local Feature Analysis -- Elastic Bunch-Graph Matching
Slide 47
47 Face Features Facial recognition utilizes distinctive
features of the face including: distinct micro elements like:
Facial recognition utilizes distinctive features of the face
including: distinct micro elements like: Mouth, Nose, Eye,
Cheekbones, Chin, Lips, Forehead, Ears 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. 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. The
distance between the eyes, the length of the nose, and the angle of
the jaw.
Slide 48
48 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. 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. 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." 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. 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.
Slide 49
49 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: 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 Distance between the
micro elements A reference feature A reference feature Size of the
micro element Size of the micro element Amount of head radiated
from the face (unseen by human eye). Heat can be measured using an
infrared camera. Amount of head radiated from the face (unseen by
human eye). Heat can be measured using an infrared camera. Face
Features
Slide 50
50 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.
Slide 51
51 A template for the 34 fiducial points on a face image:
Slide 52
52 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
Paper:http://www.snl.salk.edu/~fellous/posters/Bu97post
er/BUPoster.pdfhttp://www.snl.salk.edu/~fellous/posters/Bu97post
er/BUPoster.pdfhttp://www.snl.salk.edu/~fellous/posters/Bu97post
er/BUPoster.pdf
Slide 53
53 Summary Three algorithms have been introduced Three
algorithms have been introduced Eigenfaces Eigenfaces Reduce the
dimension of the data from N 2 to M Reduce the dimension of the
data from N 2 to M Verify if the image is a face at all Verify if
the image is a face at all Allow online training Allow online
training Fast recognition of faces Fast recognition of faces
Problems with illumination, head pose etc Problems with
illumination, head pose etc
Slide 54
54 Summary Fisherfaces Reduce dimension of the data from N 2 to
P-1 Reduce dimension of the data from N 2 to P-1 Can outperform
eigenfaces on a representative DB Can outperform eigenfaces on a
representative DB Works also with various illuminations Works also
with various illuminations Can only classify a face which is known
to DB Can only classify a face which is known to DB Elastic
Bunch-Graph Matching Reduce the dimension of the data from N 2 to M
Reduce the dimension of the data from N 2 to M Recognize face with
different poses Recognize face with different poses Recognize face
with different expressions Recognize face with different
expressions
Slide 55
55 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] Eigenfaces vs
Fisherfaces: Recognition using Class Specific Linear Projection [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-471- 05669-3, pp.
121-124 [6] F.Deformable Face Mapping For Person Identification,
ICIP 2003, Barcelona [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:350358, 1996.
http://www.face-rec.org/interesting-papers/
Slide 56
56 Hands-on Lab of Face Biometrics Present one of the following
algorithms Elastic Bunch-Graph Matching (EBGM) algorithm Bayesian
Intrapersonal/Extrapersonal Classifier, or
http://www.face-rec.org/interesting- papers/ One from
http://www.face-rec.org/interesting- papers/
http://www.face-rec.org/interesting-
papers/http://www.face-rec.org/interesting- papers/ Hands-on Lab of
Face Biometrics Hands-on Lab of Face Biometrics
http://www.cs.colostate.edu/evalfacerec/
http://www.cs.colostate.edu/evalfacerec/
http://www.cs.colostate.edu/evalfacerec/ User Guide User Guide