In recent years, facial recognition systems, which are based on classifying neural networks, managed to achieve extraordinary high performances, often exceeding those of humans. However, vital drawbacks of these systems prevent them from executing significant tasks, such as recognizing a face of a person without designated training on his images, enlarging the pool of subjects the system is able to recognize, or even determine a face doesn’t belong to the pool. To that end, in this project, we propose a novel approach for facial recognition capable of completing these tasks, while still being able to accomplish the “classic face recognition” task. In addition, we propose a system implementing the novel approach using a different kind of deep learning method. In the heart of the new approach stands the separation between the two prime processes of facial recognition: feature extraction (which we propose to accomplish using an Autoencoder neural network) and feature comparison used to find a match. The independence of the processes enables the proposed system to accomplish all the tasks at hand with high performances. As part of that, the system achieves 88% accuracy at recognizing faces, including faces of subjects unseen in the training data. Moreover, the system is able to expand the pool of subjects without going through the whole training process again, and also discriminate faces from the pool with 80% accuracy. These achievements are accomplished under severe restrictions and limitations of the images dataset, the hardware and the training duration.
