oodlbee / emotion_classification

Emotion classification on images of people faces using different methods of machine learning algorythms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Facial emotion classification

What is this project about?

In this project we made a machine learning classfication with several classic models. We tested all of them and found the best model, which was SVM. Models were training with PCA + LDA redusing dimenstions. We made a script that applies our result model to any image.

Project content

There is a visual part of project in notebooks folder where were tested a bunch of classification models such as LDA, Desicion Tree, Random Forest, Ada boost, Gradient boosting, KNN and SVM. The main scripts for training and applying the best model are in src folder. Also there is a script that finds optinal parametrs for Gabor bank.

Dataset

In this project for emotion classification we used dataset contains of faces images with 7 classes: neutral (621 images), surprise (83), happiness (69), disgust (59), anger (45), fear (25) and contempt (18). Dataset is imbalanced, so we upsampled every class except neutral, but it still afected the result. Dataset can be downloaded from this link.

Input images:

image image
image image

Results

LDA confusion matrix

About

Emotion classification on images of people faces using different methods of machine learning algorythms


Languages

Language:Jupyter Notebook 99.5%Language:Python 0.5%