Face Encoded

A complete system for face detection and recognition with real-world photos


2016
Role: Engineer
Keywords: computer vision, face recognition, variational autoencoder, viola-jones detector, neural network
 
Introduction

We present a complete system for face detection, recognition and alignment in real-world photos.

For detection, we use the venerable Viola-Jones detector [2], while for alignment, we use a heuristic algorithm [2,3] which relies on facial keypoint locations extracted by applying a Viola-Jones detector to a suitably preprocessed image. For recognition, we represent the face in low dimention. Finally, we get the ranked results by comparing it against the database.
system flowchart
We implement three different strategies: Turk & Pentland’s Eigenfaces [1], a simple method using the latent representation of a Variational Autoencoder (VAE) [4, 5], and a novel VAE-like strategy which we call the IDVAE.
Comparison between Eigenfaces, VAE and IDVAE
Github

References:
[1] M. A. Turk and A. P. Pentland, “Face recognition using Eigenfaces,” in CVPR, 1991.
[2] P. Viola and M. Jones, “Rapid object detection using a boosted cascade of simple features,” in CVPR, 2001.
[3] G. Huang, M. Mattar, H. Lee, and E. G. Learned-Miller, “Learning to align from scratch,” in NIPS, 2012.
[4] D. P. Kingma and M. Welling, “Auto-encoding variational Bayes,” arXiv:1312.6114, 2013.
[5] D. J. Rezende, S. Mohamed, and D. Wierstra, “Stochastic backpropagation and approximate inference in deep generative models,” arXiv:1401.4082, 2014.