This repo is the final project of Introduction to Nerual Networks, an online project-based study instructed from Harvard University by Prof. Pavlos Protopapas.
In this project we:
- validated the performance of various CNNs with different setting when testing on FER2013, a popular emotion classification dataset in Kaggle.
- used Saliency Map and GradCAM to interpret how networks work.
- produced a real-time facial expression recognition demo with tensorflow2.0 and opencv.
- applied ensemble learning to attain a better performance on the benchmark dataset.
The project is implemented by the tensorflow2.0 and the notebook link is here. Feel free to run.
The real-time demo is located at ./demo
and is implemented with tf2.0 and opencv.
Just run demo.py
.
The final presentation video is here, showing what we have done in detail including the real-time demo performance.