人脸识别算法评价指标——TAR,FAR,FRR,ERR

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuweiyuxiang/article/details/81259492

前言

最近在阅读人脸识别的论文,发现里面用到的指标是TAR(True Accept Rate)和FAR(False Accept Rate),开始没有在意以为相当于TPR(True Positive Rate)和FPR(False Positive Rate), 后来发现并不是这么回事,在百度上也找直接的解释,但是也有一些收获,这里结合自己的理解把学到的东西记录一下。

定义

TPR和FPR

首先我们来看我们熟悉的TPR(True Positive Rate)和FPR(False Positive Rate),TPR(True Positive Rate)和FPR(False Positive Rate)是二分类算法常用的评价指标,分别是真正例率和假正例率。他们都是基于混淆矩阵的度量标准。
混淆矩阵
这里写图片描述
下面我们来看看他们的怎么进行计算。
TPR (True Positive Rate)为真正例率,也成召回率和灵敏性:正确识别的正例数据在实际正例数据中的百分比。

T P R = T P T P + F N

FPR (True Positive Rate)为假正例率:实际值是负例数据,预测错误的百分比。
F P R = F P T N + F P

关于基于混淆矩阵的分类器的性能度量还有一些别的指标,具体请参考: scikit-learn中评估分类器性能的度量,像混淆矩阵、ROC、AUC等

TAR,FAR 和 FRR,ERR

FAR

接下来看人脸识别中的 常用的指标TAR和FAR。TAR(True Accept Rate)表示正确接受的比例,FAR(False Accept Rate)表示错误接受的比例。所谓的接受就是在进行人脸验证的过程中,两张图像被认为是同一个人。在网上到的了FAR(False Accept Rate)的计算方式如下:

F A R = > T

对于人脸识别不太了解的小伙伴可能不太了解上面公式的意思,下面我就来解释一下。做人脸验证的时候我们会给出两张图像让算法判断两张图片是不是同一个人的。一般是先将两张图片表示成两个高维的特征向量,然后计算两个特征向量的相似度或者距离。在这里定义FAR时使用的是相似度,公式中分数就是指的相似度。在比较的过程中我们希望同一个人的图像相似度比较高,不同人的相似度比较低。我们会给定一个相似度阈值T,比如0.6, 如果两张图像的相似度大于T我们就认为两张图片是一个人的,如果小于T我们就认为两证图像 是不同人的。但是无论将T设置成什么样值都会有一定得错误率,就是FAR,因为我们提取的图像的特征向量总是不够好,并不总能 满足:同一个人的图像相似度比较高,不同人的相似度比较低。偶尔也会出现不同人的图像的相似度大于给定的阈值T,这样我们就会犯错误接受的错误。FAR就是我们比较不同人的图像时,把其中的图像对当成同一个人图像的比例。我们希望FAR越小越好。

TAR

TAR(True Accept Rate)表示正确接受的比例。所谓的就是在进行人脸验证的过程中,两张图像被认为是同一个人。我在网上并没有查到TAR的定义,在这里我参照FAR的定义猜测一下,不一定正确,如有错误还望批评指正。

F T A R = > T

参考上面对 FAR的解释,我们知道对相同人的图片对进行比较也会出现相似度小于阈值T的情况,这是我们就会犯错误,这个错误就是FRR( False Reject Rate),就是把相同的人的图像当做不同人的了,这个下面我们再讲。可以理解 TAR就是对相同人的图片对进行比较,我们计算出的相似度大于阈值的图像对所占的比例。我们希望TAR越大越好。

FRR

上面讲解TAR的时候,提到了FRR(False Reject Rate)就是错误拒绝率。就是把相同的人的图像当做不同人的了。有了上面的基础,FRR就很好理解了:

F R R = < T

根据上述公式的定义,我们知道 F R R + T A R = 1 , T A R = 1 F R R

EER

EER(Equal Error Rate)即等误率。
EER为 FAR=FRR 时,对应的T值。
一般画两条曲线,看看交点。

TAR @ FAR=0.00100

我们阅读论文的时候经常看到,TAR = * @ FAR=0.00100 这样的算法性能报告,意思是说在FAR=0.00100的情况下TAR=*。之所以采用这种形式是因为在不同的FAR下度量的TAR是会不同的。我们可以考虑,增大相似度阈值T的话,可以减小FAR使错误接受的比例降低,但是同时,TAR也会减小,FRR会增加使错误拒接的比例增加。这相当于提供了标准,会有更少的图像对满足相似度的要求。相反,减小相似度阈值T的话,可以增大TAR使正确接受的比例增加,FRR会减小是错误拒绝的比例减小,但是同时FAR也会增加,使错误接受的人增加。
我们考虑极端情况,相似度阈值T设置为1,这样的话,所有的人都将被拒绝,绝对不会发生错误接受,也不存在正确接受,FRR=1,FAR=0,TAR =0。相反,可以把相似度阈值T设置为0。
所以我看可以看到在报告TAR时,必须说明FAR=0.00100才是有意义的,否则的话,我把FAR设置为1(所有不同的也被全部接受),我的算法的TAR就能达到1。
一般在评价算法的性能时,我们会统计 FAR=0.001/FAR=0.01时,FRR的值作为参考。FRR值越小,TAR越大, 性能越好。

参考文章

  1. 人脸识别的性能指标
  2. 人脸识别FAR值重新认识
  3. 误识率(FAR)拒识率(FRR),TPR,FPR以及ROC曲线
  4. FAR FRR EER
  5. 图像识别中的FAR,FRR,ERR总结

猜你喜欢

转载自blog.csdn.net/liuweiyuxiang/article/details/81259492