The project was implemented using Matlab programming. The provided face data were raster-scanned face images (46x56 pixels) in columns. The aim of the project is to use various metrics and data representations for facial recognition to observe their properties.
- Data Preparation
- Using original unmodified images as feature vectors.
- Normalizing feature vectors to unit norm L2.
- kNN retrieval is performed on features, using standard non-learned distance metrics.
- Histogram of pixel intensities are used as the feature representations and standard non-learned distance metrics are used to evaluate the performance.
- Mahalanobis distance metric is implemented.
- Dimensionality reduction with PCA and LDA on feature vectors is performed.
- Mahalanobis metric learning is performed. Results are reported with the following distance metric learning techniques: RCA (Relevant Component Analysis), NCA (Neighborhood Components Analysis), LMNN (Large Margin Nearest Neighbors). The resuls are compared with (4)
- Clustering.
- k-means clustering is implemented.
- Agglomerative clustering is implemented.
- Clustering is performed on the test data. A method is proposes and implemented to assign label to the cluster
- New representation of images is obtained using Fisher vectors
- Cluster centres are used as a codebook and then vectors of distances to the cluster centres as feature vectors.
- Softmax probabilities of inverse distances to cluster centres are used as the vector representation.
- Fisher vectors from GMM is obtained.
- Results are reported for representations from 3.a, 3.b and 3.c.