Watch the video below:
Facial Expression Recognition is the task of classifying the expressions on face images into various classes such as anger, fear, surprise, sadness, happiness and so on. Our model has been created to classify expressions into 6 categories, namely: Anger, Fear, Happiness, Neutral, Sadness and Surprise.
The aim of this project is to:
- Build a CNN model from scratch using TensorFlow and a transfer learning model with base as VGGFace to perform Facial Expression Recognition.
- Collect metadata of the Top-20 TED Talk videos (as sorted by views) in the categories STEM, Global Issues and Entertainment by performing web scraping.
- Fetch the required TED Talk videos and collect image data using OpenCV.
- Perform expression analysis on the image data collected in order to gain insights.
The datasets used for building the CNN model from scratch and transfer learning VGGFace model are: FER-2013 and CK+. The idea here is to apply the model trained on the aforementioned sets to the images generated by capturing stills from the Top 20 TED Talks from three categories: STEM, Global Issues and Entertainment.
How to run the project:
- Fork the repository to local machine
- Install Python 3.10 and install all additional dependencies in
requirements.txt
using the commandpip install -r ./requirements.txt
. - Run the Jupyter notebook from the terminal using the command
python -m jupyterlab
.