Face Recognition Classifier

Hero image of Face Recognition Classifier

A machine learning pipeline for facial recognition with 93.23% accuracy.

Machine Learning Engineer, Data Analyst

Python, Pandas, TensorFlow, Matplotlib

View Code

Project 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

  1. Data Preprocessing: Image normalization and augmentation
  2. Dimensionality Reduction: PCA to reduce feature space
  3. Clustering Analysis: Hierarchical clustering for facial grouping
  4. Feature Extraction: CNN layers for hierarchical feature learning
  5. Classification: ANN for final person classification

Project Preview

Plots the predicted and true labels of 10 individuals.
Plots the predicted and true labels of 10 individuals.
semaj

Connect with me

Copyright ©2024 Semaj. All Rights Reserved.

Built with NextJS and TailwindCSS