Matlab source codes for Multilinear Principal Component Analysis (MPCA)
The matlab codes provided here implement two algorithms presented in the paper "MPCA_TNN08_rev2012.pdf" included in this package:
Haiping Lu, K.N. Plataniotis, and A.N. Venetsanopoulos, "MPCA: Multilinear Principal Component Analysis of Tensor Objects", IEEE Transactions on Neural Networks, Vol. 19, No. 1, Page: 18-39, January 2008.
Algorithm 1: "MPCA.m" implements the MPCA algorithm described in this paper
Algorithm 2: "MPCALDA.m" implements the MPCA+LDA algorithm in this paper
Please refer to the comments in the codes, which include example usage on 2D data and 3D data below:
FERETC80A45.mat: 320 faces (32x32) of 80 subjects (4 samples per class) from the FERET database
USF17Gal.mat: 731 gait samples (32x22x10) of 71 subjects from the gallery set of the USF gait challenge data sets version 1.7
%[Verification of gait recognition results]%
To verify the gait recognition results presented in Table VII of the paper on a smaller version of the gait data in folder "USFGait17_32x22x10" so the numbers are not exactly the same
1. Run GRTestMPCA.m to get the results for ETG
2. Run GRTestMPCALDA.m to get the results for ETGLDA
testData.m specifies the data directory and probes to be processed
MADAll.m calculates the rank 1 and rank 5 identification rates using MAD measure (Table II) and symmetric matching.
GRResultsVerify.txt is the expected output in the command window.
The code needs the tensor toolbox available at http://csmr.ca.sandia.gov/~tgkolda/TensorToolbox/
This package includes tensor toolbox version 2.1 for convenience.
In all documents and papers reporting research work that uses the matlab codes provided here, the respective author(s) must reference the following paper:
 Haiping Lu, K.N. Plataniotis, and A.N. Venetsanopoulos, MPCA: Multilinear Principal Component Analysis of Tensor Objects", IEEE Transactions on Neural Networks, Vol. 19, No. 1, Page: 18-39, January 2008.
thanks for sharing this code.
Thanks a lot Chris! It seems that I did not make it clear enough though I've indicated the need for tensor toolbox in the .m file documentation.
I've updated the description and requirements to emphasize this need, which should appear shortly after being reviewed.
thanks for sharing this code. you might want to mention somewhere that it depends on the sandia tensor toolbox.
1. The MPCA paper is updated with a typo (the MAD measure in Table II) corrected.
Emphasized the need for the tensor toolbox. Thanks to Chris' comment.
1. Minor code change
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.