CSE 455 Project 4: Eigenfaces

Forrest Coward


Human, Android, or Eigenface?

Overview

Eigenfaces is a novel implementation of face recognition.

If we imagine each N x N image as a vector of pixels, a single image is a point in N x N space. The goal is to identify which points in this space are faces. We begin with a set of T training images that are known to be faces. If we place these X images into a single column matrix, we now have a T x (N*N) matrix of pixels, where each row represents an image. Principal component analysis (PCA) is a mathematical technique that can used to find similarities and differences in data of an arbitrary number of dimensions. Because it can very difficult to visualize trends in large dimension, PCA becomes a powerful trend/feature finding tool. I'm not going to go into all the detail, but essentially once PCA has been run on the sample faces matrix it gives us a baseline to what a typical face looks like which then allows for comparison to images which weren't in the original set.

Question Sets

Question Set 1: Testing Recognition
Question Set 2: Cropping and Finding Faces
Question Set 3: Verify Face

Extra Credit

The only extra credit I implemented was morph face. Here is normal face four being morphed into normal face five: