对抗补丁生成、检测模型训练、对抗补丁防御方法及系统与流程

文档序号:21272747发布日期:2020-06-26 23:02阅读:437来源:国知局
对抗补丁生成、检测模型训练、对抗补丁防御方法及系统与流程

本说明书涉及人脸识别领域,特别涉及对抗补丁生成、检测模型训练、对抗补丁防御方法及系统。



背景技术:

随着人脸识别模型的大规模应用,针对人脸识别模型的攻击手段层出不穷。借助某些攻击手段,攻击者可以通过携带对抗补丁(如,佩戴眼镜框)让人脸识别结果出错,如此攻击者可以冒充他人身份以达成各种目的,如打开门禁、解锁设备、刷脸支付等等,容易造成各种不良影响,如财产和/或隐私的泄露等等。

因此,需要提前研究及发现针对人脸识别模型的攻击手段,从而可以针对新发现的攻击手段制定有效的防御方案,以保证人脸识别结果的可靠性。



技术实现要素:

本说明书实施例之一提供一种对抗补丁生成方法,其中,包括:检测对抗样本中的特征点,得到对抗样本中的一个或多个感兴趣区域的特征点集合,所述对抗样本为对攻击者的人脸图像添加对抗补丁的结果;检测目标人脸图像中的特征点,得到目标人脸图像中与所述对抗样本对应的一个或多个感兴趣区域的特征点集合,所述目标人脸图像为被攻击者的人脸图像;基于对抗样本各感兴趣区域的特征点集合和目标人脸图像各感兴趣区域的特征点集合,计算对抗样本与目标人脸在感兴趣区域上的区域相似度;调节对抗样本中的对抗补丁,以至少增加所述区域相似度。

本说明书实施例之一提供一种对抗补丁生成系统,其中,包括:对抗样本特征点检测模块,用于检测对抗样本中的特征点,得到对抗样本中的一个或多个感兴趣区域的特征点集合,所述对抗样本为对攻击者的人脸图像添加对抗补丁的结果;目标人脸图像特征点检测模块,用于检测目标人脸图像中的特征点,得到目标人脸图像中与所述对抗样本对应的一个或多个感兴趣区域的特征点集合,所述目标人脸图像为被攻击者的人脸图像;区域相似度计算模块,用于基于对抗样本各感兴趣区域的特征点集合和目标人脸图像各感兴趣区域的特征点集合,计算对抗样本与目标人脸在感兴趣区域上的区域相似度;对抗补丁调节模块,用于调节对抗样本中的对抗补丁,以至少增加所述区域相似度。

本说明书实施例之一提供一种对抗补丁生成装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的对抗补丁生成方法。

本说明书实施例之一提供一种检测模型训练方法,其中,包括:获得对抗样本集,所述对抗样本集中的对抗样本包含目标对抗补丁,所述目标对抗补丁为通过如本说明书任一实施例所述的对抗补丁生成方法得到的对抗补丁;获得正常人脸样本集,正常人脸样本集中的人脸样本不包含所述目标对抗补丁;基于所述对抗样本集和所述正常人脸样本集对机器学习模型进行有监督训练,得到检测模型,所述检测模型用于检测人脸图像是否包含目标对抗补丁。

本说明书实施例之一提供一种检测模型训练系统,其中,包括:对抗样本集获得模块,用于获得对抗样本集,所述对抗样本集中的对抗样本包含目标对抗补丁,所述目标对抗补丁为通过如本说明书任一实施例所述的对抗补丁生成方法得到的对抗补丁;正常人脸样本集获得模块,用于获得正常人脸样本集,正常人脸样本集中的人脸样本不包含所述目标对抗补丁;训练模块,用于基于所述对抗样本集和所述正常人脸样本集对机器学习模型进行有监督训练,得到检测模型,所述检测模型用于检测人脸图像是否包含目标对抗补丁。

本说明书实施例之一提供一种检测模型训练装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的检测模型训练方法。

本说明书实施例之一提供一种对抗补丁防御方法,其中,包括:获取待识别的人脸图像;将所述人脸图像输入检测模型,所述检测模型通过如本说明书任一实施例所述的检测模型训练方法得到;获得检测模型输出的检测结果,所述检测结果指示所述人脸图像是否包含目标对抗补丁。

本说明书实施例之一提供一种对抗补丁防御系统,其中,包括:图像获取模块,用于获取待识别的人脸图像;图像输入模块,用于将所述人脸图像输入检测模型,所述检测模型通过如本说明书任一实施例所述的检测模型训练方法得到;检测结果输出模块,用于获得检测模型输出的检测结果,所述检测结果指示所述人脸图像是否包含目标对抗补丁。

本说明书实施例之一提供一种对抗补丁防御装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的对抗补丁防御方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书一些实施例所示的利用对抗补丁攻击人脸识别模型的示意图;

图2是根据本说明书一些实施例所示的人脸识别攻击系统的应用场景示意图;

图3是根据本说明书一些实施例所示的人脸识别系统的应用场景示意图;

图4是根据本说明书一些实施例所示的对抗补丁生成方法的示例性流程图;

图5是根据本说明书一些实施例所示的对抗样本与目标人脸在感兴趣区域上的区域相似度的示例性流程图;

图6是根据本说明书一些实施例所示的对抗补丁防御方法的示例性流程图;

图7是根据本说明书一些实施例所示的检测模型训练方法的示例性流程图;

图8是根据本说明书一些实施例所示的对抗补丁生成系统的示例性框图;

图9是根据本说明书一些实施例所示的对抗补丁防御系统的示例性框图;

图10是根据本说明书一些实施例所示的检测模型训练系统的示例性框图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书一些实施例所示的利用对抗补丁攻击人脸识别模型的示意图。

在一些实施例中,可以利用对抗补丁攻击人脸识别模型。如图1所示,对抗样本包括攻击者的人脸图像以及通过某种方法生成的对抗补丁。对抗补丁可视为添加至攻击者的人脸图像的扰动,其可由一组参数表示,添加对抗补丁也可被描述为打补丁。在一些实施例中,可以在攻击者的人脸图像中添加对抗补丁(例如,其可以表示为一组像素值,用于叠加或覆盖到所述人脸图像的对应像素点上),获得对抗样本。在一些实施例中,对抗样本还可以基于攻击者佩戴可穿戴物、用于遮挡至少部分人脸的物体(简称遮挡物)等生成。例如,攻击者佩戴与对抗补丁相关的可穿戴物进行人脸图像拍摄,获得的人脸图像便是携带了对抗补丁的对抗样本。其中,可穿戴物可包括眼镜框、假胡子、假眉毛、假发等,遮挡物可用于遮挡鼻子、嘴巴等单个部位或多个部位的结合处。将攻击者的人脸图像打上对抗补丁后输入人脸识别模型,可使人脸识别结果出错,如使攻击者a被识别为目标用户b。

在一些实施例中,人脸识别系统的识别机制包括:利用人脸识别模型对待识别的人脸图像处理以获得待识别的人脸图像的向量表示,计算待识别的人脸图像的向量表示与目标用户的标准人脸图像的向量表示的余弦相似度,当该余弦相似度高于设定阈值时,确定待识别的人脸图像与该目标用户匹配。换言之,人脸识别系统根据余弦相似度进行人脸比对,若余弦相似度高于设定阈值,则判定人脸图像属于同一个人。其中,人脸识别模型可指训练好的用于人脸识别的机器学习模型,人脸图像的向量表示反映人脸识别模型对人脸图像的处理结果。在一些实施例中,该向量表示可以是embedding向量。应当理解,人脸识别系统可以预先获取用户的人脸图像并将其作为该用户的标准人脸图像,进而可以将该用户的标准人脸图像的向量表示录入人脸数据库以供后续的人脸比对。

基于上述人脸识别机制,若希望攻击者a被识别为目标用户b,则对抗样本的向量表示与目标用户的人脸图像的向量表示的余弦相似度应高于设定阈值。因此,可以利用余弦相似度构造用于衡量攻击效果的目标函数(如,损失函数),并通过调节对抗补丁(的参数)来优化该目标函数。

在一些场景中,生成对抗补丁的一方可获知要攻击的人脸识别模型的有用信息(如,类别、结构、参数、相关算法等),并利用人脸识别模型的有用信息有针对性的生成对抗补丁,如以上基于余弦相似度的攻击手段,可归类为白盒攻击,相应地遭受白盒攻击的模型可称为白盒模型。由于这种基于余弦相似度的白盒攻击手段仅关注对抗样本的向量表示与目标用户的人脸图像的向量表示的余弦相似度,容易对目标函数优化过度,从而造成对抗样本在人脸特定部位呈现出较大的畸变,如呈现出非正常形状的嘴、鼻子、眼睛等。尽管呈现出较大畸变的对抗样本针对特定的白盒模型具有较好的攻击效果,但攻击效果难以迁移到类别、参数、结构等未知的黑盒模型,即将携带相同对抗补丁的攻击者的人脸图像输入黑盒模型后模型无法将其与目标用户匹配。需要说明的是,人脸特定部位(如,嘴、鼻子、眼睛等区域)的特征的抽象程度较高,因此也可称为语义特征。

由于对同一个人脸的不同人脸图像,不同的人脸识别模型可以提取出相同或类似的语义特征,本说明书中的实施例在余弦相似度的基础上增加了对语义相似度的优化,基于此生成的对抗补丁对黑盒模型仍具有较好的攻击效果,从而新发现了一种对黑盒模型也具有较好攻击效果的白盒攻击手段。相应地,本说明书中的实施例也提供了针对这种颇具危险性的白盒攻击手段的防御方案。

图2是根据本说明书一些实施例所示的人脸识别攻击系统的应用场景示意图。如图2所示,人脸识别攻击系统200可以包括用户端210、服务端220以及网络230。

用户端210可用于向服务端220提供攻击者的人脸图像和该攻击者要冒充的目标用户(也可称为被攻击者)的人脸图像,以及用于接收由服务端220生成的对抗补丁。攻击者可将用户端220接收到的对抗补丁打印成实体的2d或3d物体,将打印出的实体对抗补丁通过佩戴、粘贴或其他方式覆盖于人脸相应部位后在人脸识别系统的机具前配合拍摄。

服务端220可用于根据攻击者的人脸图像、该攻击者要冒充的目标用户的人脸图像以及补丁模板生成对抗补丁,补丁模板可指未经调节的原始对抗补丁。针对任一攻击者、该攻击者要冒充的目标用户以及设定的补丁模板,服务端220可生成一个与其对应的对抗补丁。在一些实施例中,补丁模板可以是诸如眼镜框、假胡子、假眉毛、假发等的可穿戴物,用于遮挡人脸特定区域的遮挡物或者其他可覆盖于人脸的物体。可以理解,当攻击者难以判断对抗补丁在人脸上的覆盖方式时,可由服务端220对攻击者进行提示以防止攻击失效,例如,提示对抗补丁应以什么姿态覆盖于人脸什么部位。当然,当补丁模板为眼镜框之类的可穿戴物时,攻击者根据经验穿戴对抗补丁即可。

图3是根据本说明书一些实施例所示的人脸识别系统的应用场景示意图。如图3所示,人脸识别系统300可以包括用户端310、机具320、服务端330以及网络340。

用户端310可用于向服务端330上传用户的人脸图像作为标准人脸图像。在一些实施例中,用户端310可以集成有摄像组件以拍摄人脸图像。

机具320可用于采集待识别的人脸图像并将其发送给服务端330。

服务端330可用于接收各用户的标准人脸图像并将各用户的标准人脸图像的向量表示录入人脸数据库,以及将机具320采集到的待识别的人脸图像与标准人脸图像进行比对以获得人脸识别结果。

关于人脸识别系统300及其组成部分的更多细节,还可以参考本说明书其他实施例中的相关描述。例如,人脸识别系统300还可以包括对抗补丁防御系统900,具体地可以参考图6、图9及其相关描述。

本说明书中提及的用户端(如,用户端210、用户端310)可以包括各类具有信息接收和/或发送功能的设备。在一些实施例中,用户端可以包括智能电话、平板计算机、膝上型计算机、台式计算机等或其任意组合。

本说明书中提及的服务端(如,服务端220、服务端330)可以包括各类计算设备,如服务器。服务器可以是独立的服务器或者服务器组,服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。

本说明书中提及的网络(如,网络230、网络340)连接所在系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以包括有线网络和/或无线网络。例如,网络可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络(zigbee)、近场通信(nfc)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。

图4是根据本说明书一些实施例所示的对抗补丁生成方法的示例性流程图。流程400可以由人脸识别攻击系统中的服务端220执行。如图4所示,流程400可以包括:

步骤410,检测对抗样本中的特征点,得到对抗样本中的一个或多个感兴趣区域的特征点集合,所述对抗样本为对攻击者的人脸图像添加对抗补丁的结果。在一些实施例中,步骤410可以由对抗样本特征点检测模块810实现。

在一些实施例中,可以基于补丁模板生成一初始对抗补丁,添加到攻击者的人脸图像中。仅作为示例,补丁模板为眼镜框,可以基于此生成对抗补丁,该对抗补丁可以看成是与人脸图像大小一致的掩模图像,但该掩模图像中仅在与人脸图像相适应的眼镜框区域具有像素值(如一开始可以为随机初始值),其余区域的像素值为无效或者0。将掩模图像与攻击者的人脸图像进行运算得到对抗样本,对抗样本中眼镜框区域的像素值为掩模图像中对应位置的像素值,其余区域的像素值为人脸图像中对应位置的像素值。

步骤420,检测目标人脸图像中的特征点,得到目标人脸图像中与所述对抗样本对应的一个或多个感兴趣区域的特征点集合,所述目标人脸图像为被攻击者的人脸图像。在一些实施例中,步骤420可以由目标人脸图像特征点检测模块820实现。

在一些实施例中,一个或多个感兴趣区域可以包括左眼、右眼、鼻子、嘴等一个或多个人脸特定部位,其中,一个部位可对应于一个区域。

在一些实施例中,可以利用训练好的机器学习模型(可称为人脸特征点检测模型)检测人脸图像中的特征点,也可以利用算法(可称为人脸特征点检测算法)检测人脸图像中的特征点。例如,在一些实施例中,可以利用同一人脸特征点检测模型分别处理对抗样本和目标人脸图像,从而分别得到对抗样本中的一个或多个感兴趣区域的特征点集合和目标人脸图像中一个或多个感兴趣区域的特征点集合。

应当理解,对抗样本和目标人脸图像可具有相同数量的感兴趣区域,且每个感兴趣区域中可包含相同数量的特征点。另外,对抗样本和目标人脸图像的各感兴趣区域一一对应,且互相对应的感兴趣区域中的各特征点也一一对应。举例说明,假设检测出对抗样本鼻子部位的特征点集合{(a1,b1),(a2,b2),...,(an,bn)},其中n为正整数,则也会检测出目标人脸图像鼻子部位的特征点集合{(a1,b1),(a2,b2),...,(an,bn)},且特征点(ai,bi)与特征点(ai,bi)是对应的,其中i为不大于n的正整数。

步骤430,基于对抗样本各区域的特征点集合和目标人脸图像各感兴趣区域的特征点集合,计算对抗样本与目标人脸在感兴趣区域上的区域相似度。在一些实施例中,步骤430可以由区域相似度计算模块830实现。

区域相似度可以表征对抗样本与目标人脸在感兴趣区域上的相似度,鉴于人脸图像感兴趣区域的特征较为抽象,区域相似度也可称为语义相似度。

关于区域相似度的具体计算流程,可以参考图5及其相关描述。

步骤440,调节对抗样本中的对抗补丁,以至少增加所述区域相似度。在一些实施例中,步骤440可以由对抗补丁调节模块840实现。

在一些实施例中,可以构造包含所述区域相似度的目标函数,通过调节对抗补丁至少使得目标函数中的区域相似度增加。例如,所述目标函数可以包括所述对抗样本的向量表示与所述目标人脸图像的向量表示的余弦相似度以及所述区域相似度。所述对抗样本的向量表示反映某机器学习模型对所述对抗样本进行处理的结果,所述目标人脸图像的向量表示反映该机器学习模型对所述目标人脸图像进行处理的结果。所述结果可以是所述某机器学习模型最终输出的结果,也可以是其某一计算环节(如embedding层)输出的中间结果。在一些实施例中,所述目标函数与所述余弦相似度以及所述目标函数与所述区域相似度可分别呈负相关。基于此,通过调节对抗补丁,使得目标函数(也可称为损失函数)减小,相当于使得所述区域相似度增加且所述余弦相似度增加。

具体地,对于任何一对攻击者和被攻击者,所述目标函数的计算式可以如下所示:

其中,l表示所述目标函数值,m表示使用的攻击者的人脸图像(不包含对抗补丁)的数量,n表示使用的被攻击者的人脸图像的数量,xi表示攻击者的第i张人脸图像的向量表示,yj表示被攻击者的第j张人脸图像的向量表示,p表示与该对攻击者和被攻击者对应的对抗补丁的向量表示,xi+p中的“+”可表示用对抗补丁覆盖(即意味着像素值的替换)攻击者的人脸图像中相应区域后得到的结果(该结果即对抗样本)的向量表示,表示所述某机器学习模型的处理算法,lij反映攻击者的第i张人脸图像对应的对抗样本与被攻击者的第j张人脸图像在感兴趣区域上的区域相似度,在本计算式中具体表示对抗样本对应的特征点向量与目标人脸图像对应的特征点向量之间的距离(详见图5的相关说明),

关于l的计算式有如下几点值得说明:1.可以使用攻击者的多张人脸图像计算l,以模拟攻击者可能在不同状态下配合机具拍摄的情形;2.若不确定被攻击者的标准人脸图像,可以使用被攻击者的多张人脸图像计算l,否则可直接使用被攻击者的标准人脸图像计算l(相应地n=1);3.对于任何一对攻击者和被攻击者,训练出的p是唯一的;4.可以使用补丁模板作为待调节的对抗补丁;可称为余弦损失,lij可称为语义损失,的大小反映对余弦损失/语义损失的重视程度,越大表明对语义损失越重视,越小表明对余弦损失越重视;6.调节对抗补丁的目的是使l减小,如使l不大于设定阈值;7.在不违背本说明书的教导的情况下,可以对上述l的计算式进行适当的变形,例如可以将余弦值前的“-”改为“+”并使,又如添加其他求和项。

在一些实施例,可以基于预设的步长对对抗补丁p中的参数(如一个或多个像素值)进行正向调节(使参数增加所述步长)或负向调节(使参数减小所述步长),使得目标函数减小。当目标函数小于设定阈值时,可将对抗补丁p作为最终的结果发送给用户端210。

图5是根据本说明书一些实施例所示的对抗样本与目标人脸在感兴趣区域上的区域相似度的示例性流程图。在一些实施例中,流程500可以包括:

步骤510,对对抗样本在各感兴趣区域的特征点进行归一化,将各感兴趣区域的经过归一化的特征点拼接为对抗样本对应的特征点向量。

步骤520,对目标人脸图像在各感兴趣区域的特征点进行归一化,将各感兴趣区域的经过归一化的特征点拼接为目标人脸图像对应的特征点向量。

应当理解,对对抗样本和目标人脸图像在各感兴趣区域的特征点进行归一化的方式应保持一致。

在一些实施例中,对于对抗样本或目标人脸图像的任一区域:可以基于预设标定方式,确定该感兴趣区域的标定点,并基于确定的标定点(如,以标定点为坐标原点)对该感兴趣区域的各特征点进行坐标变换(如将各特征点的坐标值分别减去标定点的坐标,以得到各特征点进行坐标变换后的坐标值),得到该感兴趣区域的经过归一化的特征点。对于任一感兴趣区域,其特征点的标定方式可以是任意的,可以理解,不同感兴趣区域(如鼻子部位与右眼部位)的特征点的标定方式可以不同,但是对抗样本和目标人脸图像对应的感兴趣区域中特征点的标定方式要保持一致。例如,对于对抗样本和目标人脸图像的左(右)眼,可以都选取靠近鼻子的眼角点作为标定点,也可以都选取远离鼻子的眼角点作为标定点。

应当理解,对于对抗样本和目标人脸图像,将各感兴趣区域的经过归一化的特征点拼接为特征点向量的方式应保持一致。仅作为示例,假设:对抗样本/目标人脸图像的各感兴趣区域包括左眼、右眼和鼻子,对抗样本左眼的特征点集合为{(a1,b1),(a2,b2),...,(an,bn)},对抗样本右眼的特征点集合为{(c1,d1),(c2,d2),...,(cn,dn)},对抗样本鼻子的特征点集合为{(e1,f1),(e2,f2),...,(em,fm)},目标人脸图像左眼的特征点集合为{(a1,b1),(a2,b2),...,(an,bn)},目标人脸图像右眼的特征点集合为{(c1,d1),(c2,d2),...,(cn,dn)},目标人脸图像鼻子的特征点集合为{(e1,f1),(e2,f2),...,(em,fm)},其中,m、n均为正整数,对抗样本和目标人脸图像中标号相同的特征点是对应的,那么:拼接后对抗样本对应的特征点向量可以是(a1,b1,a2,b2,...,an,bn,c1,d1,c2,d2,...,cn,dn,e1,f1,e2,f2,...,em,fm),相应地目标人脸图像对应的特征点向量可以是(a1,b1,a2,b2,...,an,bn,c1,d1,c2,d2,...,cn,dn,e1,f1,e2,f2,...,em,fm)。

步骤530,计算对抗样本对应的特征点向量与目标人脸图像对应的特征点向量之间的距离,基于该距离确定所述区域相似度。

应当理解,该距离(可理解为语义损失)越小,对抗样本对应的特征点向量与目标人脸图像对应的特征点向量越相似,即所述区域相似度越大。在一些实施例中,该距离可以是欧式距离。

图6是根据本说明书一些实施例所示的对抗补丁防御方法的示例性流程图。在一些实施例中,流程600可以由人脸识别系统300执行,例如,流程600具体可由人脸识别系统300中的对抗补丁防御系统900实现。如图6所示,流程600可以包括:

步骤610,获取待识别的人脸图像。在一些实施例中,步骤610可以由图像获取模块910实现。

在一些实施例中,图像获取模块910可以从机具320接收拍摄到的人脸图像。

步骤620,将所述人脸图像输入检测模型。在一些实施例中,步骤620可以由图像输入模块920实现。

步骤630,获得检测模型输出的检测结果,所述检测结果指示所述人脸图像是否包含目标对抗补丁。在一些实施例中,步骤630可以由检测结果输出模块930实现。

其中,所述目标对抗补丁是指通过如流程400所示的方法生成的对抗补丁。关于目标对抗补丁的更多细节,可以参考图4及其相关描述。

所述检测模型可以检测待识别的人脸图像中是否包含所述目标对抗补丁。关于所述检测模型的训练方法,可以参考图7及其相关描述。

在一些实施例中,当所述检测结果指示所述人脸图像包含目标对抗补丁时,人脸识别系统300可以拒绝对所述人脸图像进行人脸识别,或者可以发起人工审核流程以基于审核结果确定是否对所述人脸图像进行人脸识别。

图7是根据本说明书一些实施例所示的检测模型训练方法的示例性流程图。训练出的检测模型可用于检测人脸图像中是否包含所述目标对抗补丁。在一些实施例中,流程700可以由检测模型训练系统1000实现。如图7所示,流程700可以包括:

步骤710,获得对抗样本集,所述对抗样本集中的对抗样本包含所述目标对抗补丁。在一些实施例中,步骤710可以由对抗样本集获得模块1010实现。

步骤720,获得正常人脸样本集,正常人脸样本集中的人脸样本不包含所述目标对抗补丁。在一些实施例中,步骤720可以由正常人脸样本集获得模块1020实现。

所述对抗样本集中的对抗样本可以通过对正常人脸样本集中的人脸样本添加所述目标对抗补丁得到。具体地,可以按照如下流程获得尽可能多的对抗样本:a.收集可能被使用的补丁模板,得到补丁模板集{t1,t2,...,tl},其中,l为正整数;b.从正常人脸样本集{s1,s2,...,sk}中随机选取两个人脸样本作为攻击者的人脸图像和被攻击者的人脸图像(分别记为sm、sn,其中,m、n均为不大于k的正整数),以及从补丁模板集中随机选取一个补丁模板tl(l为不大于l的正整数),进而基于选取的任一组攻击者的人脸图像和被攻击者的人脸图像以及从补丁模板集中的任一补丁模板(记为(sm,sn,tl)),通过如流程400所示的方法(记为)生成与(sm,sn,tl)对应的对抗补丁g(sm,sn,tl);c.重复步骤b以获取多个不同的对抗补丁g(sm,sn,tl);d.将各对抗补丁g(sm,sn,tl)与对应的攻击者人脸图像sm组合,以得到多个对抗样本,这里的组合可理解为用对抗补丁g(sm,sn,tl)覆盖攻击者人脸图像sm的相应区域,例如,用基于眼镜框生成的对抗补丁覆盖(即意味着像素值的替换)攻击者人脸图像的眼镜框区域。

步骤730,基于所述对抗样本集和所述正常人脸样本集对机器学习模型进行有监督训练,得到所述检测模型。在一些实施例中,步骤730可以由训练模块1030实现。

在一些实施例中,训练采用的机器学习模型可以是各类能用于二分类的模型,如神经网络、支持向量机等。

应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图8是根据本说明书一些实施例所示的对抗补丁生成系统的示例性框图。系统800可以在人脸识别攻击系统中的服务端220上实现。如图8所示,系统800可以包括对抗样本特征点检测模块810、目标人脸图像特征点检测模块820、区域相似度计算模块830和对抗补丁调节模块840。

对抗样本特征点检测模块810可以用于检测对抗样本中的特征点,得到对抗样本中的一个或多个感兴趣区域的特征点集合,所述对抗样本为对攻击者的人脸图像添加对抗补丁的结果。

目标人脸图像特征点检测模块820可以用于检测目标人脸图像中的特征点,得到目标人脸图像中与所述对抗样本对应的一个或多个感兴趣区域的特征点集合,所述目标人脸图像为被攻击者的人脸图像。

区域相似度计算模块830可以用于基于对抗样本各区域的特征点集合和目标人脸图像各感兴趣区域的特征点集合,计算对抗样本与目标人脸在感兴趣区域上的区域相似度。

对抗补丁调节模块840可以用于调节对抗样本中的对抗补丁,以至少增加所述区域相似度。

关于系统800及其模块的更多细节,可以参考图4及其相关描述。

图9是根据本说明书一些实施例所示的对抗补丁防御系统的示例性框图。系统900可以在人脸识别系统300中实现。如图9所示,系统900可以包括图像获取模块910、图像输入模块920和检测结果输出模块930。

图像获取模块910可以用于获取待识别的人脸图像。在一些实施例中,图像获取模块910可以从机具320接收拍摄到的人脸图像。

图像输入模块920可以用于将所述人脸图像输入检测模型。

检测结果输出模块930可以用于获得检测模型输出的检测结果,所述检测结果指示所述人脸图像是否包含目标对抗补丁。其中,所述目标对抗补丁是指通过如流程400所示的方法生成的对抗补丁。关于目标对抗补丁的更多细节,可以参考图4及其相关描述。所述检测模型可以检测待识别的人脸图像中是否包含所述目标对抗补丁。关于所述检测模型的训练方法,可以参考图7及其相关描述。

关于系统900及其模块的更多细节,可以参考图6及其相关描述。

图10是根据本说明书一些实施例所示的检测模型训练系统的示例性框图。如图10所示,系统1000可以包括对抗样本集获得模块1010、正常人脸样本集获得模块1020和训练模块1030。

对抗样本集获得模块1010可以用于获得对抗样本集,所述对抗样本集中的对抗样本包含所述目标对抗补丁。

正常人脸样本集获得模块1020可以用于获得正常人脸样本集,正常人脸样本集中的人脸样本不包含所述目标对抗补丁。

其中,所述目标对抗补丁是指通过如流程400所示的方法生成的对抗补丁。关于目标对抗补丁的更多细节,可以参考图4及其相关描述。

训练模块1030可以用于基于所述对抗样本集和所述正常人脸样本集对机器学习模型进行有监督训练,得到所述检测模型。

关于系统1000及其模块的更多细节,可以参考图7及其相关描述。

应当理解,图8~10所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,图8中披露的对抗样本特征点检测模块810和目标人脸图像特征点检测模块820可以是两个模块,也可以合并为一个模块。诸如此类的变形,均在本说明书的保护范围之内。

本说明书实施例可能带来的有益效果包括但不限于:(1)发现了一种新的对抗补丁,这种对抗补丁从白盒模型迁移至黑盒模型后仍具有一定的攻击成功率,可以及时针对这种对抗补丁的生成方法制定有效的防御方案;(2)训练出能够检测训练出能够检测人脸图像中是否包含按上述方法生成的对抗补丁的检测模型,可以保证人脸识别结果的可靠性,例如,可以避免用户身份被冒充后用户财产和/或隐私的泄露。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1