Page 1 of 3
An amazing human ability
The ability of humans to recognise other people’s faces, and often put a name and complete identity history to them, is truly amazing. In fact it is so good that we tend to take it very much for granted and don’t really appreciate how sensitive we are to small variations in appearance. You only have to find yourself trying to recognise people in an ethnically different environment and you soon discover that it can be more difficult.
Humans have evolved an ability to recognise other humans in difficult situations – a glimpse of a face in the crowd is often enough for a positive recognition.
Wouldn’t it be useful if computers could do the same thing?
Well the truth is that not everyone agrees that such a thing would be wholly good. A computer that could recognise people from a videotape of a crowd for example might make it possible for “big brother” to follow your movements and discover far more about you than you would care to be known.
Two eyes and a nose
The simplest approach to face recognition is to use “features”.This is also a general approach to any pattern recognition task.
When you describe someone’s face you tend to remark on notable features such as a big nose, how far apart the eyes are and, of course, hair type.
It’s not difficult to see this sort of description could be used as the basis of a recognition procedure. Just get the computer to measure a set of standard features and compare these to a library of pre-measured faces.
Easy though this sounds it is very difficult.
Take, for example, the task of measuring the distance between the pupils of the eyes. The image of the face is digitised and all the computer has to work with is a table of numbers representing the brightness or colour of each point in the image. How easily do you think you would find the task of locating an eye in the mass of numbers?
This is the central problem of computational pattern recognition and while it isn’t a completely solved problem there are ways of locating the position of small regular shapes within an image.
The first task is to find the nodal points – eyes, nose, mouth and then measure the distances between them.
Even once you have solved the problems of finding a standard points on a face – the so called “nodal points” – you still have the problems of finding the ones that really do distinguish different faces.
For example, you might think that length of hair or colour of eyes would be good things to use but remember that either can easily be changed. Also you need to measure features that change little with the person’s physical condition and aging.
After much research about 20 nodal points and features have been found to be useful, including distance between the eyes, width of nose, cheekbone distance and so on.
A set of these measurements is generally referred to as a “faceprint” – although you shouldn’t take this to mean that a faceprint is unique in the same way that a fingerprint is.
A practical system?
You can now see how a face recognition system might be put together. First we need to construct a database of faceprints. This is done by videoing or scanning-in full frontal facial images of the people you are looking for and computing a faceprint for each one.
As the measurements that make up a faceprint are simple distances an entire faceprint only occupies a few tens of bytes of storage. As a result the faceprint database can easily be stored alongside other data and it is quick to search.
Creating the faceprint database is relatively easy but obtaining a faceprint from a crowd scene
is much more difficult. A video camera aimed at the scene is used to first locate faces using colour and shape. Once a target face has been found the system switches to high-resolution mode and the area that contains the face is scanned in.
For recognition to be reasonably accurate the face has to be turned toward the camera as much as possible. If a face is turned away the system has to wait for another opportunity to capture a useful image.
After a face image has been captured the next stage is to try to improve and standardise the image as much as possible. The face is rotated and scaled to produce a standard-size face. At this point we have a face image that is as near as possible in the same format as the face images used to construct the faceprint database. The software next begins to measure each of the nodal points and features and searches for a match in the faceprint database.