https://github.com/adistrim/emovision
👀 EmoVision is a real-time emotion recognition project. It captures video frames from a camera, detects faces, and predicts emotions in real-time.
https://github.com/adistrim/emovision
computer-vision neural-networks
Last synced: 4 months ago
JSON representation
👀 EmoVision is a real-time emotion recognition project. It captures video frames from a camera, detects faces, and predicts emotions in real-time.
- Host: GitHub
- URL: https://github.com/adistrim/emovision
- Owner: adistrim
- License: mit
- Created: 2023-12-19T16:14:25.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T09:43:45.000Z (over 1 year ago)
- Last Synced: 2025-09-18T19:30:05.366Z (10 months ago)
- Topics: computer-vision, neural-networks
- Language: Jupyter Notebook
- Homepage:
- Size: 125 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://www.kaggle.com/datasets/jonathanoheix/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](https://drive.google.com/drive/folders/1MIwS0kAWUqcRxHqpXzoPqQ73AsBSCPWy?usp=sharing)**
## 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](https://en.wikipedia.org/wiki/MacBook_Air_(Apple_silicon)).
**Trained Models can be downloaded from here: [emovision-google-drive](https://drive.google.com/drive/folders/1MIwS0kAWUqcRxHqpXzoPqQ73AsBSCPWy?usp=sharing)**
### 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

## Getting Started
**Dependency: `python 3.11.9` others are mentioned in the `requirements.txt` file**
1. Clone the repository:
```bash
git clone https://github.com/adistrim/EmoVision.git
```
2. Setup virtual environment:
```bash
cd EmoVision
python3 -m venv .venv # python or python3 depending on the system config
source .venv/bin/activate # For Linux and macOS
```
3. Install required libraries:
```bash
pip3 install -r requirements.txt # pip or pip3 depending on the system config
```
4. Execute the realtime.ipynb file.
5. Press 'Q' to end the program.
## License
This project is licensed under the [MIT License](LICENSE).