Skip navigation links.
Canada Flag/Networks of Centres of Excellence/Réseaux de centres d'excellence/Canada
Français Contact Us Help Search Canada Site
Home About Us The Networks The Newsroom Site Map
 Message from the ChairNCE CompetitionsPublications - Annual Reports, Newsletters, OtherSearch for Universities, Researchers, PartnersThe NetworksSlide ShowsUpcoming EventsLinks    Success Stories

The chip that detected a thousand faces

Distinguishing a face in the moon from a face in the mirror is easy - for people. But this is a difficult task for computer-face-detection programs, which rely on shadow patterns to differentiate between faces and non-faces.

However, Rob McCready, an electrical and computer engineering grad student at the University of Toronto has developed the first face-detection program that uses programmable hardware - which is much faster and more accurate at discerning faces than any existing software programs.

McCready's face-detection program is part of a larger project that received $58,000 from the Micronet Network of Centres of Excellence, a Canada-wide network of researchers supported by the federal government working on developing new microelectronic devices, circuits and systems.

According to McCready, the major obstacles to computerized face-detection are the computational complexity of image processing and analysis methods. This makes software-based programs run very slowly.

Face
Computer model of probable light intensities reflected off face

Another way to meet the computational demands of face-detection is to use custom hardware. The advantage of custom hardware is that it is designed for a specific purpose so it can perform calculations more rapidly. But the drawbacks are that it takes more money, time and experience to design. "Hardware is more difficult to design and takes longer to debug than software since the standards are not already in place," McCready explains.

A less well-known alternative is to use programmable hardware - a hybrid between hardware and software. Using a programmable system avoids the enormous expense of integrated circuit chip fabrication and is easier to design, test and fix. "It is easier to debug programmable hardware since you don't have to re-fabricate chips but can just reprogram the hardware," McCready says.

McCready created the face-detection program on a Transmogrifier-2A, the largest programmable hardware system built in academia. The goal of his research is to demonstrate the feasibility of programmable hardware as a platform for complex real-time machine vision.

The experiment involved testing the accuracy of automated vision by using face-detection. Face-detection requires locating faces in an image no matter how obscured they may be by variations in appearance, lighting and background.

To teach the computer to detect faces, McCready downloaded a database containing 200 black-and-white photos of faces from the Internet as a training set. "The pictures consisted of multiple images of faces under different lighting conditions and in different poses, looking slightly up or down and side-to-side, all within a ten degree range," McCready says. "The computer assumes that faces are upright and looking directly into the camera."

Face
Rob McCready's face detected by computer
The computer learns to detect faces by analyzing the shadow patterns on the pictures in the training set. "The computer detects faces by modeling the intensity of light and dark variations on the sample images," McCready says. "It learns to recognize facial features by their distinctive shadow pattern. For instance, eye sockets tend to be darker because they are inset."

McCready also collected a large number of photos of things that are not of faces but could appear to be faces. "Photos of things such as the shadow pattern on the bark of a tree could resemble a face to the computer," he explains. He then checked the accuracy of the program to distinguish between faces and non-faces by using both the training and test sets.

Using programmable hardware McCready achieved around an 88% face-detection rate in real-time, which is the standard speed of a video camera, 30 frames per second. This is from 90 to 6,000 times faster than the reported speed of previous software face detection programs. "The reason why programmable hardware is faster than software is because it can perform many tasks simultaneously," McCready explains. "The hardware performs 18,000 computations in the same time it takes the software to do two or three computations."

Face analysis is a very active area of computer vision research. Though computers can detect faces, identifying faces is a much slower process. But Jonathan Rose, a professor of electrical and computer engineering at the University of Toronto and McCready's supervisor speculates accurate real-time face recognition will be possible in the near future. "Face recognition is only four or five years off," Rose says.

Applications for face identification abound. An example of a potential use is for security purposes, such as recognizing someone before permitting them access to restricted or secure buildings or areas, or access to financial records as in ATM banking transactions. Another possible use in human-computer interfacing may be in allowing a user to log on from any computer or workstation on the network and have their customized desktop and applications available without having to be tied to their computer. "For instance, a salesperson may come to the office at the end of a trip and sit at the first available computer and have immediate access to their files and email," McCready says. Other applications include acquiring facial images for storage and retrieval databases and for use in teleconferencing, telecommunications and entertainment.

In the meantime, the mythical man-in-the-moon's face will remain as elusive as ever, whereas the real deal in the mirror is up for identification as never before.

For more information please visit the Micronet Web site.

by Michael Rappaport

 

Last Modified: 2005-06-02 [ Important Notices ]