The Face Detector
Roland Piquepaille writes "Almost all human faces have common characteristics, such as two eyes and one mouth. Still, some people, affected by face blindness, cannot recognize one face from another one. So it's understandable that face recognition is a major challenge for computer vision systems. In "Facing facts in computer recognition,", the Pittsburgh Post-Gazette reports that a team from Carnegie Mellon University's Robotics Institute has developed a very accurate software to find faces within images. By analyzing only 768 pixels, the system can detect 93 percent of the faces in a set of images while falsely identifying four objects as faces. The Face Detector Demo is available online and you can submit an image for analysis and receive the results by e-mail. The technology will be used for security purposes, but also by digital photography companies who want to automatically reduce "red eye" effects. You'll find more details and references in this overview."
I am no expert in this technology, but I am somewhat knowledgable about it, let me explain something.
You won't understand how hard is it to actually pull off something like face recognition until you yourself actually sit down and try it, only to realize that the problem is much more complex to solve when it has to be so all-encompasing.
The first step to face recognition is to recognize where the face is. The result of this process are quadrilaterals that carve out the face so that when you crop, you are left with exactly the face (frontal, or profile view or other).
A common technique used to do that is to locate the eyes. Most faces (heck, even those with veils on them for relegious reasons!) will contain eyes. Then, when detecting where the face is, you are only left with not having covered people who are wearing sunglasses (which are much easier to detect).
After you have located the eyes, you gauge by their proportions the approximate proportions of the face. Then, you apply an iterative technique (varies in principle, typically based on differential calculus combined with numerical methods of approximation) to locate the bounds of the face so you can eventually crop it to know WHERE THE FACE IS.
"Obviously", the iterative technique has to be able to detect false positives via a threshold set that will rule out the non-face. However, once you have located the eyes with certain reliability, the overall chance that you have come across a face is pretty solid.
The problem is complicated as it is already as you can see!!
Only after FINDING the face, you can start MATCHING the face. At that point you are facing a number of problems that the imagination of most /.-ers can conceive of... Bierds, smiles, teeth-showing, frowns, skin tone changes and the most popular by all scientist: plastic surgery....
A common approach to the actual face matching is a technique of the so-called eigenfaces, whereby you compute a "common" face of the pool and then you can navigate down the specialization of characteristics (e.g. bigger, bigger, bigger nostrils) as you drill down, narrowing down the pool of possible faces.
There is nothing that takes away from how much state-of-the-art CMU's research is. It would be like saying "why is someone dealing with virtual memory management of an operating system if by now, we already have user applications for the OS". Do you see the flaw in such thinking?
The science behind is a lot of mathematics, so dear parent, please don't be ignorant of this type of work just because you don't understand its complexities...