Using Convolutional Neural Networks for emotion recognition in image data
This project is the culminating capstone project I created for the Massachusetts Institute of Technology Applied Data Science Program in 2022.
Executive Summary
This project aims to construct a best-fit Convolutional Neural Network (CNN) model that accurately performs multi-class classification for facial emotion recognition. Specifically, the model must accurately detect four specific emotions in images of people, including: ‘happy’, ‘sad’, ‘neutral’, and ‘surprise’.
A series of CNN models were designed, optimized and evaluated. Transfer learning strategies were also employed, utilizing the pre-trained feature-extraction layers of well tested high performance CNNs, namely, VGG16, ResNet V1, and EfficientNet.
Finally, a deeper complex CNN was designed and assessed for accuracy of multi-classification of facial characteristic-emotional state encoding or recognition. Of the models assessed, the last model was identified as the best performing for the stated purposes, with a overall ~93% accuracy of discriminating correct emotions on a test set of facial images.
Project files include:
Slide presentation for this capstone project. This was presented live before a panel of program evaluators. Provided here as a PDF.
Since the completion of this course, I have gone back and examined issues I had with the transfer learning aspects of this project. Please see these slides for a treatment on what I have learned. Provided here as a PDF.