This project implements a face classification system using deep learning. It includes training on a custom dataset, evaluation, real-time inference, and a web interface for user interaction. The system is based on a convolutional neural network model and was fine-tuned for both large and small datasets.
- Contains subfolders named after individuals.
- Each subfolder includes face images of the respective person.
- Used for training and evaluation.
Contains experiments for training FaceCNN with different epoch configurations.
train_faces_100ep.py: Script to train the FaceCNN model for 100 epochs.best_model.pth: Best weights from the training process.
train_faces_200ep.py: Script to train the model for 200 epochs.best_model.pth: Best weights from this training.Analyize/: Evaluation scripts and output visualizations:eval_model.py: Evaluates the model and generates a confusion matrix.eval_model_2.py: Extended evaluation script that produces:- Confusion matrix
- Precision & Recall chart
- Top-3 Accuracy chart
- Contains all frontend (
client) and backend (server) code for the web application. - Functionality:
- Users can upload images grouped by person name.
- Clicking Send triggers fine-tuning of the FaceCNN model based on the uploaded data.
- The user receives back a trained weights file (.pth) fine-tuned to the uploaded dataset.
- Frontend: [React]
- Backend: [Node and Express]
Code for live face recognition and personalized model fine-tuning.
-
face_rec.py:
Fine-tunes a pretrained FaceCNN model (originally trained on 100 classes) to a smaller dataset of 5 people. This is done using new data for personalized recognition. -
live_infer.py:
Performs real-time face recognition using a webcam. It loads the fine-tuned model and identifies faces among the 5 trained individuals.
- First submission of the report.
- Second submission of the report.
- Complete documentation including methodology, architecture, experiments, and results.
- A visual summary of the project for academic or public presentation.
- A full technical documentation of the software.
This document provides a detailed explanation of the system architecture, all developed modules, and their interactions.
The goal is to allow developers and reviewers to clearly understand how the system was built, how each module works, and how they integrate together.
This project showcases:
- Training and fine-tuning of deep learning models on face data
- Real-time face inference using webcam
- Evaluation metrics like confusion matrix, precision, recall, and Top-3 accuracy
- Web-based interface for accessibility and interaction