基于动量的对人群计数模型的对抗样本生成方法及系统

文档序号:26264127发布日期:2021-08-13 19:15阅读:106来源:国知局
基于动量的对人群计数模型的对抗样本生成方法及系统

本发明涉及机器学习技术领域,尤其涉及一种基于动量的对人群计数模型的对抗样本生成方法及系统。



背景技术:

深度神经网络容易受到对抗攻击,即正常的图像在人类无法察觉的干扰下可能误导深度神经网络做出错误的预测。

由于covid-19病毒的全球爆发,大量公共场所要求人们保持社交距离。因此,基于深度神经网络的人群计数在公共监控摄像头和交通控制系统等关键安全应用中得到了广泛的应用。现有的研究主要集中在提高人群计数模型在非对抗性场景中的表现。然而,最近的研究表明,dnns容易受到对抗攻击,也就是说,正常的图像在人类无法察觉的干扰下可能误导dnns做出错误的预测。考虑到潜在的攻击者可能会利用基于深度神经网络的人群计数模型进行对抗样本攻击这一漏洞,使人群计数模型无法准确统计人群,从而增加造成公共安全事故(如病毒感染、踩踏和交通事故)的可能性,因此,一种高效的针对人群计数模型的对抗样本生成方法将成为研究和应用的重点。



技术实现要素:

本发明针对现有技术中存在的技术问题,提供一种基于动量的对人群计数模型的对抗样本生成方法,通过设计一个健壮的敌对攻击框架动量对抗补丁攻击,该对抗补丁在高密度的背景下使人眼难以察觉到;另外还将动量整合到了对抗补丁的优化过程中,克服了在高维空间中搜索最佳对抗样本点时会被困在较差的局部最小值或最大值中的问题。提供对于主流基于cnn的人群计数模型在数字化和物理空间都有效的扰动,且可以有效评估人群计数模型对于对抗补丁攻击和认证防御的鲁棒性。

根据本发明的第一方面,一种基于动量的对人群计数模型的对抗样本生成方法,包括:

步骤1,通过插入张量生成对抗补丁,在原始图像上添加所述对抗补丁生成初始化的对抗样本;

步骤2,将所述对抗样本输入人群计数模型中,所述人群计数模型输出预测人群密度图;

步骤3,计算所述预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的所述对抗样本进行基于动量的对抗补丁优化后,执行所述步骤2,直至得到损失值不超过阈值时对应的所述对抗样本在上述技术方案的基础上,本发明还可以作出如下改进。

可选的,步骤1包括:

步骤101,在纯黑图片的设定区域中绘制掩码得到第一图像;

步骤102,用随机种子生成器生成所述噪声图;

步骤103,将所述第一图像与所述噪声图相乘得到第二图像;

步骤104,用待人群计数的原始图像乘以所述第一图像的掩码补集图得到第三图像;

步骤105,将所述第二图像和第三图像相加得到初始化的对抗样本;

其中,原始图片、纯黑图片和噪声图的大小和图片的通道数均相同。

可选的,初始化的对抗样本的计算公式为:

其中,

表示初始化的对抗样本,表示第二图像,表示第一图像,表示原始图像,表示噪声图,为与所述张量相关的插值函数,表示旋转,表示对对抗补丁做旋转操作后再做插值操作。

可选的,所述步骤2包括:

步骤201,将一张或多张所述对抗样本的图片经过由一系列卷积神经网络构成的前端网络,输出中间特征;

步骤202,中间特征经过由一系列空洞卷积神经网络构成的后端网络,输出所述预测人群密度图。

可选的,所述步骤3中计算所述预测人群密度图与目标人群密度图的损失值的方法为:

获取所述原始图像对应的真实人群密度图,对所述真实人群密度图的每个像素值乘以设定倍数,得到所述目标人群密度图;

将所述预测人群密度图与目标人群密度图输入到损失函数中,计算损失值;

所述损失函数为:

()表示对抗损失函数,表示初始化的对抗样本的预测人群密度图,表示初始化的对抗样本的目标密度图,β表示插入的张量,表示平滑损失,是平衡对抗损失和平滑损失的超参数。

可选的,张量的平滑损失为:

其中,分别为原始图片、纯黑图片和噪声图的高度和宽度,h和w分别为张量β的高度和宽度的索引变量。

可选的,所述步骤3中对所述对抗样本进行基于动量的对抗补丁优化的公式为:

其中,

分别表示优化前后的对抗补丁,表示控制步长的学习率,表示变化步长,表示控制指数加权平均值,表示优化后的加入对抗补丁的对抗样本,表示原始图像,表示将变量剪切限制为在下限值与上限值之间的值,表示损失函数对求导,表示掩码,()表示对抗损失函数。

根据本发明的第二方面,提供一种基于动量的对人群计数模型的对抗样本生成系统,包括:对抗样本初始化模块、预测人群密度图输出模块和对抗样本确定模块;

所述抗样本初始化模块,用于通过插入张量生成对抗补丁,在原始图像上添加所述对抗补丁生成初始化的对抗样本;

所述预测人群密度图输出模块,用于将所述对抗样本输入人群计数模型中,所述人群计数模型输出预测人群密度图;

所述对抗样本确定模块,计算所述预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的所述对抗样本进行基于动量的对抗补丁优化后,输入所述预测人群密度图输出模块,直至得到损失值不超过阈值时对应的所述对抗样本。

根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现基于动量的对人群计数模型的对抗样本生成方法的步骤。

根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现基于动量的对人群计数模型的对抗样本生成方法的步骤。

本发明提供的一种基于动量的对人群计数模型的对抗样本生成方法、系统、电子设备及存储介质,通过动量增强传统的对抗补丁攻击和去除lpnorm约束来提高攻击效率,成功地加速了补丁优化过程,生成了具有鲁棒性的对抗补丁,充分探索物理空间确定对抗样本,对抗性补丁可以在物理上欺骗cnn模型。

附图说明

图1为本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成方法的流程图;

图2为本发明实施例提供的得到初始化的对抗样本的方法的流程图;

图3为本发明实施例提供的得到初始化的对抗样本的方法的实例图;

图4为本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成系统结构图;

图5为本发明实施例提供的电子设备的实施例示意图;

图6为本发明提供的一种计算机可读存储介质的实施例示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

对于一个含有n张带标签图片的集合,其中分别是高度、宽度和图片的通道数。是图片的真实密度图。

人群计数模型旨在于学习一个模型,通过用这些带标签的图片解决以下的优化问题:

(1)

学到的模型可以用来预测一张测试图片中的人群计数。具体地,当作输入并输出预测的密度图。接着,通过将密度图中所有的值相加就得到对于的人群计数。

本发明提供的一种基于动量的对人群计数模型的对抗样本生成方法,包括:步骤1,通过插入张量生成对抗补丁,在原始图像上添加对抗补丁生成初始化的对抗样本。

步骤2,将对抗样本输入人群计数模型中,人群计数模型输出预测人群密度图。

输入人群计数模型中的对抗样本包括初始化的对抗样本和对抗补丁优化后的对抗样本,初始化的对抗样本也即第一次迭代的对抗样本。

步骤3,计算预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的对抗样本进行基于动量的对抗补丁优化后,执行步骤2,直至得到损失值不超过阈值时对应的对抗样本。

判断计算出的损失值是否小于等于设定的阈值,例如0.01,如果是,则此迭代的输入图像即为最终要求的对抗样本;如果不是,则先进行对输入图像的更新,再重复步骤2至步骤3。

通过加一些扰动在测试图片x以使模型将这张测试图片x预测为攻击者想要的结果。由于人群计数是由密度图的所有值的和计算而来,修改人群计数的预测等效于修改密度图。假设攻击者旨在学习到一个带有扰动的目标密度图。然后,我们的攻击可以被定义为如下:

,(2)

其中是一个距离函数。

直接解决上式是有挑战性的由于等式约束涉及一个高度非线性的模型。一种替代的方式是将约束放到目标函数中。具体如下:

,(3)

其中是预算约束,是一个损失函数(例如交叉熵损失)

本发明公开了一种基于动量的对抗补丁攻击的方法,通过设计一个健壮的敌对攻击框架动量对抗补丁攻击,该对抗补丁在高密度的背景下使人眼难以察觉到;另外还将动量整合到了对抗补丁的优化过程中,克服了在高维空间中搜索最佳对抗样本点时会被困在较差的局部最小值或最大值中的问题。提供对于主流基于cnn的人群计数模型在数字化和物理空间都有效的扰动,且可以有效评估人群计数模型对于对抗补丁攻击和认证防御的鲁棒性。

实施例1

本发明提供的实施例1为本发明提供的一种基于动量的对人群计数模型的对抗样本生成方法的实施例,如图1所示为本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成方法的流程图,结合图1可知,该实施例包括:

步骤1,通过插入张量生成对抗补丁,在原始图像上添加对抗补丁生成初始化的对抗样本。

优选的,该步骤1包括:

步骤101,在纯黑图片的设定区域中绘制掩码得到第一图像。

步骤102,用随机种子生成器生成噪声图。

步骤103,将第一图像与噪声图相乘得到第二图像。

步骤104,用待人群计数的原始图像乘以第一图像的掩码补集图得到第三图像。

步骤105,将第二图像和第三图像相加得到初始化的对抗样本。

其中,原始图片、纯黑图片和噪声图的大小和图片的通道数均相同。

如图2和图3所示为分别为本发明实施例提供的得到初始化的对抗样本的方法的流程图和实例图,结合图2和图3可知,处理得到初始化的对抗样本的一个实例,对于一张人群集会的图片,让圆形掩码与噪声相乘的结果和图片与掩码补集图相乘的结果相加,得到最右端的初始化的对抗样本。

补丁初始化过程包括两步:图像转换和插入平滑。

1)图像转换:物理系统可以破坏仅使用输在算法制作的扰动,物理空间的扰动可能会收到环境因素(包括视角)的影响。为了解决这个问题,操作图像变化,通过式子(4)和式子(5)使补丁更鲁棒。图像变换函数中黑色像素的值为0,白色像素的值为1。

提出用一个张量来插入生成对抗补丁。是图像空间的一个张量,,其中

2)插入平滑:因为插入张量包含许多参数,通过对设置了一个平滑度约束将这个问题简化。

具体的,初始化的对抗样本的计算公式为:

(4)

其中,(5)

表示初始化的对抗样本,表示第二图像,表示第一图像,表示原始图像,表示噪声图,为与张量β相关的插值函数,即张量β是插值函数中的一个关键参数,表示旋转;表示对对抗补丁做旋转操作后再做插值操作。

张量的平滑损失为:

(6)

其中,分别为原始图片、纯黑图片和噪声图的高度、宽度和图片的通道数,h、w和c分别为张量β的高度、宽度和图片的通道数的索引变量。

步骤2,将对抗样本输入人群计数模型中,人群计数模型输出预测人群密度图。

优选的,步骤2包括:

步骤201,将一张或多张对抗样本的图片经过由一系列卷积神经网络构成的前端网络,输出中间特征。

步骤202,中间特征经过由一系列空洞卷积神经网络构成的后端网络,输出预测人群密度图。

步骤3,计算预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的对抗样本进行基于动量的对抗补丁优化后,执行步骤2,直至得到损失值不超过阈值时对应的对抗样本。

优选的,步骤3中计算预测人群密度图与目标人群密度图的损失值的方法为:

获取原始图像对应的真实人群密度图,对该真实人群密度图的每个像素值乘以设定倍数,得到目标人群密度图。该设定倍数远大于1,例如可以为10倍。

将预测人群密度图与目标人群密度图输入到损失函数中,计算损失值。

损失函数为:(7)

()表示对抗损失函数,表示初始化的对抗样本的预测人群密度图,是攻击者定下的攻击目标,即表示初始化的对抗样本的目标密度图,表示平滑损失,是平衡对抗损失和平滑损失的超参数。

初始化对抗样本去最小化式子(8)中的目标得到最终的对抗补丁。目标函数有两部分:对抗损失和平滑损失。为了使最终生成的对抗补丁更鲁棒,我们提议最小化下面的目标函数:

(8)

损失函数可以由交叉熵损失和插值平滑损失函数两项构成。

具体的,对对抗样本进行基于动量的对抗补丁优化的公式为:

(9)

其中,(10)

(11)

分别表示优化前后的对抗补丁,表示控制步长的学习率,表示变化步长,表示控制指数加权平均值,表示优化后的加入对抗补丁的对抗样本,表示原始图像,表示将变量剪切限制为在下限值与上限值之间的值,表示损失函数对求导,表示掩码mask。

动量法通常用于梯度下降算法中,以借助先前梯度的记忆来加速优化过程。当攻击者在高维空间中搜索最佳对抗样本时,极有可能被困在小驼峰、狭窄的山谷和较差的局部最小值或最大值中。为了打破困境,将动量整合到对抗补丁的优化中,以便更稳定地更新并进一步增强攻击者的潜在能力。

用动量扩展了对抗补丁的优化过程。通过添加变量来控制指数加权平均值,可以使优化过程变得平滑和加速。因此,生成的对抗补丁能够在各种模型之间传递,并且其攻击能力同时保持强劲,从而证明了强大的对抗扰动。

实施例2

本发明提供的实施例2为本发明提供的一种基于动量的对人群计数模型的对抗样本生成方法的具体应用实施例,其利用对抗攻击算法对人群计数模型进行白盒攻击,将攻击问题转化为优化问题,并通过带有动量增强的优化算法,有效地解决了这一问题,在数字领域和物理真实世界中都展示出了有力的攻击,并且生成对抗样本速度快,极大地推进了相关鲁棒学习算法的研究。在实验方面,在最流行的五种人群计数模型上都成功攻击:

基于本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成方法的攻击方法在五个受欢迎的人群计数模型上的表现展示在表1中,采用的评估指标是mae(meanabsoluteerror,平均绝对误差)和rmse(rootmeansquarederror,均方根误差),计算方式如下:

其中,n为数据集图片数量,是对应图片的真实计数值,是对抗样本的计数值,i是代表第i张图片。

表1:攻击方法在五个人群计数模型上的表现展示表

表中为对抗补丁攻击方法在人群计数模型上的表现,其中第一行括号中的0、20、40代表对抗补丁的大小分别为0*0,20*20,40*40,可以看到当对抗补丁大小不为0时,模型误差变大,且对抗补丁越大,误差越大。

图4为本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成系统结构图,如图4所示,一种基于动量的对人群计数模型的对抗样本生成系统,包括对抗样本初始化模块、预测人群密度图输出模块和对抗样本确定模块。

对抗样本初始化模块,用于通过插入张量生成对抗补丁,在原始图像上添加对抗补丁生成初始化的对抗样本。

预测人群密度图输出模块,用于将对抗样本输入人群计数模型中,人群计数模型输出预测人群密度图。

对抗样本确定模块,计算预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的对抗样本进行基于动量的对抗补丁优化后,输入预测人群密度图输出模块,直至得到损失值不超过阈值时对应的对抗样本。

可以理解的是,本发明提供的一种基于动量的对人群计数模型的对抗样本生成系统与前述各实施例提供的基于动量的对人群计数模型的对抗样本生成方法相对应,基于动量的对人群计数模型的对抗样本生成系统的相关技术特征可参考基于动量的对人群计数模型的对抗样本生成方法的相关技术特征,在此不再赘述。

请参阅图5,图5为本发明实施例提供的电子设备的实施例示意图。如图5所示,本发明实施例提了一种电子设备,包括存储器1310、处理器1320及存储在存储器1320上并可在处理器1320上运行的计算机程序1311,处理器1320执行计算机程序1311时实现以下步骤:

步骤1,通过插入张量生成对抗补丁,在原始图像上添加对抗补丁生成初始化的对抗样本。

步骤2,将对抗样本输入人群计数模型中,人群计数模型输出预测人群密度图。

步骤3,计算预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的对抗样本进行基于动量的对抗补丁优化后,执行步骤2,直至得到损失值不超过阈值时对应的对抗样本。

请参阅图6,图6为本发明提供的一种计算机可读存储介质的实施例示意图。如图6所示,本实施例提供了一种计算机可读存储介质1400,其上存储有计算机程序1411,该计算机程序1411被处理器执行时实现如下步骤:

步骤1,通过插入张量生成对抗补丁,在原始图像上添加对抗补丁生成初始化的对抗样本。

步骤2,将对抗样本输入人群计数模型中,人群计数模型输出预测人群密度图。

步骤3,计算预测人群密度图与目标人群密度图的损失值;对损失值超过阈值时对应的对抗样本进行基于动量的对抗补丁优化后,执行步骤2,直至得到损失值不超过阈值时对应的对抗样本。

本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成方法、系统及存储介质,通过设计基于动量的对抗补丁攻击算法,生成了对变化的高密度环境具有鲁棒性的对抗补丁。一方面,通过动量增强传统的对抗补丁攻击和去除lpnorm约束来提高攻击效率,成功地加速了补丁优化过程,实现了鲁棒的对抗补丁。另一方面,现有技术主要集中在研究数字领域的对抗样本,而没有充分探索物理空间。与图像分类相比,攻击基于卷积神经网络的人群计数在技术上更具挑战性:1)在人群计数数据集中,高密度的背景信息可能会削弱对抗补丁的有效性。例如,当补丁尺寸较小时,人群计数模型很有可能将补丁视为一个头。2)与分类任务不同,对抗补丁的目标是将受害者模型的预测数量扰乱到特定的值,而不是简单地输出错误的标签。本发明实施例提供的一种基于动量的对人群计数模型的对抗样本生成方法及系统,基于实际实验结果表明,在人群计数应用中,对抗补丁可以在物理世界中欺骗cnn模型。

本发明提出的一种基于动量的对抗补丁攻击的攻击框架,该框架利用了人群图像的背景信息,通过干扰不到6%的图像像素严重降低了人群计数模型的性能。再提出一种高效且易于实现的基于随机消融的认证防御策略,来评估人群计数模型的鲁棒性。通过对随机消融的图像进行再训练,攻击模型在受扰图像和正常图像上的性能都趋于稳定。在5个人群计数模型上的大量实验表明了该方法的有效性和通用性。

需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

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