📄 purgefacerecogmodel.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 + -