The model classifies the following 7 emotions:
- Anger
- Contempt
- Disgust
- Fear
- Sadness
- Happy
- Surprise
- VGG16 Model
- ResNet50 Model
- InceptionV3 Model
To review the model training process, refer to colab.py
where the dataset is pre-processed, and a CNN is trained from scratch. This model is evaluated against an ensemble of 3 pre-trained models through various metrics like True Positive (TP), True Negative (TN), False Positive (FP), and False Negative (FN).
Results can be shown via graphs and manual tests.
To demo the model, please refer to app.py
, which builds a Gradio app and integrates with Spotify to provide a preset list of playlists pertaining to each emotion.
- Clone the code base
git clone https://github.com/Ved204/CP468-Facial-Recognition.git
- Make a virtual environment
python -m venv env
and activatesource env/bin/activate
(For Mac), Windows (Documentation) - Install packages
pip install -r requirements.txt
- Now run the gradio app using
python app.py
*Note: The models should be all preloaded when app is launched and can be selected on the app (Select Model Dropdown Menu)
- Lienhart, Rainer.
config/face-detector.xml
. Retrieved from OpenCV GitHub Repository for use in facial detection projects.
- Zaki
- Ved
- Tony
- Haseeb