Face Recognition with PCA, LDA and Spectral ... - Semantic Scholar

Report 18 Downloads 132 Views
Face Recognition with PCA, LDA and Spectral Clustering Nils Murrugarra

2

Motivation • Our Project Goal: • To explore the influence of new feature spaces that can provide higher

discriminative power for the face recognition problem • New feature spaces were generated through PCA, LDA and Spectral Clustering algorithms.

Data Set Features

All pixels in an image

Source

Labeled Faces in the Wild [1]: http://vis-www.cs.umass.edu/lfw/

# instances

1288

3

Dataset Person Ariel Sharon Colin Powell Donald Rumsfeld George W Bush Gerhard Schroeder Hugo Chavez Tony Blair

Class 0 1 2 3 4 5 6

# instances 77 236 121 530 109 71 144 1288

[0 … 255]

4

Approach: PCA and LDA

75%

. .

[…] New Feature Vector

[…] Feature Vector • PCA • LDA Projection

Train SVM Classifier trained

25%

. .

Test

[…] Feature Vector

Projection

[…] New Feature Vector Prediction

5

Approach: LDA

Maximize distance between classes

Minimize variation in all classes

6

Approach: Spectral Clustering

100%

. .

[…] New Feature Vector

[…] Feature Vector Spectral Clustering Projection

SVM Classifier trained

75%

25% 25%

Prediction

7

Approach: Spectral Clustering • Created a graph with all the images considering a k-nn graph (KNNG) and a

Fully Connected graph (FCG). • Each image is represented as a feature vector as described above. • Each feature vector is scaled with zero mean and one unit variance. • Two images are compared using its feature vectors with an Euclidean distance • It was employed an implementation from scikit-learn [3] python that

considers the Normalized Graph Laplacian Sym [2]

8

Experiments - Tuning

PCA

Spectral Clustering - FCG

• LDA generates number of components = #_of_classes – 1 (6)

9

Experiments - Tuning

Comparison Spectral Clustering - KNNG

10

Discussion • PCA and Spectral Clustering need at least 50 and 40 components to achieve an

accuracy near 0.7, while LDA got higher accuracies with only 6 components. Let’s see the projections!!

PCA Projection

11

Discussion

Spectral Clustering Projection

12

Discussion

LDA Projection

13

Discussion PCA eigenvalues are plotted and we can appreciate which pixels are more important (white color) to help in increase the variance of the features. Let’s See!!

LDA Projections

PCA Projections

Not possible to see a structure of a face. • This is due that it does not work directly on the eigenvectors of the covariance matrix of the data. • Instead, it tries to project instances of the same class as close as possible, while the projected means per class as farther as possible

14

Discussion • Related to spectral Clustering, FCG achieved a better performance than KNNG.

Let’s See!! • One intuition of this result is that the FCG assigns a weight for all the possible edges

considering lower weights for similar instances and higher for different ones. • In contrast KNNG only assigns a weight 1 for its k-nearest neighbors and sometimes the graph could be disconnected and generate more connected components than the number of classes that we have. • Notice that connected components of a same class if they are projected in different regions, they can damage the learning instead of improving it.

15

Conclusion • In this project, , we have applied a

machine learning design cycle to the Face Recognition Problem considering PCA, LDA and Spectral Clustering approaches. • The main contribution of our work is that we have explored, tuned and discussed different ways of model a face recognition problem achieving similar results in this three scenarios. Future Work • Consider other spectral methods (e.g. other graphs) in conjunction with different distances measures (e.g. cosine) • Train with the complete LFW dataset.

16

Questions

17

References [1]. Gary B. Huang, Manu Ramesh, Tamara Berg, and Erik Learned-Miller (2007). Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained Environments. University of Massachusetts, Amherst, Technical Report 07-49, October. [2]. Ng, A. Y., Jordan, M. I., & Weiss, Y. (2002). On spectral clustering: Analysis and an algorithm. Advances in neural information processing systems, vol 2, pp849-856. [3]. Pedregosa et al (2011). Scikit-learn: Machine Learning in Python, JMLR 12, pp. 2825-2830. [4]. Shi, J.; Malik, J. (2000), Normalized cuts and image segmentation. Pattern Analysis and Machine Intelligence, IEEE Transactions on , vol.22, no.8, pp.888,905, Aug 2000