Computer Vision | Facial Recognition with Keras, FaceNet, Inception, Siamese Networks

See project repository on GitHub.

This repo contains one notebook, where I use Keras and customize a pretrained Inception model which I then use for building a Siamese Network that performs face recognition.

Facial recognition is the task of looking at an image showing the face of a person and being able to identify that person from a collectiong of images already present in our database.

- the system has a database of n persons (images for each of them, most often just 1)
- the system receives as input a new, unseen, image of a person
- and should be able to recognize if this is any of the n persons already present in the database.

To build such a system, I'm using:

- Siamese Networks
- the Triplet loss function, described in the FaceNet article by Schroff et al 2015
- Transfer learning, to save training time by making use of pretrained convolutional neural networks.
- Keras interface for the TensorFlow library and Keras Applications pretrained models.

How to use this repo: Open the Jupyter Notebook in this folder. You can clone it, download it or just read it here. There is also a link at the top of the Notebook which takes you to the same Notebook on Kaggle.

Last updated