• The human’s facial expressions is very important to detect thier emotions and sentiment. It can be very efficient to use to make our computers make interviews. Furthermore, we have robots now can detect the human’s emotions and based on thats take an action .etc. So, It will be better to provide a tool or model for this.

  • This project meant with detecting the 7 different human’s facial expressions (Natural – Happy – Fear – Sad – Surprise – angry).

  • The libraries used: Tensorflow, Keras, OpenCV, Skimage, Numpy, Seaborn, Matplotlib and Sklearn (for model evaluation).

  • The Dataset used: https://www.kaggle.com/msambare/fer2013

  • A test sample in the realtime:

The Preprocessing:

  • Oversampling and Undersampling techniques:

    By making an undersampling for the majority class which is “happy” and oversampling by repeating another samples and data augmentation.

  • Data Augmentation

The model architecture used (CNN + LSTM + FC):

The model evaluation:

  • Model Accuracy: 60%
  • The confusion matrix:

  • The Model training and validation performance:


View Github