The algorithm first transforms the RGB color images into YCbCr color space. The skin-tone pixels
are detected using a skin model in CbCr subspace under the assumption of Gaussian distribution
of skin tone color. In the test image, each pixel is classified by distribution of the face /
background. Then some morphological techniques are applied to reduce noise, fill holds and
reconstruct the shape of skin like regions. Finally, for verification, a frontal head shape models is
compared with the extracted skin-like regions. If the proportion of a skin region in an enclosed
rectangle is larger than a user specified threshold, the detected region is classified as a face.