The project is to develop a new face verification algorithm based on Gabor wavelets and AdaBoost.In the algorithm, faces are represented by Gabor wavelet features generated by Gabor wavelet transform. Gabor wavelets with 5 scales and 8 orientations are chosen to form a family of Gabor wavelets. Byconvolving face images with these 40 Gabor wavelets, the original images are transformed into magnitude response images of Gabor wavelet features. The AdaBoost algorithm selects a small set of significant features from the pool of the Gabor wavelet features. Each feature is the basis for a weak classifier which is trained with face images taken from the XM2VTS database. The feature with the lowest classification error is selected in each iteration of the AdaBoost operation. We also address issues regarding computational costs in feature selection with AdaBoost. A support vector machine (SVM) is trained with examples of 20 features, and the results have shown a low false positive rate and a low classification error rate in face verification.
In recent years, biometrics technology has been used to identify individuals using traits based on the retina, iris, fingerprints, or face. Identification based on face images is of particular interest as it is non invasive and need not rely on the cooperation of the individual. In face verification, the task is to verify a claimed identity by comparing a claimed image of the individual with other images belonging to the individual and held in a database. The set of people is divided into classes which are defined as client and impostor. A client is a registered person with claimed identity. Impostors are all other persons except the client. Therefore, face verification may employ established two-class discriminant techniques, such as those used in object detection or face detection. The face verification process divides into two phases: feature selection and classification. Feature selection is important, because it not only reduces the dimension of the data, but it also makes verification more accurate. In this paper, we present a feature selection approach based on Gabor wavelets and AdaBoost.
A Gabor wavelet
is defined as
The Gabor kernels in Equation (1) are all self-similar
since they can be
generated from one kernel (a mother wavelet) by dilation and rotation via the
wave vector
. Each kernel is a product of a Gaussian envelope and a
complex plane wave. The first term
in the square bracket in Equation
(1) controls the oscillatory part of the kernel and the second
term
compensates for the DC value, thus making the kernel DC-free, i.e., the
integral
vanishes. Therefore, it is not necessary to consider
the DC effect, when the parameter
is large enough.
In our approach,
five different scales and eight orientations of Gabor wavelets were used, i.e.,
, and
. Gabor wavelets were chosen with relative with
,
, and
.
These parameters yield a Gabor
wavelets family having 5 scales and 8 orientations. The real parts of the 40 Gabor wavelets
are shown in Fig 1.
The Gabor wavelet representation of an image is the convolution of the image
with a family of Gabor kernels as defined by Equation (1).
The convolution of image
and a Gabor kernel
is defined as follows
The response
to each Gabor kernel is a complex function with a real part
and an imaginary part
illustrated as
| (4) |
| (5) |
The Gabor wavelet feature representation described above resides in a very high
dimensional space. It is necessary to reduce the feature space to a lower
dimensional representation by feature selection. In this paper, we use AdaBoost to select
significant features from the pool of Gabor wavelet features, hence to reduce the dimension.
The algorithm of AdaBoost is presented in Table 1. The training data
contains client's examples and impostors' examples with the AdaBoost parameter
for impostors and clients
respectively. The initial weight
for each example is given according to
the number of client's or impostors' examples. All weights of client's examples
are set equally, so as to impostors' examples. The number of clients is
, and the number of impostors is
.
The initial weight
for clients is
, and for impostors is
.
Each Gabor wavelet feature
corresponds to a weak classifier
. A Linear Fisher Discriminant (LFD)
classifier is adopted as the weak classifier in this paper. The LFD classifier determines the optimal
threshold classification function, such that the minimum number of examples is misclassified.
When all the classifiers are trained, the weak classifier
is selected with the lowest
classification error
. After each round of training, the weights
of the training data are modified in order to emphasize those images which are misclassified by the previous
weak classifier. The final strong classifier
takes the form of a weighted combination of weak
classifiers
followed by a threshold. The AdaBoost learning algorithm in this paper not only
boosts the performance,
but it also contributes to feature selection. In each
round of training, one feature is selected by selecting the corresponding weak classifier.
Table 1 gives the more detailed AdaBoost algorithm for classifier learning in feature selection.
After feature selection, an individual is represented by a face model consisting of the selected key features.
|
The feature selection algorithm was tested on XM2VTS. In XM2VTS, there are 295 subjects consisting of 200 clients and 95 impostors. Each subject has 8 up-right and frontal view face images. The database was divided into three sets: training set, evaluation set, and testing set. The training set is used to build face models. The evaluation set is for selection of a threshold that determines if a person is accepted or rejected. The testing set is for simulating authentication tests. The images were captured with moderate differences in illumination, expressions and facial details. Using the manually detected centres of the two eyes on each face image, all images are properly rotated, translated, segmented and scaled to fit a grid size of 55x51 as illustrated in Fig 2.
|
|
The experiment includes two steps: feature extraction and feature selection.
All images involved in the experiments are from 4 images per client across 200 clients. There are in total 800 images.
Forty Gabor wavelets are generated according to Equation (1) with
, and
. Each image is convolved with
these 40 wavelets. To each face image, the outputs are 40 images which record the magnitudes
of the responses to the Gabor filters. Each
pixel of the magnitude response corresponds to a feature. For each client, there are
40x25x24=24,000 features generated as input for feature selection.
Two groups of experiments are carried out. In the first group, we have the training set with small example size.
This training set only contains the first 50 subjects with 4 images of
each subject. For each client, 4 images are taken as positive example,
and other 196 images are taken as negative examples. In the second group, we have the training set with larger example
size, which includes all 200 clients in the XM2VTS.
For each client, 4 client images are taken as positive examples, and other 796
images are taken as negative examples. A similar approach has been used in some work, where positive examples are intra-personal differences, and negative examples are extra-personal differences. Both approaches require a large number of
training data which are demanded by the nature of the AdaBoosting algorithm.
However it leaves the ratio between positive and negative examples unbalanced, e.g. few positive examples and many negative examples.
Features selected for some clients for two groups of experiments are presented. Due to the computational costs, only the top 20 features are selected for each group. For the small example size, the top 20 features are shown in Fig 3. These features all have the same classification errors, which are equal to 0 during AdaBoost feature selections. For the first client, the top 20 features are mostly located on his right temple and the area beside his left eyebrow. Fig 3(a) shows these features projecting to the first client face. Most features distributed into two local regions are highly correlated and redundant. In the fourth client, the top 20 features locate on his cheek near the nostril which appears as a deep valley and nevus on his left face as shown in Fig 3(b). These features are also highly correlated.
|
For the large example size, AdaBoost algorithm selected the top 20 features from the first client to the eighth client as shown in Fig 4. The results show that the selected features are randomly distributed in the face area rather than concentrated on some regions of the faces as the results from the small example size. It indicates that these features are less correlated and less redundant than the features selected in the small example size. Most features are located on eyes, eyebrows, nose, lips, glasses frames or beard. There are some common features selected in both the small and large example size. For the first client, the first and seventh selected features in the large example size are in the left eyebrow region and the upper-right region, where they were selected in the small example size too. For the fourth client, the first and second selected features in the large example size correspond to the nevus on left face and the cheek next to the nostril defined in the small example size. Compared to the high correlation among the features in the small example size, the features selected from the large example size can be treated as representatives of local regions. The experiments in the large example size sparsify the features, and lead to decorrelation and redundancy reduction of output. From Fig 4, the top 20 features for different individuals are located in different positions and with different distributions. Although most features correspond to the common key characteristics on a face, e.g. eyes, eyebrows, nostril, lips and so on, the top selected features for each individual are varied. As Penev and Atick concluded that different subjects can be classified depending on what objects they contian, the faces can be classified depending on the unique characteristics in which an individual is different from others, e.g. the nevus on the left face of the fourth client is an unique characteristics for him.
|
With the 20 Gabor wavelet features selected for each client, a face image is represented by a vector with 20 components. Classification is performed on the training set and the testing set by using a support vector machine (SVM) for each client. The idea of SVM is to maximise the margin between classes and minimise a quantity proportional to the number of misclassification errors. Experiments were carried out on eight clients from the XM2VTS. A non-linear SVM classifier with a polynomial kernel of degree 3 is constructed from the 800 training examples, which are the first four images across all clients. The testing set is from the rest four images across all clients and the eight images across all impostors in XM2VTS. The test results of 8 clients with 1,560 testing examples (among them, 4 positive examples and 1,556 negative examples from 199 clients with 4 images and 95 impostors with 8 images per subject) are shown in Table 2. The optimal boundary for a SVM classifier gives a low error rate but a high false positive rate because the ratio between positive examples and negative examples remains unbalanced. Therefore, the decision surface gets close towards the actual boundary of the negative class, but far away from the place where the positive class resides in the feature space. Moreover, SVMs are only concerned with the trade off between margin and misclassification error, but not with the false positive rate. This leads the trained SVM classifiers having strong ability to recognise the negative examples, but relatively weak ability to recognise the positive examples. It also makes the false negative rate much closer to the classification error rate. By adjusting the bias of the SVM classifier, the false positive rate can be reduced, while the classification error rate will be increased, or vice versa, e.g. for client 4, the optimal boundary of the SVM classifier makes the false positive rate equal to 25%, and the error rate is 0.26%. However, when the bias of the classifier is decreased, no false positive is detected, and the error rate is increased to 2.95%. Table 2 shows that the classification to clients 1, 4 and 5 has better performance than to other clients. It indicates that the 20 selected features contribute well enough for some clients to verification, but they are not sufficient to verify some other clients e.g. clients 6 and 7. In this case, it may need more features selected by AdaBoost for client representation.
| False(%) | Error rate(%) / False Negative rate(%) | |||
| Positive | C1 | C2 | C3 | C4 |
| 0 | 4.94/4.95 | 13.72/13.75 | 8.53/8.55 | 2.95/2.96 |
| 25 | 1.73/1.67 | 12.12/12.08 | 11.10/8.29 | 0.26/0.20 |
| 50 | 0.83/0.71 | 8.72/8.61 | 9.58/7.13 | 0.32/0.19 |
| 75 | 0.38/0.19 | 1.41/1.22 | 8.30/6.10 | 0.32/0.13 |
| 100 | 0.26/0.0 | 0.58/0.32 | 2.12/1.35 | 0.26/0.0 |
| C5 | C6 | C7 | C8 | |
| 0 | 2.31/2.31 | 81.92/82.13 | 53.08/53.21 | 15.64/15.68 |
| 25 | 0.45/0.39 | 14.81/14.78 | 46.47/46.53 | 8.59/8.55 |
| 50 | 0.38/0.26 | 1.86/1.74 | 44.49/44.47 | 0.51/0.39 |
| 75 | 0.38/0.19 | 0.51/0.32 | 36.47/36.38 | 0.38/0.19 |
| 100 | 0.32/0.06 | 0.26/0.0 | 0.64/0.39 | 0.32/0.06 |
In this paper, a new face verification algorithm is presented. Gabor wavelets extract features from original face images. AdaBoost selects the top 20 significant features which distinguish a specified client from other subjects in the face database. The experiment has been carried out on the XM2VTS face database. Based on 20 selected Gabor wavelet features, a SVM classifier is built up for each client for verification. By adjusting bias in SVMs, we achieved face verification in a low false positive rate and a low false negative rate empirically. Gabor wavelet transform reflects salient changes between pixels. This makes it robust against to illuminance changes between images. AdaBoost is a well known time consuming online learning algorithm. We reduced the computational costs by removing weak classifiers whose errors are larger than that of random guessing. In 20 iterations of AdaBoost learning, the computational time is reduced to 54.23% of the original time. The algorithm is tested on 8 clients from XM2VTS. Experimental results have proved that the developed algorithm presented in this paper has high accuracy for face verification.
|
Address: |
|
Mian Zhou |
|
|
Hong Wei |