03 December 2024

评价人脸识别算法好坏时常见到FAR、TAR等指标。本文解释一下它们的含义,以及在实际业务应用中的影响。

我们以人脸查验这一场景为例进行说明。人脸查验(Face Verification)是指给定两张人脸照片,判断二者是否属于同一人,典型的例子就是刷脸解锁手机。

如果算法误将非本人判定为本人,就称为发生了一次错误接受。 FAR这一指标,全称为错误接受率(False Accept Rate),表示发生错误接受的比率。 其分母为非本人进行查验的次数,分子为这些查验中错误接受(不该通过却通过了)的次数。 类似的,如果以本人进行查验的次数为分母,计算其中误将本人判定为非本人的比率,就得到错误拒绝率FRR(False Reject Rate)。

与上述两个指标互补的是两个正确率。TRR = 1 - FAR,表示正确拒绝率(True Reject Rate),即将非本人正确判定为非本人的比率。 TAR = 1 - FRR,表示为正确接受率(True Accept Rate),即将本人正确判定为本人的比率。

这几个指标中FAR和TAR最为常见。它们从两个方面衡量了算法的有效性。 对同一个算法来说,FAR和TAR是此消必涨的,可以通过阈值来权衡。 在同样FAR下,TAR越高则算法效果越好。 因此,我们可以选取FAR为特定值(例如万分之一)时的TAR作为一个算法模型的综合评测指标(形如TAR@FAR=1e-4)。

实际应用时,FAR应该控制在极小值,因为发生错误接受意味着不是本人而被判定为本人,可能带来较大的攻击风险。 而TAR的高低,等价于潜在的错误拒绝的多少。错误拒绝意味着在一些情况下,确为本人照片但拍摄质量不够高时,会返回非本人的判别结果。 这时需要重新提供更清晰或更相似的照片重试才能查验通过。 举例来说,错误拒绝率为0.05%的模型,一万次查验中有5次会要求重拍重试;错误拒绝率为0.09%的模型,一万次查验中会有9次需要重拍重试。 就我使用人脸解锁手机的体验来说,感觉一万次中失败重试的次数也不止个位数吧。 重试虽然增添了麻烦,但相较而言,如果不是我的人解锁了我的手机,后果显然更加严重。

理解上述影响后,我们在选取阈值时就能有的放矢了。


如果想要说些什么,欢迎发邮件给我