This repository contains the implementation of a Face Recognition system using the Eigenfaces algorithm. The project demonstrates the application of Principal Component Analysis (PCA) for dimensionality reduction and feature extraction in the domain of computer vision.
eigenface.ipynb
: Jupyter notebook with the full implementation and documentation of the Eigenfaces algorithm.crop.zip
: Zipped dataset containing cropped images for training the model.test.zip
: Zipped dataset containing test images to evaluate the model's performance.eigenface.pdf
: PDF file of the Jupyter Notebook.
To get started with this project, clone the repository and install the required dependencies listed in pre-requisites
- Python 3.x
- Jupyter Notebook
- Libraries: numpy, matplotlib, scikit-learn (install these using
pip
orconda
)
- Clone the repository:
git clone https://github.com/ksheersagaragrawal/Face-Recognition-Using-Eigenfaces.git
- Navigate to the cloned directory and install dependencies.
- Unzip the datasets:
unzip crop.zip -d path_to_extract/
unzip test.zip -d path_to_extract/
The Jupyter file seems to have corrupted and cannot be viewed on GitHub, however you can still access the code via local IDE like VSCode and Jupyter notebook.
Run the Jupyter notebook to see the step-by-step process of the Eigenfaces algorithm: jupyter notebook eigenface.ipynb
Follow the instructions within the notebook to train and test the Face Recognition model.
The eigenface.ipynb
notebook contains visualizations and performance metrics demonstrating the efficacy of the Eigenfaces algorithm in recognizing faces.
Contributions to this project are welcome. Specifically if you find solution to the error "Notebook does not appear to be JSON: ''
, do share.
This project is licensed under the MIT License.
- The dataset used in this project is a subset of the Labeled Faces in the Wild dataset.
- Thanks to all contributors who have participated in this project.