我写了使用特征脸进行人脸识别的matlab代码,我得到了归一化图像,均值图像,特征脸,然后我计算了最小和最大核距离distance.Now,我必须将核距离与阈值进行比较才能识别人脸。如何计算每个人脸图像的阈值?下一步是什么?
%show the reconstructed image.
subplot(1,2,2)
imagesc(ReshapedImage); colormap('gray');
title('Reconstructed image','fontsize',18)
InImWeight = [];
for i=1:size(u,2)
t = u(:,i)';
WeightOfInputImage = dot(t,Difference');
InImWeight = [InImWeight; WeightOfInputImage];
end
ll = 1:M;
figure(68)
subplot(1,2,1)
stem(ll,InImWeight)
title('Weight of Input Face','fontsize',14)
% Find Euclidean distance
e=[];
for i=1:size(omega,2)
q = omega(:,i);
DiffWeight = InImWeight-q;
mag = norm(DiffWeight);
e = [e mag];
end
kk = 1:size(e,2);
subplot(1,2,2)
stem(kk,e)
title('Eucledian distance of input image','fontsize',14)
MaximumValue=max(e)
MinimumValue=min(e)
发布于 2014-03-25 10:43:04
据我所知,人脸识别中的阈值选择没有一个标准的规则。
由于您似乎有一个图像训练集,您可以尝试基于生物识别性能指标选择阈值,例如错误接受率(FAR)和错误匹配率(FMR)。
您可以尝试通过在某个范围内改变阈值来对训练集中的图像进行分类,并接受MinimumValue
低于阈值的图像的检测。根据你得到的结果,你可以为你的训练集选择一个合适的阈值。
发布于 2015-03-06 19:17:04
我也被卡住了。虽然错过了这个故事,但这就像是在怀疑我。
我要指出的是:实际上阈值并不是计算出来的。它是根据经验进行估计和选择的。这是一些需要尝试和测试的东西。您必须设置一个值并比较接受和拒绝,最重要的是:评估有多少错误接受(FA)和错误拒绝(FR)
理想情况下,可以预期阈值EER是这样的:当FA速率等于FR速率时,就实现了该速率。
您可以做的是获取范围最小,最大距离,并测试10,20,或您想要的阈值范围内的数量。一些论文认为阈值是相对于最大值的百分比值。这大概是0.8 * Max。
当然,您应该不止一次地尝试找到最适合每个人的阈值。
最好的准备好了。对于每个图像,您都有自己的阈值。我希望我能帮上忙。
https://stackoverflow.com/questions/22625591
复制相似问题