Simple Image Recognition system in C using Power Iteration to compute top K eigenfaces, alongwith some Python scripts to use the program
- Gather a labelled images dataset (name_i.png where name is the label, i the index of the specimen in the dataset)
- Compute the mean face of the whole dataset, and store it
- Center the dataset by substracting the mean face
- Compute the first K eigenvectors of the dataset
- Derive the eigenfaces, and the projected faces
- Store mean face, eigenfaces, and projected faces
- Gather dataset to classify
- Substract the mean face from the images
- Project the images on the eigenfaces
- Find the closest labelled image using euclidian distance with a tolerance.
- Output the label if found or warn if the tolerance can't be satisfied