本说明书实施例涉及机器学习技术领域,具体地,涉及一种对抗补丁的生成方法及装置。
背景技术:
随着人脸识别模型的大规模应用,针对模型的攻击层出不穷,需要及时跟进研究,发现潜在的攻击手段,将危险防范于未然。众多攻击方法中,对抗样本是一种新型的,攻击性较强的攻击手段。对抗样本可以通过对原人脸图像添加肉眼几乎不可见的扰动,而使得人脸识别模型以高置信度输出一个错误的识别结果。
通过对抗样本对人脸识别模型进行攻击的方式主要有两种,通过全图扰动或对特定区域施加扰动构造对抗补丁来生成对抗样本。在物理世界中,例如使用人脸识别模型的刷脸支付系统、门禁系统等情况下,无法对背景、环境添加扰动,因此往往利用对抗补丁进行攻击。
对抗补丁一般是基于局部扰动而形成的图像区域。例如,对抗补丁可以是针对特定的模型与目标人脸,生成一张可打印的2d图片或3d物体,并通过粘贴、佩戴等方式放置于攻击者面部某区域,以实现被攻击模型将带有对抗补丁的攻击者识别为目标人物。
对抗补丁需要基于攻击者人脸图像和目标人脸图像而生成。在已有的方法中,对抗补丁紧密依赖于攻击者的人脸图像,一旦攻击者采集自身照片质量不佳,生成的对抗补丁在使用时只要位置、光照等有微小变化就显著降低与攻击目标的相似度,鲁棒性较差,很难达到预期的攻击效果。
因此,希望能有改进的方案,可以生成鲁棒性更强、攻击性更强的人脸对抗补丁。利用这样的对抗补丁,可以通过对抗训练方式,更好地鉴别和发现更多潜在攻击,提升人脸识别的安全性。
技术实现要素:
本说明书描述了一种对抗补丁的生成方法,可降低对抗补丁与背景的相关性,增加对抗补丁与人脸信息特征的相关性,提升对抗补丁的鲁棒性。
第一方面,提供了一种对抗补丁的生成方法,该方法包括:
获取攻击者的第一人脸图片和目标人脸图片;
获取在所述第一人脸图片上标记的、用于叠加对抗补丁的第一补丁区域;
获取所述攻击者的若干第二人脸图片,所述若干第二人脸图片和所述第一人脸图片构成人脸图片集;
确定所述若干第二人脸图片相对于所述第一人脸图片的若干图片变换方式;
对所述第一补丁区域施加所述若干图片变换方式,得到所述若干第二人脸图片对应的若干第二补丁区域;
基于所述人脸图片集中的各张人脸图片,对所述对抗补丁进行迭代优化,使得在所述各张人脸图片对应的补丁区域叠加所述对抗补丁得到的对抗样本与所述目标人脸图片之间,利用目标识别模型计算的相似度得到增加。
在一个实现方式中,所述若干第二人脸图片中的图片背景彼此不同,且与所述第一人脸图片的图片背景不同。
在另一个实现方式中,确定所述若干第二人脸图片相对于所述第一人脸图片的若干图片变换方式,包括:
在所述第一人脸图片中确定多个关键点对应的多个第一坐标;
对于所述若干第二人脸图片中任意的第二人脸图片,在该任意的第二人脸图片中确定所述多个关键点的多个第二坐标;
确定从所述多个第一坐标到所述多个第二坐标的坐标变换方式,作为该任意的第二人脸图片对应的图片变换方式。
在另一个实现方式中,所述多个关键点包括以下特征点中的至少三个:左瞳孔、右瞳孔、左眉毛、右眉毛、眉心、鼻尖、左嘴角、右嘴角、下巴。
在另一个实现方式中,确定从所述多个第一坐标到所述多个第二坐标的变换方式,包括:
将所述多个第一坐标形成第一矩阵;
将所述多个第二坐标形成第二矩阵;
确定从第一矩阵到第二矩阵的变换矩阵,作为所述坐标变换方式。
在另一个实现方式中,对所述对抗补丁进行迭代优化,包括:
对于所述第一人脸图片,在所述第一补丁区域上叠加所述对抗补丁,基于叠加后的图片形成第一对抗样本;
利用所述目标识别模型,计算所述第一对抗样本与所述目标人脸图片之间的第一相似度;
在增大所述第一相似度的方向,调整所述对抗补丁中的图像参数。
在另一个实现方式中,对所述对抗补丁进行迭代优化,包括:
对于所述若干第二人脸图片中任意的第二人脸图片,在其对应的第二补丁区域上叠加所述对抗补丁,基于叠加后的图片形成第二对抗样本;
利用所述目标识别模型,计算所述第二对抗样本与所述目标人脸图片之间的第二相似度;
在增大所述第二相似度的方向,调整所述对抗补丁中的图像参数。
在另一个实现方式中,基于叠加后的图片形成第二对抗样本,包括:
对叠加后的图片进行随机变换,得到所述第二对抗样本,所述随机变换包括以下中的至少一项:平移,旋转,缩放。
在另一个实现方式中,还包括:
基于迭代优化后的对抗补丁,形成优化的对抗样本;
利用所述优化的对抗样本,训练判别器,所述判别器用于判别输入的人脸图像是否为真实图像。
第二方面,提供了一种对抗补丁的生成装置,包括:
第一获取单元,配置为获取攻击者的第一人脸图片和目标人脸图片;
第二获取单元,配置为获取在所述第一人脸图片上标记的、用于叠加对抗补丁的第一补丁区域;
第三获取单元,配置为获取所述攻击者的若干第二人脸图片,所述若干第二人脸图片和所述第一人脸图片构成人脸图片集;
确定单元,配置为确定所述若干第二人脸图片相对于所述第一人脸图片的若干图片变换方式;
变换对齐单元,配置为对所述第一补丁区域施加所述若干图片变换方式,得到所述若干第二人脸图片对应的若干第二补丁区域;
对抗补丁生成单元,基于所述人脸图片集中的各张人脸图片,对所述对抗补丁进行迭代优化,使得在所述各张人脸图片对应的补丁区域叠加所述对抗补丁得到的对抗样本与所述目标人脸图片之间,利用目标识别模型计算的相似度得到增加。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的对抗补丁的生成方法,构建一个不同背景的攻击者的人脸图片集,将初始对抗补丁用于人脸图片集中的每张图片,并矫正对齐初始对抗补丁在这一系列图片上的位置,使得对抗补丁与人脸特征结合更紧密以提高相关性,降低对抗补丁与训练时标记的坐标位置、图片背景的相关性,提升在物理攻击时的鲁棒性。
附图说明
为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施过程示意图;
图2示出根据一个实施例的对抗补丁的生成方法的流程图;
图3示出在一个实施例中初始对抗抗补丁用于攻击者的第一人脸图片的示意图;
图4示出在一个实施例中初始对抗补丁用于攻击者的第二人脸图片然后矫正补丁位置示意图;
图5示出了根据一个实施例的对抗补丁的生成装置的示意性框图。
具体实施方式
下面结合附图,对本说明书披露的多个实施例进行描述。
为了便于本方案的理解,对本说明书中提到的部分用语进行解释说明:
对抗样本,通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出,所添加的干扰是人眼不可分辨的。
对抗补丁,通过故意对输入样本的特定区域添加干扰,导致模型以高置信度给出一个错误的输出。
物理攻击,将对抗补丁打印成2d的图片或3d的物体,于现实世界中经过相机等摄像设备拍摄后输入模型实现攻击。
在一个对抗补丁的生成方法中,通常只使用攻击者的一张人脸模板照片,并通过添加一定的随机变换来模拟现实中使用对抗补丁时可能发生的位置、角度变换。由于单张人脸照片人的表情、照片的背景、光照等是固定的,仅使用单张图片生成对抗补丁,容易学习到对抗补丁与背景,以及图片中的绝对坐标的相关性,而降低对抗补丁与人脸特征的相关性,导致生成的对抗补丁在进行物理攻击时鲁棒性不足。而直接扩充不同环境的照片,按模板照片上标记的坐标来添加对抗补丁,容易产生偏差,如在模板照片上对抗补丁位于双眼位置,在扩充照片上由于拍摄位置等的变化,按模板坐标来放置对抗补丁,可能使得补丁处于额头位置,也会抑制学习对抗补丁与人脸特征的相关性。
经过以上研究和分析,发明人提出一种对抗补丁的生成方法,在生成攻击人脸识别模型的对抗补丁时,通过增加攻击者在不同环境下拍摄的照片,确保有不同的背景、光照以及人脸表情等变化。并且,在使用这些扩充的照片时,矫正对抗补丁在这一系列照片上的位置,使得对抗补丁与人脸特征结合更紧密以提高相关性,降低对抗补丁与训练时标记的坐标位置、图片背景的相关性,提升在物理攻击时的鲁棒性。
图1为本说明书披露的一个实施例的实施过程示意图。在图1中,攻击者人脸图片,是攻击者本人的人脸照片图像。目标人脸图片,是攻击者所要伪装或者攻击的目标人物的人脸照片图像。目标识别模型,是攻击所针对的人脸识别模型,该模型可以通过多种方式实现。典型的,人脸识别模型可以以卷积神经网络cnn作为基础网络,通过多种算法实现。一般来说,人脸识别模型在进行识别的过程中,都会基于输入的人脸图像进行特征提取,得到一个特征向量,或称为嵌入向量embedding,来表征输入图像的总体特征。然后,基于该特征向量,来确定输入的人脸图像对应于哪个身份。因此,简单清楚起见,在本文中,将目标识别模型表示为函数f(x),该函数示出基于输入人脸图像提取出特征向量的算法过程。
当对攻击者人脸图像添加扰动,使得目标识别模型f(x)针对攻击者人脸图像计算出的特征向量,与针对目标人脸图像计算出的特征向量非常相似时,则认为,针对目标人脸的攻击成功。当上述扰动都集中在图像上预定区域时,则体现为对抗补丁。
为了针对目标人脸图像生成更有攻击力,更具鲁棒性的对抗补丁,如图1所示,在一个实施例中,首先准备攻击者人脸图片和初始对抗补丁,将初始对抗补丁用于攻击者人脸图片,并标记初始对抗补丁在攻击者人脸图片上的设置区域。
然后构造一个攻击者的人脸图片集,该人脸图片集包含具有不同背景的多张攻击者的人脸图片。下一步将初始对抗补丁设置于人脸图片集中的多张攻击者的人脸图片并对初始对抗补丁设置位置进行矫正以使初始对抗补丁与攻击者的人脸图像对齐,利用该人脸图片集中的各张人脸图像,对初始补丁进行迭代优化,优化的方向是使得叠加补丁后的各张人脸图像,经由目标识别模型所得出的特征向量,都更加接近于目标人脸图像。如此,使生成的对抗补丁与人脸特征结合更紧密,降低对抗补丁与训练时标记的坐标位置、图片背景的相关性,提升在物理攻击时的鲁棒性。下面具体描述以上构思的实施过程。
图2示出根据一个实施例的对抗补丁的生成方法的流程图,该对抗补丁的生成方法可以由任何具有计算、处理能力的装置、设备、计算平台、计算集群来执行。下面描述其中各个步骤的具体实施方式。
首先,通过步骤s201,获取攻击者的第一人脸图片和目标人脸图片。其中攻击者的第一人脸图片和目标人脸图片均包括人脸图像和背景图像,人脸图像包括人脸图像特征的图像内容。
背景图像包括图片中的目标对象(例如攻击者人脸图像)以外的图像内容,背景图像可以包括一个或多个背景物体,背景物体可以是景物、动物、人物、物件等。
第一人脸图片或目标人脸图片可以是包含攻击者人脸图像或目标人脸的照片或者视频截图。当第一人脸图片或目标人脸图片为包含攻击者人脸图像或目标人脸图像的照片时,可以通过相机拍摄、查找相册等方式获取。当第一人脸图片或目标人脸图片为包含攻击者人脸图像或目标人脸图像的视频截图时,可以采用在包含攻击者人脸图像或目标人脸图像的视频流中截屏获取的方式获取。
再通过步骤s202,获取初始对抗补丁,并将初始对抗补丁用于第一人脸图片,标记初始补丁设置于第一人脸图片上的第一补丁区域。
在一个例子中,该初始对抗补丁可以是处于初始状态的对抗补丁模板。对抗补丁模板可以是在预定图像区域中具有随机初始化的图像参数的图像部分。该预定图像区域例如可以是人脸图像中的眼部区域,额头区域,眼睛和鼻子的连线区域,等等。
在另一例子中,上述初始对抗补丁也可以是,在对抗补丁模板基础上,通过各种已有方式初步进行调参优化而生成的对抗补丁,例如,仅利用单张人脸照片生成的对抗补丁。
参见图3所示,选择攻击者的第一人脸图片上的某个区域设置对抗补丁,将第一对抗补丁设置于该区域,标记设置对抗补丁的区域为第一补丁区域。第一补丁区域可以为攻击者人脸图像上的双眼区域,如此便于对抗补丁的设置,将对抗补丁贴于眼镜上即可。当然第一补丁区域也可以是攻击者人脸图像上的其他区域。
此外,通过步骤s203,获取攻击者人脸图片集,该人脸图片集包括攻击者的若干第二人脸图片和第一人脸图片。其中人脸图片集中的人脸图片的背景互不相同,为了进一步提升生成的对抗补丁的鲁棒性,人脸图片集中的人脸图像的表情、拍摄时的光照等外界条件也均不相同。
需要说明的是,图2中的步骤编号并不对各步骤执行顺序形成限制,例如s202与步骤s203可以并行执行,步骤s203也可以在步骤s202执行完成后再执行。
步骤s203执行完成后,然后再执行步骤s204和s205,即确定若干第二人脸图片相对于第一人脸图片的若干图片变换方式,然后对第一补丁区域施加若干图片变换方式,得到若干第二人脸图片对应的若干第二补丁区域。
由于人脸图像集中的若干第二人脸图片和第一人脸图片的拍摄角度不同或者图片大小不同等,会造成人脸图像在图片中的位置区域不同,如图4所示,若直接按照第一补丁区域将初始对抗补丁设置于第二人脸图片可能会造成初始对抗补丁设置在攻击者人脸图像上的位置各不相同,如额头上、鼻子上、嘴巴上甚至会偏出攻击者人脸图像设置到背景图像上,则会抑制学习对抗补丁与人脸特征的相关性。因此,还需要将初始对抗补丁与第二图片中的攻击者人脸图像进行对齐,此处的对齐的含义为,初始对抗补丁设置在第二人脸图片中的攻击者人脸图像上的位置与标记的初始对抗补丁设置在第一人脸图片中的攻击者人脸图像上的位置基本相同。
例如,初始对抗补丁设置在第一人脸图片中的攻击者人脸图像的眼睛区域,则对齐后初始对抗补丁同样设置在第二人脸图片中的攻击者人脸图像的眼睛区域。如此,对于人脸图像集中的每个人脸图片,对抗补丁在人脸区域的相对位置基本相同,避免对抗补丁的设置区域不同影响对抗补丁学习人脸的相关特征。
使初始对抗补丁对齐第二图片的人脸设置,首先需要确定第二人脸图片相对于第一人脸图片的图片变换方式,即确定第二人脸图片中的人脸图像在图片中的位置区域相对于第一人脸图片中的人脸图像在图片中的位置区域的变换方式,进而根据得到的变换方式对第一补丁区域施加变换得到第二补丁区域。
确定图片变换方式有多种方法,例如函数变换法、矩阵变换法等方式,下面以矩阵变换法为例介绍具体方案。
在一个实施例中,对于人脸图片集中的每个第二人脸图片,识别并提取人脸图像的多个关键特征点的位置坐标。这些关键特征点例如可以选自左瞳孔、右瞳孔、左眉毛、右眉毛、眉心、鼻尖、左嘴角、右嘴角、下巴等人脸关键特征点。为了更好地表征图片之间的变换,通常取至少三个关键特征点。在提取出三个关键特征点的例子中,将每个第二人脸图片的关键特征点位置坐标表示为p,p={(x0,y0),(x1,y1),(x2,y2)},表示为矩阵形式为:
采用同样方式,得到第一人脸图片的关键特征点位置坐标pt,
pt={(u0,z0),(u1,z1),(u2,z2)},表示为矩阵形式为:
求解仿射变换参数矩阵m,根据mpt=p,求解得出m=p/pt。根据得出的仿射变换参数矩阵m将第一补丁区域仿射变换得到第二补丁区域,第二补丁区域即为初始对抗补丁在第二人脸图片上的设置区域。
最后执行步骤s206,基于人脸图片集中的各张人脸图片,对对抗补丁进行迭代优化,使得在各张人脸图片对应的补丁区域叠加对抗补丁得到的对抗样本与所述目标人脸图片之间,利用目标识别模型计算的相似度得到增加。
具体的,根据上述得到的第二补丁区域和第一补丁区域,将初始对抗补丁对齐叠加到人脸图片集中的每张人脸图片上,形成初始对抗样本集。
为了进一步提升生成的目标对抗补丁的鲁棒性,对初始对抗样本进行随机变换,例如平移和/或旋转和/或缩放和/或镜像处理得到更大的初始对抗样本集,防止由于初始对抗样本数量少使得对抗补丁学习训练过程中出现过拟合现象。
然后利用目标识别模型,计算初始对抗样本集中的每个对抗样本与目标人脸图片之间的相似度,在增大相似度的方向,调整对抗补丁中的图像参数,当相似度到达可使目标识别模型将对抗样本识别为目标人脸图片的阈值时,输出此时的对抗补丁为目标对抗补丁。
具体公式如下:
其中,p表示对抗补丁,x表示未添加补丁的原始攻击者人脸图片,t表示目标人脸图片,
进一步的,为了防范这样的攻击,在一个实施例中,可以利用以上得到的对抗样本,来训练判别器,使得判别器可以判别输入的人脸图像是真实人脸,还是包含对抗补丁的人脸。判别器的训练和对抗样本的生成形成对抗,对抗补丁和对抗样本的攻击性越强,训练得到的判别器判别能力才会越强,才有可能判别出具有更强攻击性的对抗样本。如此,提高人脸识别系统的安全性。
根据另一方面的实施例,提供了一种生成人脸对抗补丁的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图5示出根据一个实施例的对抗补丁的生成装置的示意性框图。如图5所示,该装置500包括:
第一获取单元51,配置为获取攻击者的第一人脸图片和目标人脸图片;
第二获取单元52,配置为获取在所述第一人脸图片上标记的、用于叠加对抗补丁的第一补丁区域;
第三获取单元53,配置为获取所述攻击者的若干第二人脸图片,所述若干第二人脸图片和所述第一人脸图片构成人脸图片集;
确定单元54,配置为确定所述若干第二人脸图片相对于所述第一人脸图片的若干图片变换方式;
变换对齐单元55,配置为对所述第一补丁区域施加所述若干图片变换方式,得到所述若干第二人脸图片对应的若干第二补丁区域;
对抗补丁生成单元56,基于所述人脸图片集中的各张人脸图片,对所述对抗补丁进行迭代优化,使得在所述各张人脸图片对应的补丁区域叠加所述对抗补丁得到的对抗样本与所述目标人脸图片之间,利用目标识别模型计算的相似度得到增加。
在一个实施例中,所述若干第二人脸图片中的图片背景彼此不同,且与所述第一人脸图片的图片背景不同。
根据一种实施方式,所述确定单元54具体配置为:
在所述第一人脸图片中确定多个关键点对应的多个第一坐标;
对于所述若干第二人脸图片中任意的第二人脸图片,在该任意的第二人脸图片中确定所述多个关键点的多个第二坐标;
确定从所述多个第一坐标到所述多个第二坐标的坐标变换方式,作为该任意的第二人脸图片对应的图片变换方式。
一个示例中,所述多个关键点包括以下特征点中的至少三个:左瞳孔、右瞳孔、左眉毛、右眉毛、眉心、鼻尖、左嘴角、右嘴角、下巴。
在一个实施例中,确定从所述多个第一坐标到所述多个第二坐标的变换方式,包括:
将所述多个第一坐标形成第一矩阵;
将所述多个第二坐标形成第二矩阵;
确定从第一矩阵到第二矩阵的变换矩阵,作为所述坐标变换方式。
在一个实施例中,所述对抗补丁生成单元56配置为:
对于所述第一人脸图片,在所述第一补丁区域上叠加所述对抗补丁,基于叠加后的图片形成第一对抗样本;
利用所述目标识别模型,计算所述第一对抗样本与所述目标人脸图片之间的第一相似度;
在增大所述第一相似度的方向,调整所述对抗补丁中的图像参数。
在另一个实施例中,所述对抗补丁生成单元56配置为:
对于所述若干第二人脸图片中任意的第二人脸图片,在其对应的第二补丁区域上叠加所述对抗补丁,基于叠加后的图片形成第二对抗样本;
利用所述目标识别模型,计算所述第二对抗样本与所述目标人脸图片之间的第二相似度;
在增大所述第二相似度的方向,调整所述对抗补丁中的图像参数。
进一步的,所述对抗补丁生成单元56配置为:
对叠加后的图片进行随机变换,得到所述第二对抗样本,所述随机变换包括以下中的至少一项:平移,旋转,缩放。
进一步的,在一个实施例中,上述装置500还包括训练单元(未示出),配置为:
基于迭代优化后的对抗补丁,形成优化的对抗样本;
利用所述优化的对抗样本,训练判别器,所述判别器用于判别输入的人脸图像是否为真实图像。
通过以上装置,可以生成具有更强攻击力和鲁棒性的人脸对抗补丁。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。