应用层下的人脸识别(三):人脸比对

6 评论 15619 浏览 33 收藏 14 分钟

本文作者根据多年人脸识别项目经验,总结了人脸识别技术在安防、商业领域应用及产品设计细节,汇总成应用层下的人脸识别系列文章。本文为系列文章的第三篇——介绍人脸比对相关内容。全文围绕人类比对类型、人脸比对要素展开介绍。

 

一、人脸比对类型

人脸比对类型可分为四种,分别是:人脸1:1、人脸1:n、人脸1:N、人脸M:N。

人脸识别应用无非就是围绕着这四种比对方式展开,下面将依次介绍各种比对类型。

应用层下的人脸识别(三):人脸比对

1. 人脸1:1

人脸1:1一般用于人证核验,可以简单理解为:证明你就是。

例如:在乘坐火车、飞机,出入境,银行办卡时,通常需要验证本人与其持有身份证是否为同一个人。

如下图,系统只需读取二代身份证中的人脸照片,与现场抓拍的本人照片做比对即可。

应用层下的人脸识别(三):人脸比对

人脸1:1又称为静态人脸比对,同时具有配合式的特点,完成比对需要用户携带身份证并主动配合采集人脸。

2. 人脸1:n

人脸1:n:将一张人脸照片与人脸库中的多张人脸逐一进行比对,人脸库有多少人脸就需要比对多少次——平台采集了“我”的一张照片之后,从海量的人像数据库中找到与当前使用者人脸数据相符合的图像,并进行匹配,找出来“我是谁”。

应用层下的人脸识别(三):人脸比对

人脸1:n又称动态人脸比对。

比对照片是从动态视频中获取的,同时具有非配合特点——整个比对过程是无感知的,不需要人为配合。这两个特性使人脸1:n能迅速落地于公安追捕逃犯,但时其难度要远高于人脸1:1 。(其通常会受到光照变化、人脸姿态的影响——比如侧脸、低头、逆光现象,会大大提升人脸漏报率。)

人脸1:n中“n”的大小(人脸库照片的数量)会影响人脸识别的准确率和比对速度,所以比对人脸库规模会设置的相对较小。

3. 人脸1:N

人脸1:N又称静态大库检索:即以人脸图片、人脸相似度作为检索条件,在人脸库中搜索与其相似(相似度大于设定阈值)的图片——类似于百度以图搜图。

检索过程实际就是:进行N次人脸比对,并留下比分大于阈值的结果。

应用层下的人脸识别(三):人脸比对

人脸1:N的人脸库规模相较于人脸1:n会大很多,最高可支持亿级人脸检索,所以这里的N为大写。

4. 人脸M:N

人脸M:N实际就是两个人脸库进行比对。

例如:人脸库A有M个人脸,人脸库B有N个人脸。如果想查看人脸库A和B包含多少个相同的人,就需要用人脸库A中M个人脸逐一与人脸库B中N个人脸进行比对,相当于是M个人脸1:N相加的结果。

应用层下的人脸识别(三):人脸比对

人脸M:N常用于惯犯排查、身份查重

例如:办案人员在处理类似三抢一盗的案件中,一般来说80%的案件是惯犯所为。于是,将线索地点路人库与惯犯库进行人脸M:N比对碰撞,可快速排查嫌疑,找出侦查方向。

二、人脸比对的要素

1. 人脸数据

人工智能算法的演进必须有数据作为支撑。

使用大量标注好的数据训练模型,可将识别的准确率从70%提升到99%水平。客观、精准的数据是人工智能应用必须具备的条件。

获取人脸数据的五种方式:

  1. 监控相机、手机相机等各种类型相机:拍摄的视频、照片是人脸原始数据的主要来源。项目中常通过RTSP、FTP等协议对接这类相机获取实时视频流或图片流。
  2. NVR/DVR等录像储存设备:储存了大量视频资源,可通过ONVIF协议对接这类设备获取数据。
  3. 第三方企业、事业单位的人员信息库:例如公安的八大信息资源库、企业在职员工信息库等。获取这类数据难度较大,会涉及到第三方平台对接,还需考虑到保密、网络安全等问题。
  4. 互联网中的开放数据集:常用的WebFace、FDDB、LFW、YouTube Face等人脸数据集,提供了优质的标注数据,可用于算法测试及模训练。
  5. 网络爬取:通过编写或者利用免费网络爬虫程序,自动抓取万维网中的图片。它们被广泛用于互联网的数据采集中。

2. 人脸比对库

人脸比对库为人脸识别提供比对模板——人脸1:n、人脸1:N、人脸M:N必须要有人脸比对库才能进行比对。

系列第二篇文章《应用层下的人脸识别(二):人脸库》详细的介绍了人脸库的建立方法。

3. 比对阈值

比对阈值:人脸比对的相似度。

人脸比对结果以相似度值呈现,在人脸比对之前需要设定一个相似度的门槛值,大于这个门槛则判定两张照片可能为同一个人。

比对阈值对人脸识别的准确率、漏报率影响颇大,比对阈值设置的越高准确率就越高,漏报率也会随之升高。比对阈值没有一个固定的标准,应根据应用场景来灵活调整。

例如:刷脸支付更关注比对准确率,需要调高阈值;而公安嫌犯人脸布控要求降低漏报,就需要适当调低阈值。

4. 芯片

人工智能的三要素是算法、算力和数据,而芯片决定了算力。

深度学习工程的两大关键环节training(训练)inference(推测)需要大量的算力支撑,普通的CPU无法满足计算要求。

相继推出的高性能GPUTPUFPGAASIC等加速芯片,大大提升了计算速度,同时也促进了算法的发展。

应用层下的人脸识别(三):人脸比对

GPU在人脸1:n、1:N、M:N比对中是不可或缺的,而部分人脸1:1计算量不大,可以不使用加速芯片。亿级人脸检索在GPU的加速下可以达到秒级返回结果。

5. 人脸算法

人脸算法效果决定了人脸识别的上限,也是人脸比对最关键的要素。随着深度学习技术的普及,各大公司的人脸算法效果差距也越来越小。

目前主流的人脸识别算法可以分为以下四类:

  1. 基于人脸特征点的识别算法
  2. 基于整幅人脸图像的识别算法
  3. 基于模板的识别算法
  4. 利用神经网络进行识别的算法

2018年11月20日公布的,有工业界黄金标准之称的全球人脸识别算法测试(FRVT)结果(如下图):

应用层下的人脸识别(三):人脸比对

排名前五的算法都被中国包揽:

  • 依图科技(yitu)继续保持全球人脸识别竞赛冠军,在千万分之一误报下的识别准确率超过99%。
  • 排名第二的算法也来自依图科技。
  • 商汤科技(sensetime)摘得第三名和第四名。
  • 中国科学院深圳先进技术研究院(siat)排名第五。

人脸算法虽然在各种数据集的测试中准确率颇高,但还远没达到在商业应用中的满意程度。

目前仍然有很多缺陷需要解决,例如:

姿态问题:

人脸识别主要依据人的面部表象特征来进行,“如何识别由姿态引起的面部变化?”就成了该技术的难点之一。

姿态问题涉及:头部在三维垂直坐标系中,绕三个轴的旋转造成的面部变化。其中,垂直于图像平面的两个方向的深度旋转会造成面部信息的部分缺失。这使得姿态问题成为人脸识别的一个技术难题。

应用层下的人脸识别(三):人脸比对

针对姿态的研究相对比较的少,目前多数的人脸识别算法主要针列正面、准正面人脸图像。当发生俯仰或者左右侧而比较厉害的情况下,人脸识别算法的识别率也将会急剧下降。

图像质量问题:

人脸图像的来源可能多种多样,由于采集设备的不同,得到的人脸图像质量也不一样。

特别是对于那些低分辨率、噪声大、质量差的人脸图像(如:手机摄像头拍摄的人脸图片、远程监控拍摄的图片等),“如何进行有效地人脸识别?”就是个需要关注的问题。

而对于高分辨图像对人脸识别算法的影响,也需要进一步的研究。

现在,我们在人脸识别时,一般采用的都是相同尺寸、清晰度很接近的人脸图片,所以图像质量问题基本可以解决。但是,面对现实中更加复杂的问题,还是需要继续优化处理。

遮挡问题:

对于非配合情况下的人脸图像采集,遮挡问题是一个非常严重的问题。

特别是在监控环境下,往往被监控对象都会带着眼镜、帽子等饰物,使得被采集出来的人脸图像有可能不完整,从而影响了后面的特征提取与识别,甚至会导致人脸检测算法的失效。

应用层下的人脸识别(三):人脸比对

人脸算法在人脸五官被挡的情况下表现的不是很好。

目前对遮挡识别效果较好的DeepID2算法,可稳定识别遮挡在20%以内,块大小在30*30以下的人脸。

样本缺乏问题:

基于统计学习的人脸识别算法是目前人脸识别领域中的主流算法,但是统计学习方法需要大量的训练。

由于人脸图像在高维空间中的分布是一个不规则的流形分布,能得到的样本只是对人脸图像空间中的一个极小部分的采样。关于“如何解决小样本下的统计学习问题?”,还有待进一步的研究。

以上就是系列文章的第三篇——《应用层下的人脸识别(三):人脸比对》的相关内容。

欢迎大家添加公众号“阳春柏樰”与我继续交流图像识别相关问题。

三、相关阅读

应用层下的人脸识别(一):图像获取

应用层下的人脸识别(二):人脸库

 

本文由@阳春柏樰 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. ”比对阈值设置的越高准确率就越高,漏报率也会随之升高“=》这段应该写错了吧,应该是“比对阈值设置的越高,准确率就越高,漏报率会随之降低”?

    来自上海 回复
    1. 已理解清楚,作者描述无错误,抱歉打扰

      来自上海 回复
  2. 主流的人脸识别算法大体就两类:传统的和cnn的,作者你能解释下基于特征点和基于全局图的吗,我也是做人脸识别产品的,不太清楚你的分类标准,请指教下

    来自北京 回复
  3. 我们公司也是做人脸识别的,觉得设计底层人脸识别算法的人真的好牛逼啊

    来自上海 回复
    1. 国内公司商汤是唯一几家做算法底层的,其他公司都是基于国外人脸算法开源库开发的

      来自北京 回复
    2. 我就说这种的肯定还是国内借鉴国外的多,所以说中国目前还是没有实力掌握底层核心的东西

      来自上海 回复