You are on page 1of 10

Professor Prof.

Sym, Donggyu
Department Computer Engineering
Student ID 2005720171
Name Kangsan Lee
Submitted date `10. 12. 10
Numerical Analysis
5th assignment
Signature :
Contents
I n t r o d u c t i o n
O v e r a l l d e s c r i p t i o n
F a c e R e c o g n i t i o n
H o w t o u s e P C A
R e q u i r e m e n t s
A l g o r i t h m s
F l o w C h a r t
Ov e r a l l p r o c e s s ( P C A. m)
R e s u l t s
C o n c l u s i o n
A p p e n d i x
Face Recognition using PCA
1
Introduction
Overall description
Face Recognition with
Automatic face recognition systems try to find the identity of a given
face image according to their memory.
The memory of a face recognizer is generally simulated by a training set.
Training set consists of the features extracted from known face images of
different persons.
The task of the face recognizer is to find the most similar feature vector among
the training set to the feature vector of a given test image.
This system recognize the identity of a person where an image of that
person(test image) is given to the system.

How to use PCA(Principal Component Analysis)
Nomalization part
1. P training images(size ; n x m) :
i,
i=1,2,...,P
2. For each training image, They have 1D pixel vectors X
i
(size N: n*m)
3. Get average vector m (Nx 1)
:

I
1

i 1
I
X
i
4. Get Normalized vectors(Feature vectors of training vectors)

rr
i
-:
Feature extraction part
5. Merge normalized vectors (Nx P)

X[

r
1
,

r
2
...

r
j
[
6. Make Nx N Covariance Matrix
C

r
T
Face Recognition using PCA
2
7. Compute eigenvalues and corresponding eigen vectors of the covariance matrix
CV
i
`
i
V
i
i 1,2,...N
V (Nx P)
V [
1
,
2
, ... ,
I
[
If P >= N { maximum number of eigenvectors = N }
If N > P { maximum number of eigenvectors = P }
The method to take good eigen vectors
C : covariance matrix of XX
T
E : Eigen vector of C
C is too large to calculate eigen vector. Therefore, it needs to reduce matrix size
X : (m*n) x K matrix -> C : (m*n) x (m*n) ,(K m, k)
Define Q = X
T
X (K x K matrix)
T : eigen vector of Q
S : Selected good eigen vector from and Q
Eigenfaces in E can be recovered by XS
8. Extract representative vector(Feature vector) by projection of the training vectors

r
i
=V
1

r
i
Recognition part
9. Remove the average vector from the input face

jj -:,n/crc:

I
1

i 1
I
r
i
10. Projection onto the extracted eigen matrix V

j
i
=V
1

j
i
11. Find training vector(

r
i
) having the smallest distance with test vector(

j
i
)
with Euclidean Distance.
Face Recognition using PCA
3
Schematic diagram of a face recognizer
Requirements
Image Group
Total 200 pictures of 20 people.
Each person was taken 10 different their pictures.
The size of raw images is 92x112.
All images have sequent number name.
Training Image
-All odd numbered 100 images
Test Image
-All even numbered 100 images
training image set test image set =
Get the rate for face recognition using PCA
Use only MATLAB
Face Recognition using PCA
4
Algorithms
Flow Chart
Overall process(PCA.m)
Face Recognition using PCA
5
Results
The rate for correct recognition and miss matching information

Sample Recognized Case
Recognized Training Image Selected Test Image
Two Wrong Recognized Case
Test Image1 : s10_10.raw
Recognized Training Image Selected Test Image
Test Image2 : s31_6.raw
Recognized Training Image Selected Test Image
t
Face Recognition using PCA
6
Analysis
The total rate for face recognition : 98%
- 98 pictures are correctly recognized except for s10_10.raw and s31_6.raw
Simulator(Display selected test image and recognized training image)
- Most test image are correctly recognized except for the above two images
Conclusion
In this assignment, I applicate PCA to face recognition
system. I usually similar applications such as like a door
rock and funny programs that find similar properties
with my picture. Before I started this assignment, I
think that the devices and programs are too difficult to
design for me. However, while I was designing this
program with lecture materials, I did understand the
principal of PCA and finally completed this project.
What's more, I am accustomed to MATLAB due to this
assignment. Before I just implement them only with
C++, expecially MFC. So, it took very long to study
MATLAB syntaxes from the scratch. However, I knew
that MATLAB is more simple and various profit when
managing matrixes and arrays even though I suffered
from studying MATLAB syntaxes.
I think I can make better program with Neural Network
which I learned last class. Because I'm interested in
Artificial Intelligence(A.I.), I'll try to make not only
better face recognition system, but also speech
recognition in the winter vacation, using knowledges I
had learned this semester.
Appendix
[Appendix] Adaptive Interpolation filter
The purpose of the functions
Function Purpose(Function)
Normalization
Get discriminating features between training images of faces to recognize faces.
by subtracting common characteristics.
Feature_extraction Extract eigen vectors
Recognition
Compare two faces by projecting the images into face space and measuring the Euclidean
distance between them
rawread Load raw image
rawshow Display raw image
How to execute this program
1. Run PCA.m 2. Select test image(1)
3. Select test image(2) 4. Results

You might also like