在人脸识别过程中,如何在matlab的训练集中为每幅图像计算特征脸或pca算法的阈值?
我编写了使用特征脸进行人脸识别的matlab代码。我得到了归一化图像、平均图像、特征脸,并计算了最小和最大欧氏距离。现在我必须比较欧氏距离和阈值来识别人脸。如何计算每个人脸图像的阈值?下一步是什么在人脸识别过程中,如何在matlab的训练集中为每幅图像计算特征脸或pca算法的阈值?,matlab,face-recognition,threshold,eigenvector,Matlab,Face Recognition,Threshold,Eigenvector,我编写了使用特征脸进行人脸识别的matlab代码。我得到了归一化图像、平均图像、特征脸,并计算了最小和最大欧氏距离。现在我必须比较欧氏距离和阈值来识别人脸。如何计算每个人脸图像的阈值?下一步是什么 %show the reconstructed image. subplot(1,2,2) imagesc(ReshapedImage); colormap('gray'); title('Reconstructed image','fontsize',18) InImWeigh
%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)
据我所知,在人脸识别中没有一个标准的阈值选择规则 由于您似乎有一组图像训练集,因此您可以尝试根据生物特征性能指标选择阈值,例如错误接受率(FAR)和错误匹配率(FMR) 您可以尝试通过在特定范围内改变阈值来对训练集中的图像进行分类,并接受对
MinimumValue
低于阈值的图像的检测。
根据你得到的结果,你可以为你的训练集选择一个合适的阈值。我几乎还是一样。虽然错过了这个故事,但这就像是滥发我的怀疑 我要指出: 实际上,没有计算阈值。它是根据经验估算和选择的。这是需要尝试和检验的。 您必须设置一个值并比较acept和拒绝,最重要的是:评估有多少错误acept(FA)和错误拒绝(FR) 理想情况下,期望阈值EER是这样的,即当FA的速率等于FR速率时,达到阈值EER 您可以做的是获取范围[Min,Max]距离并测试10、20或您希望阈值在范围内的数量。 一些论文认为阈值是相对于最大值的百分比值。这大约是0.8*Max 当然,你应该不止一次地尝试找到最适合每个人的门槛 最好的礼物准备好了。您已经获得了每个图像的阈值。
我希望我能有所帮助。距离的范围[Min,Max]我们是通过比较火车组的图像找到的吗?距离的范围(Min和Max)是标准的,因为改变了方法,我找到了其他距离范围,以及如何找到它?