⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 purgefacerecogmodel.m

📁 It is for Face Recognition
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function purgeFaceRecogModel()
%   z.li, 06-14-2004
%   purge local model of person with too small number of faces
% function dependency:
%   - n/a
% input:
%   ids         - all person ids
%   pCnt        - face (pose) cnt for each id
%   X, Y        - local model
%   minFaceCnt  - min number of faces per person, 
% output:
%   X1 - purged model in dxm
%   Y1 - label in dx1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function [X1, Y1, nModel]=purgeFaceRecogModel(ids, pCnt, X, Y, minFaceCnt);
function [X1, Y1, nModel]=purgeFaceRecogModel(ids, pCnt, X, Y, minFaceCnt);

 %const
 maxCondAllowed = 1000;

 [val, indx]=sort(pCnt);
 nId = length(Y);
 okIndx = find(val>=minFaceCnt);
 nModel = length(okIndx);
 modelIds=ids(indx(okIndx));
  
 offs=0;
 modelIndx=[];
 for t=1:nModel
   idx=[]; idx=find(Y==modelIds(t)); fCnt=length(idx);
   modelIndx(offs+1:offs+fCnt)=idx;
   offs=offs+fCnt;
 end  

 X1 = X(:,modelIndx);
 Y1 = Y(:,modelIndx);

 % check pooled covariance
 covX = cov(X1');
 if cond(covX) > maxCondAllowed 
    nModel=-1;      % indicate model is not good. 
 end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -