/Emotion

:smile: Recognizes human faces and their corresponding emotions from a video or webcam feed. Powered by OpenCV and Deep Learning.

Primary LanguagePythonMIT LicenseMIT

Emotion

This software recognizes human faces and their corresponding emotions from a video or webcam feed. Powered by OpenCV and Deep Learning.

Demo

Installation

Clone the repository:

git clone https://github.com/petercunha/Emotion.git
cd Emotion/

Install these dependencies with pip3 install <module name>

  • tensorflow
  • numpy
  • scipy
  • opencv-python
  • pillow
  • pandas
  • matplotlib
  • h5py
  • keras

Once the dependencies are installed, you can run the project. python3 emotions.py

To train new models for emotion classification

  • Download the fer2013.tar.gz file from here
  • Move the downloaded file to the datasets directory inside this repository.
  • Untar the file: tar -xzf fer2013.tar
  • Download train_emotion_classifier.py from orriaga's repo here
  • Run the train_emotion_classification.py file: python3 train_emotion_classifier.py

Deep Learning Model

The model used is from this research paper written by Octavio Arriaga, Paul G. Plöger, and Matias Valdenegro.

Model

Credit

  • Computer vision powered by OpenCV.
  • Neural network scaffolding powered by Keras with Tensorflow.
  • Convolutional Neural Network (CNN) deep learning architecture is from this research paper.
  • Pretrained Keras model and much of the OpenCV code provided by GitHub user oarriaga.