This is a tensorflow v2 implementation of original Microsoft Face Emotion Detection which is based on CNTK. By working on this project, I also studied on some basic tensorflow, machine learning, and deep learning knowledge. Now this project is fully functional from end to end with some basic evaluation tools included as well. I will list all citation and references at the end of this README.
I worked on conda python 3.9 virtual environment. Some key dependencies are listed here:
- tensorflow
- numpy
- matplotlib
- pandas
- scikit-learn & scikit-image
- Prepare the dataset: I have included two base csv files here in this repo. I choose to prepare the fer2013plus dataset in the same way as fer2013 does, instead of in the original Microsoft approach;
- Check the model and start the training process:
model.py
is the the same as the original Microsoft design based their original paper and code. I have tried my best to replicate thetrain.py
as well, however, it is still not identicial. Current version can provide a final performance of 83% on validation set and 64% on test set; - Basic visualization and evaluation
- Refine the training script
- Study more on TF2 details
- Study more on evaluating a model performance
- Microsoft CNTK FER+: the FER+ new label annotations for the Emotion FER dataset.
- Facial Expression Recognition: A Tensorflow2.0 & Keras implementation on Fer2013, Jaffe and CK+ datasets.