亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mpca.m

?? IT IS ALSO FACE RECOGNITION CODE
?? M
字號:
function [tUs, odrIdx, TXmean, Wgt]  = MPCA(TX,gndTX,testQ,maxK)
% MPCA: Multilinear Principle Component Analysis
%
% %[Prototype]%
% function [tUs, odrIdx, TXmean, Wgt]  = MPCA(TX,gndTX,testQ,maxK)
%
% %[Author Notes]%
% Author: Haiping LU
% Email : hplu@ieee.org   or   eehplu@gmail.com
% Affiliation: Department of Electrical and Computer Engineering
%              University of Toronto
% Release date: June 24, 2008 (Version 1.1)
% Please email me if you have any problem, question or suggestion
%
% %[Algorithm]%:
% This function implements the Multilinear Principal Component Analysis
% (MPCA) algorithm presented in the follwing 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.
% Please reference this paper when reporting work done using this code.
%
% %[Toolbox needed]%:
% This function needs the tensor toolbox available at
% http://csmr.ca.sandia.gov/~tgkolda/TensorToolbox/
%
% %[Syntax]%: [tUs, odrIdx, TXmean, Wgt]  = MPCA(TX,gndTX,testQ,maxK)
%
% %[Inputs]%:
%    TX: the input training data in tensorial representation, the last mode
%        is the sample mode. For Nth-order tensor data, TX is of 
%        (N+1)th-order with the (N+1)-mode to be the sample mode.
%        E.g., 30x20x10x100 for 100 samples of size 30x20x10
%        If your training data is too big, resulting in the "out of memory"
%        error, you could work around this problem by reading samples one 
%        by one from the harddisk, or you could email me for help.
%
%    gndTX: the ground truth class labels (1,2,3,...) for the training data
%           E.g., a 100x1 vector if there are 100 samples
%           If the class label is not available (unsupervised learning),
%           please set gndTX=-1;
%
%    testQ: the percentage of variation kept in each mode, suggested value
%           is 97, and you can try other values, e.g., from 95 to 100, to
%           see whether better performance can be obtained.
%
%    maxK: the maximum number of iterations, suggested value is 1, and you 
%          can try a larger value if computational time is not a concern.
%
% %[Outputs]%:
%    tUs: the multilinear projection, consiting of N
%         projection matrices, one for each mode
%
%    odrIdx: the ordering index of projected features in decreasing  
%            variance (if unsupervised) or discriminality (if supervised)  
%            for vectorizing the projected tensorial features
%
%    TXmean: the mean of the input training samples TX
%
%    Wgt: the weight tensor for use in modified distance measures. Please
%         refer to Section IV.B and IV.C of the paper.
%
% %[Supported tensor order]%
% This function supports N=2,3,4, for other order N, please modify the
% codes accordingly or email hplu@ieee.org or eehplu@gmail.com for help
%
% %[Examples]%
%%%%%%%%%%%%%%%%%%%%%%%%%%Example on 2D face data%%%%%%%%%%%%%%%%%%%%%%%%%%
%       load FERETC80A45%each sample is a second-order tensor of size 32x32
%       N=ndims(fea2D)-1;%Order of the tensor sample
%       Is=size(fea2D);%32x32x320
%       numSpl=Is(3);%There are 320 face samples
%       testQ=97;%Keep 97% variation in each mode
%       maxK=1;%One iteration only
%       [tUs, odrIdx, TXmean, Wgt] = MPCA(fea2D,gnd,testQ,maxK);
%       fea2Dctr=fea2D-repmat(TXmean,[ones(1,N), numSpl]);%Centering
%       newfea=ttm(tensor(fea2Dctr),tUs,1:N);%MPCA projection
%       %Vectorization of the tensorial feature
%       newfeaDim=size(newfea,1)*size(newfea,2);
%       newfea=reshape(newfea.data,newfeaDim,numSpl)';%Note: Transposed
%       selfea=newfea(:,odrIdx(1:P));%Select the first "P" sorted features
%       %"P" is the dimension of the final feature vector to be fed into a 
%       %standard classifier (e.g., nearest neighbor classifier), you may 
%       %need to test different values of P for best performance
%       Wgt=reshape(Wgt,newfeaDim,1);%Vectorizing weight tensor
%       Wgt=Wgt(odrIdx);%Select the weights accordingly
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%Example on 3D gait data%%%%%%%%%%%%%%%%%%%%%%%%%%
%       load USF17Gal %each sample is a third-order tensor of size 32x22x10
%       N=ndims(fea3D)-1;%Order of the tensor sample
%       Is=size(fea3D);%32x22x10x731
%       numSpl=Is(4);%There are 731 gait samples
%       testQ=97;%Keep 97% variation in each mode
%       maxK=1;%One iteration only
%       [tUs, odrIdx, TXmean, Wgt] = MPCA(fea3D,gnd,testQ,maxK);
%       fea3Dctr=fea3D-repmat(TXmean,[ones(1,N), numSpl]);%Centering
%       newfea = ttm(tensor(fea3Dctr),tUs,1:N);%MPCA projection
%       %Vectorization of the tensorial feature
%       newfeaDim=size(newfea,1)*size(newfea,2)*size(newfea,3);
%       newfea=reshape(newfea.data,newfeaDim,numSpl)';%Note: Transposed
%       selfea=newfea(:,odrIdx(1:P));%Select the first "P" sorted features
%       %"P" is the dimension of the final feature vector to be fed into a 
%       %standard classifier (e.g., nearest neighbor classifier), you may 
%       %need to test different values of P for best performance
%       Wgt=reshape(Wgt,newfeaDim,1);%Vectorizing weight tensor
%       Wgt=Wgt(odrIdx);%Select the weights accordingly
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% %[Notes]%:
% A. Developed using Matlab R2006a
% B. Revision history:
%       Version 1.0 released on March 1, 2008
%       Version 1.1 released on June 24, 2008
%           ---Example usage on 2D data is included
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%TX: (N+1)-dimensional tensor of Tensor Sample Dimension x NumSamples
N=ndims(TX)-1;%The order of samples.
IsTX=size(TX);
Is=IsTX(1:N);%The dimensions of the tensor
numSpl=IsTX(N+1);%Number of samples

%%%%%%%%%%%%%Zero-Mean%%%%%%%%%%
TXmean=mean(TX,N+1);%The mean
TX=TX-repmat(TXmean,[ones(1,N), numSpl]);%Centering

%The full projection for initialization
Qs=ones(N,1)*testQ;
Us=cell(N,1);
tUs=cell(N,1);
Lmds=cell(N,1);
for n=1:N
    In=Is(n);Phi=zeros(In,In);
    for m=1:numSpl
        switch N
            case 2
                Xm=TX(:,:,m);
            case 3
                Xm=TX(:,:,:,m);
            case 4
                Xm=TX(:,:,:,:,m);
            otherwise
                error('Order N not supported. Please modify the code here or email hplu@ieee.org for help.')
        end
        tX=tensor(Xm);
        tXn=tenmat(tX,n);
        Xn=tXn.data;
        Phi=Phi+Xn*Xn';
    end
    [Un,Lmdn]=eig(Phi);
    Lmd=diag(Lmdn);
    [stLmd,stIdx]=sort(Lmd,'descend');
    Us{n}=Un(:,stIdx);
    tUs{n}=Us{n}';
    Lmds{n}=Lmd(stIdx);
end

%Cumulative distribution of eigenvalues
cums=cell(N,1);
for n=1:N
    In=length(Lmds{n});
    cumLmds=zeros(In,1);
    Lmd=Lmds{n};
    cumLmds(1)=Lmd(1);
    for in=2:In
        cumLmds(in)=cumLmds(in-1)+Lmd(in);
    end
    cumLmds=cumLmds./sum(Lmd);
    cums{n}=cumLmds;
end

%MPCA Iterations
if maxK>0
    tPs=cell(N,1);
    pUs=cell(N,1);
    %%%%%%%%%%%%%Determine Rn, the dimension of projected space%%%%
    for n=1:N
        cum=cums{n};
        idxs=find(cum>=Qs(n)/100);
        Ps(n)=idxs(1);
        tUn=tUs{n};
        tPn=tUn(1:Ps(n),:);
        tPs{n}=tPn;
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    for iK=1:maxK
        for n=1:N
            In=Is(n);
            Phi=double(zeros(In,In));
            for m=1:numSpl
                switch N
                    case 2
                        Xm=TX(:,:,m);
                    case 3
                        Xm=TX(:,:,:,m);
                    case 4
                        Xm=TX(:,:,:,:,m);
                    otherwise
                        error('Order N not supported. Please modify the code here or email hplu@ieee.org for help.')
                end
                tX=ttm(tensor(Xm),tPs,-n);
                tXn=tenmat(tX,n);
                Xn=tXn.data;
                Phi=Phi+Xn*Xn';
            end
            Pn=Ps(n);
            Phi=double(Phi);
            if Pn<In
                option=struct('disp',0);
                [pUs{n},pLmdn]=eigs(Phi,Pn,'lm',option);
                pLmds{n}=diag(pLmdn);
            else
                [pUn,pLmdn]=eig(Phi);
                pLmd=diag(pLmdn);
                [stLmd,stIdx]=sort(pLmd,'descend');
                pUs{n}=pUn(:,stIdx(1:Pn));
                pLmds{n}=pLmd(stIdx(1:Pn));
            end
            tPs{n}=pUs{n}';
        end
    end
    Us=pUs;
    tUs=tPs;
    Lmds=pLmds;
    Is=Ps;
else
    if testQ<100
        error('At least one iteration is needed');
    end
end

%Calculate the weight tensor Wgt
Wgt=zeros(Is);
switch N
    case 2
        for i1=1:Is(1)
            for i2=1:Is(2)
                Wgt(i1,i2)=sqrt(Lmds{1}(i1)*Lmds{2}(i2));
            end
        end
    case 3
        for i1=1:Is(1)
            for i2=1:Is(2)
                for i3=1:Is(3)
                    Wgt(i1,i2,i3)=sqrt(Lmds{1}(i1)*Lmds{2}(i2)*Lmds{3}(i3));
                end
            end
        end
    case 4
        for i1=1:Is(1)
            for i2=1:Is(2)
                for i3=1:Is(3)
                    for i4=1:Is(4)
                        Wgt(i1,i2,i3,i4)=sqrt(Lmds{1}(i1)*Lmds{2}(i2)*Lmds{3}(i3)*Lmds{4}(i4));
                    end
                end
            end
        end
    otherwise
        error('Order N not supported. Please modify the code here or email hplu@ieee.org for help.')
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Yps=ttm(tensor(TX),tUs,1:N);%MPCA projections of samples TX
vecDim=1;
for n=1:N, vecDim=vecDim*Is(n); end
vecYps=reshape(Yps.data,vecDim,numSpl); %vectorization of Yps
%%%%%%%%%%%%%%Now vecYps contains the feature vectors for training data

if max(gndTX)<0%%%%%%%%%%%%%%%%%%%%%%%%Sort by Variance%%%%%%%%%%%%%%%%%%%%
    TVars=diag(vecYps*vecYps');
    [stTVars,odrIdx]=sort(TVars,'descend');
else%%%%%%%%%%%%%%%Sort according to Fisher's discriminality%%%%%%%%%%%%%%%
    classLabel = unique(gndTX);
    nClass = length(classLabel);%Number of classes
    ClsIdxs=cell(nClass);
    Ns=zeros(nClass,1);
    for i=1:nClass
        ClsIdxs{i}=find(gndTX==classLabel(i));
        Ns(i)=length(ClsIdxs{i});
    end
    Ymean=mean(vecYps,2);
    TSW=zeros(vecDim,1);
    TSB=zeros(vecDim,1);
    for i=1:nClass
        clsYp=vecYps(:,ClsIdxs{i});
        clsMean=mean(clsYp,2);
        FtrDiff=clsYp-repmat(clsMean,1,Ns(i));
        TSW=TSW+sum(FtrDiff.*FtrDiff,2);
        meanDiff=clsMean-Ymean;
        TSB=TSB+Ns(i)*meanDiff.*meanDiff;
    end
    FisherRatio=TSB./TSW;
    [stRatio,odrIdx]=sort(FisherRatio,'descend');
end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区在线看| 一级女性全黄久久生活片免费| 中文字幕亚洲成人| 蜜臀国产一区二区三区在线播放| 成人午夜电影久久影院| 777久久久精品| 成人欧美一区二区三区在线播放| 日本不卡不码高清免费观看| 91麻豆蜜桃一区二区三区| 精品欧美乱码久久久久久1区2区| 性做久久久久久久免费看| 成人一级视频在线观看| 26uuu精品一区二区| 一个色妞综合视频在线观看| 成人丝袜高跟foot| 欧美精品一区男女天堂| 日韩国产欧美三级| 欧美高清一级片在线| 一区二区三区色| 91丨九色porny丨蝌蚪| 国产精品久久久久久久午夜片| 国产伦理精品不卡| 精品久久五月天| 久久不见久久见免费视频7 | 欧美一级二级在线观看| 一区二区三区免费在线观看| av不卡在线观看| 一区二区中文字幕在线| 成人白浆超碰人人人人| 中文字幕亚洲欧美在线不卡| 成人av网站大全| 国产精品嫩草99a| 92精品国产成人观看免费| 国产精品网曝门| jlzzjlzz亚洲日本少妇| 亚洲色图欧洲色图| 欧美在线|欧美| 亚洲国产精品久久人人爱| 欧美性受xxxx| 日本在线不卡视频| 精品国产网站在线观看| 国产ts人妖一区二区| 欧美激情资源网| 色呦呦国产精品| 亚洲成人免费av| 日韩视频一区在线观看| 国产精品一区二区男女羞羞无遮挡 | 精品视频资源站| 天堂在线亚洲视频| 2014亚洲片线观看视频免费| 国产一区在线观看视频| 国产欧美一区二区精品性色超碰| 成人av在线一区二区三区| 亚洲免费观看在线观看| 欧美乱妇15p| 国产综合成人久久大片91| 国产精品每日更新在线播放网址 | 在线观看日韩av先锋影音电影院| 亚洲午夜国产一区99re久久| 精品国产凹凸成av人导航| 成人app网站| 五月婷婷综合激情| 国产日韩欧美亚洲| 欧美日本国产一区| 国产精品亚洲综合一区在线观看| 亚洲天堂免费看| 91精品在线免费观看| 成人精品国产一区二区4080| 亚洲午夜久久久久久久久久久| 欧美精品一区二| 日本韩国精品一区二区在线观看| 蜜臀av亚洲一区中文字幕| 中文字幕在线不卡视频| 日韩欧美成人激情| 日本电影欧美片| 成人性生交大片免费| 日本午夜一区二区| 一区二区高清免费观看影视大全| 日韩精品影音先锋| 欧美日韩一区二区三区高清| 成人免费毛片app| 蜜臀久久久99精品久久久久久| 亚洲欧美国产高清| 国产农村妇女精品| 日韩美一区二区三区| 在线免费观看日本一区| 成人午夜私人影院| 精久久久久久久久久久| 午夜欧美视频在线观看| 亚洲视频狠狠干| 久久亚洲一区二区三区明星换脸| 在线观看亚洲精品| 成人av在线播放网址| 经典一区二区三区| 日韩av中文字幕一区二区| 亚洲精品中文字幕在线观看| 国产精品免费aⅴ片在线观看| 精品国产一区二区三区不卡| 欧美日本一道本| 欧美亚洲动漫精品| 在线视频一区二区三区| 一本色道亚洲精品aⅴ| 成人午夜av在线| 成人黄色一级视频| 成人污视频在线观看| 国产suv精品一区二区6| 国产精品99久久久| 国产大陆a不卡| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 久久久久99精品一区| 欧美一级久久久| 91精品国产欧美一区二区成人| 欧美视频在线一区二区三区| 91福利视频在线| 欧美日韩一区三区四区| 91国产免费看| 欧美日本在线视频| 欧美一级二级在线观看| 欧美成人性战久久| 国产亚洲欧美一级| 国产精品看片你懂得| 日韩一区在线看| 亚洲高清免费视频| 美女视频黄久久| 国产一区二区三区四| 国产福利一区在线| 91麻豆国产福利精品| 欧美在线不卡一区| 欧美人与性动xxxx| 精品国产免费人成电影在线观看四季 | 偷拍亚洲欧洲综合| 热久久一区二区| 国产久卡久卡久卡久卡视频精品| 国产v综合v亚洲欧| 色婷婷综合久久久久中文一区二区| av动漫一区二区| 欧美日韩电影在线| 欧美xxxxx牲另类人与| 国产清纯白嫩初高生在线观看91 | 国产亚洲欧美中文| 亚洲精品日日夜夜| 丝袜亚洲另类欧美综合| 国内精品伊人久久久久av一坑| 国产福利不卡视频| 91激情五月电影| 欧美一区二区三区在线观看视频 | 欧美tickle裸体挠脚心vk| 国产三级久久久| 亚洲成人手机在线| 国产精品18久久久久久久久久久久 | 欧美一区二区久久| 久久精品欧美一区二区三区不卡| 综合欧美一区二区三区| 卡一卡二国产精品| 99国产精品久久久久| 欧美一区二区三区视频免费播放| 中文字幕久久午夜不卡| 日韩成人一区二区三区在线观看| 丁香婷婷综合色啪| 日韩欧美不卡一区| 亚洲综合另类小说| 成人少妇影院yyyy| 日韩免费视频一区二区| 亚洲精品视频在线看| 国产成人综合视频| 日韩视频在线一区二区| 一区二区三区四区高清精品免费观看 | 日本sm残虐另类| 色婷婷av久久久久久久| 久久尤物电影视频在线观看| 午夜视频在线观看一区| 91亚洲大成网污www| 久久久久久久久久看片| 日韩国产欧美一区二区三区| 在线免费精品视频| 国产精品的网站| 国产精品一区不卡| 精品粉嫩超白一线天av| 亚洲一二三四久久| 91小视频在线观看| 中文字幕一区二区三区精华液| 精品亚洲成a人在线观看| 制服丝袜国产精品| 石原莉奈在线亚洲二区| 欧美喷潮久久久xxxxx| 亚洲精品日韩综合观看成人91| 成人午夜视频在线| 国产农村妇女毛片精品久久麻豆| 裸体一区二区三区| 91精品黄色片免费大全| 日韩电影在线观看电影| 欧美日韩一级大片网址| 亚洲一二三区视频在线观看| 在线观看亚洲a| 亚洲尤物在线视频观看| 欧美视频一区在线| 亚洲图片欧美一区| 欧美日韩一区二区三区在线| 亚洲一区二区三区不卡国产欧美 | 天天影视网天天综合色在线播放|