Emotion Detection Real Time

This is a Python 3 based project to display facial expressions by performing fast & accurate face detection with OpenCV using a pre-trained deep learning face detector model shipped with the library.

AI & Machine LearningPythonMIT

Abstract

Emotion Detection Real Time is an open-source AI & Machine Learning project. This is a Python 3 based project to display facial expressions by performing fast & accurate face detection with OpenCV using a pre-trained deep learning face detector model shipped with the library. It is built using Python, OpenCV, Keras. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

This is a Python 3 based project to display facial expressions (happy, sad, anger, fear, disgust, surprise, neutral) by performing fast & accurate face detection with OpenCV using a pre-trained deep learning face detector model shipped with the library.

The model is trained on the FER-2013 dataset which was published on International Conference on Machine Learning (ICML). This dataset consists of 35887 grayscale, 48x48 sized face images with seven emotions - angry, disgusted, fearful, happy, neutral, sad and surprised.

Due to the limitations of upload size in github, I have uploaded the zip file of the dataset 'data.zip' on a google drive. Download the data.zip file and unzip it in the directory.

2. Objective

This is a Python 3 based project to display facial expressions by performing fast & accurate face detection with OpenCV using a pre-trained deep learning face detector model shipped with the library.

This project demonstrates how Python, OpenCV, Keras can be applied to a real-world AI & Machine Learning problem.

4. Technology Stack

PythonOpenCVKeras
  • Python 3.x, OpenCV 3 or 4, Tensorflow, TFlearn, Keras
  • Open terminal and enter the file path to the desired directory and install the following libraries
  • pip install numpy
  • pip install opencv-python
  • pip install tensorflow
  • pip install tflearn
  • pip install keras

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/simplesaad/EmotionDetection_RealTime.git
cd EmotionDetection_RealTime

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by simplesaad and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship