A deep learning project implementing multiple CNN architectures to detect four emotional states (happy, sad, surprised, neutral) from facial expressions. Achieved 84.38% accuracy using transfer learning approaches.
- 11 different CNN architectures implemented
- Transfer learning with VGG16, ResNet V2, and EfficientNet
- Custom CNN with Residual and SE blocks
- Both grayscale and RGB image processing
- VGG16 Transfer Learning: 84.38% accuracy
- Complex Custom CNN: 82.81% accuracy
- Deep CNN (Grayscale): 80.47% accuracy
- TensorFlow/Keras
- Python
- NumPy
- Matplotlib
- OpenCV
- ~15,000 training images
- 48x48 pixel images
- Four emotion classes
- Both grayscale and RGB formats
- Best F1-score: 0.85 (VGG16 model)
- Strong performance across all emotion classes
- Effective handling of class imbalance
- Ankit Rai
This project demonstrates the power of deep learning in emotion recognition through facial expression analysis.