buildlocalfacerecogmodel.m

来自「It is for Face Recognition」· M 代码 · 共 49 行

M
49
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function buildLocalFaceRecogModel()
%   z.li, 06-14-2004
%   build local face recog models from known faces specified by ids and 
%   poses, the radius is given by R.
% function dependency:
%   - n/a
% input:
%   fm1         - face models in d x n
%   x1          - an unknown person
%   R           - local radius
%   ids         - known persons
%   poses       - known poses
% output:
%   X - model in dxm
%   Y - label in dx1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function [X, Y, poseCnt] = buildLocalFaceRecogModel(fm1, x1, R, ids, poses);
function [X, Y, poseCnt] = buildLocalFaceRecogModel(fm1, x1, R, ids, poses);
 dbg='n';
 if dbg=='y'
    fm1 = Fm1; x1 = Fm1(:,124); R= 600;
    ids = [1:40]; poses=[1:8];   
 end


 %var
 nId = length(ids);
 poseCnt = zeros(1, nId);

 cnt = 0; 
 for j=1:length(ids)
    cId = ids(j);                   % current person id
    poseCnt(j) = 0;
    for k=1:length(poses)      
       f1=getAttFaceProj(fm1, cId, poses(k));
       if isnan(f1(1)) ~= 1         % proj exists
          if norm(f1-x1, 2) <= R    % within local neigbourhood
            cnt=cnt+1;
            poseCnt(j)=poseCnt(j)+1;
            % insert a sample to the model
            X(:,cnt)=f1; Y(:,cnt) = cId;            
          end %if norm
       end %if isnan
    end %for k
 end %for j

 

⌨️ 快捷键说明

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