A Face Recognition program which takes in an image of a face and returns an identification number of a matching face from a database. The program consist of a pipeline which includes: light compensation, normalization, eye and mouth map extraction and lastly feature extraction for each image. These features are what allows the program to determine if there is a match.