290 likes | 411 Views
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?
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