Emotion Classification with Custom Image Processing
Role: Developer / Researcher
Tech: Python, TensorFlow, Keras, OpenCV, NumPy, Pandas, Matplotlib
Timeline: October 2024 - December 2024
This project aimed to enhance traditional facial emotion detection systems by introducing nuanced emotions beyond the standard seven categories. Built with a Convolutional Neural Network (CNN) trained on the FER-2013 dataset, the model detects and classifies human emotions in real-time through a custom detector I built that processes live webcam input and interprets facial expressions dynamically.
My work centered on dataset engineering, model training, and real-time implementation. I created two new emotion classes, “skeptical” and “intrigued”, by merging existing labels (neutral and disgusted, and happy and surprised, respectively), thereby expanding the dataset to capture more realistic and complex reactions. I implemented preprocessing and data augmentation techniques such as rotation, flipping, and scaling to improve diversity and generalization, and used callbacks like EarlyStopping and ReduceLROnPlateau to optimize performance and prevent overfitting during training.
The final model achieved over 60% accuracy and integrated seamlessly with the real-time detector I developed, accurately identifying multiple emotional states under varied lighting and angles. This project strengthened my skills in deep learning, dataset design, and real-time computer vision, while deepening my passion for using AI to make human-computer interaction more empathetic and responsive.
Here’s a short video presentation explaining my approach, model design, and real-time emotion detector in action.