/Facial-Emotion-Recognition

This project aims to detect facial expressions in real time using CNNs. We subdivided the task into 2 smaller tasks: Detecting faces using YOLO and then Training a CNN on these small close-up face images to identify emotions. The dataset used in this project is the famous FER13 data.

Primary LanguageJupyter Notebook

Facial-Emotion-Recognition

This project is about creating a real time facial emotion recognition. The dataset used in this project is the famous FER13 data which can be found on kaggle https://www.kaggle.com/nicolejyt/facialexpressionrecognition .
Data contains 30k images of size 48 * 48 pixels, the models we used are based on pure experimentations and pretrained models.
First model is a CNN architecture tuned based on experimentation, next we applied transfer learning in order to get better results and accuracy models such as DenseNet, EfficientNet, MobileNet, ResNet, Inception were used. Finally we used data augmentation to reach an accuracy of 68%. Much more research and improvements can be done to reach better accuracy.
As for face recognition and real time prediction we are using OpenCV library which provides an accurate facedetector.
To execute this download application.py, the model and its weights model.json and model.h5 then execute application.py