Face Recognition using Eigenfaces in FPGA
HDL : Verilog
Softwares: Modelsim, ALTERA Quartus II
FPGA: ALTERA Cyclone II
Need to simulate and synthesize eigenfaces for face-recognition in a FPGA.
Eigenfaces for recognition by Matthew Turk and Alex Pentland ( IEEE paper) is the core of this project.
Eigenfaces method is the core of this project, which is explained in detail in Eigenfaces for recognition by Matthew Turk and Alex Pentland. This method has been implemented successfully in MATLAB and the code is also freely available, but it has not been implemented in FPGA's extensively due to the memory and processing speed constrains.
The Pixel information from greyscale face images (up to 5 images can be used & face images should be from approved face database, eg At&T database of faces) should be stored in the RAM of FPGA ( can use MATLAB to get pixel information). A Verilog code for eigenfaces should be written, which would take in the Image pixels in the form of Matrices and followed by several steps of manipulation ( according to eigenfaces method, which is in detail in the IEEE Paper by matthew Turk and Alex Pentland ) would result in obtaining eigenfaces, these eigenfaces( a ghostly image) form the database and the weight associated with each face is calculated, A new Greyscale face image should be introduced and manipulated with the eigenfaces from the database ( according to eigenfaces method) and the resulting weight vector is mapped with the other weight vectors from the database. The Newly introduced face image is said to be recognized if its weight matches with any of the weight from the faces images of the database, else the newly introduced face image is said to be unrecognized.