EmoteFlow Emotion Recognition CNN

A CNN model trained on FER2013 (and optionally fine-tuned on CK+) for real-time student emotion recognition. Part of the EmoteFlow learning engagement platform.

Labels

Index Emotion
0 Angry
1 Disgust
2 Fear
3 Happy
4 Sad
5 Surprise
6 Neutral

Performance

  • Test Accuracy: 0.4866
  • Input: 48x48 grayscale image, normalized to [0, 1]
  • Output: 7-class softmax probabilities

Usage

import numpy as np
import onnxruntime as ort

session = ort.InferenceSession("emoteflow_model.onnx")
image = np.random.rand(1, 48, 48, 1).astype(np.float32)  # your preprocessed frame
result = session.run(None, {"input": image})
emotion_probs = result[0][0]

Training

  • Phase 1: Trained on FER2013 (50 epochs max, early stopping)
  • Phase 2: Fine-tuned on CK+ (if available, 20 epochs)
  • Architecture: 4-block CNN (64โ†’128โ†’256โ†’512) with BatchNorm + Dropout
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support