Deep Learning




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.

Related jupyter notebook

UPDATED Slide presentation on Transfer Learning Model Optimization

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.

Related jupyter notebooks:

The Capstone Final Report
This concise 9 page report includes:
  • Executive Summary
  • Problem Summary
  • Solution Design
  • Analysis and Key Insights
  • Key Limitations
  • Recommendations for Further Analysis and Implementation
  • Bibliography

The Tech Stack for this project includes: