The recognition process has three steps. First, we
calculate the face subspace from the training samples; then the new
face image to be identified is projected into k-dimensional
subspace by using (PCA, LDA and LPP); finally, the new face image is
identified by a nearest neighbor classifier.
In LPP, we need to construct the affinity matrix, we use the following
matlab codes to construct the affinity matrix. Please refer the help of
'constructW.m' for detail explanations for these parameters.
%====================================
options = [];
options.Metric = 'Cosine';
options.NeighborMode = 'Supervised';
options.WeightMode = 'Cosine';
options.bSelfConnected = 1;
options.gnd = gnd_Train;
W = constructW(fea_Train,options);
%=================================
You can also try other graph construction methods and select other weighting schems.
Particularly, you may want to try heat kernel which is supposed to be superior to 0/1
and cosine weights. However, there is a parameter t which needs to be set. In our experience,
LPP is not sensitive to t, so you may empirically set it. When there is a large amount of
training data, you may want to try model selection methods, such as cross validation.
Also, we keep all the non-zero eigenvalues in the PCA step of LPP, i.e.
====================================
options = [];
options.PCARatio = 1;
[Vec,Val]=LPP(fea_Train,W,options);
%=================================
The data is used without further pre-processing.
|


|
The only difference of the experimental results shown on the right
from previous one is that we pre-process the data by normalizing each face vector to the unit.
For more detailed explanations of these experiments, please refer our paper:
Deng Cai, Xiaofei He and Jiawei Han, "Using Graph Model for Face Analysis",
Technical Report, UIUCDCS-R-2005-2636, UIUC, Sept. 2005
|


|