In this project, we use the PCA(Principal Component Analysis) method to recognize various faces.
Face recognition is a method of identifying or verifying the identity of an individual using their face. The objective of this project is to recognize a face from a pool of known faces.
The Face recognition method involves two major tasks as Principal Component Analysis and Pattern Recognition Task. The PCA use the largest eigenvalues and its eigenvectors to build the principal eigen faces. Every new testing image is being projected onto the eigen space(collection of eigen faces) and compared with all the eigen faces. The best fit with the face shows that the image is a known face or else unknown. We keep a threshold for the comparison.
AT&T Database of Faces (size 4MB). The details about the information are in the README file of the database.
The project uses Python >= 3.5
Other technologies used
- Google Colab / Jupyter Notebook
- OpenCV
- Pillow
- Matplotlib
- Numpy
FaceRecognition.ipynb
: The main file containing the code.
Faces_Dataset
: The database of faces extracted.
requirements.txt
: The dependencies for the code. They have to be preinstalled.
Report.pdf
: The understanding of the algorithm and results of the project.
The project can be extended by able to detect the new image if it comes repeatedly. This can be done by storing the new image in the pool of eigen faces(eigen space).