人脸识别常用的评估指标

导读

随着硬件性能的提升和人脸数据量的增大,人脸识别也越来越成熟,商业应用也越来越多。经常看到很多文章说,人脸识别算法做了什么什么改进在LFW上的识别准确率达到99.6%以上

实际上,仅仅一个准确率指标是无法衡量一个模型的性能,准确率无法体现出人脸识别中最重要的指标通过率拒绝率通过率包含两种情况同一个人通过的概率和不同人通过的概率,拒绝率包含两种情况不同人被拒绝的概率和同一个人被拒绝的概率,通常我们希望模型在不同人通过率越低的情况下同一个人通过率越高越好,下面的评估指标主要也是基于这两个进行演化的。

人脸识别

现在人脸识别的应用多种多样,如人脸考勤实名验证身份验证人脸支付以及天网系统等。实际上底层的实现技术主要还是依靠人脸验证人脸搜索,人脸验证也称为1:1人脸匹配,人脸搜索也称为1:N人脸匹配

首先我们从包含人脸的图片中通过人脸检测提取出人脸的位置信息以及人脸关键点,然后通过仿射变换结合人脸关键点进行人脸对齐,获取到对齐后的人脸图片。再将人脸图片通过人脸识别模型进行人脸特征提取,提取出来的特征是一个高维向量,这个向量的维度通常是128、256、512、1024甚至更高。

判断两张人脸图片是否相似的度量主要有两个指标欧式距离余弦相似度。先通过人脸识别模型将人脸图片转换为特征向量欧式距离顾名思义就是计算两个向量的欧式距离,所以两个向量的欧式距离越小表示他们越相似。余弦相似度就是计算两个向量的夹角的余弦值, c o s θ cos\theta cosθ的取值范围在 [ − 1 , 1 ] [-1,1] [1,1],我们可以对其进行归一化操作到 [ 0 , 1 ] [0,1] [0,1]通过 0.5 + 0.5 ∗ c o s θ 0.5+0.5*cos\theta 0.5+0.5cosθ来实现,余弦相似度越大表示是同一个人的概率越大。

无论是1:1人脸匹配还是1:N人脸匹配,我们都需要先确定一个阈值(欧式距离或相似度),通常人脸相似的度量指标都是用的相似度,我们后面所说的阈值其实也就是一个相似度阈值。通过人脸数据集根据通过率或拒绝率来确定阈值,大于这个阈值表示为同一个人否则不是同一个人。

人脸验证

1:1人脸验证(verification),比对两张图片是否为同一个人,常见的应用有火车站人脸闸机实名验证手机人脸解锁等。通过判断比对图片的相似度是否大于阈值,常用的性能评估指标有如下几个

  • FAR
    FAR(False Accept Rate)认假率,表示错误的接受比例,与FPR(False Positive Rate)假正例率等价,指不是同一个人却被错误的认为是同一个人占所有不是同一个人比较的次数,计算公式如下
    F A R = 非 同 人 相 似 度 > T 非 同 人 比 较 的 次 数 FAR = \frac{非同人相似度>T}{非同人比较的次数} FAR=>T
    F P R = F P F P + T N FPR = \frac{FP}{FP+TN} FPR=FP+TNFP
    关于详细的混淆矩阵(TP、TN、FP、FN)说明,请参考我的另一篇文章分类算法中常用的评估指标
  • TAR
    TAR(True Accept Rate)表示正确的接受比例,与TPR(True Positive Rate)真正率等价,指是同一个人且被正确的认为是同一个人占所有同一个人比较的次数,计算公式如下
    T A R = 同 人 相 似 度 > T 同 人 比 较 的 次 数 TAR = \frac{同人相似度>T}{同人比较的次数} TAR=>T
    T P R = T P T P + F N TPR = \frac{TP}{TP+FN} TPR=TP+FNTP
  • FRR
    FRR(False Reject Rate)错误拒绝率,与FNR(False Negative Rate)假负率,指是同一个人但被认为不是同一个人占所有是同一个人比较的次数,计算公式如下
    F R R = 同 人 相 似 度 < T 同 人 比 较 的 次 数 FRR = \frac{同人相似度<T}{同人比较的次数} FRR=<T
    F N R = F N F N + T P FNR = \frac{FN}{FN+TP} FNR=FN+TPFN
    在一些1:1的人脸识别比赛中,也会有一些其它的评估指标,FMR(false match rate)和FNMR(false non-match rate)。FMR错误匹配率等价于FAR,FNMR错误的不匹配率等价于FRR

有时候还会看见类似于FNMR @ FMR = 0.000001,这种表达式所指示的是先在数据集上计算出FMR = 0.000001时的阈值,然后再根据这个阈值计算FNMR。类似于这种TAR=0.998@FAR=1e-6,表示的是当不是同一个人通过率为1e-6时,相同人的通过率为99.8%。对于1:1人脸验证来说当FAR越低的情况下,TAR越高越好

人脸搜索

1:N人脸识别评估分为两种情况开集识别(open-set identification)和闭集识别(close-set identification)。

在评估1:N的人脸识别时我们需要三组图像,galleryG(底库,已注册的人脸库),probe(探针,待识别的人脸图像),probe分为 P n P_n Pn P g P_g Pg P n P_n Pn中的人脸照片不在gallery中,被称为imposter P g P_g Pg中的人脸照片在gallery中,被称为genius

开集识别

开集识别(open-set identification):开集识别需要解决的问题是判断一个probe P j P_j Pj在不在gallery中,如果在这个人是谁。 P j P_j Pj可以在gallery中,也可以不在。

假设gallery G = { g 1 , g 2 . . . . . g n } G=\{g_1,g_2.....g_n\} G={g1,g2.....gn} g i g_i gi表示gallery中的一个人,待测人脸 P j P_j Pj与每个 g i g_i gi计算一个相似度,用 S j i S_{ji} Sji表示, S j i S_{ji} Sji表示两张人脸图片是同一个人的概率。我们将G中的每一个人与 P j P_j Pj计算相似度,得到一个集合 S { s j 1 , s j 2 . . . . . s j n } S\{s_{j1},s_{j2}.....s_{jn}\} S{sj1,sj2.....sjn},对集合 S S S进行由大到小的排序(用的欧式距离就是从小到大排序)。假定与 P j P_j Pjgallery中对应人的是 g ∗ g* g,定义 r a n k ( P j ) = n rank(P_j)=n rank(Pj)=n表示 P j P_j Pj g ∗ g* g的相似度排在第n位, r a n k 1 rank1 rank1也称为 t o p   m a t c h top\ match top match

对于刷脸支付就是一个 t o p 1 top1 top1的open-set identification,人脸身份验证就是一个 t o p k topk topk的open-set identification。

闭集识别

闭集识别(close-set identification):闭集识别需要解决的问题是,在gallery中找到probe P j P_j Pj P j P_j Pj属于gallery中。与开集识别一样,闭集识别关心的也是在 t o p k topk topk中是否包含正确的识别结果。

评估指标

下面的评估指标在开集识别闭集识别中都适用

  • DIR

DIR(Detection and Identification Rate):指 P j ∈ P g P_j \in P_g PjPg G G G中的真实的结果 s ∗ s* s之间的相似度大于 τ \tau τ且大于其他所有与 P j P_j Pj不是同一个人的相似度在 P g P_g Pg中所占的比例,DIR衡量的是库内人员的通过性能。计算公式如下
P D I ( τ , 1 ) = ∣ { P j ∈ P g , r a n k ( P j ) = 1 , a n d   P j ∗ > τ } ∣ ∣ P g ∣ P_{DI}(\tau,1)=\frac{|\{P_j\in P_g,rank(P_j)=1,and\ P_{j*}>\tau\}|}{|P_g|} PDI(τ,1)=Pg{PjPg,rank(Pj)=1,and Pj>τ}

下面我们来举例说明一下

假设G中有A、B、C三个人的人脸信息每个人有一张照片,Pj是属于C的另一张人脸照片,如果Pj与A、B、C的相似度分别为0.5、0.6、0.9,τ为0.7,那么此时才算是匹配正确。如果Pj与C的相似度为0.68<τ,会被认为是库外人员从而导致漏匹配。如果Pj与A、B、C的相似度为0.6、0.8、0.78,那么此时Pj的top1匹配应该是B,因为C与Pj的相似度排在第二位是rank(Pj)=2,此时Pj匹配上了错误的人。

  • FAR

FAR(False Alarm Rate):指 P j ∈ P n P_j \in P_n PjPn G G G中最相似的人相似度大于 τ \tau τ P n P_n Pn中所占的比例,FAR衡量的是对库外人脸的拒绝性能也是人脸识别系统安全性的保证。计算公式如下
P F A ( τ ) = ∣ { P j ∈ P n , m a x i ( s j i ) > = τ } ∣ ∣ P n ∣ P_{FA}(\tau)=\frac{|\{P_j \in P_n,max_{i}(s_{ji})>=\tau\}|}{|P_n|} PFA(τ)=Pn{PjPn,maxi(sji)>=τ}
对于1:N的人脸搜索来说,当FAR越低的情况下,DIR越高时,表示模型的性能越好,下面我们通过一个例子来说明一下,这两个评估指标是如何计算的

gallery(G)
ABC
P(g)a0.920.830.75
b0.880.750.67
c0.540.670.68
P(n)d0.680.550.49
e0.560.650.78
f0.590.610.67

上表展示了 P g P_g Pg(照片在G中)和 P n P_n Pn(照片不在G中)在gallery(G)中的测试结果,a、b、c在G中分别对应A、B、C,d、e、f均不在G中。阈值 τ \tau τ取0.7时,我们来计算一下DIRFIR

  1. a与A的相似度最高,且 S a A > τ S_{aA} > \tau SaA>τ,所以匹配成功
  2. 虽然b与B的相似度 S b B > τ S_{bB}>\tau SbB>τ,但 S b B < S b A S_{bB} < S_{bA} SbB<SbA,所以匹配错误
  3. c与C的相似度最高,但 S c C < τ S_{cC}<\tau ScC<τ,所以匹配错误

所以 D I R = 1 / 3 ≈ 33.33 % DIR=1/3 \approx 33.33\% DIR=1/333.33%

  1. d与A的相似度最高,且 S d A < τ S_{dA} < \tau SdA<τ,因为d不在库中,所以匹配正确
  2. e与C的相似度最高,且 S e C > τ S_{eC} > \tau SeC>τ,因为c不在库中,所以匹配错误
  3. f与C的相似度最高,且 S f C < τ S_{fC} < \tau SfC<τ,因为f不在库中,所以匹配正确

所以 F A R = 1 / 3 ≈ 33.33 % FAR=1/3 \approx 33.33\% FAR=1/333.33%

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修炼之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值