📄 facerelevance.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function faceRelevance()
% z.li, 03-18-2004
% find face relevance to a model with certain distance metric
% function dependency:
% - faceDistance(metric, v1, v2)
% input:
% prj - feature space as the d x nFace*nPose prj matrix
% model - [id f1 f2 f3 f4 ... fm] id's m faces
% identifying certain person
% metric - 'eucl', 'ker1', 'ker2'...etc
% idf - [id f] face in question
% output:
% relv - [0 1] value
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%function [relv]=faceRelevance(prj, metric, model, idf)
function [relv]=faceRelevance(prj, metric, model, idf)
dbg = 'y';
if dbg == 'y'
prj = load('prjAttFacesSide05Top10Low15W16H20LumaMin60Max150.dat');
model = [30 9 10 8 2 7];
metric = 'eucl';
idf = [20 6];
end
% const
dbgPlot = 'y';
nFace = 40; nPose = 10;
alpha = 0.001; nd = 12;
% compute distance vector to the model
qId = idf(1); qFn = idf(2);
qVec = prj(1:nd,(qId-1)*nPose+qFn);
moId = model(1); moFn = model(2:end); m = length(moFn);
for k=1:m
moVec = prj(1:nd,(moId-1)*nPose+moFn(k));
if moVec == inf
dv(k) = inf;
else
dv(k) = faceDistance(metric, qVec, moVec);
end
end
[dmin kmin] = min(dv);
relv = exp(-alpha*dmin);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -