facial_emotion_recognition
facial_emotion_recognition copied to clipboard
It's a project of facial emotion recognition.
facial_emotion_recognition
Recognize facial emotions in 7 categories: angry, disgust, fear, happy, sad, surprise, neutral.
Dataset
The dataset is provided by a competition, which is quite similar to FER2013 dataset.

Model
The API for face detection is Google's mediapipe API. The model for emotion recognition is a 15-layer (8 convs + 4 pooling + 3 fcs) VGG style network.
Pipeline
├── face detection: mediapipe
└── emotion recognition: vggnet
VGG architecture

Data flow

Upsampling
The upsampling technique is SMOTE.

Usage
Train
If you have a dataset, you can train use training.ipynb
Inference
If you want infer directly, use inference.ipynb
The weights I trained is located in saved_models. The default setting is a voting classifer of a model trained by orginal data and a model trained by upsampled data.
Performance

Result
Video
Images