/Convolutional-Neural-Network

Convolutional Neural Network for Facial Expression Recognition of Basic Emotions in Python using the TensorFlow framework

Primary LanguageJupyter NotebookMIT LicenseMIT

Convolutional Neural Network for Facial Expression Recognition of Basic Emotions

GitHub language count GitHub top language GitHub repo size GitHub

People

Alexandra Raibolt ( Lattes | E-mail )

Overview

This Jupyter Notebook shows step by step, the process of building a Convolutional Neural Network for Emotional Expression Recognition in Python using the TensorFlow framework.

In this example we use the Extended CK+ dataset.

Notice:

  • The LBCNN model proposed in this work was implemented in Python (version 2.7.12) using the TensorFlow framework (version 1.4.0) using a GPU based architecture, and might not work with other versions.

  • The directory where the datasets should stay is not available in GitHub, since it would violate the dataset rules.

Dependencies

  • datetime
  • scipy.stats
  • sklearn.externals
  • sklearn.metrics
  • gzip
  • itertools
  • matplotlib
  • numpy
  • os
  • tensorflow
  • time

You can install missing dependencies with pip. And install TensorFlow via TensorFlow link.

Usage

  1. Install the dependencies;
  2. Run Jupyter Notebook in terminal to see the code in your browser.

Credits

  • Kanade, Takeo, Yingli Tian, and Jeffrey F. Cohn. "Comprehensive database for facial expression analysis." fg. IEEE, 2000.

  • Lucey, Patrick, et al. "The extended cohn-kanade dataset (ck+): A complete dataset for action unit and emotion-specified expression." Computer Vision and Pattern Recognition Workshops (CVPRW), 2010 IEEE Computer Society Conference on. IEEE, 2010.

  • Hvass-Labs

License

Code released under the MIT license.