All projects

EmotionML

Real-time emotion detection using 9 pre-trained deep learning models achieving up to 98.99% accuracy on CK+48 dataset.

PythonPyTorchTensorFlowFastAPIReact.jsVue.jsCNNOpenCVComputer VisionHugging FaceStreamlit
Timeline: July 2025 - August 2025Role: CreatorTeam: SoloStatus: completed

Overview

EmotionML is a comprehensive real-time emotion detection system powered by 9 pre-trained deep learning models. It combines a React frontend with a FastAPI backend to deliver accurate emotion recognition through webcam or image upload.

Trained on multiple datasets (FER2013, RAF-DB, CK+48) with models achieving up to 98.99% accuracy on controlled datasets and 80.28% on real-world scenarios.

Key Features

9 Pre-Trained Models

Choose from MobileNetV2, ResNet50, VGG19, and more — each optimized for different accuracy/speed tradeoffs.

Real-Time Detection

Webcam-based real-time emotion detection with live confidence scores for all 7 emotions (Angry, Disgust, Fear, Happy, Sad, Surprise, Neutral).

Image Upload Mode

Upload static images for batch emotion analysis with detailed confidence breakdowns.

Interactive UI

Built with React.js and Vue.js, featuring responsive design and real-time video processing at 30fps.

Tech Stack

Architecture

The system uses a client-server architecture where the frontend captures video frames via WebRTC, sends them to the FastAPI backend for inference, and displays real-time results with confidence scores.

9 models are trained across 3 architectures (MobileNetV2, ResNet50, VGG19) using transfer learning on FER2013, RAF-DB, and CK+48 datasets. The best model achieves 98.99% on CK+48.

MobileNetV2 is optimized for edge deployment — reduced from 23MB to 9MB with 40% faster inference, enabling real-time performance on 512MB RAM devices.