Skip to content

Face recognition algorithm that follows the observations from the research paper "View-based and modular eigenspaces for face recognition" to build a face space and find the projections of the train and test faces.

License

Notifications You must be signed in to change notification settings

gabriel-rusu/eigenfaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project logo

Eigenfaces

Face recognition algorithm that follows the observations from the research paper Face Recognition Using Eigenfaces to build a face space and find the projections of the train and test faces.

📝 Table of Contents

🧐 About

An eigenface is the name given to a set of eigenvectors when used in the computer vision problem of human face recognition. The approach of using eigenfaces for recognition was developed by Sirovich and Kirby and used by Matthew Turk and Alex Pentland in face classification. The eigenvectors are derived from the covariance matrix of the probability distribution over the high-dimensional vector space of face images.

In this repo, I reimplement the first face recognition algorithm from scratch to better understand the core concept behind eigenvectors and eigenfaces. I tried to keep the code well-organised and clean to make it helpful for others interested in the implementation of this paper.

⚡ Quick Start

Want to play with these notebooks online without having to install anything? Use any of the following services.

WARNING: Please be aware that these services provide temporary environments: anything you do will be deleted after a while, so make sure you download any data you care about.

Open In Colab

🏁 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

In order to locally run the repo you should have the following:

Installing

If you want to run the code on your local machine, you need to follow the next steps.

  1. First you need to create a conda environment with the following command:
conda create --name eigenfaces --file requirements.txt python=3.10
  1. Secondly, you need to activate the environment:
conda activate eigenfaces
  1. Open in the editor of your choice the notebook eigenfaces from the folder src/notebooks

⛏️ Built Using

📑 Documentation

✍️ Authors

About

Face recognition algorithm that follows the observations from the research paper "View-based and modular eigenspaces for face recognition" to build a face space and find the projections of the train and test faces.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published