Face detection
From Wikipedia, the free encyclopedia
Face detection is a computer technology that determines the locations and sizes of human faces in arbitrary (digital) images. It detects facial features and ignores anything else, such as buildings, trees and bodies.
Contents |
[edit] Definition and relation to other tasks
Face detection can be regarded as a specific case of object-class detection; In object-class detection, the task is to find the locations and sizes of all objects in an image that belong to a given class. Examples include upper torsos, pedestrians, and cars.
Face detection can be regarded as a more general case of face localization; In face localization, the task is to find the locations and sizes of a known number of faces (usually one). In face detection, one does not have this additional information.
Early face-detection algorithms focused on the detection of frontal human faces, whereas newer algorithms attempt to solve the more general and difficult problem of multi-view face detection. That is, the detection of faces that are either rotated along the axis from the face to the observer (in-plane rotation), or rotated along the vertical or left-right axis (out-of-plane rotation),or both.
[edit] Face detection as a pattern-classification task
Many algorithms --including the ones mentioned in this article's external links section-- implement the face-detection task as a binary pattern-classification task. That is, the content of a given part of an image is transformed into features, after which a classifier trained on example faces decides whether that particular region of the image is a face, or not.
Often, a window-sliding technique is employed. That is, the above mentioned classifier is used to classify the (usually square or rectangular) portions of an image, at all locations and scales, as either faces or non-faces (background pattern).
[edit] Challenges in pattern classification for face detection
A given natural image often contains many more background patterns than face patterns. Indeed, the number of background patterns may be 1,000 to 100,000 times larger than the number of face patterns. This means that if one desires a high face-detection rate, combined with a low number of false detections in an image, one needs a very specific classifier. Publications in the field (including the two in this article's external links section) often use the rough guideline that a classifier should yield a 90% detection rate, combined with a false-positive (or type I error) rate in the order of 10-6.
The method devised by Viola and Jones, for example, uses Haar-like features. Even for a small image, the number of Haar-like features is very large (for a 24x24 pixel window one can generate more than 180000 features). They used AdaBoost to train a classifier, which allows for a feature selection. The final classifier only uses a few hundred Haar-like features. Yet, it achieves a very good hit rate with a relatively low false detection rate.
[edit] Applications
Face detection is used in biometrics, often as a part of (or together with) a facial recognition system. It is also used in video surveillance, human computer interface and image database management. Some recent digital cameras use face detection for autofocus. Also, face detection is useful for selecting regions of interest in photo slideshows that use a pan-and-scale Ken Burns effect
[edit] Popular algorithms
- Viola & Jones (2001)
- Schneiderman & Kanade (2000)
- Rowley, Baluja & Kanade: Neural Network-based Face Detection (1998)
[edit] External links
- Face Detection SDK for software developers
- MyFaceID - online media search platform based on facial recognition
- Betaface Face Detection and Face Recognition Technologies
- Face recognition and face detection search engine
- Face Detection and Distortion ONLINE service
- Face Detection Homepage
- FaceCropper - Cropping face images from videos
- Detecting faces in images: a survey