一种定向攻击人脸识别的对抗样本生成方法和装置、电子设备与流程

文档序号:32491429发布日期:2022-12-10 02:57阅读:45来源:国知局
一种定向攻击人脸识别的对抗样本生成方法和装置、电子设备与流程

1.本发明涉及图像处理技术领域,尤其涉及一种定向攻击人脸识别的对抗样本生成方法和装置、电子设备。


背景技术:

2.随着人脸识别模型的应用,针对模型的攻击,需要及时跟进研究,发现潜在的攻击手段,将危险防范于未然。众多攻击方法中,对抗样本是一种新型的、攻击性较强的攻击手段。对抗样本可以通过对原人脸图像添加肉眼几乎不可见的扰动,而使得人脸识别模型以高置信度输出一个错误的识别结果。
3.通过对抗样本对人脸识别模型进行攻击的方式主要有两种,通过全图扰动或对特定区域施加扰动构造对抗补丁来生成对抗样本。这两种对抗样本生成方式,对伪装图片的修改范围过大,易被人脸识别模型识别出是对抗样本。


技术实现要素:

4.本发明实施例的目的是提供一种定向攻击人脸识别的对抗样本生成方法和装置、电子设备,能够解决现有技术中存在的对抗样本易被识破的问题。
5.为解决上述技术问题,本发明提供如下技术方案:
6.本发明实施例提供了一种定向攻击人脸识别的对抗样本生成方法,其中,所述方法包括:
7.对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫正图像和第二矫正图像;
8.计算所述第一矫正图像在人脸识别模型上的类别激活映射图;
9.基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位;
10.通过人脸识别模型对所述第一矫正图像和所述第二矫正图像作前向推理,得到归一化后的第一人脸特征和第二人脸特征;其中,所述第一人脸特征为所述第一矫正图像对应的特征,所述第二人脸特征为所述第二矫正图像对应的特征;
11.按照预设扰动规则对所述第二矫正图像进行扰动处理,得到多个扰动图像;
12.基于所述第一人脸特征、第二人脸特征以及所述扰动图像,计算损失函数;
13.计算攻击者的第一图像对所述损失函数的第一梯度值;
14.依据所述第一梯度值更新攻击者的第一图像;
15.判断攻击部位调整迭代次数是否达到预设上限值;
16.若否,在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵返回执行基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位的步骤;
17.若是,将更新后的所述第一图像作为目标攻击者图像。
18.可选地,所述对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫
正图像和第二矫正图像的步骤,包括:
19.分别对攻击者的第一图像和被攻击者的第二图像进行人脸检测,得到第一人脸关键点和第二人脸关键点;
20.将所述第一图像中的所述第一人脸关键点与标准关键点模板做对齐,得到第一矫正图像;
21.将所述第二图像中的所述第二人脸关键点与标准关键点模板做对齐,得到第二矫正图像。
22.可选地,基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位的步骤,包括:
23.对所述类别激活映射图划分成预设数量的网格,并计算每个所述网格中各像素点的像素均值以及网格中心点坐标;将各网格中心点按照对应的像素均值进行排序,得到中心点坐标序列;
24.确定初始掩罩矩阵;
25.取中心点坐标序列及其对应的宽高序列的前k个值,组成k个区域,将所述k个区域内部像素值置为1,其中,所述k个区域为图像中的攻击部位。
26.可选地,基于所述第一人脸特征、第二人脸特征以及所述扰动图像,计算损失函数的步骤,包括:
27.基于所述第二人脸特征和所述扰动图像,确定扰动人脸特征;
28.依据所述第一人脸特征和所述扰动人脸特征,计算损失函数。
29.可选地,在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵的步骤,包括:
30.在满足掩罩矩阵更新条件的情况下,确定调整后的掩罩矩阵的宽序列值和高序列值;
31.依据调整后的宽序列值和高序列值,更新掩罩矩阵。
32.本发明实施例提供了一种定向攻击人脸识别的对抗样本生成装置,其中,所述装置包括:
33.矫正模块,用于对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫正图像和第二矫正图像;
34.计算模块,用于计算所述第一矫正图像在人脸识别模型上的类别激活映射图;
35.第一确定模块,用于基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位;
36.第二确定模块,用于通过人脸识别模型对所述第一矫正图像和所述第二矫正图像作前向推理,得到归一化后的第一人脸特征和第二人脸特征;其中,所述第一人脸特征为所述第一矫正图像对应的特征,所述第二人脸特征为所述第二矫正图像对应的特征;
37.扰动处理模块,用于按照预设扰动规则对所述第二矫正图像进行扰动处理,得到多个扰动图像;
38.第一计算模块,用于基于所述第一人脸特征、第二人脸特征以及所述扰动图像,计算损失函数;
39.第二计算模块,用于计算攻击者的第一图像对所述损失函数的第一梯度值;
40.更新模块,用于依据所述第一梯度值更新攻击者的第一图像;
41.判断模块,用于判断攻击部位调整迭代次数是否达到预设上限值;
42.执行模块,用于若否,在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵返回调用所述第一确定模块;若是,将更新后的所述第一图像作为目标攻击者图像。
43.可选地,所述矫正模块包括:
44.第一子模块,用于分别对攻击者的第一图像和被攻击者的第二图像进行人脸检测,得到第一人脸关键点和第二人脸关键点;
45.第二子模块,用于将所述第一图像中的所述第一人脸关键点与标准关键点模板做对齐,得到第一矫正图像;
46.第三子模块,用于将所述第二图像中的所述第二人脸关键点与标准关键点模板做对齐,得到第二矫正图像。
47.可选地,所述第一确定模块包括:
48.第四子模块,用于对所述类别激活映射图划分成预设数量的网格,并计算每个所述网格中各像素点的像素均值以及网格中心点坐标;将各网格中心点按照对应的像素均值进行排序,得到中心点坐标序列;
49.第五子模块,用于确定初始掩罩矩阵;
50.第六子模块,用于取中心点坐标序列及其对应的宽高序列的前k个值,组成k个区域,将所述k个区域内部像素值置为1,其中,所述k个区域为图像中的攻击部位。
51.可选地,所述第一计算模块包括:
52.第七子模块,用于基于所述第二人脸特征和所述扰动图像,确定扰动人脸特征;
53.第八子模块,用于依据所述第一人脸特征和所述扰动人脸特征,计算损失函数。
54.可选地,所述执行模块在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵时,具体用于:
55.在满足掩罩矩阵更新条件的情况下,确定调整后的掩罩矩阵的宽序列值和高序列值;
56.依据调整后的宽序列值和高序列值,更新掩罩矩阵。
57.本发明实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现上述任意一种定向攻击人脸识别的对抗样本生成方法的步骤。
58.本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现上述任意一种定向攻击人脸识别的对抗样本生成方法的步骤。
59.本发明实施例提供的定向攻击人脸识别的对抗样本生成方案,通过统计类别激活图像素值,自适应的选取人脸图像中更适合作为攻击的初始部位,逐步按权重更新每个独立的掩罩矩阵的宽高,进而得到能够攻击成功的总体面积最小的区域,相比使用人脸五官关键点区域确定攻击部位的方式所确定的攻击部位更加准确,对抗样本的修改区域小不易被识破;此外,本发明实施例中对被攻击者的图像和特征使用多种扰动手段,能够提高攻击成功的概率。
附图说明
60.图1是表示本技术实施例的一种定向攻击人脸识别的对抗样本生成方法的步骤流程图;
61.图2是表示本技术实施例的一种定向攻击人脸识别的对抗样本生成装置的结构框图;
62.图3是表示本技术实施例的一种电子设备的结构框图。
具体实施方式
63.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
64.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的定向攻击人脸识别的对抗样本生成方案进行详细地说明。
65.如附图1所示,本技术实施例的定向攻击人脸识别的对抗样本生成方法包括以下步骤:
66.步骤101:对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫正图像和第二矫正图像。
67.在实际实现过程中,可定义攻击者为att和被攻击者为vic。
68.对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫正图像和第二矫正图像的方式可以包括如下子步骤:
69.首先,分别对攻击者的第一图像和被攻击者的第二图像进行人脸检测,得到第一人脸关键点和第二人脸关键点。
70.对攻击者att和被攻击者vic的图像做人脸检测,得到第一人脸关键点 lmk_a和第二人脸关键点lmk_v。
71.其次,将第一图像中的所述第一人脸关键点与标准关键点模板做对齐,得到第一矫正图像。
72.再次,将第二图像中的第二人脸关键点与标准关键点模板做对齐,得到第二矫正图像。
73.第一人脸关键点lmk_a和第二人脸关键点lmk_v分别与标准关键点模板 lmk_tmp做对齐,分别得到矫正后的第一矫正图像aligned_att和第二矫正图像 aligned_vic。
74.步骤102:计算第一矫正图像在人脸识别模型上的类别激活映射图。
75.若是黑盒人脸识别模型,则准备若干不同网络结构的人脸识别模型组合集合models=(model1,model2,model3...);若是白盒人脸识别模型,models=model。计算矫正后的攻击者图像alinged_att即第一矫正图像在前述模型集合models 或者model上的类别激活映射图cam(需要说明的是,若是黑盒模型集合,则cam=mean(cam1+cam2+cam3+...))。
76.步骤103:基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位。
77.一种可选地基于类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位的方式包括:
78.首先,对类别激活映射图划分成预设数量的网格,并计算每个网格中各像素点的
像素均值以及网格中心点坐标;将各网格中心点按照对应的像素均值进行排序,得到中心点坐标序列;
79.将cam划分成mxn个矩形网格,计算每个网格中像素值的均值cam_ave 以及网格中心点坐标(x,y).将mxn个中心点按照所属对应网格的像素均值得分cam_ave从大到小进行排序得到中心点坐标序列centers以及对应的宽序列widths、高序列heights。
80.其次,确定初始掩罩矩阵;
81.生成的初始掩罩mask矩阵,初始值为全0。
82.再次,取中心点坐标序列及其对应的宽高序列的前k个值,组成k个区域,将k个区域内部像素值置为1。
83.其中,k个区域为图像中的攻击部位。
84.步骤104:通过人脸识别模型对第一矫正图像和所述第二矫正图像作前向推理,得到归一化后的第一人脸特征和第二人脸特征。
85.其中,第一人脸特征为第一矫正图像对应的特征,第二人脸特征为第二矫正图像对应的特征。
86.第一人脸特征可表示为feat_att1,feat_att2,...;第二人脸特征可表示为 feat_vic1,feat_vic2,...。
87.步骤105:按照预设扰动规则对所述第二矫正图像进行扰动处理,得到多个扰动图像。
88.需要说明的是,预设扰动规则可由本领域技术人员灵活设置,本技术实施例中对此不做具体限制,例如可对图像aligned_vic做水平翻转、5
°
以内的中心旋转、部分裁剪、色彩增强等,得到扰动后的图像feat_vic_aug_1, feat_vic_aug_2,...。
89.步骤106:基于所述第一人脸特征、第二人脸特征以及所述扰动图像,计算损失函数。
90.一种可选地基于第一人脸特征、第二人脸特征以及扰动图像,计算损失函数的方式包括:
91.首先,基于第二人脸特征和扰动图像,确定扰动人脸特征;其次,依据第一人脸特征和扰动人脸特征,计算损失函数。
92.一种可行性的计算损失函数的方式可以如下:
[0093][0094][0095]
其中,feat_vic_mean为扰动人脸特征,feat_vici为第二人脸特征,feat_vic_augj为扰动图像;loss为损失函数。
[0096]
步骤107:计算攻击者的第一图像对所述损失函数的第一梯度值。
[0097]
第一梯度值计算公式可表示如下:
[0098][0099]
步骤108:依据所述第一梯度值更新攻击者的第一图像。
[0100]
更新攻击者的第一图像att时,可基于如下公式进行更新:
[0101]
att=att-sign(grad)*scale,其中,scale为标量,scale一般取值1/255。
[0102]
步骤109:判断攻击部位调整迭代次数是否达到预设上限值;若是,执行步骤110;若否,在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵并返回执行步骤103。
[0103]
预设上限值可由本领域技术人员灵活设置,本技术实施例中对此不做具体限制。例如:预设上限值可设置为5、8或者10等。
[0104]
在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵的具体方式可以如下:
[0105]
确定调整后的掩罩矩阵的宽序列值和高序列值;依据调整后的宽序列值和高序列值,更新掩罩矩阵。
[0106]
如果cos(feat_att,feat_vic)》thresh,那么ws=ws-scale_w,hs=hs-scale_h;根据新的ws和hs更新mask,即mask=mask(centers,ws,hs)
[0107]
其中,新的ws和hs即调整后的宽序列值和高序列值。
[0108]
若攻击部位调整迭代次数未达到预设上限值,则需要重复执行不做103 至步骤109对攻击部位进行调整,直至迭代次数达到预设上限值。
[0109]
步骤110:若是,将更新后的所述第一图像作为目标攻击者图像。
[0110]
在实际实现过程中,可将修改后的图像贴回原图att即第一图像,得到最终的攻击者图像即目标攻击者图像。
[0111]
该对抗样本生成方法,在给定攻击者a和被攻击者v图像的前提下,对攻击者图像进行小范围的修改,不但使其能被白盒或黑盒人脸识别系统错误地识别为被攻击者,而且大幅降低了修改的范围。
[0112]
本技术实施例提供的定向攻击人脸识别的对抗样本生成方法,通过统计类别激活图像素值,自适应的选取人脸图像中更适合作为攻击的初始部位,逐步按权重更新每个独立的掩罩矩阵的宽高,进而得到能够攻击成功的总体面积最小的区域,相比使用人脸五官关键点区域确定攻击部位的方式所确定的攻击部位更加准确;此外,本发明实施例中对被攻击者的图像和特征使用多种扰动手段,能够提高攻击成功的概率。
[0113]
图2为实现本技术实施例的一种定向攻击人脸识别的对抗样本生成装置的结构框图。
[0114]
本技术实施例提供的定向攻击人脸识别的对抗样本生成装置,包括如下功能模块:
[0115]
矫正模块201,用于对攻击者的第一图像和被攻击者的第二图像进行矫正,得到第一矫正图像和第二矫正图像;
[0116]
计算模块202,用于计算所述第一矫正图像在人脸识别模型上的类别激活映射图;
[0117]
第一确定模块203,用于基于所述类别激活映射图和所确定的掩罩矩阵,确定图像中的攻击部位;
[0118]
第二确定模块204,用于通过人脸识别模型对所述第一矫正图像和所述第二矫正图像作前向推理,得到归一化后的第一人脸特征和第二人脸特征;其中,所述第一人脸特征为所述第一矫正图像对应的特征,所述第二人脸特征为所述第二矫正图像对应的特征;
[0119]
扰动处理模块205,用于按照预设扰动规则对所述第二矫正图像进行扰动处理,得到多个扰动图像;
[0120]
第一计算模块206,用于基于所述第一人脸特征、第二人脸特征以及所述扰动图像,计算损失函数;
[0121]
第二计算模块207,用于计算攻击者的第一图像对所述损失函数的第一梯度值;
[0122]
更新模块208,用于依据所述第一梯度值更新攻击者的第一图像;
[0123]
判断模块209,用于判断攻击部位调整迭代次数是否达到预设上限值;
[0124]
执行模块210,用于若否,在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵返回调用所述第一确定模块;若是,将更新后的所述第一图像作为目标攻击者图像。
[0125]
所述矫正模块包括:
[0126]
第一子模块,用于分别对攻击者的第一图像和被攻击者的第二图像进行人脸检测,得到第一人脸关键点和第二人脸关键点;
[0127]
第二子模块,用于将所述第一图像中的所述第一人脸关键点与标准关键点模板做对齐,得到第一矫正图像;
[0128]
第三子模块,用于将所述第二图像中的所述第二人脸关键点与标准关键点模板做对齐,得到第二矫正图像。
[0129]
可选地,所述第一确定模块包括:
[0130]
第四子模块,用于对所述类别激活映射图划分成预设数量的网格,并计算每个所述网格中各像素点的像素均值以及网格中心点坐标;将各网格中心点按照对应的像素均值进行排序,得到中心点坐标序列;
[0131]
第五子模块,用于确定初始掩罩矩阵;
[0132]
第六子模块,用于取中心点坐标序列及其对应的宽高序列的前k个值,组成k个区域,将所述k个区域内部像素值置为1,其中,所述k个区域为图像中的攻击部位。
[0133]
可选地,所述第一计算模块包括:
[0134]
第七子模块,用于基于所述第二人脸特征和所述扰动图像,确定扰动人脸特征;
[0135]
第八子模块,用于依据所述第一人脸特征和所述扰动人脸特征,计算损失函数。
[0136]
可选地,所述执行模块在满足掩罩矩阵更新条件的情况下,调整掩罩矩阵时,具体用于:
[0137]
在满足掩罩矩阵更新条件的情况下,确定调整后的掩罩矩阵的宽序列值和高序列值;
[0138]
依据调整后的宽序列值和高序列值,更新掩罩矩阵。
[0139]
本技术实施例提供的定向攻击人脸识别的对抗样本生成装置,通过统计类别激活图像素值,自适应的选取人脸图像中更适合作为攻击的初始部位,逐步按权重更新每个独立的掩罩矩阵的宽高,进而得到能够攻击成功的总体面积最小的区域,相比使用人脸五官关键点区域确定攻击部位的方式所确定的攻击部位更加准确;此外,本发明实施例中对被攻击者的图像和特征使用多种扰动手段,能够提高攻击成功的概率。
[0140]
本技术实施例中图2所示的定向攻击人脸识别的对抗样本生成装置可以是装置,也可以是服务器中的部件、集成电路、或芯片。本技术实施例中的图 2所示的定向攻击人脸识别的对抗样本生成装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
[0141]
本技术实施例提供的图2所示的定向攻击人脸识别的对抗样本生成装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
[0142]
可选地,如图3所示,本技术实施例还提供一种电子设备300,包括处理器301,存储器302,存储在存储器302上并可在所述处理器301上运行的程序或指令,该程序或指令被处理器301执行时实现上述定向攻击人脸识别的对抗样本生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0143]
需要注意的是,本技术实施例中的电子设备包括上述所述的服务器。
[0144]
本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述定向攻击人脸识别的对抗样本生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0145]
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(read-onlymemory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
[0146]
本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述定向攻击人脸识别的对抗样本生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0147]
应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
[0148]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0149]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1