290 likes | 313 Views
Learn how to overcome scale differences, overlapping faces, and lighting variations in face detection using color-based methods, spatial analysis, and template matching. Explore efficient processes like skin separation and algorithm implementation to achieve accurate results. Discover key strategies for positive detection and elimination of false hits.
E N D
Automated Face Detection Peter Brende David Black-Schaffer Veni Bourakov
Primary Challenges • Scale differences • Overlapping/obstructed faces • Lighting variation
Implementation Overview • Color-based skin separation • Spatial analysis to generate candidate faces • Morphological? • or Template Matching? • Eliminate false hits • Hands & arms, based on shape • Roof, based on texture • Neck, based on relative position
Color-based Skin Separation • What color space to use? • How to separate out the skin color?
Parametric Separation • Simple & Fast (h>0.98 or h<0.01) • Problems with non-linearity of HSV space in bright areas
Full Joint-Probability Distribution • We have enough data, so why not? • Provides most accurate per-pixel classification. • Allows use to circumvent choosing a decision boundary. We can simply use Bayes rule.
Color-based Skin Separation • What color space to use? • HSV if separability of distributions is necessary • How to separate out the skin color? • Parametric is fast but loose in HSV • Provides a binary mapping and requires choosing thresholds • Full PDF is accurate in any color space • Can be fast if done correctly (table lookup) • No thresholds: produces a pure probability map
Spatial Analysis Method • Morphological • Obtain binary mask through thresholding • Perform morphological operations to separate and identify blobs corresponding to faces • Difficult due to overlapping faces • Template Match • Search a scene for prototypical face image • Need to decide which data to work with (luminance vs. skin probability)
Template Matching Using the skin-probability image: • Greatly simplifies information content Simple information simple algorithm • Allows algorithm to focus on the single best facial clue: oval-shaped skin regions • Allows us to avoid creating a binary mask
Process of Inclusion/Elimination Iteratively pick ‘strong’ regions of the skin-probability image as faces: • For each template search for matching face shapes (convolution peaks) • For each detected face, ‘subtract/erase’ the region from image to avoid duplicate detection • Stop when no significant skin regions remaining
Template and Threshold Selection • Critical step of our algorithm • Potential problems: • Template matching face of a different size • Small template leads to double hits later • Large template leads to missed faces • Bad thresholds low sensitivity or low specificity • Solution: • Use templates of many sizes, going from largest to smallest • Set threshold as high as possible without sacrificing sensitivity
Algorithm Implementation 1. Load probability and template data 2. Down-sample the image by factor 2:1 3. Calculate the face-probability image by color 4. Remove hands/arms 5. Template match with skin-probability image 6. Eliminate false positive hits on necks of large faces 7. Remove patterned hits
Conclusions • Recognition of face-shaped blobs from the skin-probability map works excellently • Requires that the skin colors be well known • Requires that the general face sizes be well known • Our set of images was relatively consistent in terms of these factors