A Face Classification and Recognition system developed as part of an academic Machine Learning project, focusing on data augmentation, deep learning–based feature extraction, and supervised face classification using FaceNet and VGG architectures.
The project demonstrates an end-to-end deep learning pipeline including dataset preprocessing, augmentation, model training, and evaluation on facial image datasets.
Face recognition systems require robust feature representations to handle variations in lighting, pose, and facial expressions. This project explores deep learning–based face classification techniques by leveraging pretrained convolutional neural networks and supervised learning.
The system includes:
- Dataset preprocessing and augmentation
- Training deep learning models for face classification
- Evaluating performance on unseen facial images
- Data augmentation for improving dataset diversity
- Deep learning–based feature extraction
- FaceNet architecture for facial embeddings
- VGG-based convolutional neural networks
- Supervised learning for multi-class face classification
- Python
- TensorFlow / Keras
- NumPy
- OpenCV
- Jupyter Notebook
The project operates on a structured facial image dataset containing multiple identities with multiple images per individual.
Dataset characteristics include:
- Facial images organized by identity
- Separate training and testing sets
- Labels provided for supervised learning
- Augmented images generated to improve generalization
Run the data augmentation notebook to prepare the training dataset.
Open the notebook:
Data_Modification.ipynb
In the final cell of the notebook, update the input and output directory paths according to your local or Google Drive setup.
After updating the paths, execute the notebook to generate the augmented dataset.
Run the FaceNet and VGG-based model notebooks using Google Colab or a local Jupyter environment.
Before executing the notebooks, update the following paths:
- Training dataset directory
- Testing dataset directory
- Labels file path
- Directory for saving trained models
Once configured, execute the notebooks to train and evaluate the models.
- Data augmentation improves model robustness and generalization
- Deep learning models learn discriminative facial features effectively
- FaceNet embeddings provide strong identity separation
- VGG-based models achieve reliable classification performance
- End-to-end face classification pipeline
- Deep learning–based feature extraction
- Practical experience with FaceNet and VGG models
- Hands-on exposure to real-world computer vision workflows
- Integrate real-time face recognition using webcam input
- Perform hyperparameter tuning for improved accuracy
- Extend the system with lightweight inference models
- Compare classical ML approaches with deep learning methods
Developed as part of a Machine Learning academic project with a focus on computer vision, deep learning, and face recognition systems.