Eigenfaces

Although faceprinting seems like a reasonable method there are more sophisticated techniques available.

The oddly-named “eigenface” analysis works by trying to find sets of standard faces. “Eigen” is German for “characteristic” and there is a mathematical technique for finding the smallest number of combinations of features which best represent any data you care to give it.

It works by looking for combinations of features that differ the most across the sample provided. The combination of measurements that varies the most is called the first eigenfeature and it’s the one that most separates the faces. It is clearly the one to use if you are trying to match a new face to the collection. The feature that the faces vary on the most after the first one has been taken into account is the second eigenfeature and it’s the next best to use. You can carry on in this way automatically generating a set of eigenfeatures until you have achieved the classification accuracy you need or until you run out of computing power.

A set of eigenfaces – that they don’t look recognisable by a human is one of the drawbacks of the system

A face reduced to its eigenfeatures is called an eigenface. The method may be powerful but it does tend to work in ways that aren’t intuitive. We like to think of faces as particular combinations of big ears, narrow eyes and so on but eigenfeatures are defined mathematically and don’t always correspond to anything a human understands. In most cases this doesn’t matter but when you are shown a photo of an eigenface don’t expect to recognise it!

In practice an eigenface recognition system has many of the same stages as a faceprint system. A scene is scanned until a face shape is located. It is then rescanned at higher resolution and the face image extracted. Standard facial features are then identified – eyes, nose and mouth – and are used to warp the image to a standard form. For example, the face is rotated to make the eyes level. Once the face is in standard form it is analysed into its eigenfeatures and matched in the database of eigenfaces.

The good news is that once you know what the eigenfeatures are it’s quick and easy to analyse a face. The bad news is that it takes a lot of computer power to work out what the eigenfeatures should be and to create a database of eigenfaces.

Currently eigenface recognition is still under development and there are many variations on the basic scheme. The best eigenface analysis seems to offer the highest recognition accuracy and the lowest false alarm rate. In addition it also seems to be harder to fool using a disguise or changing hairstyles.

Neural networks

A third, although less practical alternative at the moment, is to use a neural network to learn what people look like. If you want to know about this approach in detail see: Neural Networks.

In principle it should be easy to recognise faces using a neural network. All you have to do is show the network the faces over and over again until they are recognised correctly. Once trained the neural network will, in theory, recognise the people used to train it.

A neural network mimics the way the brain works and learns to recognise faces by being shown them repeatedly.

The problem with a neural network is that it takes a long time to learn even a small set of faces. It takes thousands of training sessions to achieve even a reasonable recognition rate. What is more, if you want to add another face it has to be retrained!