Of these, the first two are relatively straight forward to develop and use. The fourth is the least straight forward. It is inspired by an algorithm developed by Okada et. However, there are many implementation details left unspecified. Images are pre-processed in order to spatially normalize the position of the face.
Normalization also accentuates dynamic range in the face region through histogram equalization.
The source code to perform normalization is available through the data page on this site. All algorithms will have two components, a training component and a test component. The training component takes as input a file of image file names. The training phase reads these training images and develops any training specific representations required by the algorithm For example, in the case of the standard PCA algorithm, training generates the Eigenvectors that define the recognition subspace. The test component takes as input two sets of file names, one indicating the gallery images and the other the probe images.