浅谈FRVT人脸识别测评

2020-05-11 14:38:43 浏览数 (1)

最近,相关科技媒体报道了最新一期的NIST人脸识别测评比赛,在仔细阅读了FRVT官方发布文档之后,发现国内有些媒体报道不是特别准确,因此在这篇报道中,结合自己专业知识探讨一下FRVT测评结果。

人脸识别的测试集很多,大致发展脉络是从受控环境向无约束环境发展。早期的AR,YaleB等都是标准的正面人脸照片,随着识别技术的推进,识别测评集也不断推陈出新,大家熟知的LFW,IJB,MegaFace等都是一些无约束识别测试集合。这些无约束数据集合的一大显著特性是从互联网上下载并且整理的一些图片,很难反应实际应用中的一些需求。比如,有些算法宣称在LFW上达到了99.8%的识别率,但在实际的监控环境中表现非常差。当然,这并非否定这些测试集作用,早期时候确实推动了人脸识别技术发展,但是当精度达到一定水准之后,再简单的刷性能就没有太大意义。正因为如此,NIST又重启了多年的人脸识别竞赛FRVT。

FRVT简介

NIST是美国国家标准技术局简称(National Institute of Standards and Technology),其隶属于美国商务部,从事一些应用基础研究及测量技术和测试方法等,提供标准参考数据及有关服务。NIST经常会组织一些专业人脸识别测评,其主要目的是测试人脸识别算法水准。这些测评由于是相对独立的第三方测试,受商业因素影响较小,因此相对比较公平公正。值得一提的是FRVT测评不会公布人脸的训练集,很难通过拟合训练集方式参加比赛。参赛者提供算法SDK之后,FRVT直接测试这些算法性能。

值得注意的是,FRVT人脸识别测试集往往有多种测试集合组成(比如受控环境下人脸签证照片,无约束环境下人脸自拍照片等),FRVT在每次结果报告中都没有给出综合性排序,只给出了特定阈值下单项测试集合排名。从人脸识别角度来看,没有一种人脸识别算法可以做到在任何环境下表现都很优秀,因此通过FRVT结果简单认为某某公司人脸识别水平第一不严谨。FRVT测评在之前一共举办过五次(FRVT 2000, FRVT 2002,FRVT 2006, FRVT 2010, FRVT 2013)。早期的人脸识别测评需要在固定的截止日期之前提交自己的算法,以正面人脸照片为主(有一定的姿态、光照等变化),其主要特点是数据量较大。

2017年2月份开始,NIST开始组织新的人脸识别测评,不同于以往的测评,这次测评没有截止日期,参加测评者可以根据自身进度提交算法,NIST会对算法进行测试,并且每隔一段时间出一次报告。在解读这份报告之前,我们先介绍下大致评价指标:FNMR(false non-match rate)和FMR(false match rate)。FNMR和FMR在FRVT报告中有严格公式说明,在这里用通俗易懂的语言再解释一下。FNMR(拒识率,就是把应该相互匹配成功人脸当成不匹配的人脸),FMR(误识率,就是把不应该匹配成功人脸当成匹配成功人脸)。是不是很绕口?这是因为人脸识别分为类内比对(同一个人不同照片)和类间比对(不同人的照片)。

在实际系统中,拒绝识别(FNMR)和错误识别(FMR)代价往往不太一样,比如金融领域的人脸识别,误识会是一个很严重的事故(想像一下,如果ATM依靠刷脸取款,无需其他信息验证,如果有人和你长的非常像,则很有可能会进入你的账户取款),相比之下,拒识结果相对可以接受(还是ATM刷脸取款,如果完全依靠刷脸取款,本人去ATM机刷脸,ATM无法正确识别你的身份,这时候你无法进入自己的账户,但是你的存款相对还是安全的,如果是紧急情况,甚至可以去银行柜台取款)。所以当给出一定的测试集时候,如果只统计识别率,并不能全面反映一个算法性能。通常反映算法性能可以调节算法阈值,得到不同拒识率和误识率,然后画出拒识和误识相关曲线(即ROC曲线)。FRVT测评同样也是用的这种方式,在测试集上画出了不同算法的ROC曲线。

FRVT2018共有六个数据集,到目前为止测试算法64种,从测试精度、速度、以及存储、可靠性等对各个算法进行了测试,整个报告全文在(https://www.nist.gov/sites/default/files/documents/2018/06/21/frvt_report_2018_06_21.pdf),由于篇幅较大,在这里大致说明一下。FRVT所用测试数据集说明如下

表1. FRVT2018 测试集合

图1. FRVT2018测试集样例

在报告全文画出了多个图标(参照正式报告https://www.nist.gov/sites/default/files/documents/2018/06/21/frvt_report_2018_06_21.pdf),其中,Table 1和Table 2是参赛者提交算法的说明,包含了算法提交日期,算法包大小,最终比对特征模板大小及特征提取时间,比对运行时间等。Table 3和Table 4是测试集上的一些排序,从表格中可以看出,其排序依据是在指定的给定阈值下,当FMR等于某一数值时候(一般比较低,防止错误识别情况),FNMR的数值。例如,对于VISA测试集,分别给出了当FMR等于10^-6和10^-4不同算法的FNMR数值。如果对不同算法ROC曲线感兴趣,可以进一步参考Figure 4到Figure 12。

FRVT Leaderboard 简介

下面我们再看下FRVT Leaderboard情况(https://www.nist.gov/programs-projects/face-recognition-vendor-test-frvt-ongoing)。

FRVT之所以给出这个leaderboard,其原因是FRVT测试较为复杂,六个测试集ROC曲线非专业人士很难看明白,因此根据ROC曲线上的一些关键点(例如,当FMR等于10^-4点)做了排序,把表现都较好的算法列在了Leaderboard上。假设我们评价不同人脸识别算法也是以这些关键点为依据,那么可以得出如下结论:

1. Leaderborad上最左边一列序号仅仅是依据在Visa数据集关键点排序(FMR等于10^-6数值点),至于Mugshot、Wild、Child exploitation 数据集则没有考虑,因此不能简单的看最左边一列序号评价一个算法好坏,甚至得出错误结论“NIST全球权威人脸识别算法测试结果公布,前五名中三名来自中国”。

2. Ntechlab-004算法在VISA、Mugshot、Wild测试集上全面好过siat-002算法,无论采取哪种加权策略,仅从leaderboard上数据,都不能得出siat-002比ntechlab-004综合性能排名高结论。

写了这么长的一段,可能有读者心中依然存有疑虑,从FRVT结果看到底哪家算法比较好?其实这又回到了开头的论述,没有一种人脸识别算法可以做到在任何环境下表现都很优秀(这也是有很多参赛者提交多个算法原因)。假设我们依然想根据FRVT测评结果做一个综合性排序,可以简单的采取平均策略,即根据参赛算法在不同测试集上表现,大致做一个平均,根据平均分数高低确定最终排名。采用简单平均策略之后(根据Leaderboard所列出数据,我们仅取在Visa、Mugshot、Wild都有参赛算法),重新排名如下:

表2 各种算法平均性能排序

从上述表格中,可以看出依图提供的yitu-001人脸识别算法性能不错,尤其是在Visa和Mugshot测试集上均处于前两名之内,但是其在Wild测试集表现稍微欠缺。俄罗斯NTechLab提供的ntechlab-004人脸识别算法在表中所列出的几种数据集上表现都处于前3名,因此其综合排名超越了依图的001人脸识别算法。其他算法比如siat-002、vocord-004等也都表现不错。

值得注意的是这种平均策略并不能全面评测一个算法性能,比如旷视科技提供的megvii-001人脸识别算法在Visa数据集上表现不错,但是其在Mugshot和Wild数据集性能一般,因此整体排名靠后。但是这并不能说明megvii-001人脸识别算法性能差, megvii-001人脸识别算法可能针对受控环境下人脸识别性能较好,而无约束环境下人脸识别性能相对不足。

总之,我们国家在人脸识别上进展确实很快,尤其是近几年发展速度超出了预期,包括在FRVT竞赛中取得了很好的成绩,但是仅仅只从FRVT Leaderboard数据看,很多媒体报道不符合事实,有些夸大意味。另外,从实际应用角度来看,人脸识别尤其是监控环境中人脸识别,还需要很长一段时间研究才能符合实际应用的需求。

0 人点赞