Skip to content

Latest commit

 

History

History
55 lines (30 loc) · 1.58 KB

README.md

File metadata and controls

55 lines (30 loc) · 1.58 KB

Face Recognition

A manual implementation of the Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA) algorithms to solve the problem of face recognition (EigenFaces) on the AT&T Database of Faces.

AT&T Database of Faces

This project was developed as part of the course Pattern Recognition in the Spring 2023 semester at the Faculty of Engineering, Alexandria University, under the Computer and Communications Engineering department, supervised by Dr. Marwan Torki.

Steps

1- Download the dataset and understand the format.

2- Generate the data matrix and the label vector.

3- Split the Dataset into training and test sets.

4- Classification using manually-implemented PCA.

PCA

5- Classification using manually-implemented LDA.

LDA

6- KNN classifier tuning by trying different number of neighbors.

KNN Classifier Tuning

7- Compare against non-face images to solve the classification problem faces vs. non-faces.

8- Use different training and test splits.

Prerequisites

This project was developed in the following environment:

  • Jupyter Notebook
  • Miniconda
  • Python 3.11.5

Installing

1- Clone the repository to your local machine:

git clone https://github.com/MohEsmail143/face-recognition.git

2- Open Jupyter notebook.

3- Check out the the Jupyter notebook Face_Recognition.ipynb.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.