Patent Publication Number: US-7218759-B1

Title: Face detection in digital images

Description:
CROSS REFERENCE TO RELATED APPLICATION 
   This application is a continuation-in-part of application Ser. No. 09/326,561 filed Jun. 7, 1999 now U.S. Pat. No. 6,661,907. 

   BACKGROUND ART 
   Colour digital images are increasingly being stored in multi-media databases, and utilised in various computer applications. En many such applications it is desirable to be able to detect the location of a face in a visual image as one step in a multi-step process. The multi-step process can include content-based image retrieval, personal identification or verification for use with automatic teller machines or security cameras, or automated interaction between humans and computational devices. 
   Various prior art face detection methods are known including eigenfaces, neural networks, clustering, feature identification and skin colour techniques. Each of these techniques has its strengths and weaknesses, however, one feature which they have in common is that they are computationally intensive and therefore very slow, or they are fast but not sufficiently robust to detect faces. 
   The eigenface or eigenvector method is particularly suitable for face recognition and there is some tolerance for lighting variation, however it does not cope with different viewpoints of faces and does not handle occlusion of various facial features (such as occurs if a person is wearing sunglasses). Also it is not scale invariant 
   The neural network approach utilises training based on a large number of face images and non-face images and has the advantages of being relatively simple to implement, providing some tolerance to the occlusion of facial features and some tolerance to lighting variation. It is also relatively easy to improve the detection rate by re-training the neural network using false detections. However, it is not scale invariant, does not cope with different viewpoints or orientation, and leads to an exhaustive process to locate faces on an image. 
   The clustering technique is somewhat similar to the eigenface approach. A pixel window (eg 20×20) is typically moved over the image and the distance between the resulting test pattern and a prototype face image and a prototype non-face image is represented by a vector. The vector captures the similarity and differences between the test pattern and the face model. A neural network can then be trained to classify as to whether the vector represents a face or a non-face. While this method is robust it does not cope with different scales, different viewpoints or orientations. It leads to an exhaustive approach to locate faces and relies upon assumed parameters. 
   The feature identification method is based upon searching for potential facial features or groups of facial features such as eyebrows, eyes, nose and mouth. The detection process involves identifying facial features and grouping these features into feature pairs, partial face groups, or face candidates. This process is advantageous in that it is relatively scale invariant, there is no exhaustive searching, it is able to handle the occlusion of some facial features and it is also able to handle different viewpoints and orientations. Its main disadvantages are that there are potentially many false detections and that its performance is very dependent upon the facial feature detection algorithms used. 
   The use of skin colour to detect human facts is described in a paper by Yang J and Waibel A (1995) “Tracking Human Faces in Real-Time” CMU-CS-95-210, School of Computer Science, Carnegie Mellon University. This proposal was based on the concept that the human visual system adapts to different levels of brightness and to different illumination sources which implies that the human perception of colour is consistent within a wide range of environmental lighting conditions. It was therefore thought possible to remove brightness from the skin colour representation while preserving accurate, but low dimensional, colour information. As a consequence, in this prior art technique, the chromatic colour space was used. Chromatic colours (eg. r and g) can be derived from the RGB values as:
 
 r=R /( R+G+B ) and  g=G /( R+G+B ) 
 
   These chromatic colours are known as “pure” colours in the absence of brightness. 
   Utilising this colour space, Yang and Waibel found the distribution of skin colour of different people, including both different persons and different races, was clustered together. This means that the skin colours of different people are very close and that the main differences are in differences of intensity. 
   This prior art method first of all generated a skin colour distribution model using a set of example face images from which skin colour regions were manually selected. Then the test image was converted to the chromatic colour space. Next each image in the test image (as converted) was then compared to the distribution of the skin colour model. Finally, all skin colour pixels so detected were identified, and regions of adjacent skin colour pixels could then be considered potential face candidates. 
   This prior art method has the advantage that processing colour is much faster than processing individual facial features, that colour is substantially orientation invariant and that it is insensitive to the occlusions of some facial features. The system is also substantially viewpoint invariant and scale invariant. However, the method suffers from a number of disadvantages including that the colour representation of the face can be influenced by different lighting conditions, and that different cameras (eg. digital or film) can produce different colour values even for the same person in the same environment. 
   However a significant disadvantage of the prior art methods is that the ski colour model is not very discriminating (ie. selecting pixels on a basis of whether they are included in the skin color distribution results in a lot of non-skin colour pixels being included erroneously). It is also difficult to locate clusters or regions of skin colour pixels that can be considered as candidate faces. 
   SUMMARY OF THE INVENTION 
   An object of the present invention is to provide an improved method of detecting one or more faces in digital colour images. 
   In accordance with an aspect of the present invention, a method of detecting a face in a color digital image formed of a plurality of pixels includes selecting a color distribtion model from a plurality of color distribution models, the selection being dependent on at least one image capture condition provided with the color digital image. Once the color distribution model has been selected, the plurality of pixels are tested using the color distribution model to determine those pixels having predominantly skin color. Thereafter, only those pixels determined as having predominantly skin color are subjected to further facial feature analysis while those pixels not being predominantly of skin color are not subjected to the further facial feature analysis.
         In another aspect of the invention, the image capture condition is acquired at a time the color digital image is captured.   In another aspect of the invention, the color digital image is encoded according to a predetermined format and the image capture condition is represented as meta-data associated with the predetermined format.   In another aspect of the invention, the image capture condition includes lighting conditions at a time the color digital image was captured.   In another aspect of the invention, the testing step includes a sub-step, preceding the testing, of dividing the color digital image into a plurality of regions, each region including a plurality of pixels. The testing is performed on pixels within each region to dermine those regions that are predominantly of skin color. The subjecting step further includes performing the facial feature analysis on only those regions determined to be predominantly of skin color.   In another aspect of the invention, a region is determined to be predominantly of skin color if more than a predetermined percentage of the total number of pixels in the region are classified as being of skin color.   In another aspect of the invention, the plurality of regions are geometrically divided from the color digital image.   In another aspect of the invention, the plurality of regions are formed of pixels having substantially homogenous color.   In another aspect of the invention, the plurality of regions are formed using a region growing method based upon color differences.   In another aspect of the invention, distribution models are generated using previously sampled facial image data. In this way, color distribution models can be generated for a particular image capture device and separate color distribution models can be generated for different image capture conditions.   In another aspect of the invention, the image capture condition includes lighting conditions at a time the color digital image was captured and separate color models are generated for different lighting conditions at a time the previously sampled facial image data was captured. Examples of different color distribution models generated for different lighting conditions include: color distribution models for images taken with a flash; for images taken without a flash; for images taken indoors; and for images taken outdoors.   In various aspects of the invention, the color distribution models are represented in a variety of ways. As examples, color distribution models may be represented as frequency histograms of color representation vectors, as probability distributions of color representation vectors, and as binary maps of color representation vectors. The color representation vectors may also take on different forms. For example, the color representation vectors may be derived from perceptual color space values of predetermined skin-color pixels in perviously sampled facial image data, or the color representation vectors may contain chromatic color values derived from those RGB values of predetermined skin-color pixels in the previously sampled facial image data.   In another aspect of the invention, a binary map of color representation vectors includes a percentage of the skin color pixels that were identified in the previously sampled facial image data. Using such a binary map, a pixel is classified as being of skin color if the color representation vector corresponding thereto occurs within the binary map.   In another aspect of the invention, a pixel is classified as being of skin color if the frequency of the color representation vector corresponding thereto exceeds a predetermined threshold frequency.   In another aspect of the invention, a pixel is classified as being of skin color if the probability of the color representation vector corresponding thereto exceeds a predetermined probability threshold.       

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     A number of embodiments of the present invention will now be described with reference to the drawings in which: 
       FIG. 1  is a schematic representation of the pixels of a colour digital image; 
       FIG. 2  shows the segmenting of the image of  FIG. 1  into a plurality of regions each having a substantially homogenous colour according to a first embodiment; 
       FIG. 3  is a flow chart of a face detection process according to the first embodiment; 
       FIG. 4  is a schematic block diagram of a general purpose computer upon which embodiments of the present invention can be practised; 
       FIG. 5  is a flow chart depicting the generation of a face colour distribution model; 
       FIG. 6  is a flow chart of a face detection process according to a second embodiment; and 
       FIG. 7  is a flow chart of a face detection process according to a third embodiment. 
   

   DETAILED DESCRIPTION INCLUDING BEST MODE 
     FIG. 1  illustrates a typical colour digital image  1  having a size of 832×624 pixels  5 , each of which has an RGB value. 
   According to a first embodiment of the present invention, rather than consider the skin colour of the image on a pixel by pixel basis as described above in relation to the prior art of Yang and Waibel, the image  1  is segmented into a number of regions. An example of such segmentation is schematically illustrated in  FIG. 2  on the segmentation basis that all the pixels in each region  2  have substantially the same colour. Alternatively the image may be segmented into arbitrary regions for processing. 
   The first embodiment implements a process  30  illustrated in the flow chart of  FIG. 3 , in which the regional segmentation of the image is carried out at step  31 . Next, the regions of the image are converted in step  32  into the chromatic colour space (as descried above). The next step  33  is to select those of the regions determined in step  31  which have a specified percentage (typically in the range 90-95%) of pixels having a skin colour. These selected regions are then conveniently represented by a boundary box or other boundary indication. Finally, at step  34  the selected regions, including any combinations of overlapping regions, are subjected to a further analysis (preferably not based on skin colour) to determine if the selected region(s) represent a face or faces. 
   This initial colour grouping can use any region based colour image segmentation technique. Preferably the image is partitioned into colour regions by seeking connected groups of pixels which have similar colours over a local region. Very small isolated initial spatial groupings can be ignored in order to find major colour regions and reduce a noise effect. A representative colour of each initial spatial region is determined by an average colour value of the region. 
   A colour region starts from an arbitrarily chosen pixel, which is compared with its neighbouring pixels. The region size is increased by adding neighbouring pixels, which are similar in colour, using a colour similarity threshold T A neighbouring pixel is added to the region if |Rp−Rm|&lt;T and |Gp−GM|&lt;T and |Bp−Bm|&lt;T, where Rp, Gp, Bp are R, G, B values of the neighbouring pixel and Rm, Gm, Bm represented average R, G, B values of the region. 
   When a region has no more neighbouring pixels of similar colour, the region stops growing and represents one of the initial spatial groupings. If the region size is below a predetermined threshold value, it is ignored. A region having a pixel number equal or greater than the predetermined threshold is represented by its average colour. 
   A new pixel which does not yet belong to any region is chosen to start a new colour region. The process continues until each pixel in the image either belongs to an initial spatial grouping or has been ignored as being part of a small region. 
   The initial spatial groupings provide a colour region segmentation of the image with each region being represented by its average colour. 
   In this way, for most images where the bulk of the image is not a face, or part of a face, the majority of pixels will be grouped into regions or objects (be they foreground or background, etc) which are clearly not faces. Therefore these non-facial objects can be quickly eliminated on the basis of their colour. 
   Once the regions have been deter they arm then converted into the “pure” chromatic colour space utilising the equations given above so as to provide r and g values. A generous rule such as a rule Mat at least 85% of the pixels within a given region be of face colour can be used to select those regions worthy of further examination. Preferably, the test for face colour takes into account the nature of the original image, for example whether the image was taken with or without a flash. This information can be determined from the image source, eg. a camera. 
   Thereafter, only those selected regions are subjected to a further test to determine the presence of facial features. This flier test provides a conclusive determination as to whether or not a region constitutes a face. In this connection, the further test is likely to be computationally slower and therefore the above described elimination of regions ensures that the computationally slow method is only applied to relatively small portions of the overall image. Thus the total processing time is reduced. Accordingly, the above method performs a computationally simple process on most, if not all pixels, and then only performs complex examination on skin colour regions. 
   The preferred method of verifying if a region represents a face relies upon edge detection techniques as a means of detecting facial features. In particular facial features such as eyes, eyebrows and mouths often appear as dark bars on a face and thus provide dark edges. 
   The preferred form of edge detection is use of an edge detection filter, This utilises two functions operating in orthogonal directions. To detect a horizontal bar a second derivative Gaussian function is used in the vertical direction and a Gaussian function is used in the horizontal direction. 
   Once an edge has been determined in this way each detected edge is examined. Any pair of detected edges can be found to be derived from, and thus be indicative of, a pair of eyes, a pair of eyebrows, or an eye and associated eyebrow, depending upon the relative position and ie of the detected edges. Similarly, an individual edge can be derived from, and thus be indicative of, a mouth if it is located at an appropriate position relative to the eyes and/or eyebrows already detected. 
   By proceeding in this fashion, a given region begins to accumulate facial features building from skin tone through eyebrows/eyes and then to a mouth. The more facial features found for a given region which is a face candidate, the grease the possibility that the candidate actually is a face. 
   Furthermore, the above described method has the advantage that it is able to cater for the circumstance where a face is backgrounded against a background region of substantially the same colour. Under these circumstances, in Yang and Waibel&#39;s method, no boundary between the face and the background would be likely to be detected Therefore the region as a whole would be selected for further testing. However, the above method utilises the full colour space to segment the image, before making decisions about which pixels are skin colour. Consequently the face is more likely to be separated from the background. In addition, the method is naturally independent of orientation or partial occlusion of the face. 
   Furthermore, the above method also permits false positives to be examined at the further stage and therefore does not exclude from subsequent testing regions which are likely to be ultimately determined as a facial region. 
   The first embodiment described above notes that the nature of the original image may be taken into account when performing an initial face detection process. Further embodiments to be now described build upon this feature. 
   When an image is captured using a camera it is necessary either for the person taking the picture to manually establish the camera settings (such as shutter speed, aperture, focal length, etc), or for the camera to perform this operation automatically. Whichever is the case, the settings of the camera directly effect the appearance and quality of the image taken. In particular, the perceived brightness, colour, and sharpness of the objects within an image all depend on how the settings of the camera are configured For example, it is possible to take two pictures of the same scene with different camera settings and to obtain two images in which the same objects appear with different colours and brightness. Therefore, the ability to calibrate (in particular) colour information contained in (digital) images enables a broad variety of object detection and classification tasks in which colour is a strong discriminating feature. 
   Face detection is one such example application, and the present inventors have determined that the creation of face colour distribution models (CDM&#39;s), each adapted to specific lighting conditions, that can improve both the accuracy and reliability of fare detection. Variations in lighting conditions can result from the use of a flash, such being a feature recognised as contributing in the face detection method of the first embodiment. Since lightness is representative of colour features such as luminance and chrominance, such features may be used to quantify face detection. 
   Before an image wan be processed using a face colour distribution model the face colour distribution model must be constructed. This is performed according to a method  50  shown in FIG.  5 . The method  50  firstly gathers image samples at step  52  that are representative images th contain faces, the images being acquired under a variety of lighting conditions and thus indicative of changes in luminance and chrominance. These images are then manually examined in step  54  to extract regions of skin colour for further processing in model formation. Step  54  may be performed by manually drawing a bounding box around a sample of face coloured pixels. Step  56 , which follows, derives colour representation values for the extracted pixels. This may be performed by transforming the extracted pixels into a Ritual colour space such as CIE L*u*v or CIE L*a*b, so that each pixel is represented by at least a 2-dimensional vector. Alternatively other colour spaces such as HLS and RSV may be used. Preferably each pixel is represented as a length-3 vector incorporating both the luminance and chrominance values. 
   The colour representation values of pixels are then divided at step  58  into a number of sets ( 58   a ,  58   b  . . .  58   n ) according to the lighting conditions present when each of the images were captured Example sets are flash, non-flash, indoor, outdoor, and combinations of these. Alternatively, lighting parameters obtained directly from the camera such as the operation of a flash, may be used to identify and distinguish the sets. Other lighting conditions such as bright or cloudy, dusk or dawn, or a type of artificial light such as fluorescent, incandescent or halogen, may be used or detected for these purposes. These details may be provided by means of human input at the time of image capture. 
   For each of the sets ( 58   a  . . .  58   n ) of face samples, stop  60  then constructs a corresponding colour distribution model (CDM) ( 60   a  . . .  60   n ) that best fits the samples of face colour pixels. The CDM can be a histogram, a probability density function, or a binary map. In one embodiment, a mixture of Gaussian PDF&#39;s are fit to the sample data using techniques known in the art such as the expectation maximisation (EM) algorithm, with either cross-validation, jackknife, and bootstrap techniques being used to estimate the goodness of fit of the model. 
   When each CDM ( 60   a  . . .  60   n ) has been constructed, it is then desirable as shown in step  62  to establish a corresponding probability threshold ( 62   a  . . .  62   n ) below which a colour vector is to be classified as relating to a non-face pixel, and above which the colour vector is to be classified as a potential face pixel. Additionally, the face colour probability can be used directly in further facial image analysis steps detailed below. In the preferred embodiment, the CDM is constructed from colour representation values derived using a perceptual colour space (such as CIE L*u*v or CIE L*a*b) and then transformed back into the colour format of the input image, ie., either RGB or YUV. This removes the necessity for transforming the input image into the perceptual colour space. 
   Since different image capture devices have differing performance, often determined by the quality and size of optical components (eg. lens, mirrors, aperture etc.), typically a CDM or a set of CDM&#39;s are generated for a particular capture device, In one implementation, where the image capture device (eg. camera) includes a light meter, a reading from the light meter at the moment the image was captured can be used to determine the required CDM. In this fashion, a greater range of colour models may be devised and can be selected without possible human interference. Such interference may occur where the human user manually selects the operation of the flash where otherwise automatic operation of the flash would not be required. Further, the flash/outdoors example sets above give rise to four (4) sets of CDM&#39;s. Using a light meter with, say, 4-bit encoding, can provide sixteen (16) models. Also, use of a light meter provides for enhanced reproducability of results and enables the face samples used to generate the models to be taken under laboratory conditions and installation at the time of camera manufacture. 
   The processing  70  of an image according to a second embodiment is shown in FIG.  6 . An input image is provided at step  72  and at step  74  the lighting conditions under which the image was captured are determined. Such a determination may be based on binary data obtained directly from the camera (eg. flash+indoors, no 13 flash+outdoors, no 13 flash+indoors, flash+outdoors) or corresponding meta-data provided with, or accompanying, the image, which may be encoded or otherwise communicated according to a predetermined format. Once the lighting conditions are determined, a corresponding or closest CDM is selected from a bank of look-up tables 78 retaining the CDM&#39;s ( 60   a  . . .  60   n ) previously determined. At step  80 , a fire pixel of the input image  72  is selected and at step  82  is tested to see if th (GB or YUV) colour of the pixel is contained in the selected CDM ( 60   a  . . .  60   n ). 
   The steps shown in  FIG. 6  following the comparison of step  82  depend upon the manner in which the CDM&#39;s are stored. In a preferred implementation, the selected thresholds of step  62  ( FIG. 5 ) are used to construct a binary map or look-up table, where a representative colour vector is represented by a 1 if it is a colour vector that is contained within the thresholded face colour distribution, and by a 0 if the colour vector does not occur in the thresholded colour distribution. Alternatively, the CDM may represent the frequencies of the representative colour vectors of the thresholded colour distribution (ie. the CDM is effectively a histogram of representative colour vectors). A further variation is the case where a sampled distribution is approximated by a parametric model such as a Gaussian or a mixture of Gaussians. In the latter case, the CDM comprises the parameters of the model (eg. mean, co-variance)
         As seen in  FIG. 6 , and according to the preferred implementation, a 1 or 0 value arising from step  82  is added to a map in step  84 . Step  86  determines if there arc more pixels in the image to be processed and step  88  obtains and passes the next pixel to step  82  for appropriate testing. When all pixels have been tested against the selected CDM, step  90  indicates the result of the preceding steps as being a binary face image map formed using detected skin-coloured pixels       

   The map is then subjected at step  92  to further analysis of the skin-coloured pixels to provide at step  94  a face detection map for the image. The further analysis of step  92  is, like the first embodiment, preferably independent of considerations of facial colour. 
   In practice, binary face map formed at step  90  may contain areas where either there are small non-face pixels (0&#39;s) surrounded by face pixels (1&#39;s), or vice versa. One approach for further analysis according to step  92  is processing the binary face image map so as to set to 0 any pixel locations which are contained in areas that arm smaller than the smallest size of a potential face and to set any 0 pixel locations to 1 if they are surrounded by likely face colour pixels. This may be performed using a pair of morphological opening and closing operations with suitably shaped structuring elements. A first structuring element such as: 
         [         0       1       1       0           1       1       1       1           1       1       1       1           0       1       1       0         ]     ,       
 
is used in the opening operation to remove potential face candidate pixel locations below this size. A second structuring element such as: 
         [         1       1           1       1         ]     ,       
 
is used in the closing operation to fill any holes in potential face candidate pixel locations.
 
   Alternative approaches to the use of the structuring elements include using a Hough transform, or to count the number of pixels in the region having skin colour and to threshold that count against a predetermined percentage value, Other methods may be used to perform these tasks. 
   The result of the process  70  of  FIG. 6  is a face detection map of pixel locations in the input image at which a face has bean detected, and in all likelihood, a face is present 
   The aforementioned edge detection method of r processing the likely face pixels to determine if a face exits may then be performed on the face detection map  94  resulting from file method  70 . 
   In the preferred embodiment, the face colour distribution models are built for a number of separate lighting conditions, such as flash, non-flash, indoor, outdoor, and the like. However, this technique may be extended to the more general case of arbitrary lighting conditions based directly on parameters obtained from the camera. A list of camera parameters that may be of use in this situation is as follows:
         (i) white balance;   (ii) white balance mode   (iii) aperture (iris);   (iv) shutter speed;   (v) auto gain control (AGC);   (vi) auto exposure (AE) mode;   (vii) gamma;   (viii) pedestal level; and   (ix) flare compensation.       

   The parameters obtained from the camera are preferably obtained from a meta-data stream associated with the capture of each image (or video sequence). Examples, of such transmission protocols include IEEE 1394 (“firewire”). Also the ISO standards have defied methods for attaching meta-data to images and video in MPEG- 7 , MPEG4, and JPEG. 
   Whilst the first embodiment described with reference to  FIGS. 1  to  3  divides the image according to regions of substantially homogeneous colour, the second embodiment, and a third embodiment, are not so constrained. 
   The embodiment is depicted in  FIG. 7  by a method  150  where an input image  152  is provided and processed according to steps  154 ,  156  and  158  corresponding to steps  74 ,  76  and  78 , respectively, of the second embodiment. Once the appropriate CDM has been selected in step  156 , step  160  follows to process the input image as one or more regions. As a single region, the entirety of the image is processed on a pixel-by-pixel basis. Alternatively, the input image may be geometrically divided into simple pixel blocks (eg. 25×25 pixels, 10×20 pixels) which can be formed and processed in raster order. A further alternative, is where the regions, like the first embodiment, are divided on the basis of substantially homogeneous colour. 
   Step  162  selects a first region to be processed and step  164  a first pixel of that region. Step  166  compares the selected pixel with the CDM in a manner corresponding to step  82  of the second embodiment. Where the pixel matches the model, step  168  increments a count of pixels in the region meeting that criteria. Step  170  determines whether there are any other pixels is the region to be processed and, if so, step  172  obtains the next pixel and returns to step  166  for appropriate testing. When all pixels in the region have been processed, step  174  follows to compare the percentage of pixels classified for the region as skin colour against a predetermined percentage threshold value. Where the percentage is less than the predetermined number, the region is considered a non-face region and step  176  follows to test if there are any more regions to be processed. If so, step  178  selects the next region and returns processing to step  164 . The count is then re-set If not, the method  150  ends at stop  184 . 
   Where the percentage exceeds the predetermined percentage, the region is considered a possible face region and step  180  follows to assess the region according to further facial detection analysis Where such analysis does not detect a face, the method  150  proceeds to step  176  to process any further regions. Where the further analysis of step  180  detects a face, step  182  registers that region as a face region and returns to step  176 . 
   An example of the further analysis able to be performed as a consequence of appropriate marking at step  180  is the edge detection method described above in relation to the first embodiment. 
   The above described embodiments each indicate that face detection in images may be performed as a two stage process, a first representing something akin to a first filtering of the image to obtain likely candidate pixels or regions, and the second representing more thorough analysis to provide an actual determination on those pixels or regions passed by the fist stage. In each case, lighting conditions associated with the capture of the image contribute to the determination performed by the first stage. 
   The above described methods are preferably practiced using a conventional general-purpose computer system  100 , such as that shown in  FIG. 4  where the processes of FIG.  3  and/or  FIGS. 5 and 6  are implemented as software, such as an application program executing within the computer system  100 . In particular, the steps of the methods are effected by instructions in the software that are carried out by the computer. The software may be divided into two separate parts; one part for carrying out the above method steps; and another part to manage the user interface between the latter and the user. The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for detecting face candidate regions in accordance with the embodiments of the invention. 
   The computer system  100  comprises a computer module  191 , input devices such as a keyboard  102  and mouse  103 , output devices including a printer  115  and a display device  114 . A Modulator-Demodulator (Modem) transceiver device  116  is used by the computer module  101  for communicating to and from a communications network  120 , for example connectable via a telephone line  121  or other functional medium, The modem  116  can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN), these being possible sources of input images and destinations for detected faces. 
   The computer module  101  typically includes at least one processor unit  105 , a memory unit  106 , for example formed from semiconductor random access memory (RAM) and rad only memory (ROM), input/output (VO) interfaces including a video interface  107 , and an VO interface  113  for the keyboard  102  and mouse  103  and optionally a joystick (not illustrated), and an interface  108  for the modern  116 . A storage device  109  is provided and typically includes a hard disk drive  110  and a floppy disk drive  111 . A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive  112  is typically provided as a non-volatile source of data. The components  105  to  113  of the computer module  101 , typically communicate via an interconnected bus  104  and in a manner which results in a conventional mode of operation of the computer system  100  known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC&#39;s and compatibles, Sun Sparcstations or alike computer systems evolved therefrom. 
   Typically, the application program of the preferred embodiment is resident on the hard disk drive  110  and read and controlled in its execution by the processor  105 . Intermediate storage of the program and any data fetched from the network  120  may be accomplished using the semiconductor memory  106 , possibly in concert with the hard disk drive  110 . In same instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive  112  or  111 , or alternatively may be read by the user from the network  120  via the modem device  116 . Still further, the software can also be loaded into the computer system  100  from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module  101  and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including e-mail transmission and information recorded on Websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention. 
   The further processing to candidate face images and regions may also be performed by or Hug the computer system  100  and known arrangements for such processing. 
   The method of detecting face candidate regions may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of FIG.  3  and/or  FIGS. 5 and 6 . Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories. 
   INDUSTRIAL APPLICABILITY 
   It is apparent from the above that the embodiments of the invention are applicable in fields such as content-based image retrieval, personal identification or verification for use with automatic teller machines or security cameras, or automated interaction between humans and computational devices. 
   The foregoing describes only some embodiments of the present invention, and modifications and/or change can be made thereto without departing from the scope and spirit of the invention as defined in the claims.