Machine Learning Methods Applied to Facial Recognition

Student Classification


Faculty Mentor

Dr. John Ward



Document Type


Publication Date

Spring 2019


In this study, we investigate the different machine learning methods to analyze a dataset of digital face images. The objective of this study is to write an algorithm that will label subjects in the dataset, and then run the algorithm to correctly classify and recognize each individual image. The methods used to classify the images included: K-Nearest Neighbor (KNN), Naive Bayes, Support Vector Machine (SVM), Linear Discriminant Analysis (LDA), Principal Component Analysis (PCA), and a Convolutional Neural Network (CNN). Python and Matlab were the two programming languages used to analyze and process the data. Using the Python programming language, we were able to successfully analyze the image dataset and yield significant accurate results on the images. Initially, the data was running without preprocessing to observe which model would perform the most accurately on their own in this case. In an effort to improve the performance, further analysis was conducted on the images that were the most challenging to classify. We concluded that the variance of facial expressions, lighting, and angle of the subjects lead to challenges for classification. As a result, image processing methods were implemented to improve accuracy and efficiency. The use of linear discriminant analysis(LDA) alongside KNN yielded the best performance with results of 100% accuracy, as well as 100% accuracy when using Naive Bayes. KNN was deemed the favorable choice due to its simplicity and being more robust than any other method for this task.

This document is currently not available here.