• 大小: 24.03MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-02
  • 语言: Matlab
  • 标签: PLDA  matlab代码  

资源简介

PLDA模型训练matlab代码

资源截图

代码片段和文件信息

%******************** Disclaimer *****************************************
% This program is distributed in the hope that it will be useful but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
%
% The program is free for academic use. If you are interested in using the
% software for commercial purposes.  Please contact 
%   Dr. Simon J. D. Prince  
%   Email: s.prince@cs.ucl.ac.uk  

% Plase use the citation provided below if it is useful to your research:
%
% S.J.D. Prince and J.H. Elder 揚robabilistic linear discriminant analysis
% for inferences about identity? ICCV 2007. 
%
% P. Li and S.J.D. Prince 揚robabilistic Methods for Face Registration and
% Recognition? In Advances in Face Image Analysis: Techniques and
% Technologies Y. Zhang (eds.)  (in press). 

%**************************************************************************
% function LogLikelihood = PLDA_Identification(ModelDataGalleryDataProbe)
%
% Face identification using PLDA based on model comparison
%   Calculate the loglikelihoods of models that DataProbe match DataGallery
%   using learned PLDA
%
%   Inputs:
%       Model           - Learned PLDA model
%       DataGallery     - Gallery data: NFeature x nGallery
%       DataProbe       - Probe data:   NFeature x nProbe
%   Outputs:
%       LogLikelihood   - nGallery x nProbe matrix of loglikelihoods that
%                           assumes a probe image matches a gallery image
%**************************************************************************
% Date: 04-03-2010
function LogLikelihood = PLDA_Identification(Model DataGallery DataProbe)

% Get the learned model parameters
F = Model.F;
G = Model.G;
Sigma = Model.Sigma;
meanVec = Model.meanVec;

% Define space for log likelihoods
nGallery = size(DataGallery 2);
nProbe = size(DataProbe 2);
LogLikelihood = zeros(nGallery nProbe);

% Subtract mean from gallery and probe data
DataGallery = DataGallery - repmat(meanVec1nGallery);
DataProbe = DataProbe - repmat(meanVec1nProbe);

% Preprocess PLDA model and data to accelerate the computation
HIGHEST_N = 2; % highest number of faces explained by one variable
factorModel = preProcessPLDAModel(F G Sigma HIGHEST_N);
galleryDataPP = preProcessPLDAData(factorModel DataGallery);
probeDataPP = preProcessPLDAData(factorModel DataProbe);

% Precalculate single probability terms - senario that each gallery image
% is from a different identity
logLikeGalleryNoMatch = zeros(nGallery 1);
for cImage = 1:nGallery
    logLikeGalleryNoMatch(cImage) = getLogLikeMatchPLDA(...
        factorModel galleryDataPP(cImage));
end

% Loop over each probe
for cProbe = 1 : nProbe
    % Loop over each gallery
    for cGallery = 1 : nGallery
        % Loglikelihood of this model w.r.t. the non-match terms
        logLikeModel = sum(logLikeGalleryNoMatch(:))...
            - logLikeGalleryNoMatch(cG

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件    10537008  2010-01-05 12:04  Data.mat
     文件    14638107  2010-03-04 15:11  PLDAModel.mat
     文件        6762  2010-03-04 14:56  PLDA_Identification.m
     文件        2180  2010-03-04 14:55  PLDA_Identification_Demo.m
     文件        2764  2010-03-04 14:54  PLDA_Identification_Demo2.m
     文件        8946  2010-03-04 15:07  PLDA_Train.m
     文件        1815  2010-03-04 15:06  PLDA_Train_Demo.m
     文件        5715  2010-03-04 15:14  PLDA_Verification.m
     文件        2863  2010-03-04 15:32  PLDA_Verification_Demo.m
     文件        4299  2010-03-04 15:35  Rand_Feature_Sampling_Demo.m
     文件        3450  2010-03-04 15:41  Readme.txt

评论

共有 条评论