浅析深度学习生物识别反欺诈辅助算法

2019-12-05 08:29熊兴发
天津科技 2019年11期
关键词:二值傅里叶频域

熊兴发

(摩佰尔(天津)大数据科技有限公司 天津300456)

近年来生物识别技术在安全认证领域正发挥越来越重要的作用,特别是随着深度学习的兴起,使人脸识别技术渐趋成熟,基于深度学习的人脸搜索、人脸比对、人脸认证登录等已成为当下研究热点。然而,仅依赖深度学习的人脸识别技术在安全性方面还存在一定欠缺。单纯的深度学习人脸识别无法判断图像是活体真人还是照片或者视频,往往很容易被视频或图像欺骗。目前主流的人脸识别反欺诈系统主要有两大类。

①配合式的人脸识别反欺诈。这种方式需要使用者在摄像头前配合语音或文字提示做出相关动作,比如眨眼、张嘴、转头等操作,这种反欺诈方式用户体验差,认证时间长,单纯的眨眼或者点头很容易被视频欺诈。为提高安全性需要随机生成相关指令,这就增加了认证时间,降低了用户体验。

②非配合式的人脸识别反欺诈。这类认证系统往往需要特定的摄像头等辅助硬件设备,如:利用红外摄像头的人脸识别反欺诈;配合泛光感应原件和点阵投射器等形成 3D结构光,从三维角度实现活体认证等。这类反欺诈方式往往对硬件设备要求高,成本相对较高,仅适用于安全认证级别较高的支付场景。对于一般安全级别要求,采用此类设备往往投入和收益不成比例。

为了在一定程度上解决单纯采用深度学习系统进行人脸识别的安全问题,在不增加硬件成本的条件下提升人脸识别的安全性,同时去除繁琐的配合式安全认证步骤,提升用户体验,使算法易于集成,提出一种基于人脸图像频域纹理的 2D人脸反欺诈辅助算法。该算法能够判断摄像头采集的图像是否经过二次翻拍,从而得出图像是否为真人,进而达到提升人脸识别安全性的目的。

1 原始图像数据采集与Hanning窗处理

本方案提出的算法属于单帧检测算法,所以只需要普通摄像头采集单帧2D原始图像。

该算法本质上是利用翻拍图像所具有的特殊的纹理结构在频域当中进行判断,一般来说,翻拍图像具有较低的频率,高频部分较少,例如翻拍图像所具有的摩尔纹、相机反射光等。针对摩尔纹,目前尚没有有效的办法在时域当中进行判断,较好的方式是将采集的原始图像进行离散傅里叶变换转换至频域,然后再做进一步处理。但是,如果直接对所采集的图像进行离散傅里叶变换,很容易因频谱泄露,导致对后续判断产生严重影响。因此,在做离散傅里叶变换之前需要对二维图像进行窗函数处理,具体为:设 M、N分别表示图像的高宽,首先利用公式(1),依据图像的高和宽生成对应一维汉宁窗向量。

由于图像为二维矩阵,需要根据一维汉宁窗向量生成二维矩阵,然后跟原始图像做点积运算,即汉宁窗处理后的图像如公式(2),其中 Hm和 Hn分别为m×1以及n×1的一维汉宁窗向量。

2 进行离散傅里叶变换并取绝对值

一般来说,没有很好的方式在时域当中根据图像的细微纹理特征判断图像是否是二次翻拍,特别是针对翻拍质量比较好的图像,摩尔纹纹理在时域当中只有非常细微的差别,如图1所示。

图1 正常采集图像和翻拍图像的细节区别(左真右假)Fig.1 Details of normal image acquisition and remake images(left is true, and right is false)

所以有必要利用离散将图像转换至频域。离散傅里叶变换DFT公式如下:

3 搜索高斯差分带通参数

图2 不同sigma下的高斯差分滤波器Fig.2 Gaussian difference filter under different Sigma

对汉宁窗图像进行离散傅里叶变换后得到的图像需要进一步做高斯差分滤波,因为不同环境下拍摄到的图像特征并不完全相同(如图2所示同sigma下的高斯差分滤波器),很难采用一种直接的基础带通过滤筛选适宜的频率部分,因此需要采用不同的sigma参数值以及 k值来确定合适的带通参数(其中sigma为高斯核函数方差,k称为带通的带宽),试验过程中方差sigma从0增加到150,k保持为2不变,其中二维高斯核确定像素点的值为:

利用不同的高斯差分滤波器对图像进行带通滤波,其中G是具有0均值和对应方差的高斯核函数:

对不同的高斯差分滤波器滤波得到的离散傅里叶图像构建峰值检测器进行峰值检测。具体地,又主要分为以下5个细分步骤:

① 给定阈值,对带通后的傅里叶图像进行二值化处理。图像阈值的二值化处理较为简单,即超高阈值的图像像素部分取值为 1,低于阈值的图像像素部分取值为0。数学表示如下:

上述公式的t值即为设定的阈值,实际上,阈值t的选择是该算法的核心,直接关系到算法的成败。阈值t是使下述相关系数最大时的t值。

② 计算图像相关系数。具体地,给定图像 A和二值化图像 B(这里的二值化单指 0,1的二值化,不规范到0~255),相关系数按下式计算:

其中:

公式(8)—(12)当中,g是带通后的傅里叶频域图像各个像素点的灰度值,p(g)表示该灰度水平的概率(频率),p(g)根据带通后傅里叶图像的直方图获得。t即二值化图像时所采用的阈值,最终t值实际上需要根据搜索算法获得能够使得上述相关系数最大的 t。而μ0和μ1表示阈值上下限的均值或期望值,μ0和μ1可以按照公式13、14计算:

③ 依据上述公式(8)—(14),对于每一个不同的阈值 t,显然都能得到不同的相关系数ρ,但在实际上需要寻找能够使得相关系数最大的阈值tmax。即:

获取 tmax的方法比较多,这里采用一阶搜索的方式获取,实际上如果为了便于显示把带通后的傅里叶频域图转换为 0~255之间,也可以采用循环的方式暴力搜索,但是这样将会影响算法的计算效率。

④ 找到最优阈值 t之后,即可根据步骤①给出的二值化公式获取最优阈值下的二值化的离散傅里叶带通频域图像。如图3的第3以及第4列图像。实际上,不同带通下都有最优阈值t以及对应的二值图像。图3的第3列是σ为40时的二值化傅里叶频域图像。

图3 中间过程与最终结果Fig.3 Intermediate process and final result

根据上述步骤得到的最优二值化的图,依据下述公式计算对应的P值:

其中 M、N为图像的尺寸,分别表示高和宽,T表示二值化后的图像。

4 判断比较

跟据上述计算得到的 P值,与预先设定的 Pmin作比较,判断P值是否小于Pmin,如果小于Pmin则证明该图像是摄像头采集的经过二次翻拍的图像。如果 P≥Pmin,则继续步骤。经过多次试验测试,Pmin取值在1×10-3左右效果较好。

判断当前带通参数σ是否小于与设定的最大σmax,如果σ>σmax,则证明图像是实际的真实采集的图像,如果σ<σmax,则转下一步。

5 增大σ,在该带通滤波器操作

最终结果如图3所示,图3第1行为二次翻拍的spoof图像,第 2行为摄像头采集的真实图像。第二列为汉宁窗处理后的离散傅里叶变换的频域图像,第 3列为σ=40时取得的最优 t值后的二值化图像。第 4列为所有带通下找到的最优二值化图像,可以看出,对于 spoof的二次翻拍图像,最终的 P值要远小于之前设定的 Pmin,而对于实际的真实采集的图像,最小的P值仍然大于预设定的Pmin。算法在一定条件下能够有效判断收集图像的真实性。

6 结 语

经过以上综合分析,二次翻拍的图像一般有其自身特点,例如摩尔纹现象,摄像头采集手机、平板等二次翻拍图像时产生的反光区域等。一般来说,二次翻拍的图像较正常图像具有更少的高频部分。因此本方案的本质是利用不同的带通滤波来搜索频域图像当中的特定频域,也就是在频域当中独立或隔离特定的高频部分。所以说,对于二次翻拍的图像,方案假设其将会有更少的高频部分。本方案类似于在频域当中搜索特定的纹理特征,所以说本质上也是根据图像的纹理细节来判断图像是否为二次翻拍的欺诈图像。

实际上,本方案在使用当中存在拍摄距离限制。也就是说,为了更好地检测图像当中特定的频域中的纹理特征,需要摄像头采集二次翻拍图像时,手机和平板设备距离摄像头的距离要小于某个最大值,这一点实际上也很容易达到,只要设定摄像头最终采集到的检测后的人脸图像不小于某个最小像素值即可。本方案当中的初始设定值为:裁剪后的最小人脸像素不低于 160,这也是为了方便后续深度学习进行人脸识别。这种情况下,二次翻拍设备一般会距离摄像头10~20cm。该范围实际上也更容易使得设备产生较为明显的摩尔纹等纹理特征,更有助于算法判断。实际上,一般情况下采用二次翻拍进行图像欺诈的绝大多数也在本方案的设计范围之内,所以说,算法在一定程度上能够辅助深度学习系统在一般安全要求下进行活体检测。

与现有方案相比,本方法的优点主要在于:通过频域当中的纹理判断图像是否为二次翻拍,属于单帧检测的方式,算法相比利用深度神经网络的形式计算速度快,容易集成;算法不需要用户配合验证,用户体验好,验证速度快。虽然精度低于 3D结构光的方式,但是算法对硬件设备要求低、成本低、易于集成和部署,适用于一般安全级别的辅助认证。

猜你喜欢
二值傅里叶频域
一种傅里叶域海量数据高速谱聚类方法
基于频域的声信号计权改进算法
法国数学家、物理学家傅里叶
面向网络边缘应用的新一代神经网络
基于二值图像数字水印算法研究
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
基于傅里叶域卷积表示的目标跟踪算法
基于稀疏表示的二值图像超分辨率重建算法
网络控制系统有限频域故障检测和容错控制
基于曲率局部二值模式的深度图像手势特征提取