Web-Scale Face Recognition
Code and Data Coming Soon...
Facebook Face Recognition
Class Projects and Other
MACH stands for Maximum Average Correlation Height and it is a special kind of correlation filter that learns the optimal filter from a set of negative and positive training data. The implementations include the standard filter as well as an optimization that removes the necessity for negative training data, allowing the filter to generalize based on the positive data of interest.
Diffusion maps is a dimensionality reduction technique that allows it to learn the optimal reduction of non-linear data. It is based on the Markov transition model allowing it to handle varying degrees of relatedness and its propagation through time. I found this method to be very good for the simulated data, but very sensitive to parameters for more realistic data. As with any graph-based method, you need to specially design the relationship graph to discover the intended relationships.
This is an implementation of the popular eigenfaces technique for dimensionality reduction, which is Principal Components Analysis (PCA) applied to face recognition. I use Nearest-Neighbor to find the closest match, however more sophisticated classifiers can be used in more complicated scenarios.