人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。2017年9月13号,IPhoneX发布的时候,基于3D结构光的人脸解锁是亮点之一,下面是其前置的传感器结构:
之后的荣耀V10也是搭载了2D的人脸识别,当然,效果上要差一些。近几年关于人脸识别产品的商用化推进越来越快。其应用领域从最开始的门禁/考勤领域,到目前应用于金融、安防反恐、教育、社交娱乐、设备、门禁/考勤、交通、智能商业等领域,应用范围逐渐扩大。今天我们就来看看有关人脸识别相关的一些概念与基础知识。
1,人脸识别概述
摘自百度百科:
人脸识别系统的研究始于20世纪60年代,80年代后随着计算机技术和光学成像技术的发展得到提高,而真正进入初级的应用阶段则在90年后期,并且以美国、德国和日本的技术实现为主;人脸识别系统成功的关键在于是否拥有尖端的核心算法,并使识别结果具有实用化的识别率和识别速度;“人脸识别系统”集成了人工智能、机器识别、机器学习、模型理论、专家系统、视频图像处理等多种专业技术,同时需结合中间值处理的理论与实现,是生物特征识别的最新应用,其核心技术的实现,展现了弱人工智能向强人工智能的转化。
1.1 优点
之所以人脸识别近几年发展这么迅猛,与其自身相较于其他生物特征识别的优点是分不开的:
- 非接触:人脸图像的采集不同于指纹、掌纹需要接触指掌纹专用采集设备,指掌纹的采集除了对设备有一定的磨损外,也不卫生,容易引起被采集者的反感,而人脸图像采集的设备是摄像头,无须接触。
- 非侵扰:人脸照片的采集可使用摄像头自动拍照,无须工作人员干预,也无须被采集者配合,只需以正常状态经过摄像头前即可。
- 友好:人脸是一个人出生之后暴露在外的生物特征,因此它的隐私性并不像指掌纹、虹膜那样强,因此人脸的采集并不像指掌纹采集那样难以让人接受。
- 直观:我们判断一个人是谁,通过看这个人的脸就是最直观的方式,不像指掌纹、虹膜等需要相关领域专家才可以判别。
- 快速:从摄像头监控区域进行人脸的采集是非常快速的,因为它的非干预性和非接触性,让人脸采集的时间大大缩短。
- 简便:人脸采集前端设备——摄像头随处可见,它不是专用设备,因此简单易操作。
- 可扩展性好:它的采集端完全可以采用现有视频监控系统的摄像设备,后端应用的扩展性决定了人脸识别可以应用在出入控制、黑名单监控、人脸照片搜索等多领域。
1.2 应用领域
目前关于人脸识别主要应用领域如下,内容摘自旷世科技官方网站
- 金融/社保领域
人脸识别在金融行业的应用,一方面体现在人脸支付技术的出现。3月17日,在德国汉诺威电子展的开幕仪式上,马云当着中国副总理马凯和德国总理默克尔的面,在自己网站上买了一枚20欧元的1948年汉诺威电子展纪念邮票,然后,他用脸付了帐,亲自展示支付宝的人脸识别技术“SmiletoPay”,刷脸支付被拉开序幕。2015年5月,《关于银行业金融机构远程开立人民币银行账户的指导意见(征求意见稿)》以及互联网金融新贵微众银行、浙江网商银行均透露将用人脸识别融入远程开户,作为技术依据,利用“
远程人脸识别+身份证件核实”的模式为金融客户开立账户。这意味以人脸识别为代表的生物识别技术在银行业即将进入正式商用阶段,瞬时,这种高大上的开户方式成了“香饽饽”,“靠脸吃饭”一夜爆红。人脸识别与金融行业的融合进一步加强。另一方面,则是人脸识别为支付安全保驾护航。近年来,由于缺乏统一的信息共享平台即现代化的监管手段,身份证造假的现象屡禁不止,导致社保、银行卡被盗领和盗刷,不少群众蒙受巨大的经济损失。而为防止养老金被冒领的“堵漏”,多地已采用自动识别进行初步的筛查,试点工作取得重大成效,并已计划在全国范围内开展设备升级工作。
- 平安城市/社区领域
经济的发展,造成城乡经济水平发展差距大,大量农村人口涌入城市,造成城市人口密集,且流动性大大提高,引发城市交通、治安等一系列安全问题。近年来,社会犯罪率呈逐年升高的趋势,特别是网络犯罪更加的严重,网络逃犯频频发生,罪犯的犯罪手法也更加隐蔽和先进,给广大公安人员侦破案件增加了难度。同时,恶性事件时有发生,使人们对公共生活场所的安全感普遍降低。在一些人员复杂的场合,如机场、港口、车站、娱乐场所、街道等,人员流动频繁,犯罪份子往往混杂其中,是平安城市的重点监控区域。此外,大型社区/学校由于出入人数较多,保安由于疏忽、疲劳等原因,无法对进入人员进行识别和排查,安装在出入口的摄像头由于不能智能排查,做不到预警,从而存在很多不确定因素和安全隐患。基于人脸识别和智能视频分析等核心尖端技术,针对长途客运站、火车站等公共场所及重要出入口的安全管理,可以根据人脸的特征在视频画面中区分其它物件,找到人脸的视频进行储存,并且为日后提供智能检索。只要是出现在监控摄像画面中的人脸,通过比对的方式,可在短时间内在茫茫人海中找到这个人,为公安找人、追捕等提供了一大利器,成为打击违法犯罪活动,建设平安城市的重要技术。
- 教育领域
当前,全国拐卖儿童犯罪活动较为猖獗,受害人及受害家庭数以万计。为了尽量减少儿童在幼儿园上学期间被不法分子冒领,应用人脸识别技术,家长刷脸接小孩,能从源头遏制拐卖风险。其次,近年来,国家制定了相关的考试政策,希望通过公开、公平、公正的方式选拔和使用人才。但是,从中考、高考等升学考试,到执业资格、晋级升职等等考试,均不同程度地出现了考试作弊现象,且花样、技术都空前先进和复杂,特别是高科技设备投入考试作弊的手段,更是加大相关机构的查获难度。为加强考场认证管理,利用人脸识别自证来防止考场"硬**"现象的发生。通过在本地对证件内信息进行自动读取、同时对考生的人脸进行自动检测抓拍,实现证件内照片特征和实时人脸照片特征进行比对识别,来辨别持考生与证件是否为同一身份,自动、快速的协助监考老师完成查验工作。现如今,高校“替课”、“跷课”、“蹭课”现象已屡见不鲜,甚至已经形成了完整产业链,“替课”的出现原因归结于传统口头点名的方式的漏洞。人脸识别基于人的脸部特征信息进行身份认证,只要把信息采集输入人脸考勤机之后,每次上课只要带着自己的一张脸就能完全实现考勤记录,一秒钟就能识别,而且不会受光线影响更不用担心辨别错误。
其实,除了上述概括的之外,还有很多比如娱乐行业,目前智能手机基本上都集成了AI能力,以下是一张2018年关于AI在手机应用上的渗透率:
2,人脸识别组成部分
2.1 图像采集
当前的人脸图像采集主要是通过图像传感器也就是我们常常说的摄像头,在人脸识别领域我们的摄像头常常分为以下几类
按类型分:
- RGB摄像头
- 红外摄像头
- 深度摄像头
按数目分:
- 单目
- 双目
- 三目
关于摄像头其他分类可参考:摄像头
摄像头的组成:
- 镜头
- 图像传感器
- 电源
工作过程:
- 镜头采集图像
- 感光组件与控制组件对图像数据进行处理获取其他设备或者软件能够识别的数字信号
- 通过串口或者USB口输出
2.2 图像预处理
对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
2.3 人脸特征提取
人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。基于知识的表征方法主要是根据人脸器官的形状描述以及他们之间的距离特性来获得有助于人脸分类的特征数据,其特征分量通常包括特征点间的欧氏距离、曲率和角度等。人脸由眼睛、鼻子、嘴、下巴等局部构成,对这些局部和它们之间结构关系的几何描述,可作为识别人脸的重要特征,这些特征被称为几何特征。基于知识的人脸表征主要包括基于几何特征的方法和模板匹配法。
2.4 匹配与识别
提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。
2.5 总结
其中,(2)(3)(4)是人脸识别算法范畴,不是我们的重点,这里直接结合面向应用开发的场景进行简单分析一下。通常会有很多第三方提供人脸识别服务的公司为我们提供服务,我们只需要把需要识别的图像传到第三方的后台,处理完成之后返回我们的识别结果数据,这里,实际上有两种工作模式:
(1)在线识别:支付宝刷脸支付
(2)离线识别:公司考勤门禁
我们知道人脸识别算法还是比较耗性能的,所以很多移动端设备的性能很难满足,于是针对离线人脸识别又有两种模式:
(1)摄像头模组+离线SDK ,适用于性能较好的移动端设备,可扩展性较好,开发难度大一些;比如:百度离线人脸识别SDK,虹软离线人脸识别SDK
(2)摄像头模组+人脸识别模组+离线SDK ,适用于性能较差的移动端设备,可扩展性较差,开发难度低一些;比如:阅面繁星AI8000模块
3,人脸识别关键技术
3.1 人脸检测(Face Detection)
人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。人脸图像中包含的模式特征十分丰富,如直方图特征、颜色特征、模板特征、结构特征及Haar特征等。人脸检测就是把这其中有用的信息挑出来,并利用这些特征实现人脸检测。
人脸检测算法的输入是一张图像,输出是人脸框坐标序列,具体结果是0个人脸框或1个人脸框或多个人脸框。输出的人脸坐标框可以为正方形、矩形等。人脸检测算法的原理简单来说是一个“扫描”加“判定”的过程。即首先在整个图像范围内扫描,再逐个判定候选区域是否是人脸的过程。因此人脸检测算法的计算速度会跟图像尺寸大小以及图像内容相关。在实际算法时,我们可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、“人脸数量上限”的方式来加速算法。
3.2 人脸配准(Face Alignment)/特征点坐标提取
“人脸配准(Face Alignment)”所实现的目的是定位出人脸上五官关键点坐标。
人脸配准算法的输入是“一张人脸图像”和“人脸坐标框”,输出是五官关键点的坐标序列。五官关键点的数量是预先设定好的一个固定数值,常见的有5点、68点、90点等等。当前效果的较好的一些人脸配准技术基本通过深度学习框架实现。这些方法都是基于人脸检测的坐标框,按某种事先设定规则将人脸区域抠取出来,缩放到固定尺寸,然后进行关键点位置的计算。另外,相对于人脸检测,或者是后面将提到的人脸特征提取的过程,人脸配准算法的计算耗时都要少很多。对当前检测到的人脸持续跟踪,并动态实时展现人脸上的核心关键点,可用于五官定位、动态贴纸、视频特效等。
3.3 人脸属性识别(Face Attribute)
“人脸属性识别(Face Attribute)”是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术。
这在有些相机APP中有所应用,可以自动识别摄像头视野中人物的性别、年龄等特征并标注出来。一般的人脸属性识别算法的输入是“一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的属性值。人脸属性识别算法一般会根据人脸五官关键点坐标将人脸对齐,具体过程为旋转、缩放、抠取等操作后,将人脸调整到预定的大小和形态,以便之后进行属性分析。人脸的属性识别包括性别识别、年龄估计、表情识别、姿态识别、发型识别等等方面。一般来说每种属性的识别算法过程是独立的,但是有一些新型的基于深度学习实现的算法可以实现同时输出年龄、性别、姿态、表情等属性识别结果。
3.4 人脸特征提取
人脸提特征(Face Feature Extraction)”是将一张人脸图像转化为可以表征人脸特点的特征,具体表现形式为一串固定长度的数值。人脸提特征过程的输入是 “一张人脸图”和“人脸五官关键点坐标”,输出是人脸相应的一个数值串(特征)。人脸提特征算法实现的过程为:首先将五官关键点坐标进行旋转、缩放等等操作来实现人脸对齐,然后在提取特征并计算出数值串。 这里的数值串通常都是float[]数值。
3.5 人脸比对(Face Compare)
“人脸比对(Face Compare)”算法实现的目的是衡量两个人脸之间相似度。
人脸比对算法的输入是两个人脸特征(两张人脸图片),输出是两个特征之间的相似度(设定了阈值,输出对比结果)。
3.6 人脸验证(Face Verification)
“人脸验证(Face Verification)”是判定两个人脸图是否为同一人的算法。
它的输入是两个人脸特征,通过人脸比对获得两个人脸特征的相似度,通过与预设的阈值比较来验证这两个人脸特征是否属于同一人。这个和上面第五条本质上是一样,在(5)中我们也加了相应的备注。
3.7 人脸识别(Face Recognition)
人脸识别(Face Recognition)”是识别出输入人脸图对应身份的算法。
它的输入为一个人脸特征,通过和注册在库中N个身份对应的特征进行逐个比对,找出“一个”与输入特征相似度最高的特征。将这个最高相似度值和预设的阈值相比较,如果大于阈值,则返回该特征对应的身份,否则返回“不在库中”。
3.8 人脸检索(Face Retrieval)
“人脸检索”是查找和输入人脸相似的人脸序列的算法。
针对一张人脸照片,在指定人脸集合中搜索,找出最相似的一张脸或多张人脸,并给出相似度分值
3.9 人脸活体(FaceLiveness)
“人脸活体(FaceLiveness)”是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法。目前关于这一块的实现有以下几种方式:
- 基于RGB:2D 效果差,识别慢,成本低,距离较远,较少使用,一般都是配合红外用于视频预览
主要基于图片破绽,判断目标对象是否为活体。例如图像中的屏幕反光、成像畸形等,最主要的应用情形为屏幕的二次翻拍等攻击防御。此种活体对于待检测图片的要求,主要需要满足画面中除了人脸以外,要尽可能保留一些背景内容,用于查找破绽,通常建议人脸与屏幕的长宽比为1:3。为控制达到此比例,建议通过调整最小检测人脸参数,控制采集的人脸不可过大,避免人脸面积占比过高,而导致图片中没有多少背景信息。同时RGB活体受光线影响较大,所以在强光、暗光等场景,容易数值波动较大,主要影响的是「通过率」,产品策略上需要通过适当的补光、使用宽动态镜头抵消逆光等方式缓解。
- 基于近红外:2D 效果较好,有效改善光线影响(识别和活体),识别快,成本低,距离近,产品较多,商业化程度最高的一种方案
主要基于近红外光线反射成像原理,通过人脸呈现来判断是否为活体。即使是夜间或者没有自然光的情况下,依然可以判断活体。因为其成像特点,对于屏幕、图片等攻击形式,基本可以达到近似于100%的活体防御。同时近红外设备的成本,相对性价比更高。
- 基于3D结构光:3D 效果好,识别慢,成本高,距离近 ;代表产品IPhoneX
- 基于TOF:3D 效果好,识别快,成本较高,距离较远;代表作品VIVO
这里关于3D结构光和TOF的概念较复杂一点,下面做一个较为详细的解释:
(1)3D结构光(Structured Light)
3D结构光技术的基本原理是,通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集不同的图像相位信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。简单来说就是,通过光学手段获取被拍摄物体的三维结构,再将获取到的信息进行更深入的应用。
(2)ToF(Time Of Flight)
ToF是3D深度摄像头的其中一种方案,是结构光的同门师弟。ToF测距有单点和多点两种,其中手机上一般会用多点测距。多点测距的原理和脉冲的单点测距类似,但是其收光器件为CCD,即带电荷保持的光敏二极管阵列,对光响应具有积分特性。基本原理是激光源发射一定视野角激光,其中激光时长为dt(从t1到t2),CCD每个像素利用两个同步触发开关S1(t1到t2)、S2(t2到t2+dt)来控制每个像素的电荷保持元件采集反射光强的时段,得到响应C1、C2。物体距离每个像素的距L=0.5*c*dt*c2/(c1+c2),其中c是光速(该公式可以去除反射物反光特性差异对测距的影响)。简单来说就是,发出一道经过处理的光,碰到物体以后会反射回来,捕捉来回的时间,因为已知光速和调制光的波长,所以能快速准确计算出到物体的距离。
两种方式的对比表格如下:
4,人脸识别应用难点
- 光照
由于人脸的3D结构,光照投射出的阴影,会加强或减弱原有的人脸特征。目前可以通过补光摄像头或者红外摄像头进行解决
- 表情与姿态
姿态问题涉及头部在三维垂直坐标系中绕三个轴的旋转造成的面部变化,其中垂直于图像平面的两个方向的深度旋转会造成面部信息的部分缺失。针对姿态的研究相对比较的少,目前多数的人脸识别算法主要针列正面、准正而人脸图像,当发生俯仰或者左右侧而比较厉害的情况下,人脸识别算法的识别率也将会急剧下降。面部幅度较大的哭、笑、愤怒等表情变化同样影像着面部识别的准确率
当然这个是人类主观原因,也不能完全说是技术问题,就好比是使用指纹识别技术,别人故意把手上的指纹磨掉(有点残忍,可以看看《七宗罪》这个电影,里面就有这样的剧情),你就不能说是指纹识别技术不好
- 年龄
随着年龄的变化,面部外观也在变化,特别是对于青少年,这种变化更加的明显。对于不同的年龄段,人脸识别算法的识别率也不同。一个人从少年变成青年,变成老年,他的容貌可能会发生比较大的变化,从而导致识别率的下降。对于不同的年龄段,人脸识别算法的识别率也不同
- 采集终端的多样性
这种情况就会导致采集的图形质量,分别率以及各式等等都有很大差异性,对识别算法的要求或者说是图形处理部分的要求就会更高
- 大数据下人脸识别准确率问题
现在定义人脸识别准确率,都是说“在多少多少的误识率的情况下,识别准确率多少多少”,当人脸数据量较大的时候,识别准确率也会随之降低。
- 遮挡
对于非配合情况下的人脸图像采集,遮挡问题是一个非常严重的问题。特别是在监控环境下,往往彼监控对象都会带着眼镜,帽子等饰物,使得被采集出来的人脸图像有可能不完整,从而影响了后面的特征提取与识别,甚至会导致人脸检测算法的失效。这个和第二条很类似的。
- 人脸之间的相似性
同一人种之间的脸型和结构很类似,对于双胞胎更是如此,人脸识别的效果也会因此受到影响。
- 样本缺乏
基于统计学习的人脸识别算法是目前人脸识别领域中的主流算法,但是统计学习方法需要大量的训练以获取不同的模型。由于人脸图像在高维空间中的分布是一个不规则的流形分布,能得到的样本只是对人脸图像空间中的一个极小部分的采样,如何解决小样本下的统计学习问题有待进一步的研究。
5,人脸识别主要厂商(原文链接)
5.1 厂商列表(2018年)
5.2 国内人脸识别发展现状
现阶段的人脸识别技术在整个人工智能技术范畴内是占比较重、发展较快的一大领域。根据前瞻产业研究院发布的《人脸识别行业市场前瞻与投资战略规划分析报告》数据显示,2016年,全球人脸识别行业市场规模约为26.53亿美元,其中我国人脸识别行业市场规模约为17.25亿元,占到全球人脸识别行业市场规模的10%左右。根据表层数据显示,我国在这一行业领域的发展势头是较为强劲的,但深挖我国人脸识别产业链,会发现,市场上的企业多集中于下游,即具体的场景应用,而少有企业在中上游发力,这是很危险的。
上游基础层主要包括人工智能芯片、算法技术和数据集。首先,在人工智能芯片的研发上,国内企业略显乏力,缺少像英伟达以及AMD Vision这样的公司,最主要的原因在于国内芯片制造行业起步较晚,而人工智能芯片的设计又要求将算法、计算能力、大规模数据等内容全部整合到一起。面对这样的难度,需要在技术层面进行长期探索,才有望追赶上国际芯片巨头,而这需要足够的耐心以及庞大的资本支持,中小企业没有足够的资本支持,即便有心也是无力,大企业则需要足够的魄力承担背后的风险,亦是艰难。
在算法领域,国内领先的人工智能企业,如商汤科技、BAT都在研究并构建人工神经网络,在深度神经网络、卷积神经网络、循环神经网络的不断搭建、优化过程中,构建更强大的深度学习算法。这些算法的研究成果对于企业而言属于商业机密,秘不外宣是最符合商业竞争法则的方式。但美国的谷歌、Facebook、微软都推出了深度学习算法开源平台,将自己研发的算法技术进行开源,降低了很多企业在人工智能基础技术研发上的投入。与之对比,国内只有百度的PaddlePaddle一个深度学习算法开源平台,在研发力、竞争力上自然会稍逊一筹。
相较之下,在真实数据以及模拟数据的收集上,国内行业巨头与国际人脸识别行业巨头的差距倒不是十分明显。但从整体来看,在人脸识别的产业链上游,国内企业与国际巨头的差距还是十分明显的。
中游是由视频人脸识别、图片人脸识别和数据库对比检验等技术层构成,大体包括人脸检测、活体检测、人脸识别、视频对象提取与分析等技术。虽然处于中游的企业占比不大,但远优于产业链的上游现状。商汤科技、旷视科技、海康威视等一批企业在人脸识别的具体技术层面相继发力,已经取得了较为不俗的成绩。
下游则是国内人脸识别企业最集中的区域,这也取决于国内拥有庞大且复杂的应用场景的支持。如远超各国的移动支付技术和市场给了“刷脸支付”难得的尝试机会;高度集中式的住宅小区对智能安防提出了更高的要求……广泛且复杂的场景领域,让下游得以容下诸多企业。
产业链的不均衡,是目前国内人脸识别行业面临的最大问题,没有基础技术的长足发展,就犹如无根之萍、无源之水,终究不是行业发展的长久之策。
注:图片资源均来源于网络,欢迎扫码关注