Emoji based on facial Expressions
This Project detects the human reaction by using the CNN model and create emoji Happy,Sad,Netural,Fearful,Disgust and Angry
https://www.kaggle.com/datasets/msambare/fer2013
Dataset from https://www.kaggle.com/datasets/msambare/fer2013 contains the data with data Image Properties: 48 x 48 pixels (2304 bytes) labels: 0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral The training set consists of 28,709 examples. The public test set consists of 3,589 examples. The training set consists of 28,709 examples and the public test set consists of 3,589 examples.
Fer2013 is a challenging dataset. The images are not aligned and some of them are uncorrectly labeled as we can see from the following images. Moreover, some samples do not contain faces.
This makes the classification harder because the model have to generalize well and be robust to incorrect data. The best accuracy results obtained on this dataset, as far as I know, is 93.6% described in this paper: [Facial Expression Recognition using Convolutional Neural Networks: State of the Art, Pramerdorfer & al. 2016]
- Pandas
- Numpy
- CV2
- datetime
- Tensorflow
- Tkinter
- OS
- Seaborn
- Matplotlib
Anaconda and jupyter notebook is a better way to install dependencies
- Download the Face Landmarks model with the Fer2013 dataset.
- Unzip the downloaded files
- Choose your parameters in 'parameters.py'
- Launch training:
- optimize the dependednt parameters
- Created sam.py and the developed Webapp using Tkinter.
- When the program is executed it opens the webcam and detects the human face and gives the output as emoji

