Skip to content

๐Ÿ‘€ EmoVision is a real-time emotion recognition project. It captures video frames from a camera, detects faces, and predicts emotions in real-time.

License

Notifications You must be signed in to change notification settings

adistrim/EmoVision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EmoVision

EmoVision is a real-time emotion recognition project using deep learning. It captures video frames from a camera, detects faces, and predicts emotions in real-time.

Features

  • Real-time face detection and emotion recognition.
  • Uses a trained deep learning model for accurate emotion predictions.
  • Simple integration with OpenCV for video capture.

Dataset

The model is trained on the Face Expression Recognition Dataset from Kaggle, which consists of 35 thousand images with labeled emotions.

Processed Data can be downloaded from here: emovision-google-drive

Model Training

The model was trained for 100 epochs, and the final epoch's metrics are as follows:

  • Training loss: 0.7405
  • Training accuracy: 73.07%
  • Validation loss: 1.0369
  • Validation accuracy: 63.08%

The training process took a total of 6 hours and 34 minutes on a 2020 M1 MacBook Air.

Trained Models can be downloaded from here: emovision-google-drive

GPU Training

GPU: NVIDIA RTX 3070

  • cuDNN version 8.9.7.29
  • CUDA 11.8
  • nvidia-driver-560
  • Tensorflow version 2.12.0

OS: Ubuntu 22.0.4

Training insights

Training insights

Getting Started

Dependency: python 3.11.9 others are mentioned in the requirements.txt file

  1. Clone the repository:
git clone https://github.com/adistrim/EmoVision.git
  1. Setup virtual environment:
cd EmoVision
python3 -m venv .venv               # python or python3 depending on the system config
source .venv/bin/activate           # For Linux and macOS
  1. Install required libraries:
pip3 install -r requirements.txt    # pip or pip3 depending on the system config
  1. Execute the realtime.ipynb file.

  2. Press 'Q' to end the program.

License

This project is licensed under the MIT License.

About

๐Ÿ‘€ EmoVision is a real-time emotion recognition project. It captures video frames from a camera, detects faces, and predicts emotions in real-time.

Topics

Resources

License

Stars

Watchers

Forks