Developed a deep learning project to classify human facial expressions into seven emotion categories using Convolutional Neural Networks (CNNs) and transfer learning.
**Key Features**
- Classified facial images into seven categories: Angry, Disgust, Fear, Happy, Neutral, Sad, and Surprise.
- Preprocessed images by converting them to grayscale, resizing them to 50×50 pixels, and normalizing pixel values.
- Built a custom CNN architecture using TensorFlow and Keras, incorporating convolutional layers, batch normalization, max pooling, and dropout.
- Applied data augmentation techniques, including rotation, zooming, horizontal and vertical shifting, and horizontal flipping.
- Implemented Early Stopping to help prevent overfitting and restore the best model weights.
- Explored transfer learning using pretrained architectures, including VGG16, MobileNetV2, ResNet50V2, and EfficientNetB0.
- Evaluated model performance using accuracy, loss, confusion matrices, and classification reports.
- Visualized predictions by comparing predicted emotions with actual labels.
**Technologies Used:** Python, TensorFlow, Keras, OpenCV, NumPy, Matplotlib, Scikit-learn, and Seaborn.
**Model Evaluation:** The custom CNN achieved approximately 59.61% test accuracy. Additional experiments explored pretrained architectures to investigate alternative approaches to facial emotion classification.