Patent ID: 7953253

Claim:
A method for detecting an area with a face, hereafter “facial area,” on a color image, comprising: (a) placing, using a programmed processor, a search window on the color image; (b) designating, using the programmed processor, pixels in the color image as skin color pixels or non-skin color pixels, comprising: applying a skin color filter to the color image to generate a skin color mask designating the pixels in the color image as skin color pixels and non-skin color pixels; generating a first histogram along an x direction to represent numbers of skin color pixels in each column of the skin color mask; generating a second histogram along a y direction to represent numbers of skin color pixels in each row of the skin color mask; grouping contiguous columns with less than 5% skin color pixels in a first group of sub-areas; grouping contiguous rows with less than 5% skin color pixels in a second group of sub-areas; segmenting the skin color mask along vertical and horizontal borders of the first and the second groups of sub-areas into sub-blocks; determining a group of sub-blocks that have (1) both columns and rows with less than 5% skin color pixels and (2) a height to width ratio greater than a threshold; and designating all pixels in the group of sub-blocks as non-skin pixels; (c) determining, using the programmed processor, if a center pixel of the search window is a skin color pixel, wherein the search window is a possible facial area candidate if the center pixel of the search window is a skin color pixel; (d) applying, using the programmed processor, a 3-rectangle filter to the search window to determine if the search window is a possible facial area candidate; (e) applying, using the programmed processor, a 4-rectangle filter to the search window to determine if the search window is a possible facial area candidate; (f) if steps (c), (d), (e) all determine that the search window is a possible facial area candidate, applying, using the programmed processor, an AdaBoost filter to the search window to determine if the search window is a facial area candidate; and (g) if step (f) determines that the search window is a facial area candidate, saving, using the programmed processor, the location of the search window.