Transcript Eigenfaces

Math 5364/66 Notes
Image Recognition with Eigenfaces
Jesse Crawford
Department of Mathematics
Tarleton State University
• An image is an N  N array
• Example: 256  256
Alternatively
• An image can be regarded as a vector  
• Example:  
65536
N2
• Training Set of M Images (Example M  16)
• 1 , ,  M
• Given a new image , can we
 determine if  is the picture of a face?
 determine if  is a picture of someone in our training set?
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
M
1
M 1
 
• A  [1
M ]
• C
i
i 1
T
i
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
• C
M
1
M 1
• A  [1
T


 i i 
i 1
1
M 1
AAT
M ]
Principal Components Analysis
• Need to find eigenvectors of AAT
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
• C
M
1
M 1
• A  [1
T


 i i 
i 1
1
M 1
AAT
M ]
Principal Components Analysis
• i 
• Need to find eigenvectors of AAT
• A is a N 2  M matrix
N2
• AAT is a N 2  N 2 matrix
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
• C
M
1
M 1
• A  [1
T


 i i 
i 1
1
M 1
AAT
M ]
rank( A)  M  1
Principal Components Analysis
• i 
• Need to find eigenvectors of AAT
• A is a N 2  M matrix
N2
• AAT is a N 2  N 2 matrix
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
• C
M
1
M 1
• A  [1
T


 i i 
i 1
1
M 1
AAT
M ]
rank( A)  M  1
Principal Components Analysis
• i 
• Need to find eigenvectors of AAT
• A is a N 2  M matrix
N2
• AAT is a N 2  N 2 matrix
rank( AAT )  M  1
• Average face  
M
1
M

i
i 1
• Subtract the means:  i  i  
Covariance Matrix
• C
M
1
M 1
• A  [1
T


 i i 
i 1
1
M 1
AAT
M ]
rank( A)  M  1
Principal Components Analysis
• i 
• Need to find eigenvectors of AAT
• A is a N 2  M matrix
N2
• AAT is a N 2  N 2 matrix
rank( AAT )  M  1
Only has M  1 nonzero eigenvalues
Recap
• A  [1
M ]
• Need to find eigenvectors of AAT
• AAT is N 2  N 2
• AAT only has M  1 nonzero eigenvalues
Recap
• A  [1
M ]
• Need to find eigenvectors of AAT
• AAT is N 2  N 2
• AAT only has M  1 nonzero eigenvalues
• AT A is M  M
• Let v1 , , vM 1 be the eigenvectors of AT A
with eigenvalues 1 
 M 1  0
Recap
• A  [1
M ]
• Need to find eigenvectors of AAT
• AAT is N 2  N 2
• AAT only has M  1 nonzero eigenvalues
• AT A is M  M
• Let v1 , , vM 1 be the eigenvectors of AT A
with eigenvalues 1 
 M 1  0
• Define uk  Avk , for k  1, , M  1
• Then u1 , , uM 1 are the eigenvectors of AAT
with eigenvalues 1 
 M 1  0
Recap
• A  [1
M ]
• Need to find eigenvectors of AAT
• AAT is N 2  N 2
• AAT only has M  1 nonzero eigenvalues
• AT A is M  M
• Let v1 , , vM 1 be the eigenvectors of AT A
with eigenvalues 1 
 M 1  0
• Define uk  Avk , for k  1, , M  1
• Then u1 , , uM 1 are the eigenvectors of AAT
with eigenvalues 1 
 M 1  0
Called Eigenfaces
Recap
• A  [1
M ]
• Need to find eigenvectors of AAT
• AAT is N 2  N 2
• AAT only has M  1 nonzero eigenvalues
• AT A is M  M
• Let v1 , , vM 1 be the eigenvectors of AT A
with eigenvalues 1 
 M 1  0
M '  Number of eigenfaces used
Example: M   7
• Define uk  Avk , for k  1, , M  1
• Then u1 , , uM 1 are the eigenvectors of AAT
with eigenvalues 1 
 M 1  0
Called Eigenfaces
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
The weights k are the components of the new image 
with respect to the eigenfaces u1 , , uM 
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
Training Images i
• Subtract mean  i  i  
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
The weights k are the components of the new image 
with respect to the eigenfaces u1 , , uM 
 u1T 
 T 
u
i   2   i


 T 
 uM ' 
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
Training Images i
• Subtract mean  i  i  
• Rotate coordinate system using eigenfaces
 u1T 
 T 
u
i   2   i


 T 
 uM ' 
Calculate Distances
òk ‖    k‖
(Distance from new image to kth training image)
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
Training Images i
• Subtract mean  i  i  
• Rotate coordinate system using eigenfaces
 u1T 
 T 
u
i   2   i


 T 
 uM ' 
Calculate Distances
òk ‖    k‖
(Distance from new image to kth training image)
M
 f  i ui
i 1
(Projection of new face onto face subspace in
N2
)
New Image 
• Subtract mean     
• Rotate coordinate system using eigenfaces
 u1T 
 1 
 T 



u
2
2
  






 T 



u
 M' 
 M' 
Training Images i
• Subtract mean  i  i  
• Rotate coordinate system using eigenfaces
 u1T 
 T 
u
i   2   i


 T 
 uM ' 
Calculate Distances
òk ‖    k‖
(Distance from new image to kth training image)
ò ‖    f ‖
(Distance from new image to face space)
M
 f  i ui
i 1
(Projection of new face onto face subspace in
N2
)
Given a new image , can we
 determine if  is the picture of a face?
 determine if  is a picture of someone in our training set?
Calculate Distances
òk ‖    k‖
(Distance from new image to kth training image)
ò ‖    f ‖
(Distance from new image to face space)