Facial Image Classifier

Overview

The Facial Image Classifier project is an advanced machine learning application designed to classify facial expressions into different categories. The model is trained on a dataset of facial images and uses a Convolutional Neural Network (CNN) architecture to achieve high accuracy. This project implements K-fold cross-validation to ensure robust evaluation and leverages PyTorch for building and training the model. The model achieved an accuracy of 70.718% based on a Kaggle test dataset.

Key Features

  • Convolutional Neural Network: The project utilizes a CNN with multiple convolutional layers, followed by pooling and fully connected layers for classification.
  • K-Fold Cross-Validation: Implements a 10-fold cross-validation strategy to ensure the model generalizes well to unseen data.
  • PyTorch: The model is built and trained using PyTorch, a popular deep learning library.
  • Data Augmentation: Uses data augmentation techniques to enhance the training process and improve model accuracy.

Technologies Used

  • PyTorch: A deep learning framework used to build and train the neural network model.
  • Pandas: For data manipulation and handling of the CSV files containing the training and test data.
  • K-Fold Cross-Validation: Scikit-learn's KFold class is used for implementing cross-validation.
  • Matplotlib: For visualizing the results and training progress.

Explore the source code on GitHub:

GitHub Repository