在我的研究中,我观察到许多人脸识别算法都提出了它们的模型精度,即LFW数据集的精度。我看到LFW数据集有5749个不同的人的图像,没有训练和测试的分离。
我已经开发了自己的用于人脸识别的DNN模型,它类似于facenet架构。有人能帮我回答下面的问题吗?
1)每个人都在谈论LFW上的哪个具体精度参数?我知道ROC、精确度、召回率和FAR vs FRR图等准确性参数。是否与这些参数有关?
和
2)计算我的模型的LFW精度的步骤?任何开源链接都是值得注意的。
发布于 2020-03-14 12:59:34
我看到LFW数据集有5749个不同的人的图像,没有训练和测试的分离。
实际上,LFW提供了用于训练和测试的拆分。详情请参阅http://vis-www.cs.umass.edu/lfw/#views。
每个人都在谈论LFW上的哪个具体精度参数?我知道ROC、精确度、召回率和FAR vs FRR图等准确性参数。是否与这些参数有关?
LFW采用ROC曲线(图)、平均分类精度u
和平均S_E
的标准误差(表)。用假阳性率( FPR )和真阳性率( TPR )绘制ROC曲线。
程序来计算我的模型的LFW精度?
两个有用的链接:
https://en.wikipedia.org/wiki/Confusion_matrix
FPR, TPR
曲线以及计算TP, FN, TP, TN
和u
:S_E
获得ROC曲线及u
和S_E
的程序
pairs.txt
,它包含10组分别为300个匹配和300个不匹配的对。所以总共有6000对,其中一半匹配,另一半不匹配。间隔设置阈值的范围从0到1,例如,间隔0.001,它在所有对上产生1,000 thresholds.d
。对于阈值匹配,如果d
<= t
,则对被预测为匹配的。否则,将每个阈值对预测为mismatched.t
1. For each matched pair,
1. If it is predicted as matched, `TP+=1`;
2. If it is predicted as mismatched, `FN+=1`.
1. For each mismatched pair,
1. If it is predicted as matched, `FP+=1`;
2. If it is predicted as mismatched, `TN+=1`.
1. Compute `TPR, FPR, Acc`:
1. `TPR = TP / (TP + FN)`;
2. `FPR = FP / (FP + TN)`;
3. `Acc = (TP + TN) / (TP + FN + FP + TN)`.
[(TPR_t1, FPR_t1, Acc_t1), (TPR_t2, FPR_t2, Acc_t2), ...]
这样的1000长的列表。通过绘制FPR
s与TPR
s的关系曲线,u
是Acc
s的平均值,S_E
是ROC的标准差发布于 2020-09-03 13:24:04
在scikit-learn中,LFW已经被分成了train,test和10_folds。
from sklearn.datasets import fetch_lfw_pairs
lfw_pairs_test = fetch_lfw_pairs(subset = 'test')
pairs = lfw_pairs_test.pairs
target = fetch_lfw_pairs.target
配对存储2个图像项。您可以在自定义模型中测试这些对,并将预测结果与目标值进行比较。
https://stackoverflow.com/questions/60504959
复制相似问题