This project incorporates the SiameseNet Face Recognition architecture proposed by Gregory Koch et al. from the University of Toronto in their seminal paper Siamese Neural Networks for One-shot Image Recognition. Although these authors are not the inventors of the Siamese Network architecture itself, their work was instrumental in incorporating it into One-Shot learning scenarios - scenarios that require the classification of an image given only one chance ("shot"). Such is the case of Face Recognition situations, where the algorithm has to go off a single image of a person's face given just before expected inference time.
We reproduce the architecture by following Nicholas Renotte's guided project (https://youtu.be/LKispFFQ5GU?si=aAZQ7dpjRUWWvsei), but we substantially expand upon it by adding an image augmentation pipeline, replacing standard Categorical Cross Entropy Loss with Triplet Loss, fine-tuning the model for optimal performance (on a very small dataset), and much more.
Note: even though Face Recognition refers to a 1:N problem (matching one input identity to an identity among N identities in the database), we implement the architecture so as to solve a 1:1 problem (matching one input identity to one identity in the database). Thus, we will in fact be incorporating a Face Verification, rather than Face Recognition, solution. You could also say we're solving a 1:N Face Recognition problem with N=1.