18日,与金老师讨论人脸识别问题,讨论深入点,在尾随问题中的人数识别需要结合人体型识别问题,进行深入的研究,而下一步需要做的就是把设计到在环境中统计人数的论文或者是识别人形的论文全部拿出来研究一番,在看完论文基础上继续进行图像识别,人数检测方面的研究。(此方面设计主要为图像识别方向)
同时,金老师又一次提到人脸识别中的活体检测问题,何为金老师说的活体检测,即在人脸识别中,需要通过眨眨眼、张张嘴等问题证明是个活人,从而避免是照片等产生的攻击。
人脸识别及活体检测概述
人脸识别是一种基于人的脸部特征信息进行身份认证的生物特征识别技术。它集成了人工智能、机器识别、机器学习、模型理论、视频图像处理等多种专业技术。人脸识别用摄像头采集含有人脸的图像或视频流,并自动在图像中检测人脸,进而对检测到的人脸进行脸部识别。人脸识别主要分四步完成:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取、匹配与识别。由于人脸比指纹等视觉辨识度更高,所以“刷脸”的应用前景更广阔。人脸识别具有自然性和非接触性,可以快捷、精准、卫生地进行身份认定,避免个人信息泄露,并能隐蔽使用。人脸识别能够应对复杂的光照并支持多种人脸姿态,可以精确眉毛、眼睛、鼻子、嘴巴、脸部轮廓等面部关键区域位置,制成独一无二的“面具”,以便通过已存“面具”和待识“面具”的快速比对,实现准确识别。 人脸识别也具有不可复制性,能从几百项脸部特征中找出识别对象。人脸识别技术已在智能门禁、门锁、考勤、电脑登录远程认证、人脸支付、特殊人物识别等方面有广泛应用。
对此,首先进行百度“人脸活体检测”进行查询。
人脸识别中活体检测是眨眼判别、嘴部张合判别、视差分析方法等区分照片与真实人脸,活体检测技术在于辨别人脸的真伪,保证人脸识别系统稳定并安全的运行。
文章内容来源:
杨健伟. 面向人脸识别的人脸活体检测方法研究[D].北京邮电大学,2014.
研究内容:
研究如何利用视频图像数据进行有效的活体检测,首先了解伪造人脸的类型及其特点。(真实的人脸是通过摄像头拍摄真人得到,伪造的人脸需要至少假人脸的制作和二次采集)。因此,区分真人和伪造脸的挂架在于找到这两步对采集到的人脸产生了那些影响。主要区别在于以下几个方面:
- 图像纹理不同:伪造的人脸图像必须经过二次采集甚至多次采集,图像的纹理信息会因为多种因素发生违反常理的变化。变化来源于图像阴影、图像模糊、图像高光
- 三维结构不同:纸质打印中照片无论如何折叠。都无法模拟出正式的人脸形状。正式人脸和纸质人脸的图像的三维结构便可有效进行活体检测。
- 运动模式不同:人脸运动模式(各种表情和动作)、人脸和背景之间的相对运动模式。
针对不同的攻击方法,响应的关键技术有差异:
图像纹理:
- 图像阴影变化
- 图像模糊
- 图像高光
基于图像纹理的活体检测方法成功与否依赖于两个关键技术:(1)局部差异定位 (2)纹理特征描述。关键点在于找到表达真假人脸在纹理上的差异的描述子
人脸三维结构:三维结构需要从多张不同视角的人脸图像中回复人脸的三维结构,目前三维重建的方法主要分为稠密重建和稀疏重建。对于活体检测应用,使用稀疏重建得到的人脸结构信息足够区分真假人脸,需要的关键技术为(1)人脸的关键定位:需要适应人脸的角度变化,遮挡及表情等因素(2)参数估计:包括摄像机的内参估计及两张人脸图像的变换参数估计,在得打摄像机的内参之后便可以根据两张不同的视角下人脸关键点的位置信息估计出人脸结构变换系数。
补充:目前人脸关键定位方法包括主动弯管模型(AAM)、主动形状模型(ASM)、约束局部模型(CLM)等方法,CLM方法效果好,用于检测应用场景。运动模式:人脸各部位进行精准的定位,然后使用光流法对前背景区域进行运动模式估计,包括运动方向及运动幅值等。
第二章 活体检测回顾
分析总结现有方法(2010年前) 人脸活体检测所棉铃的挑战和难点;中昂点分析基于人机交互的方法、基于多光谱的活体检测方法、基于图像纹理分析的方法及基于多线索融合的活体检测方法;介绍现有活体检测数据库。
第三章 基于部件相关描述子的活体检测方法
基于部件相关相关描述子的活体检测方法,该方法基于人脸边缘轮廓及不同区域的活体检测判别。首先扩大传统的人脸区域,从其中提取纹理特征,如局部二元模式(LBP),方向梯度直方图(HOG),局部相位量化(LPQ)等。在对纹理特征进行编码之后根据费舍尔准则对这些编码结果进行加权池化,从而的到用来表征人脸的特征。该特征与支持向量机结合,得到较好的活体检测方法。
第四章 基于人脸系数三维结构的活体检测方法
纹理活体检测方法的弊端基础上,对其补充,对数据的要求不同,采集视频中人脸的方位角的变化幅度,获取精确的人脸三维结构。此方法可以得到精准的人脸三维结构,使用CLM对人脸的68个关键点进行定位,随后使用三角化算法根据两张不同的视角的人脸的三维结构,并用随后的视频帧对该结构进行精细化处理。该方法可以解决基于纹理的方法不能解决的跨设备问题,可以100%确定是否为活体。
第五章 介绍基于运动一致性的活体检测方法
在真假人脸都具有很高的质量,同时采集的视频中的人脸方向角变化很微弱,以上方法很实用性较差。基于图像区域运动一致性的活体检测方法,比对人脸前运动模式与背景区域运动模式的不同,有效区分真假人脸视频。
第二章
研究一种特定人体活体检测方法
训练一个活体检测器识别所有注册人员的真假人脸。这样通用模型很难处理不同注册人员真人脸图像和假人脸图像的类内差异。本章为每一个注册用户专门训练一个活体检测器,消除通用模型中不同人员之间的干扰。
人脸识别遇到挑战有:人脸获取过程简便、人脸伪造方式多样(图像伪造、屏幕图像显示、面具三维模型等),一般模式的识别方法都依赖于训练样本,并且要求训练样本和测试样本在特征空间中的分布趋于一致。
人脸活体检测方法:
(1)基于纹理的方法
同一设备采集伪造人脸和用该设备采集的真人脸相比存在细节丢失或差异。细节上的差异引起图像微纹理上的差异。(以照片为例,在打印时会出现失真;在照相时,也会出现纹理的差异)
[4] 使用傅里叶频谱分析的方法来判定人脸图像的真伪
思路:人脸照片是平面而且小于真人的人脸尺寸没照片的高频分量必定比真人脸图像的高频分量要少;打印的人脸照片再时间上不存在局部运动,因此频域上的变化在时域上很小。使用二维傅里叶变化将图像转换成到频域并完成人脸真伪的辨别。
[5] 微操的人脸图像中的高频分量不一定比真实人脸的少,同时该方法并没有考虑图像的空间信息。将频域特征转为空域特征,同时对分类器做改进。该方法假定真人脸和伪造的人脸照片在表面的粗糙和人脸的粗糙度不同;基于Lambertian反射模型提出使用LTV方对输入图像进行平滑,随后从图像中提取DoG特征。为图稿活体检测器泛华能。 改文章创建标准数据库NUAA,采集15个用户超过5万张照片。 Peixoto等人结合DoG滤波器和稀疏罗吉斯特回归模型来应对恶劣的光照条件。
(2)基于运动信息的活体检测方法:
[17] 利用眨眼定做来进行活体检测,为眨眼建立了一个条件随机场模型,通过建立一个无向图模型,为不同阶段的眨眼动作进行建模。在随后测试中,使用常规的动态规划算法完成推理。
[18] 利用人脸多个部件的时序运动信息作出帧间人脸的判断。该方法假设真人脸有明显的三位姐欧股,在运动过程中,会在图像平面上呈现出特殊的二维运动模式(这种运动模式一大特点就是人脸的中心区域的运动幅度要比周边区域的运动幅度大很多),而且需要轻微的抬头动作,该方法首先需要使用部件检测定位中心的周边的人脸区域。随后,使用光流方法估计这些区域的运动模式,进而区分真人连和打印照片的区别。
[19] 使用最不动作完成活体检测,该方法通过分析嘴唇的运动是否和阅读一段文本时应有的运动模式匹配来完成人脸的真伪。(但是这样在眼部和嘴部被挖空,他人模拟动作可能会被攻破,可以根据[20]使用多种运动信息金融多线索融合),
[22][23][24][25] 利用视频信息做活体检测,还可以视频+音频结合做活体检测,但是这种方法需要采集数据较多。
(3) 基于多光谱的活体检测方法
出发点在于真人连的皮肤和伪造脸在材质上存在差异。,这种差异在成像系统中就是反射率的差异。然后在非可见光的多光谱成像技术成为人脸活体检测的一种新思路。基于多光谱成像的方法旨在从可见光波段之外找到更加有效的波段组合,使真脸和伪造脸的人脸在成像系统成像响应上的差异变大,从而达到区分的目的。换壳根据无线电波、微波、红外光、紫外光等进行划分。
[26]非可见光成像技术在文章中,利用近红外成像技术和模糊神经元分类器搭建车辆内人员数量统计系统。
[27] 基于近红外成像的人脸识别方法(最具代表性的红外识别文献),使用850nm的近红外光、
[32] 多光谱成像技术在生物识别特征领域的应用的启发,685nm、850nm的波段你用于人脸采集,随后两个波段采集到数据投影到一个二维空间,在而无为空间中,真假人脸可以容易的使用线性判别分析(LDA)进行区分。(该方法要求采集目标与采集系统之间距离必须保持不变,而且额头不能被遮挡,实际限制较大。)
(4) 基于多特征融合的活体检测方法
尝试融合多种不同的线索,如结合运动信息与纹理信息一起检测
[34] Yan使用不同线索进行融合检测 1)非刚体运动2)人脸-背景一致性3)图像条带效应
[35] 使用运动相关性分析和人脸纹理分析实现活体检测。首先将视频分为若干个N帧,相邻的片段之间公共帧为N-1帧,随后在每个片段上提取运动特征,并在每个片段的最后一帧中提取LBP纹理特征,随后两个线索通过分层数融合得到最终的活体检测结果。
人脸活体检测数据库
数据库中采集的数据能够准确切全面地反映应用环境中的实际情况。
公开的实体检测数据库主要有四个:南京航空大学的NUAA数据库、Idiap的PRINT-ATTACK数据库、张洪科院自动化研究所的CASIA-FASD数据库、Idiap的新数据库REPLAY-ATTACK。
四个数据库第一个静态图片,后面三个为视频,三四两个提供较好的数据源。
第三章 基于纹理的活体检测方法
基于双色反射模型的人脸图像成像分析
假人脸和真人脸样本在图像阴影、图像模糊、图像高光 存在差异。
- 图像阴影:人脸图像显示在照片、屏幕上,会出现不同寻常的阴影;
- 图像模糊:传感器存在高斯模糊,夹杂各种噪音,每次进行图像处理,都有一些信息损失;
- 图像高光:人脸高光区域分布在突出部位如鼻尖、嘴唇、额头等位置,伪造的高光分布可能会违背常理。
成像模型
基于双色度反射模型(DRM),采集到的图像由漫反射和镜面反射两部分组成两部分设置,然后建立模型采集数据脸部识别信息;二次采集
将第一次处理的数据进行再次采集,使用高斯卷积等方法图像差异分析
使用图像纹理,即对二次采集后的彩色图片转化为灰度图像,使用一系列光学公式进行转化,不是很适用。
使用高斯核函数对两张图像进行模糊化,高斯核的σ值越大,图像越清晰
基于费舍尔准则的纹理差异分析
二次采集的图像纹理会收到多方面的影响,使用费舍尔准则来度量真实人脸和伪造人脸在纹理上的差异。
首先将人脸归一化带{142,120}尺寸,然后将图像分为20*20块,没两块之间有{15,15}的重叠区域,每个字块中,提取LBP三种类型LBP特征,将特征屏到一起,然后计算字块中的纹理直方图的差异……
结论: 对于活体检测来说,具有最优区分能力的区域并不是在常规的人脸内部区域,而是在这些区域之外的人脸边缘区域。
验证正确性: 对比了引入人脸图像的边界区域和不引入时的活体检测性能。验证得活体检测的性能随着人脸区域的增大而逐渐提升(这不是废话?!)。
基于人脸部件相关描述子的活体检测方法
假人脸经过二次采集和真人脸在纹理上有较为明显的差异,同时,不同的人脸区域对应的纹理差异也不相同;人脸的外轮廓区域对活体检测的性能具有正面影响。
一种部件相关的描述子用于提取不同人脸区域的纹理特征,使用完整的人脸区域(Holistic Face,H-Face)用于活体检测。
算法框架
- 首先使用一个普通的人脸检测器来定位人脸,随后按照扩大到人脸区域1.6倍得到H-Face;
- 随后,H-Face被分成六个部件,包括人脸区域,左右眼,鼻子和嘴,以及剩下的H-Face区域,称为边界区域;
- 在此基础上,将人脸区域和边界区域分成2*2的子区域,最终将H-face划分成12个区域;
- 随后,在每个部件中提取MsLBP特征,并使用训练好的码书对特征进行编写;
编码后的码字结合费舍尔比值进行加权得最终的中层描述子; - 每个部件的中层描述子通过进一步拼接后,被用于训练和测试活体检测分类器
部件纹理特征编码
使用K-means聚类算法训练码书为例简化训练过程,随机的从所有部件的同意不见C中抽取特征向量,然后将其进行抽取特征向量,随后使用VQ算法训练得到码书CB,在获取到所有部件的码书后,得到相应的码书得到的N个像素点的码字A,随后将其扩展成以个向量。
特征池化
使用平均值法将特征进行池化(考虑不同的人脸区域的费舍尔系数,结合费舍尔系数对编码结果进行加权,得到每个像素点的费舍尔系数),对系数进行高斯平滑,采样获得和H-face同样尺寸的图像。
在特征池化后,所有人脸部件的直方图被凭借成一个特征向量用来进行活体检测的训练。
实验: 选取500个MsLBP特征向量,用从所有训练中样本的相应部件随机抽取的MsLBP特征向量为每个部件训练一个码书。
总结:两种方法,一种方法基于图像中的颜色,根据图像阴影、图像模糊、图像高光三部分进行活体检测比对,先对对象进行成像模型(根据光线等原因),在图像基础上进行二次采集,二次采集获得人脸颜色、高光等等参数,比对其中存在的图像阴影、图像模糊及图像高光识别活体;
一种是基于费舍尔方法(个人感觉是机器学习的方向),将人脸分成不同区块,对不同区块特征进行提取,分析,集合费舍尔比值获得描述子(个人理解为描述脸部特征的向量),对其进行向量化,人后再向量池化,最后通过将向量池中配费舍尔系数进行特征提取,最后获得人脸的特征向量,进行活体检测。
基于人脸三维结构的活体检测
基于纹理的活体检测方法在二次采集后纹理变化较为微弱的伪造人脸无法识别
基于人脸的三维结构进行活体检测,该方法需要视频中人脸视角有一定的变化即可,对视频质量无要求。
基本框架
假定视频或者图像序列中的人脸加测图像存在不同的视角,在给定图像序列中之后,该方法的流程如下:
* 关键点检测,使用鼻子、最、严谨轮廓区域等关键点检测;
* 关键帧选取:选取哪些帧用于恢复人脸,选取帧图像关键点的差异需要稍微大些,保证在回复人脸三维结构的置信度较高;
* 人脸结构恢复:在获取人脸关键帧图像后,使用款苏的股计算法恢复人脸的三维结构;
* 活体检测:在得到人脸的关键点的三维空间位置后,对其进行归一化,随后送至已经训练好的活体检测分类器中对输入的视频进行真假人脸视频的判断。
人脸三维结构估计
关键点选择
使用有约束的局部模型(CLM)来定位人脸的关键点,检测到的68个关键点散落在眼睛、鼻子、嘴唇、脸颊等部分,在检测带第一章图像的人脸关键点之后,随后可使用关键点跟踪算法对该68个关键点进行跟踪,获取关键点位置。
关键帧选择
关键帧是指能够被用来恢复人脸三维结构的人脸图像;本文选取视角差别较大的帧用于恢复人脸的三维结构;计算两帧人脸关键点之间的距离判定人脸之间的视角差异,将两关键帧图像之间的人脸视角差异较大的,将其加入到关键帧列表中,否则跳转至下一帧图像。
初始结构恢复
介绍使用两张关键帧进行初始人脸三维结构恢复的方法。当设想投诉满足透视成像模型。在该模型中,使用相对内参或者摄像头内参为给定的人内联特征做恢复矩阵,然后根据恢复矩阵做人脸的相对姿态,最后使用矩阵获得平面的投影。
人脸结构精细化
两张人脸图像既可以恢复人脸结构的三维结构,但是精确度不高,给定M张关键帧图像和投影矩阵P,在最终精细化的人脸三维结构。
人脸结构配准
配准是将不同尺寸、位置、方位的人脸图像归一化到同一参考系中。人脸三维结构配准过程就是估计当前人脸结构和标准人脸结构之间的刚体变换,在经过刚体变换后,使两个人脸的三维结构差异最小。
实验结果
通过此种方法,从真人脸视频序列,平面人脸照片视频序列和弯曲的人脸照片序列恢复出人脸的三维结构,可以看出恢复出的真人脸三维结构与伪造人脸有明显区别。
结论:根据人脸若干关键点的位置,即可恢复出人脸的系数三维结构,利用该三维结构可轻易区分真人脸和照片人脸,从而达到方位的目的。该方法缺陷在于对采集图像有视角要求。
基于运动一致性的活体检测
基于纹理的检测方法无法识别高质量的伪造人脸,基于三维结构无法在保证人脸视觉保持不变的情况下的识别;基于运动一致性即在此基础上,加上人脸区域和背景区域的的运动一致性保证活体检测。
前提结论:伪造的人脸视频要么人脸区域和周边的背景区域是运动一致的,要么是人脸区域和背景区域均没有显著的运动;而真人脸视频的人脸区域和背景区域是相互独立的,一般存在不一致的运动模式。因此,可以通过提取人脸视频的人脸和背景之间的相对运动模式来进行活体检测。
本章使用光流方法俩提取视频中的运动信息,利用运动信息的差异进行活体检测。
稠密光流提取
Gibson在1950年首次提出光流的概念,物体在运动时,它在图像上对应点的良多模式也在运动,这种图像亮度模式的表观运动就是光流。 光流场即在图像中所有像素点构成的一种二维瞬时速度场,其中二维速度矢量是景物中可见点的三维速度矢量在成像表面的投影,所以光流不仅包含被观察物体的运动信息,而且还包含有关景物三维结构的丰富信息。
注:光流相当于脸上某一像素点在某时刻的速度变化,理论上来说,在人脸检测时,活体只有脸部变形,头部在运动时和背景相差较大;但是照片在检测时,脸部变化基本没有,和后面背景的变化也基本为;视频在变化时相同,与后侧背景不相容。
一种基于人体区域和背景区域的运动相关性进行活体检测的方法,
首先提运动一致性特征,即将视频帧分成多个区域,人脸6个肩膀分为左中右三个,背景2个,总共11个区域,每个区域内的光矢量求取均值,然后活体光流值的大小,光流序列的频率以及相关性上,最终提取三个特征:
* 序列频率:将所有运动序列进行快速傅里叶变换,随后将对应的傅里叶系数的模值进行归一化并拼接成一个特征向量。序列平率可以区分真人脸视频和采集自固定的照片的假人脸视频及来自照片的攻击。
* 光流模值直方图:统计光流模值直方图,大多数真脸的头部运动缓慢,手持拍摄的假人脸运动幅度大,真人脸在北京区域的运动幅度大,假人脸的运动幅度及北京部位变化小。
* 序列相关性:对存在全局运动的视频序列,在任意两个区域的模值序列或者方向序列均有较大的相关性,想比,真人脸视频中的身体区域和背景区域相关性弱。
附录
最新的方案:人脸活体检测 百度已经有成熟的API可以调用,阿里等也有现成的库函数可以使用
面对防止图片等的干扰,腾讯优图做法
针对以上攻击手段,腾讯优图依托多年的技术积累和实际业务运营经验,对人脸识别技术手段进行过多次安全升级:除了315晚会提到的摇头眨眼简单活体模式,我们还实现了更加复杂的多数字随机唇语、语音图像同步检测、人脸纹理分析、面具检测、视频防翻拍等多维度防护手段,并将所有这些手段进行交叉融合,实现移动端+后台的强力防护体系。
天空中,鸟儿飞过,
月下独怜,
远处,我在等你。