Skip to content

Developing face recognition system using Convolutional Neural Networks (CNN) that leverages deep learning techniques to accurately identify and verify individuals based on their facial features.

Notifications You must be signed in to change notification settings

hahmadfaiq21/FaceRecognition-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

Face Recognition System Using Convolutional Neural Network (CNN)

This project aims to develop a robust face recognition system using Convolutional Neural Networks (CNN). The model leverages deep learning techniques to accurately identify and verify individuals based on their facial features. The CNN architecture is designed to extract and learn intricate patterns from facial images, making it highly effective for face recognition tasks.

Dataset: Labeled Face in the Wild (LFW) by University of Massachusetts.
Link dataset: https://vis-www.cs.umass.edu/lfw/

Key Features:

1. Data Preprocessing: The dataset consists of labeled facial images, which are preprocessed to enhance quality and consistency. Techniques such as normalization, resizing, and augmentation are applied to improve model performance.
2. CNN Architecture: The model employs a multi-layer CNN to capture spatial hierarchies in the images. Layers include convolutional, pooling, and fully connected layers, optimized for feature extraction and classification.
3. Training and Validation: The model is trained on a diverse dataset of facial images, with a portion reserved for validation to ensure accuracy and generalization. Techniques like dropout and batch normalization are used to prevent overfitting.
4. Performance Evaluation: The system’s performance is evaluated using metrics such as accuracy and Confusion Matrix. These metrics help in fine-tuning the model for optimal results.
5. Applications: This face recognition system can be applied in various domains, including security, authentication, and personalized user experiences.

Convolutional Neural Network (CNN) Model Architecture

Dataset Samples

Pre-Processing Dataset using Augmentation Data

Data augmentation is a technique used in machine learning to artificially increase the size and diversity of a training dataset by creating modified versions of existing data. This helps improve the performance and robustness of machine learning models, especially when the original dataset is small or imbalanced.

Dataset Splits

Cross-Validation Method

Cross-validation is a technique used in machine learning to evaluate the performance of a model and ensure it generalizes well to unseen data. Cross-validation involves splitting the dataset into multiple subsets, training the model on some subsets, and validating it on the remaining subsets. This process is repeated several times, and the results are averaged to provide a more accurate estimate of the model’s performance.

Why Use Cross-Validation?

Avoid Overfitting: By testing the model on different subsets of data, cross-validation helps detect overfitting, where the model performs well on training data but poorly on new data.
Better Performance Estimation: It provides a more reliable estimate of the model’s performance compared to a single train-test split.

For more about Cross-Validation: https://scikit-learn.org/stable/modules/cross_validation.html.

5-Fold Cross-Validation Result

fold 1
fold 2
fold 3
fold 4
fold 5

Best Fold

To select the best model, the highest value of the average accuracy of the five models produced was taken, so that Fold 3 was selected as the best model.

fold 3

Result

Authorized Access Unauthorized Access
Detect Face Detect Face2

About

Developing face recognition system using Convolutional Neural Networks (CNN) that leverages deep learning techniques to accurately identify and verify individuals based on their facial features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published