After an afternoon of playing around with Python’s sklearn library, I present to you a short little experiment in dimensionality reduction using the Extended Yale Faces Database B. The extended Yale Face Database B contains 16128 images of 28 human subjects under 9 poses and 64 illumination conditions. Here are some example images from this paper:

Eigenfaces

Reconstruction using PCA

Although facial recognition now employs far more sophisticated algorithms to classify faces, principal component analysis (PCA) is still used in many modern approaches for pre-processing, either as a means of dimension reduction or to form basis images for different modes of variation. So even though the proposed use of PCA for facial characterization dates all the way back to 1987, we are still seeing the so-called “eigenface” approach being used today - now that’s something!

Access the iPython notebook here.