知物由学 | 基于DNN的人脸识别中的反欺骗机制

知物由学”是网易云易盾打造的一个品牌栏目,词语出自汉·王充《论衡·实知》。人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道。“知物由学”希望通过一篇篇技术干货、趋势解读、人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你。当然,如果你有不错的认知或分享,也欢迎通过邮件(zhangyong02@corp.netease.com)投稿。

 

以下是正文:

本文作者:ArturBaćmaga,YND的AI专家。


想象一下,只需使用脸部即可解锁手机,无需指纹扫描或触摸。它会在没有任何用户干预的情况下自动且完美地工作。是的,目前已经可以做到了这一点,它被称为iPhone X,你可能已经在使用它了。

更好的未来是:使用人脸识别进行用户身份验证的潜力比这更大!在不远的将来,我们能够通过展示我们独特的面部特征来租一辆车,并签署法律文件。

实际上,我们已经开始看到需要身份验证的某些服务(如银行和其他类型的交易系统)。在这种情况下,所提供的法律数据将与文件上的ID和面部图像上的数据进行交叉检查,并与所有者的面部进行比较。但是,像大多数新技术一样,技术在创新,骗子也在创新。而欺骗人脸识别机制的最流行方式之一是“人脸欺骗”攻击。

欺骗攻击是指通过使用照片、视频或授权人脸部的其他替代品来获取其他人的特权或访问权。

一些欺骗攻击的例子:

  1. 打印攻击:攻击者将别人的照片打印或者显示在数字设备上。
  2. 重播/视频攻击:诱骗系统的更复杂的方式,通常需要一个受害者脸部的循环视频。与保持某人的照片相比,这种方法可以确保行为和面部运动看起来更自然。
  3. 3D掩码攻击:在这种类型的攻击中,掩码被用作欺骗的首选工具。这是一个比利用脸部视频更复杂的攻击。除了自然的面部运动之外,它还可以欺骗一些额外的保护层,例如深度传感器。

欺骗检测方法

欺骗的方法有很多种,对应的我们有许多不同的方法来应对它们的挑战。最流行的反欺骗最先进的解决方案包括:

  1. 面部生命力检测:一种基于分析测试面如何“活着”的机制。这通常通过检查眼球运动来完成,例如闪烁和脸部运动。
  2. 上下文信息技术:通过调查图像的周围环境,我们可以尝试检测扫描区域中是否有数字设备或照片纸。
  3. 纹理分析:在这里探测输入图像的小纹理部分,以便在欺骗和真实图像中查找图案。
  4. 用户互动:通过要求用户执行动作(将头部向左/向右转动,微笑,闪烁的眼睛),机器可以检测动作是否以与人类互动类似的自然方式进行。

当然,我们不能忽视房间里的大象(指某种巨大到不可能被忽视的真相,而事实上如此巨大的大象常常被集体忽略。)——iPhone X上的FaceID。在最新的硬件迭代中,Apple推出了先进的深度映射和3D感应技术,可以以前所未有的精度实现欺骗检测。但是,由于这种高端硬件在不久的将来将无法在大多数消费类设备上使用,所以我们不得不进化我们的技术以保证我们可以避免被欺骗。

事实上,在我们的研究和实施过程中,我们发现使用中等质量的2D相机也可以实现极高水平的实时欺骗检测。到底是什么让2D相机拥有如此高的检测水准?答案就是当下最火的深度学习解决方案和自定义的神经网络。

我们通过与现有的文档化方法进行交叉检查来验证我们的方法。

 交叉检查1:图像质量评估 

该解决方案基于将原始图像与用高斯滤波处理的图像进行比较。该论文的作者[1]证明了假图像之间的差异与真实图像之间的差异,并且可以自动检测。为了做到这一点,我们提取了14种流行的图像质量特征,例如:均方误差,平均差或边缘/角差。下一步是将它们发送给分类器,以确定它是“真实”的脸还是“假的”脸。

 

图1. IQA分类处理流程:将图像转换为灰度,使用高斯滤波器,从原始图像和滤波图像之间的差异中提取14个特征,将特征传递给分类器。

 交叉检查2:图像失真分析

四种不同的特征(镜面反射、模糊、色度矩和色彩多样性)被发送分类器用于分类。分类器由多个模型构建而成,每个模型都训练出不同类型的欺骗攻击矢量。

 

图2. IDA分类过程流程:提取4个失真特征,将它们传递给一组分类器,将结果传递给负责欺骗/非欺骗决策的分类器

最终方法:深度神经网络模型

这是基于用CNN(卷积神经网络,这是图像分析中最流行的神经网络)建立的模型。裁剪后的人脸图像被传递到神经网络,然后通过神经层进行处理,以将其分类为真实/假的。

 

                                            图3. DNN分类处理流程:将面部图像传递到CNN

 训练系统

上述所有解决方案都包含了需要监督学习才能返回正确结果的模型。训练集是从站在摄像机前面的人们的图像构建的,或者拿着一个设备,并在其上显示他们的脸部。所有的面孔被裁剪并分成两组:真实的和假的。这些图像是由中等分辨率的800万像素相机拍摄的,这是一款在工业应用中使用的流行款式,三种方法都使用相同的训练集。

 

                                                              训练集示例

 比较结果

对于性能测试,我们使用简单的精确度、召回率和F1分数。所有三个实验的结果显示在下表中:

 

                                                                                准确性和性能总结

                                                                                            欺骗示例

 

下一步是什么?

所呈现的最先进的解决方案仅适用于2D重放/视频攻击。为了增加对更多类型攻击的抵抗能力,DNN模型还可以通过使用纸质打印的攻击示例扩展训练数据来调整。另外,3D欺骗尝试可以通过附加传感器来处理(例如深度)。

安全是一个不断变化的问题,因为一旦引入新的保护方法,攻击者就会不断发现新的方法来破坏系统,我们需要不断发明一些新的方法来对抗那些攻击者!