|
|
|
Different approaches:
Finding faces in images with controlled background:This is the easy way out. Use images with a plain monocolour background, or use them with a predefined static background - removing the background will always give you the face boundaries. The rest is easy going... Finding faces by color:If you have access to color images, you might use the typical skin color to find face segments. The disadvantage: doesn't work with all kind of skin colors, and is not very robust under varying lighting conditions... Finding faces by motion:If you are able to use real-time video, you can use the fact that a face is almost always moving in reality. Just calculate the moving area, and here you go. Disadvantages: What if there are other objects moving in the background? Using a mixture of the above:Combining several good approaches normally yields an even better result. Here are some works on that: Finding faces in unconstrained scenes:Well here we go - this is the main thing, the top of them all, the most complicated thing maybe in whole object recognition: Given a black and white still image, where is the face? Humans can do it, so where's the perfect algorithm that can do it, too? Here are some works on it: There seems to be a revival of edge-based methods, using geometric models. Two top performing methods have been published in the early 2000s:
The breakthrough in face detection happened with Viola & Jones. Using a cascade of "weak-classifiers", using simple Haar features, can - after excessive training - yield impressive results. This approach is now the most commonly used algorithm for face detection. A basic implementation is included in OpenCV.
|
|
The Face Detection Homepage. By Robert W. Frischholz
|