This is a full-stack Python application (built with Keras, Numpy, and deployed in Flask) that recognizes facial expressions from a webcam or video using a trained neural network.
To use, pip install all the dependencies from requirements.txt and run main.py on a local environment. The neural network is trained on almost 40 000 images, and has an accuracy of about 84%. The convolutional network tracks each frame individually and monitors changes in facial expression and updates the video live with a bounding box across the recognized face and the best available mood.
Download the repository for the best results, feel free to upload your own videos, and turn on your webcam to try it on yourself!