| Seeing is Believing: Face Recognition | |
|
People recognize each other by their faces and voices, so we feel very comfortable interacting with a machine that does the same. Voice recognition products are the best example of the successful application of AI technologies in practice. Many of them already entered the mainstream market and are routinely used in various areas. Face recognition, on the other hand, currently receives less public attention and people generally think it is still impossible for a computer to quickly and accurately recognize its user using only the visual input. For more than twenty years, face recognition was considered among the hardest problems in AI and computer vision in particular. However, researchers have discovered regularities in various human physiological characteristics, like skin color and human facial geometry. One of the best known early examples of face recognition techniques was presented in 1980s by Teuvo Kohonen, proving that a simple neural network could perform face recognition for aligned and normalized face images. Later developments brought fast, cheap, unobtrusive and robust products on the market. According to some reports, face recognition is expected to be among the fastest growing biometric market segments over the next 2-3 years. It now generates around 15% of the total revenue in this field, behind finger scan and hand geometry methods.
As for the technological background, there are various methods by which a computer recognizes people. Each one of them focuses on a small set of features that can be used to uniquely recognize human faces - mouth, nose, eyebrows, jawline and cheekbone. Changes in lighting, aging, rotation, facial expression and appearance (glasses, beards, haircuts) will produce different results using different methods, so it is important to understand their advances and shortcomings.
There are many successful commercial products utilizing the technologies described
above. I will list just a few of them: more detailed description is clearly
beyond the scope of this article and can be found following the links listed
at the bottom.
BioID offers low-cost solutions that use face, voice and lip movement to identify a person. Each biometric trait is analyzed separately, but at the same time. The results are then combined, resulting in accurate recognition. Their BioID SOHO with five user license can be purchased for around $80.
Miros, now eTrue, uses proprietary neural network technology for their TrueFace recognition software. It accepts any source of visual signals including photographs, live or recorded video, and digital video files. TrueFace Engine is their core software module for locating, verifying and/or identifying people's faces. This face recognition software engine can be customized to any face recognition application from secure financial transactions to database searches to surveillance identification. It is a is a "C" callable, 32 bit, DLL for Microsoft Windows or static library for SUN Solaris that can compare 500 faces per second on a Pentium 500 Mhz PC. TrueFace ID is a complete end-user solution for identifying a person's face in a database of people's faces from either a surveillance video or image files.
Viisage uses the eigenface-based recognition algorithm known as Principle Component Analysis (PCA). The software can instantly calculate an individual's eigenface from either live video or a still digital image, and then search a database of millions in only a few seconds in order to find similar or matching images. Early adopters are using the company's face recognition software for customer ID verification at ATMs, Internet verification for e-commerce and home workers, large database fraud reduction, casino surveillance, airport and other security and law enforcement applications. Visage's Biometric Systems Integration Services is providing new solutions by combining face recognition software with other biometric methods, such as iris, voice, signature and fingerprint technology as well as with existing identification card systems.
Visionics FaceIt recognition software is based on the Local Feature Analysis algorithm. They offer a wide variety of developer and end-user tools, including identification and verification SDKs for Windows, a C++ library for both Windows and Unix, Informix database plug-in, a turnkey "backend" identification system including database storage for templates, and "general" products like FaceIt DB/Sentinel/Surveillance.
As for the code, tutorials, samples and research on Face Recognition technologies, these resources will give you a head start:
Face Recognition Home Page
Starting point for research on Face Recognition technologies and related technologies.
Excellent resource maintained by Peter Kruizinga.
Biometrics and Security Portal
"One of the most comprehensive computer and network security resource on
the Internet for Information System Security Professionals".
CMU's Face Detector Demo
This is the front page for an interactive WWW demonstration of a face detector
developed here at CMU. A detailed description of the system is available. The
face detector can handle pictures of people (roughly) facing the camera in an
(almost) vertical orientation. The faces can be anywhere inside the image, and
range in size from at least 20 pixels high to covering the whole image.
Face Recognition Demo Page
This system from MIT Media Laboratory consists of a two-stage object detection
and alignment stage, a contrast normalization stage, and a Karhunen-Loeve (eigenspace)
based feature extraction stage whose output is used for both recognition and
coding. It has been successfully tested on a database of nearly 2000 facial
photographs from the ARPA FERET database with a detection rate of 97%. Recognition
rates as high as 99% have been obtained on a subset of the FERET database consisting
of 2 frontal views of 155 individuals.
Human and Machine Recognition of Faces
A detailed list of research articles on this topic from NEC's ResearchIndex.
Neural Networks for Face Recognition
This web page provides an implementation and source code for the backpropagation
algorithm described in Chapter 4 of the textbook Machine Learning. It
also includes the dataset discussed in Section 4.7 of the book, containing over
600 face images.
Neural Network Modeling
in Vision Research
Articles and related resources from the A. B. Kogan Research Institute for Neurocybernetics,
Russia.
Talking Face Recognition Demo Page
A novel approach for person recognition, based on spatio-temporal modeling of
features extracted from talking faces.
Face recognition is just one of the methods in the large field of biometrics - a term which describes automated methods of establishing someone's identity from their unique physiological or behavioral characteristics. But there's more to biometrics than just face recognition: finger scans, hand geometry, retina scans, iris scans... More details on similar technologies will be published in the future articles. In the meantime, visit the BioAPI Consortium, a group dedicated to developing a specification for a standardized Application Programming Interface (API) that will be compatible with a wide range of biometric applications programs and a broad spectrum of biometrics technologies.