Skip to content

DRJ-14/face-recognition-facenet-vgg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Face Recognition System using FaceNet and VGG (Machine Learning Project)

Python Machine Learning Deep Learning Computer Vision Jupyter

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.


Project Overview

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

Machine Learning Techniques Used

  • 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

Technologies Used

  • Python
  • TensorFlow / Keras
  • NumPy
  • OpenCV
  • Jupyter Notebook

Dataset Description

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

How to Run the Project

Step 1: Data Augmentation and Preprocessing

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.


Step 2: Training FaceNet and VGG Models

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.


Results and Observations

  • 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

Key Highlights

  • 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

Future Enhancements

  • 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

Author

Developed as part of a Machine Learning academic project with a focus on computer vision, deep learning, and face recognition systems.

About

End-to-end face classification pipeline using data augmentation and deep learning models such as FaceNet and VGG.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors