This repository contains the implementation of a scalable facial recognition system using Singular Value Decomposition (SVD) in MATLAB with High-Performance Computing (HPC) integration. The project demonstrates the use of parallel computation for dimensionality reduction, feature extraction, and classification of facial images from publicly available datasets.
- Introduction
- Features
- Requirements
- Installation and Setup
- Usage
- Roadmap and Roadmap2
- Acknowledgments
- License
Facial recognition systems are vital in applications such as security, authentication, and human-computer interaction. This project leverages SVD for dimensionality reduction and feature extraction, combined with MATLAB's Parallel Computing Toolbox to handle large datasets efficiently.
- Implement SVD for feature extraction.
- Utilize HPC resources for computationally intensive tasks.
- Train and test a supervised classification model for face recognition.
- Evaluate computational efficiency, accuracy, and scalability.
- Dataset Preprocessing: Grayscale conversion, resizing, and normalization.
- SVD-Based Dimensionality Reduction: Retain top components for efficiency.
- Supervised Classification: Supports models like SVM and k-NN.
- Parallel Processing: Integrates MATLAB's HPC capabilities for scalability.
- MATLAB (R2023b or newer)
- Parallel Computing Toolbox
- Access to an HPC environment (e.g., SLURM cluster)
- Public facial datasets:
This project acknowledges the contributions of the following:
- ChatGPT by OpenAI for assistance in planning, structuring, and documentation of this repository.
- Marek Rychlik for guidance and resources in HPC and MATLAB.
- Public datasets Extended Yale B Dataset and LFW.
© 2024 [Your Name or Institution]. All rights reserved.
This project is distributed under the MIT License. See the LICENSE file for details.
This project was developed as part of Math 589A Algorithms and Numerical Methods Final Project and is intended for educational purposes only.