|
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, LPP and TensorLPP); finally, the new face image is
identified by a nearest neighbor classifier.
In both LPP and TensorLPP, 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. |
![]()
![]()
|
|
TensorLPP takes 2-order tensors as its inputs. The following matlab codes are used: %============================================================ nTrain = size(fea_Train,1); nTest = size(fea_Test,1); X = reshape(fea_Train',32,32,nTrain); options = []; options.nRepeat = 10; [U,V,eigU,eigV,posIdx,Y_Train] = TensorLPP(X, W, options); X = reshape(fea_Test',32,32,nTest); nRow = size(U,2); nCol = size(V,2); Y = zeros(nRow,nCol,nTest); for i=1:nTest Y(:,:,i) = U'*X(:,:,i)*V; end Y_Test = reshape(Y_Test,nRow*nCol,nTest)'; Y_Test = Y_Test(:,posIdx); %============================================================== Thus, we get Y_Train and Y_Test and we can keep the firt k dimension of Y_Train and Y_Test. |
|
|
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: Xiaofei He, Deng Cai and Partha Niyogi, "Tensor Subspace Analysis". Advances in Neural Information Processing Systems 18 (NIPS 2005), Vancouver, Canada, 2005. |
![]()
![]()
|