Face Recognition Classifier

A machine learning pipeline for facial recognition with 93.23% accuracy.
Machine Learning Engineer, Data Analyst
Python, Pandas, TensorFlow, Matplotlib
View CodeProject Overview
A machine learning pipeline for facial recognition using the UMIST dataset. This project implements a hybrid CNN-ANN neural network architecture combined with PCA for dimensionality reduction and Hierarchical Clustering for facial grouping analysis.
Key Results
- Accuracy: 93.23%
- Architecture: Hybrid CNN + ANN
- Dimensionality Reduction: PCA
- Clustering Method: Hierarchical Clustering
Dataset Overview
UMIST Dataset
- Total Subjects: 20 people
- Images per Subject: 20 images per person
- Total Images: 400 facial images
- Labeling: Each of the 20 labels corresponds to one unique person
The dataset contains grayscale facial images with varying pose and lighting conditions, which makes it ideal for testing robust facial recognition algorithms.
Project Structure
facial_recognition_classifier/
├── assets/ # Documentation plots
├── data/ # UMIST dataset
├── notebook/ # Jupyter notebook for analysis
└── README.md
Tech Stack
- Python
- TensorFlow/Keras
- scikit-learn
- NumPy, Pandas, Matplotlib, SciPy, Seaborn
Pipeline Overview
- Data Preprocessing: Image normalization and augmentation
- Dimensionality Reduction: PCA to reduce feature space
- Clustering Analysis: Hierarchical clustering for facial grouping
- Feature Extraction: CNN layers for hierarchical feature learning
- Classification: ANN for final person classification
Project Preview
