Patent Description:
Image face processing involves the processing of images of the face. Face processing methods may involve for example determination of emotions; face classification; face morphing; pose detection; gaze detection; face detection in complex images; etc..

As an example of face processing, face recognition involves the analysis of data representing a test image (or a set of test images) of a human face and its comparison with a database of reference images. Face recognition is often used in authentication or identification based on images of a face.

The images used in image face processing are commonly 2D RGB images captured with common 2D cameras. Matching test RGB images with reference RGB images is difficult if the images have been captured under different lighting conditions; shadows or brightly areas could change the overall appearance of a face and render the comparison task more difficult.

In order to provide a more robust matching of test images with reference images, it is also known to capture infrared images, in addition or in replacement to RGB images. Infrared images have the advantage of being less affected by different lighting conditions.

In addition, and with the emergence of depth sensors in a variety of consumer devices, such as game consoles, laptops, tablets, smartphones, and cars for example, more and more images of faces includes a depth map. A popular example of a depth sensor that produces RGB-D datasets is the Kinect input device proposed by Microsoft for Xbox <NUM>, Xbox One and Windows PC (all trademarks of Microsoft, Inc). Other depth sensors are based on time-of-flight measurements.

Depth sensors produce <NUM>. 5D image datasets including an indication of depth (or distance to the light source) for each pixel of the image, but no indication about hidden or occluded elements, such as the back of the head for example. Some depth sensors also output a confidence map; however, this expression is sometimes used in a misleading way to designate the infrared pixel map, rather than the precision or reliability of depth measure.

Since depth cameras are becoming more popular, it was suggested to use them for face recognition. For example, <CIT> describes a system for generating facial images, indexing those images by composite codes and for searching for similar two-dimensional facial images.

<CIT> concerns a facial recognition apparatus, comprising: a two-dimensional information acquisition unit to acquire two-dimensional image information of a subject; a three-dimensional information acquisition unit to acquire three-dimensional image information of the subject; a user information database to store an elliptical model corresponding to three-dimensional face information of a user and two-dimensional face information of the user; and a control unit to perform facial recognition using the two-dimensional image information of the subject, to determine whether a recognized face is the user's face, to match the elliptical model of the user to the three-dimensional image information, to calculate an error upon determining that the recognized face is the user's face, and to determine whether the user's face is improperly used based on the error.

<CIT> discloses a method for classifying and archiving images including face regions that are acquired with a 2D image acquisition device. A face detection module identifies a group of pixels corresponding to a face region.

However, consumer depth cameras only deliver low resolution and very noisy depth maps, so that the additional depth information does not improve the quality and reliability of the face recognition task as much as one would expect.

The quality and robustness of image processing tasks also depends on the quality of images delivered by the RGB and/or NIR sensors. Some pixels in the RGB and/or NIR images provide only little informative value, or no informative value at all, for example when they are noisy, saturated, over-illuminated, etc..

It has also been found that some parts of the face are less discriminative than other ones, and therefore less useful in a face recognition or classification task. For example, eyes are very discriminative and don't change much over time or between successive frames; by contrast, hairs are less personal, and could change a lot over time or even from one frame to the next. Therefore, it would be useful to develop a face processing method or apparatus exploiting mainly the most discriminative parts of face images, and being less dependent on lesser discriminative pa rts.

<CIT> discloses a method for discriminating hair regions in a face. The determination whether a pixel belongs to the hair region uses a binary classifier based on a confidence image; this confidence image is determined through a frequency analysis in the 2D gray scale image, and by determining the variance of the depth in a depth map.

<CIT> discloses a face recognition method using a detection of skin regions. <NPL>, discloses a method for producing an accurate and compact <NUM>-D face model in real time using a low cost RGB-D sensor.

Generally, more robust methods for image face processing would be desirable.

It would also be desirable to provide new methods using the capabilities of depth sensors and RGB-D datasets in order to improve the quality, robustness and/or speed of various face processing tasks.

According to the invention, these aims are achieved by means of a face processing method for processing data representing a face, said method being defined in claim <NUM>.

The use of a depth map (i.e. a <NUM>. 5D dataset) is advantageous since it improves the precision and robustness of the pose estimation step.

The use of visible light data is advantageous since it allows a detection of features that depends on skin colour or texture for example.

The use of near-infrared (NIR) image data is advantageous since it is less dependent on illumination conditions than visible light data.

This method is based, inter alia, on the founding that a noisy point in the depth map is more likely to be associated with a less discriminative part of the face than with a highly discriminative part of the face. For example, hairs often create a lot of noise in the depth map, and have only a very limited discriminative value. The method thus detects those portions of the face which are covered by hairs and generate noisy points in the depth map, and disregard or underweight the corresponding points of the depth map and/or the corresponding pixels of the 2D RGB or near-infrared pixel map.

Therefore, a confidence value is computed for at least some points of the depth map. This confidence value is useful in order to determine the most discriminative points of the depth map, respectively the most discriminative pixels of the pixel maps. Further face processing methods could use this information for example in order to overweight points or pixels with a high confidence value, and underweight or disregard points or pixels with a low confidence value.

The method is also based on the founding that the noise level and/or the type of noise associated with each point of the depth map is correlated with the informative value of the corresponding pixels of the 2D RGB pixel map.

For example, since noise could be caused by dust on the optic, a noisy point in the depth map is more likely to correspond to a noisy pixel in the RGB pixel map.

Therefore, a confidence value depending, at least in part, on the determination of noise parameter associated with the corresponding point in the depth map could be computed for each pixel of the pixel map.

The noise parameter associated with one point of the depth map may depend on the noise level. It may correspond to the signal-to-noise ratio, or to another value representing the level of noise. The noise parameter may also depend on the type of noise, for example whether it is a random noise, thermal noise, shot noise, flicker noise, etc..

The confidence value could be used, for example, in order to determine which pixels of the pixel map should be used and which one should be discriminated for a given face processing task. It could also be used for weighting different pixels depending on their confidence value.

The confidence value could be used, for example, in order to determine which points of the depth map should be used and which one should be discriminated for a given face processing task. It could also be used for weighting different points depending on their confidence value.

The confidence value associated with a pixel of the RGB pixel map could further depend on other parameters. In one example, the confidence value depends on the saturation level of the pixel in the RGB pixel map.

The confidence value could also depend on the coordinate position of the pixel - pixels near the borders of the image are more likely to be blurred or affected by lens vignetting than pixels near the centre of the image.

The confidence value of a point could also depend on its position in the face. For example, the upper half of a face (except for the hairs) is more discriminative and less mobile than the lower part and mouth region, which are less individual and more likely to move.

The invention, as defined in claim <NUM>, allows to determine a confidence value associated with at least some of the features used in the face processing method, for example features used for classifying data representing images of faces. The computation of the feature confidence value thus depends on the noise parameter associated with each pixel used in the extraction of the feature.

The feature confidence value is used in a face classification method, which is, according to the invention as defined in claim <NUM>, a face recognition method, for discarding less reliable features, i.e. features associated with a low confidence value, and using instead more reliable features associated with a higher confidence value. The feature confidence value could also be used for weighting different features depending on their feature confidence value. Therefore, the contribution of each feature on the result of the face processing method depends on the associated feature confidence value.

In one embodiment, the confidence value associated with a point or pixel could be used for detecting spoofing attempts.

For example, it has been found that a high noise level in the portion of the depth map that correspond to the hair is normal and expected in the case of a real face, while a fake, such as a 2D image of a face, does not produce the same amount of noise in the hairs.

Not only the level of noise, but also its spatial and/or temporal distribution, as well as the type of noise produced by the depth sensor could be used to detect spoofing attempts. For example, a living face, an image of a face on an electronic display, on a paper print, or a latex representation, all produce very different noise levels and type of noise in the depth sensor. Therefore, the level of noise and/or the type of noise associated with each point in the depth map could be used for detecting whether or not the image data is a representation of a living face or if it is typical of a spoofing attack.

In one embodiment, the face processing method of the invention comprises the step of aligning the face depth map with a 3D model of a head of known orientation using an iterative method, in order to find and/or adapt the head pose orientation. The contribution in the iterative method of each point depends on its noise parameter. For example, a robust pose detection could be performed by discarding or underweighting points of the depth associated with a low confidence value and/or high level of noise, and overweighting points associated with a lower noise level.

The head pose may be estimated by fitting the depth map with an existing 3D model, so as to estimate the orientation of the depth map. By discarding oder underweighting points associated with a lower confidence value, this pose estimation is particularly robust.

The face processing method might further comprise a step of correcting the illumination of portions of the 2D RGB pixel map, based on the 2D near-infrared pixel map. Shadows or bright zones in the 2D RGB pixel map that do not appear in the 2D near-infrared pixel map may thus be corrected.

The present invention is also related to an apparatus comprising means for performing the method recited in the claims, said apparatus being defined in claim <NUM>.

Furthermore, the present invention is also related to a computer-program product, which is defined in claim <NUM>.

The method may comprise a step of further processing the 2D projected image.

The acquisition step may comprise a temporal and/or spatial smoothing of points in the depth map, in order to reduce noise generated by the depth sensor. This smoothing may be performed before and/or after the determination of noise parameters associated with each point and with the corresponding pixels.

The detailed description set forth below in connection with the appended drawings is intended as a description of various embodiments of the present invention and is not intended to represent the only aspects in which the present disclosure may be practiced. Each aspect described in this disclosure is provided merely as an example or illustration of the present invention, and should not necessarily be construed as preferred or essential.

<FIG> is a flowchart that schematically illustrates the main steps of an example of pose rectification method according to the invention. This method could be carried out with the apparatus or system schematically illustrated as a block diagram on <FIG>. In this example, the apparatus comprises a camera <NUM> for capturing an image of a user <NUM>. The camera <NUM> might be a depth camera, such as without restriction a Kinect camera (trademark of Microsoft), a time-of-flight camera, or any other camera able to generate a RGB-D data stream.

The camera <NUM> is connected to a processor <NUM> accessing a memory <NUM> and connected to a network over a network interface <NUM>. The memory <NUM> may include a permanent memory portion for storing computer-code causing the processor to carry out at least some steps of the method of <FIG>. The memory <NUM>, or portions of the memory <NUM>, might be removable.

As used herein, the apparatus <NUM>+<NUM>+<NUM> may take the form of a mobile phone, personal navigation device, personal information manager (PIM), car equipment, gaming device, personal digital assistant (PDA), laptop, tablet, notebook and/or handheld computer, smart glass, smart watch, smartTV, other wearable device, etc..

In acquisition step A of <FIG>, a video stream is produced by the depth camera <NUM> in order to acquire a stream of frames of the face of user <NUM> to that one wants to process, for example in order to identify, classify or otherwise process. The images might be "test images", i.e. images of a face that one wants to classify, or "reference images", i.e., images captured during an enrolment process and with which future test images will be compared.

Each frame of the video stream preferably includes three temporally and spatially aligned datasets:.

The resolution of those three maps could be different. Some depth sensors for example deliver a relatively high resolution RGB pixel map, and a lower resolution depth map. For most sensors, the correspondence between those different maps is known so that one knows for example which pixels of the 2D RGB pixel map are associated with one given point of the depth map.

During step B, the level of noise that remains after this optional smoothing step is determined for each point of the depth map. Some depth sensors directly deliver this noise level for each point, for example based on difference values between successive measures, such as successive time-of-flight values for one point in one frame. Alternatively, the noise level may be determined by evaluating the signal-to-noise ratio associated with each point. The noise level for a given point may be determined by measuring the high frequency temporal variations of the depth value, for example variations of depth value of each point between successive frames; variations with a high frequency and/or intensity are likely to be caused by noise. Alternatively, the noise level for a given point may be determined by measuring the high frequency spatial variations of the depth value, for example difference of depth value between each point and its neighbours; fast and high intensity spatial variations of depth values are more likely to be caused by noise.

The noise level could be determined individually for each point or for groups of neighbouring points.

In addition to the noise level, the type of noise could also be determined during step B. For example, a module could determine that the noise associated with a given point is Gaussian in the spatial and/or temporal domain; its average and standard deviation could also be determined in the spatial and/or temporal domain. The spatial and/or temporal frequency of the signal and noise could also be determined.

In the following of the description and in the claims, the expression "noise parameter" will be used for designating the noise value and/or the noise type associated with each point of the depth map.

In step C, the noise parameter associated with each point of the depth map is used to determine a confidence value associated with the point and with corresponding pixels in the 2D RGB pixel map <NUM>. A point associated with a high level of noise in the depth map is unreliable and it is likely that the corresponding pixel in the pixel map is unreliable as well. For example, the depth values of portions of the face covered by hairs are often very noisy, with a characteristic noise pattern, as can be seen with reference <NUM> on <FIG> or <FIG>. The corresponding points in the depth map are thus associated with a low confidence value. The confidence value may also depend on the type of noise; some noise types are more likely to be present simultaneously in the depth map and in the 2D RGB pixel map.

A noise based confidence value map <NUM> can thus be generated, as illustrated on <FIG>, in which the value associated with each pixel of the RGB pixel map is computed from the noise level of the corresponding point in the depth map, and indicates the confidence value associated with this pixel. Please note that this confidence map is not equivalent to the 2D near-infrared pixel map and could not be determined from the 2D NIR pixel map only; it has nothing to do with the infrared output that some depth sensors, such as Kinect ® sensors, call "confidence map" although it merely returns the infrared intensity associated with each point.

The (noise based) confidence value associated with each point or pixel could be expressed as a multidigit numerical value. <FIG> shows a pixel map in which only the pixels in regions <NUM> associated with a confidence value higher than a threshold are maintained; pixels in regions <NUM> with a lower confidence value are discarded, and possibly flagged as such.

The confidence value associated with each pixel could also depend on other parameters than the noise level of the corresponding point in the depth map. In one example, the confidence value depends on a saturation level of the pixel in the RGB pixel map and/or in the NIR pixel map. Highly saturated pixels, or black pixels, are then associated with a lower confidence value than pixels near the middle of the dynamic range.

Transitions zones where the depth value rapidly changes, for example borders of the nose or glasses in a frontal view of the face, are also less reliable and associated with a lower confidence than regions of more constant depth, such as cheeks or forehead, which generate less noise in the depth map.

Some basic image transformation could be performed on the 2D RGB pixel map, on the NIR pixel map and/or on the depth map. In one example, this basic processing includes an automatic illumination, contrast and/or white balance adaptation. Preferably, the illumination of portions of the 2D RGB pixel map is corrected based on the 2D NIR pixel map. Shadows or bright zones in the 2D RGB pixel map that do not appear in the 2D near-infrared pixel map are thus corrected by creating a RGB image where the brightness value of each pixel of the RGB pixel map depends on the brightness value in the NIR pixel map.

The basic image transformation could also include a scaling or cropping of the pixel maps, for example in order to isolate the portion of the 2D pixel maps that correspond to a face and exclude other portions. In one embodiment, this basic face detection is based, at least in part, on a thresholding of the depth map, in order to exclude pixels which are not in a predefined depth range, for example between <NUM> and <NUM>. Other known algorithms could be used for extracting the foreground that represents the user face, and excluding the background, including for example algorithms based on colour detection.

The basic image transformation could also include a warping of the 2D image in order to project it in a frontal pose.

Alternatively, the basic image transformation includes a projection of the 2D RGB and/or NIR pixel maps <NUM>, <NUM> onto a 3D model of the face corresponding to the depth map <NUM>, so as to generate a high resolution textured 3D model of the face in which the depth value of each point depends on the depth map and the brightness and colour value depends on the brightness and colour value of the corresponding pixels in the RGB and/or NIR pixel maps.

This textured 3D model could then be projected onto a 2D image of the face with a different head pose, for example with a frontal pose, for an easier matching with 2D reference images of faces with the same head pose. Various projections could be considered. At first, deformations caused by the camera and/or by perspective are preferably compensated. Then, in one embodiment, the projection generates a frontal facial image, i.e. a 2D image as seen from a viewer in front of the user <NUM>. It is also possible to generate a non-frontal facial image, or a plurality of 2D projections, such as for example one frontal facial projection and one another profile projection. Other projections could be considered, including cartographic projections, or projections that introduce deformations in order to magnify discriminative parts of the face, in particular the eyes, the upper half of the face, and reduce the size of more deformable parts of the face, such as the mouth. It is also possible to morph the head to a generic model before comparison, in order to facilitate comparison. Purely mathematical projections, such as projections onto not easily representable space, could also be considered. Hidden parts, for example portions of the user's face which were hidden or occluded in the depth map, are either flagged as invalid, or reconstructed, for example by supposing a symmetry of the user's face. Alternatively, or in addition, the reconstruction may use a generic model of a head. Alternatively, or in addition, the reconstruction may use image portion data available from other frames in the same video sequence.

In one embodiment, the textured 3D model is used as such for a direct comparison and matching with reference textured 3D models.

The basic image transformation generates a modified pixel map or a textured depth map with modified pixels computed from the initial pixel map. The confidence value associated with those modified points or pixels is derived from the confidence value associated with the initial points or pixels. For example, in the case of image scaling including an interpolation or averaging step, the value of the confidence value associated with a new pixel depends on the confidence value associated with the initial pixels used in the interpolation or averaging.

In step D <FIG>, features are extracted from the possibly transformed RGB pixel map and/or from the possibly transformed NIR pixel map and/or from the possibly textured depth map. If pixels associated with a low confidence value have been previously discarded, as illustrated on <FIG>, those pixels are not used in the feature extraction process, resulting in a faster feature extraction.

Features are informative portions of the pixel map, or values derived from a plurality of pixels, which can then be used by a further image processing method, for example in order to recognize or classify a face. Feature extraction may use a number of algorithms, such as without limitation edge detection, corner detection, change of plane detection, blob detection, ridge detection, and so on. The number of features extracted from a typical pixel map of a face could be high, and include for example hundredths or thousands of features.

In step E, a feature confidence value is determined for at least some of the previously extracted features. The computation of each feature confidence value depends on the confidence value associated with pixels used in the extraction of the feature. For example, the computation of the feature confidence value could include an averaging or weighted averaging of the confidence values of pixels used for extracting this feature. Therefore, in the example of <FIG>, the feature <NUM> obtained by extracting a portion of edge of the face <NUM> is associated with a low feature confidence value, because the noise level of corresponding points <NUM>' in the depth map has a high noise level generated by the hairs covering this portion of the face.

The feature confidence value could also depend on other parameters, including for example the type of feature, and/or the number of pixels used for extracting this feature, etc..

The extracted features are then used in step G by a classifying module in order to classify the face represented by the pixel maps and by the depth map.

The classifying module could be a user identification or authentication module, or a gender estimation module, an age estimation module, etc. The classification may be based on a single frame, for example a frame which can be classified with the highest reliability, or with the first frame which can be classified with a reliability higher than a given threshold, or on a plurality of successive frames of the same video stream.

The use of the different features by the classifying module depends on their associated feature confidence value. For example, features associated with a confidence value lower than a predetermined threshold could be discarded. The contribution of remaining features may be weighted depending on their feature confidence value, so as to increase the contribution in the classifying algorithm of the features associated with a high confidence value, and to reduce the contribution of features associated with a lower feature confidence value.

In one embodiment, the confidence value associated with each point of the depth map is used for the head pose estimation or head pose correction. In one embodiment, this estimation is performed in two successive steps:.

During a first part of the head pose estimation step, a rough estimate of the head pose is determined. In one embodiment, the computation of this rough estimate uses a random forest algorithm, in order to quickly determine the head pose with a precision of a few degrees. A method of rough head pose estimation with random regression forest is disclosed in <NPL>. Preferably, the location of the nose and/or of other key features of the face is also determined during this step.

During a second part of the head pose estimation, a finer estimate of the head pose is determined. This fine estimate could start from the previously determined rough estimate of the orientation and of the location of one point, such as nose location, in order to improve the speed and robustness. The fine estimate could be computed by determining the orientation of a 3D model of a head that best corresponds to the depth map. In one example, the matching of the 3D model to the test depth map may be performed by minimizing a distance function between points of the depth map and corresponding points of the 3D model, for example using an Iterative Closest Point (ICP) method. The contribution in the method of each point of the captured depth map depends on its confidence value; points associated with a high noise and low confidence value are discarded or underweighted, while points of the depth map associated with a higher confidence value are overweighted. This results in an estimation of head pose in which the position of hairs or other areas associated with a low confidence value is underweighted.

The output of the head pose estimation step may include a set of angles phi, theta, psi describing three rotations with regard to a given coordinate system.

<FIG> schematically illustrates some components of a software and/or hardware module that could be used to implement the method of the present invention. The module comprises a component <NUM> that determines the noise parameter, i.e., the level and/or type of noise associated with each point of a depth map <NUM> (or sequence of depth maps). An optional component <NUM> determines the saturation level of each pixel of the 2D RGB and/or NIR pixel map <NUM> resp. Another optional component <NUM> delivers additional data that could be used in order to determine a confidence value associated with each pixel.

A confidence value determination module <NUM> receives the data output by the modules <NUM>, <NUM> and/or <NUM>, and determine from those parameters a confidence value associated with each point of the depth map <NUM> and/or with each pixel of the RGB and/or NIR pixel map <NUM>, <NUM>. If one point of the depth map corresponds to a plurality of pixels in the pixel map, the noise level associated with this point will be used in the determination of the confidence value of each of those corresponding pixels.

The module <NUM> may also detect a spoofing attack based on the parameters received from the modules <NUM>, <NUM> and/or <NUM>. For example, a depth map generated from a living face, from a paper print, from a computer display or from a latex mask will all generate different levels of noise and distinctive types of noise in different regions of the image. The noise parameter associated with various portions of the image could thus be used by the confidence value determination module <NUM> in order to generate a signal S that will interrupt the face processing when a spoofing attempts has been detected.

If no spoofing attempt has been detected, the module <NUM> generates a confidence map <NUM> in which each value corresponds to one pixel of the 2D RGB and/or NIR pixel map and indicates a confidence value associated with the corresponding pixel. This confidence map is transmitted to a feature extraction module <NUM>, along with the RGB pixel map <NUM>, with the NIR map <NUM> and with the depth map <NUM>.

The feature extraction module <NUM> extracts a number of features <NUM> from the three maps <NUM>-<NUM>, and computes associated feature confidence values <NUM> based on the confidence value of the pixels used in the determination of the individual features. The features <NUM> and the associated feature confidence values are then transmitted to a face processing module <NUM> that will process those features for example in order to classify, identify, authenticate or otherwise process the face, whereas a more important weight will be given in this processing to features associated with a high confidence value than to features associated with a lower confidence value.

Unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified, provided that the above fall within the scope of the claims.

It is to be recognized that depending on the embodiment, certain acts or events or steps of any of the methods described herein can be performed in a different sequence, may be added, merged, or left out all together (e.g., not all described acts or events are necessary for the practice of the method). Moreover, in certain embodiments, acts or events may be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors, rather than sequentially.

The means may include various hardware and/or software component(s) and/or module(s), including, but not limited to a circuit, an application specific integrate circuit (ASIC), a processor, a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to carry out the method steps described herein.

As used herein, the terms "determining" and "estimating" encompass a wide variety of actions. For example, "determining" and "estimating" may include calculating, computing, processing, deriving, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, "determining" and "estimating" may include receiving, accessing (e.g., accessing data in a memory) and the like.

The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in any form of storage medium that is known in the art. Some examples of storage media that may be used include random access memory (RAM), read only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM and so forth. A storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium.

For example, such a computer program product may comprise a computer readable medium having instructions stored (and/or encoded) thereon, the instructions being executable by one or more processors to perform the operations described herein.

Claim 1:
A face processing method, comprising the steps of:
A - acquiring a least one frame including a 2D RGB pixel map (<NUM>) representing a face, a depth map (<NUM>) representing said face, and optionally a 2D near-infrared pixel map (<NUM>) representing said face;
B - determining a noise parameter associated with at least some points in said depth map (<NUM>), the noise parameter designating a noise level associated with each respective point in the depth map (<NUM>);
C - using the noise parameters associated with said points for determining a confidence value associated with corresponding pixels of the 2D RGB pixel map (<NUM>);
D - extracting one or more features (<NUM>) of the face based on a plurality of pixels of said 2D RGB pixel map (<NUM>);
E - using the confidence value associated with said plurality of pixels for determining a feature confidence values associated with said one or more features (<NUM>);
F - discarding features (<NUM>) associated with a feature confidence value lower than a predetermined threshold value;
G - using at least some of the remaining features (<NUM>) for face recognition.