Seeing is Believing
|
Seeing is Believing: Face Recognition
|
|
A short introduction to the Face Recognition techniques, including links to the related resources, source code and commercial packages.
 |
|
|
 |
 |
 |
|
Elsewhere on the Web
|
Face Recognition Home Page
|
|
|
| |
|
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.
- Eigenface technology, patented at MIT,
utilizes two dimensional, global grayscale images representing distinctive
characteristics of a human face, describing what is common to groups of individuals
and where they differ most. Just as any color can be created by mixing primary
colors, the vast majority of faces can be reconstructed by combining features
of approximately 100-125 eigenfaces.
- Local feature analysis, developed at Rockefeller University,
is related to the eigenface technology, but is less sensitive to the various
facial expressions and changes in poses and lighting. It relies only on the
individual features instead on a global representation of the face. Generally,
it can accommodate angles up to 25 in the horizontal plane, and 15 in the
vertical plane.
- Neural Network technology extracts features from the entire
face as visual contrast elements, quantifying, normalizing and compressing
them into a 1 Kb template code. After that, it uses a specialized algorithm
to determine the similarity of the unique global features of live versus reference
faces. It is theoretically the most resistant method to the changes in environmental
light, orientation and appearance.
- Automatic Face Processing is perhaps the most rudimentary
and easy to understand: it simply uses distance measures and distance ratios
between key facial features.
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.