/Facial_Emotion_Recognition

Convolutional Neural Network (CNN) to recognize facial expressions

Primary LanguageJupyter Notebook

Facial Expression Recognition with Keras

This project involves building and training a Convolutional Neural Network (CNN) using Keras from scratch. The aim is to recognize facial expressions using a dataset consisting of 48x48 pixel grayscale images of faces categorized into seven emotion classes: Angry, Disgust, Fear, Happy, Sad, Surprise, and Neutral.

Learning Objectives

  • Building and training a CNN in Keras from the ground up.
  • Processing and utilizing 48x48 pixel grayscale images of faces.
  • Employing OpenCV to automatically detect faces in images and draw bounding boxes around them.
  • Training, saving, and exporting the CNN model.
  • Implementing real-time facial expression recognition on video and image data by serving the trained model to a web interface.

Skills Practiced

  • Implementing Convolutional Neural Networks (CNNs) using Keras.
  • Image processing and manipulation for facial recognition.
  • Real-time application integration by serving the trained model to a web interface.

Dataset Information

The dataset used in this project is sourced from the ICML 2013 Workshop - Competition in Facial Expression Recognition challenge on Kaggle. It comprises a collection of facial expression images labeled into seven categories.