Face Detection

Henry Chang and Ulises Robles


nextcontents

Introduction


In this project we developed and implemented a color based technique for detecting frontal human faces in images where they appear.

Some research has been done in this area. Usually, face detection is achieved by training neural networks and measuring distances between training sets in order to detect areas that might indicate a human face. Another method for doing face detection is by using grayscale and color information. Using this method we do not need to take the time, for instance, to train a neural network. We will implement an algorithm to detect faces independently of the background color of the scene.

The method consists in two image processing steps. First. we separate skin regions from non-skin regions. After that, we locate the frontal human face(s) within the skin regions. In the first step, we get a chroma chart that shows likelihoods of skin colors. This chroma chart is used to generate a gray scale image from the original color image. This image has the property that the gray value at a pixel shows the likelihood of that pixel of representing the skin. We segment the gray scale image to separate skin regions from non skin regions. The luminance component itself is used then, together with template matching to determine if a given skin region represents a frontal human face or not.

This document is divided in several pages, each one describing a part of the process to achieve the detection.

The project was implemented in Matlab using the Matlab Image Processing Toolkit and the code is provided at the end as well.
 

nextcontents

Next: Skin Color   Contents:  Face Detection



Henry Chang and Ulises Robles
Last modified: Thu. May 25, 2000