Face Verification Using Gabor Wavelets and AdaBoost


Mian Zhou and Hong Wei

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.



Face Verificaiton

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.

Back to top.


Gabor Wavelets

A Gabor wavelet $\psi_{\mu,\nu}(z)$ is defined as

\begin{displaymath}
	\psi_{\mu,\nu}(z)=\frac{\Vert{k_{\mu,\nu}}\Vert ^ {2}}{\sig...
	...}}}\lbrack{e^{i
	k_{\mu,\nu} z}-e^{-\frac{\sigma^2}{2}}}\rbrack
	\end{displaymath} (1)

where $z=(x,y)$ is the point with the horizontal coordinate $x$ and the vertical coordinate . The parameters $\mu$ and $\nu$ define the orientation and scale of the Gabor kernel, $\Vert\cdot\Vert$ denotes the norm operator, and $\sigma$ is related to the standard derivation of the Gaussian window in the kernel and determines the ratio of the Gaussian window width to the wavelength. The wave vector $k_{\mu,\nu}$ is defined as follows
\begin{displaymath}
	k_{\mu,\nu}=k_{\nu}e^{i\phi_{\mu}}
	\end{displaymath} (2)

where $k_{\nu}=\frac{k_{max}}{f^{\nu}}$ and $\phi_{\mu}=\frac{\pi\mu}{8}$ i$55\times 51$f 8 different orientations have been chosen. $k_{max}$ is the maximum frequency, and $f^{\nu}$ is the spatial frequency between kernels in the frequency domain.

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 $k_{\mu,\nu}$. Each kernel is a product of a Gaussian envelope and a complex plane wave. The first term $e^{ik_{\mu,\nu}z}$ in the square bracket in Equation (1) controls the oscillatory part of the kernel and the second term $e^{-\frac{\sigma^2}{2}}$ compensates for the DC value, thus making the kernel DC-free, i.e., the integral $\int{\psi_{\mu,\nu}(z)}d^{2}{z}$ vanishes. Therefore, it is not necessary to consider the DC effect, when the parameter $\sigma$ is large enough.

In our approach, five different scales and eight orientations of Gabor wavelets were used, i.e., $\nu\in\{0,\ldots,4\}$, and $\mu\in\{0,\ldots,7\}$. Gabor wavelets were chosen with relative with $\sigma=2\pi$, $k_{max}=\frac{\pi}{2}$, and $f=\sqrt{2}$. 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.

Figure: The real part of the $5\times 8$ Gabor wavelets. The columns correspond to the orientations $0,\frac{\pi}{8},\frac{\pi}{4},\frac{3\pi}{8},
	\frac{\pi}{2},\frac{5\pi}{8},\frac{3\pi}{4},$ and $\frac{7\pi}{8}$.
\includegraphics[scale=0.1]{figures/Gabor0_0.eps} \includegraphics[scale=0.1]{figures/Gabor0_1.eps} \includegraphics[scale=0.1]{figures/Gabor0_2.eps} \includegraphics[scale=0.1]{figures/Gabor0_3.eps} \includegraphics[scale=0.1]{figures/Gabor0_4.eps} \includegraphics[scale=0.1]{figures/Gabor0_5.eps} \includegraphics[scale=0.1]{figures/Gabor0_6.eps} \includegraphics[scale=0.1]{figures/Gabor0_7.eps}
\includegraphics[scale=0.1]{figures/Gabor1_0.eps} \includegraphics[scale=0.1]{figures/Gabor1_1.eps} \includegraphics[scale=0.1]{figures/Gabor1_2.eps} \includegraphics[scale=0.1]{figures/Gabor1_3.eps} \includegraphics[scale=0.1]{figures/Gabor1_4.eps} \includegraphics[scale=0.1]{figures/Gabor1_5.eps} \includegraphics[scale=0.1]{figures/Gabor1_6.eps} \includegraphics[scale=0.1]{figures/Gabor1_7.eps}
\includegraphics[scale=0.1]{figures/Gabor2_0.eps} \includegraphics[scale=0.1]{figures/Gabor2_1.eps} \includegraphics[scale=0.1]{figures/Gabor2_2.eps} \includegraphics[scale=0.1]{figures/Gabor2_3.eps} \includegraphics[scale=0.1]{figures/Gabor2_4.eps} \includegraphics[scale=0.1]{figures/Gabor2_5.eps} \includegraphics[scale=0.1]{figures/Gabor2_6.eps} \includegraphics[scale=0.1]{figures/Gabor2_7.eps}
\includegraphics[scale=0.1]{figures/Gabor3_0.eps} \includegraphics[scale=0.1]{figures/Gabor3_1.eps} \includegraphics[scale=0.1]{figures/Gabor3_2.eps} \includegraphics[scale=0.1]{figures/Gabor3_3.eps} \includegraphics[scale=0.1]{figures/Gabor3_4.eps} \includegraphics[scale=0.1]{figures/Gabor3_5.eps} \includegraphics[scale=0.1]{figures/Gabor3_6.eps} \includegraphics[scale=0.1]{figures/Gabor3_7.eps}
\includegraphics[scale=0.1]{figures/Gabor4_0.eps} \includegraphics[scale=0.1]{figures/Gabor4_1.eps} \includegraphics[scale=0.1]{figures/Gabor4_2.eps} \includegraphics[scale=0.1]{figures/Gabor4_3.eps} \includegraphics[scale=0.1]{figures/Gabor4_4.eps} \includegraphics[scale=0.1]{figures/Gabor4_5.eps} \includegraphics[scale=0.1]{figures/Gabor4_6.eps} \includegraphics[scale=0.1]{figures/Gabor4_7.eps}

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 $I$ and a Gabor kernel $\psi_{\mu,\nu}(z)$ is defined as follows

\begin{displaymath}
	O_{\mu,\nu}(z)=I(z)\ast\psi_{\mu,\nu}(z)
	\end{displaymath} (3)

The whole set of Gabor wavelet representations of the image $I(z)$ is $S=\{O_{\mu,\nu}(z):\mu\in\{0,\ldots,7\},\nu\in\{0,\ldots,4\},z=(x,y)\}$.

The response $O_{\mu,\nu}(z)$ to each Gabor kernel is a complex function with a real part $\textrm{Re}\{O_{\mu,\nu}(z)\}$ and an imaginary part $\textrm{Im}\{O_{\mu,\nu}(z)\}$ illustrated as

\begin{displaymath}
	O_{\mu,\nu}(z) = \textrm{Re}\{O_{\mu,\nu}(z)\} +i \textrm{Im}\{O_{\mu,\nu}(z)\}
	\end{displaymath}

The magnitude response $\Vert O_{\mu,\nu}(z)\Vert$ is expressed as
\begin{displaymath}
	\Vert O_{\mu,\nu}(z)\Vert = \sqrt{\textrm{Re}\{O_{\mu,\nu}(z)\}^2 + \textrm{Im}\{O_{\mu,\nu}(z)\}^2}
	\end{displaymath} (4)

In this paper, the magnitude response $\Vert O_{\mu,\nu}(z)\Vert$ is used to represent the features. Therefore, a Gabor wavelet feature $j$ is configured by the three key parameters: position $z$, orientation $\mu$, and scale $\nu$, as illustrated as
\begin{displaymath}
	j(z, \mu, \nu) = \Vert O_{\mu,\nu}(z)\Vert.
	\end{displaymath} (5)

For a given image $I(z)$ with $N \times M$ pixels, the number of Gabor wavelet feature representations will be of the order $N \times M \times 40$. The feature space consists of all these features. In this case, it is 40 times larger than the original image space.

Back to top.



Face Verificaiton

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 $y=0,1$ for impostors and clients respectively. The initial weight $\omega_{1,i}$ 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 $l$, and the number of impostors is $m$. The initial weight $\omega_{1,i}$ for clients is $1/2l$, and for impostors is $1/2m$. Each Gabor wavelet feature $j$ corresponds to a weak classifier $h_{j}$. 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 $h_{t}$ is selected with the lowest classification error $\varepsilon_{t}$. After each round of training, the weights $\omega_{t,i}$ of the training data are modified in order to emphasize those images which are misclassified by the previous weak classifier. The final strong classifier $H$ takes the form of a weighted combination of weak classifiers $h_{t}$ 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.

Table 1: The AdaBoost algorithm for feature selection.
*
Given the training set $(x_{1},y_{1}),\ldots,(x_{n},y_{n})$, where $x_{i}$ is the data of the $i$th example, and $y_{i}=0,1$ for impostors and clients respectively.
*
Initialize weights $\omega_{1,i}=1/2m,1/2l$ for $y_{i}=0,1$ respectively, where $m$ and $l$ are the number of impostors and clients respectively.
*
For $t = 1,\ldots,T$:
  1. Normalize the weights, $\omega_{t,i}\leftarrow\frac{\omega_{t,i}}{\sum_{i=1}^{n}{\omega}_{t,i}}$ so that $\omega_{t}$ is a probability distribution.
  2. For each feature $j$, train a classifier $h_{j}$ which uses a single feature. The error is evaluated with respect to $\omega_{t}$, $\varepsilon_{j}=\sum_{i}\omega_{t,i}\vert h_{j}(x_{i})-y_{i}\vert^{2}$.
  3. Choose the classifier $h_{t}$, with the lowest error $\varepsilon_{t}$.
  4. Update the weights:
    • When there is only one lowest error,
       \begin{displaymath}
	\omega_{t+1,i}=\omega_{t,i}\beta_{t}^{1-e_{i}}
	\end{displaymath} (6)

      where $e_{i}=0$ if example $x_{i}$ is classified correctly, $e_{i}=1$ otherwise, and $\beta_{t}=\frac{\varepsilon_{t}}{1-\varepsilon_{t}}$.
    • When there is more than one lowest error, use Equation 6 for each lowest error classifier, and average them.
*
The final strong classifier is the combination of classifiers with the lowest error found in each round.

\begin{displaymath}
	H(x)=\textrm{sign}(\sum_{t=1}^{T}\alpha_{t}h_{t}(x))
	\end{displaymath}

where $\alpha_{t} = \log \frac{1}{\beta_{t}}$

Back to top.



Experiments and Results

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.

Figure 2: Sixty-four face images from XM2VTS. The center of two eyes on each face is manually measured. Then the images are rotated, translated, segmented and scaled to fit a 55x51 size.
\includegraphics[scale=0.14]{figures/XM2VTS_1.eps} \includegraphics[scale=0.14]{figures/XM2VTS_2.eps} \includegraphics[scale=0.14]{figures/XM2VTS_3.eps} \includegraphics[scale=0.14]{figures/XM2VTS_4.eps} \includegraphics[scale=0.14]{figures/XM2VTS_5.eps} \includegraphics[scale=0.14]{figures/XM2VTS_6.eps} \includegraphics[scale=0.14]{figures/XM2VTS_7.eps} \includegraphics[scale=0.14]{figures/XM2VTS_8.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_9.eps} \includegraphics[scale=0.14]{figures/XM2VTS_10.eps} \includegraphics[scale=0.14]{figures/XM2VTS_11.eps} \includegraphics[scale=0.14]{figures/XM2VTS_12.eps} \includegraphics[scale=0.14]{figures/XM2VTS_13.eps} \includegraphics[scale=0.14]{figures/XM2VTS_14.eps} \includegraphics[scale=0.14]{figures/XM2VTS_15.eps} \includegraphics[scale=0.14]{figures/XM2VTS_16.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_17.eps} \includegraphics[scale=0.14]{figures/XM2VTS_18.eps} \includegraphics[scale=0.14]{figures/XM2VTS_19.eps} \includegraphics[scale=0.14]{figures/XM2VTS_20.eps} \includegraphics[scale=0.14]{figures/XM2VTS_21.eps} \includegraphics[scale=0.14]{figures/XM2VTS_22.eps} \includegraphics[scale=0.14]{figures/XM2VTS_23.eps} \includegraphics[scale=0.14]{figures/XM2VTS_24.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_25.eps} \includegraphics[scale=0.14]{figures/XM2VTS_26.eps} \includegraphics[scale=0.14]{figures/XM2VTS_27.eps} \includegraphics[scale=0.14]{figures/XM2VTS_28.eps} \includegraphics[scale=0.14]{figures/XM2VTS_29.eps} \includegraphics[scale=0.14]{figures/XM2VTS_30.eps} \includegraphics[scale=0.14]{figures/XM2VTS_31.eps} \includegraphics[scale=0.14]{figures/XM2VTS_32.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_33.eps} \includegraphics[scale=0.14]{figures/XM2VTS_34.eps} \includegraphics[scale=0.14]{figures/XM2VTS_35.eps} \includegraphics[scale=0.14]{figures/XM2VTS_36.eps} \includegraphics[scale=0.14]{figures/XM2VTS_37.eps} \includegraphics[scale=0.14]{figures/XM2VTS_38.eps} \includegraphics[scale=0.14]{figures/XM2VTS_39.eps} \includegraphics[scale=0.14]{figures/XM2VTS_40.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_41.eps} \includegraphics[scale=0.14]{figures/XM2VTS_42.eps} \includegraphics[scale=0.14]{figures/XM2VTS_43.eps} \includegraphics[scale=0.14]{figures/XM2VTS_44.eps} \includegraphics[scale=0.14]{figures/XM2VTS_45.eps} \includegraphics[scale=0.14]{figures/XM2VTS_46.eps} \includegraphics[scale=0.14]{figures/XM2VTS_47.eps} \includegraphics[scale=0.14]{figures/XM2VTS_48.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_49.eps} \includegraphics[scale=0.14]{figures/XM2VTS_50.eps} \includegraphics[scale=0.14]{figures/XM2VTS_51.eps} \includegraphics[scale=0.14]{figures/XM2VTS_52.eps} \includegraphics[scale=0.14]{figures/XM2VTS_53.eps} \includegraphics[scale=0.14]{figures/XM2VTS_54.eps} \includegraphics[scale=0.14]{figures/XM2VTS_55.eps} \includegraphics[scale=0.14]{figures/XM2VTS_56.eps}
\includegraphics[scale=0.14]{figures/XM2VTS_57.eps} \includegraphics[scale=0.14]{figures/XM2VTS_58.eps} \includegraphics[scale=0.14]{figures/XM2VTS_59.eps} \includegraphics[scale=0.14]{figures/XM2VTS_60.eps} \includegraphics[scale=0.14]{figures/XM2VTS_61.eps} \includegraphics[scale=0.14]{figures/XM2VTS_62.eps} \includegraphics[scale=0.14]{figures/XM2VTS_63.eps} \includegraphics[scale=0.14]{figures/XM2VTS_64.eps}


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 $\nu\in\{0,\ldots,4\}$, and $\mu\in\{0,\ldots,7\}$. 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.

Figure 3: The Gabor wavelet features selected in the first group experiment (the small example size). a) The locations of the first 20 features (marked with red crosses) selected for the first client by AdaBoost. b) The locations of the first 20 features (marked with red crosses) selected for the fourth client by AdaBoost.
\includegraphics[scale=0.3]{figures/20featureson1stsmall} \includegraphics[scale=0.3]{figures/20featureson4thsmall}


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.

Figure 4: The Gabor wavelet features selected after AdaBoost training. The positions of the top 20 Gabor wavelet features selected from client 1 to client 8 are shown in the top. Some features are overlapped because they are sharing the same position, but different orientation or scale. The first Gabor wavelet features selected from client 1 to client 8 are shown in the bottom row.
\includegraphics[scale=0.22]{NoC1.eps} \includegraphics[scale=0.22]{NoC2.eps} \includegraphics[scale=0.22]{NoC3.eps} \includegraphics[scale=0.22]{NoC4.eps} \includegraphics[scale=0.22]{NoC5.eps} \includegraphics[scale=0.22]{NoC6.eps} \includegraphics[scale=0.22]{NoC7.eps} \includegraphics[scale=0.22]{NoC8.eps}
\includegraphics[scale=0.22]{Gabor1.eps} \includegraphics[scale=0.22]{Gabor2.eps} \includegraphics[scale=0.22]{Gabor3.eps} \includegraphics[scale=0.22]{Gabor4.eps} \includegraphics[scale=0.22]{Gabor5.eps} \includegraphics[scale=0.22]{Gabor6.eps} \includegraphics[scale=0.22]{Gabor7.eps} \includegraphics[scale=0.22]{Gabor8.eps}


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.

Table 2: The classification results from client 1 to client 8 (C1 to C8) in XM2VTS. By adjusting the bias of each SVM classifier for each client, the false positive rate is set to 0%, 25%, 50%, 75% or 100%, and the corresponding classification error (Error rate) and false negative rates are shown.
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

Back to top.



Conclusion and Future Work

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.

Back to top.



Contact Details

Address:









Telephone:

Mail:

   
   
   
   
   
   
   
   
   

   

Mian Zhou
School of Systems Engineering
Computational Vision Group
The University of Reading
Whiteknights
Reading
Berkshire
RG6 6AY
United Kingdom

+44(0)118 378 7633

m.zhou@reading.ac.uk

   
   
   
   
   
   
   
   
   

   

   
   
   
   
   
   
   
   
   

   

Hong Wei
School of Systems Engineering
Computational Vision Group
The University of Reading
Whiteknights
Reading
Berkshire
RG6 6AY
United Kingdom

+44(0)118 378 8608

h.wei@reading.ac.uk

Back to top.



last update: 28/03/2006