Home

Algorithms

Data

Related


FERET Data Normalzation Procedure


The raw FERET face images were passed through a multi-stage normalization process prior to the running of the FERET 1996/97 tests. The code used to perform this normalization is available as part of the NIST FERET distribution. We and others have experienced problems using the NIST code. CSU did a partial rewrite and distributed it as "csu1face2norm.c" until October 31, 2002. Since then we have included our own csuPreprocessNormalize in the CSU Face Identification Evaluation System. The new code is not, by intention, a complete functional match. But it is close and the changes were, we thought, desirable.

Here is a brief summary of what normalization does.

  1. The image is rotated so as to align the eyes. This requires that the normalization code be given a file that contains the eye coordinates. This file has the form:
    00001fa010_930831 101 167 163 166 134 202 133 234
    00001fb010_930831 102 164 164 162 135 196 136 230
    00002fa001d_931230 110 124 167 119 137 143 141 182
    00002fa010_930831 114 163 165 159 141 181 144 215
    00002fa010_940128 79 163 157 165 121 192 125 237
    ....

    This is a sample of the eye coordinates file, coords.3368. The eye coordinates are interpretted as being the centers of the eye: xlefteye, ylefteye, xrighteye, yrighteye. The last four integers are the coordinates of either the nose and mouth, or mouth and chin, we are not certain which. They are NOT used by face2norm.
  2. The image is scaled so as to make the distance between the eye's constant. In this step, the image is also cropped to a smaller size that will include essentially just the face. The standard FERET normalization crops the image to 150x130 pixels with 70 pixels between the centers of the eyes.
  3. A mask is applied that zeroes out pixels not in an oval that contains the typical face. Thus, hair, shirt collars, etc. are typically removed. The mask is generated analytically by specifying the dimensions of the masking oval.
  4. Histogram equalization is used to smooth the distribution of grey values for the non-masked pixels.
  5. The image is normalized so the non-masked pixels have mean zero and standard deviation one.

More can be read about pre-processing in the CSU Face Identification Evaluation System Users Guide.


Last Revised on Thursday, May 1, 2003