技术领域
[0001] 本发明涉及计算机视觉技术领域,尤其涉及一种反视觉智能的对抗攻击纹理生成方法。
相关背景技术
[0002] 以深度学习为代表的人工智能技术深刻地改变着人类的生产和生活方式,并成功地应用在计算机视觉、自然语言处理、语音识别等领域。然而,深度神经网络很容易受到攻击,从而做出错误的判断,这给深度学习在国防安全、公共安全等安全敏感领域的应用蒙上了阴影,因此为开发更加鲁棒可靠的深度学习系统,就需要探究造成深度学习安全隐患的各种因素。
[0003] 目前深度学习中最主要的安全隐患来自于对抗样本,对抗样本是指一种在干净样本中添加由攻击者特定设计的噪声的样本。对抗样本可以使一个训练好的深度神经网络做出错误的推断。在计算机视觉领域,对抗样本攻击主要分为分类网络的对抗攻击和目标检测网络的对抗攻击。其中,对分类网络的对抗攻击的目的是改变分类网络的分类类别;而对目标检测网络的对抗攻击需要同时考虑降低目标物体存在的置信度、目标物体的类别以及目标物体的位置,因而目标检测的攻击更具挑战性。此外,目标检测技术是视频监控、自动驾驶等领域中关键的技术且被广泛地应用于现实生活中,因而研究目标检测网络的攻击是更加迫切的任务。
[0004] 一般而言,对抗样本攻击可以分为数字世界攻击和物理世界攻击。目前目标检测网络的物理世界攻击存在两大主流方法,第一种方法是基于图像补丁的对抗攻击方法,具体为设计优化一种对抗补丁图片,将对抗补丁图片粘贴在目标物体的部分区域来达到欺骗目标检测器的目的。第二种方法是基于图片纹理的三维物体纹理攻击方法,具体为设计优化三维目标物体的自身外观,如优化物体的几何形状或物体的外观纹理来达到攻击目标检测器的目的。由于现实世界的物理对抗攻击中物体一般是不可形变的,因此主要通过优化物体的外观纹理来实现对抗攻击,而目前的优化物体的外观纹理的方法主要是将物体外观分解为大量相同的二维纹理图片,通过设计对抗损失函数优化二维纹理图片并利用物理渲染器(例如3ds MAX软件)将其重复拼接后渲染到物体表面上。
[0005] 然而,基于图像补丁的对抗攻击方法构造平面的对抗补丁图像,仅能张贴于平面物体上,且仅在特定的角度有效,限制了该类补丁攻击的使用范围,在现实世界场景中仅覆盖部分目标物体的对抗补丁图像在大多数角度下会失效,同时导致该对抗攻击方法生成的对抗样本,难以对实际应用中的目标检测系统起到预期的检测效果。基于图片纹理的三维物体纹理攻击方法直接将图片重复地铺满目标物体外表,其外观很容易引起注意,且该方法割裂了数字空间攻击和物理空间攻击,攻击效果较差,同时导致该对抗攻击方法生成的对抗样本,也难以对实际应用中的目标检测系统起到预期的检测效果。
具体实施方式
[0058] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0059] 以下结合附图,详细说明本发明实施例提供的技术方案。
[0060] 参考图1,本发明一实施例提供了一种反视觉智能的对抗攻击纹理生成方法,该方法包括以下步骤S1‑S6:
[0061] 步骤S1,根据目标物体的不同类别,构建不同类别的目标物体对应的三维模型;
[0062] 一般情况下,目标物体包含有多种不同类别,为了设计不同类别的目标物体的对抗攻击纹理,需要不同类别的目标物体的三维模型。为此,本发明一实施例中,根据实际的目标物体的不同类别,构建不同类别的目标物体对应的三维模型。例如,以目标物体为汽车为例,可以根据实际的各种汽车类别的结构,构建不同类别的汽车对应的三维模型。
[0063] 本发明一实施例中,目标物体的三维模型包括物体对应的网格和纹理。其中,为了方便程序处理,构建的三维模型以OBJ格式的文件进行存储。OBJ文件格式是表示三维几何图形的简单数据格式,包含每个顶点的位置、UV位置、法线、以及组成面的顶点列表等数据,OBJ格式的三维模型文件可直接用3ds MAX等建模软件进行转换。此外,为了将优化区域限制在三维模型的外表面区域,需要将待优化的纹理面索引保存在文本文件中。
[0064] 步骤S2,构建与真实世界场景对应的仿真环境,利用构建的三维模型和仿真环境,获取包括目标物体采样图片、采样图片对应的目标物体和相机的方位信息、以及目标物体真实标签的训练数据,其中,目标物体真实标签包括目标物体的类别、目标物体的位置和尺寸;
[0065] 本发明一实施例中,根据目标物体所处的真实世界场景和实际的目标物体检测任务要求,构建与真实世界场景对应的仿真环境。例如,以目标物体为汽车为例,可以采用高分辨率开源自动驾驶平台Carla作为仿真平台,Carla仿真平台包括多种可选择的虚拟世界场景,包括城市,郊区等,根据不同检测任务的需要,可以选择不同的虚拟世界场景,如城市虚拟环境。
[0066] 进一步地,本发明一实施例中,利用构建的三维模型和仿真环境,获取训练数据,包括以下步骤S21‑S23:
[0067] 步骤S21,将目标物体的三维模型放置于仿真环境中,并在仿真环境中选取多个采样点;
[0068] 通过在仿真环境中选取多个采样点进行后续采样,能够准确模拟复杂的真实世界场景。
[0069] 步骤S22,在每个采样点分别以不同的距离和高度进行图片采样,获取包含有目标物体的目标物体采样图片,并确定每个采样图片对应的目标物体的方位信息和相机的方位信息;
[0070] 本发明一实施例中,目标物体的方位信息包括:目标物体在设定坐标系下的空间坐标和目标物体在自身坐标系下的旋转信息,相机的方位信息包括:相机在设定坐标系下的空间坐标和相机在自身坐标系下的旋转信息。其中,旋转信息包括翻转角、俯仰角和偏航角。
[0071] 步骤S23,利用训练好的目标检测器对采样图片进行检测,将目标检测器输出的目标物体的类别、目标物体的位置和尺寸的检测结果作为目标物体真实标签,获取包括目标物体采样图片、采样图片对应的目标物体和相机的方位信息、以及目标物体真实标签的训练数据。
[0072] 本发明一实施例中,目标物体的位置包括目标物体在采样图片中的中心坐标,目标物体的尺寸包括目标物体在采样图片中的宽度和高度。
[0073] 具体地,目标物体真实标签可以记为Y(bx;by;bw;bh;bobj;bcls),其中,(bx,by)表示目标物体的中心坐标,bw和bh表示目标物体的宽度和高度,bobj=1表示在实际框中有目标物体,bcls表示目标物体所属类别,bcls∈[1,K],K表示该目标检测器在训练时所用训练数据集的最大类别数。
[0074] 本发明一实施例中,采用上述具体设定的训练数据获取方式,获取多个训练数据。
[0075] 步骤S3,将待优化对抗攻击纹理覆盖在目标物体的三维模型上,并根据采样图片对应的目标物体和相机的方位信息,获取与对应的采样图片具有相同方位信息的二维渲染图片;
[0076] 本发明一实施例中,使用可微分神经渲染器将待优化对抗攻击纹理覆盖在目标物体的三维模型上,并根据采样图片对应的目标物体和相机的方位信息,获取与对应的采样图片具有相同方位信息的二维渲染图片。
[0077] 具体地,设定目标物体的三维模型为M,对抗攻击纹理为Tadv,采样图片的方位信息为θc,将三维模型M、对抗攻击纹理Tadv和方位信息θc输入可微分神经渲染器R,可微分神经渲染器能够按照方位信息θc渲染出对应的二维渲染图片。其中,基于上述设定,可以将上述渲染过程记为R(M,Tadv;θc)。
[0078] 参考图2和图3,本发明一实施例中,采样图片及其对应的二维渲染图片具有相同的方位信息。
[0079] 其中,待优化对抗攻击纹理可以为预先设计的未优化过的对抗攻击纹理,也可以是后续步骤S6得到的经过优化但未完全优化的对抗攻击纹理。
[0080] 步骤S4,将二维渲染图片转换到仿真环境中,利用仿真环境的背景替换二维渲染图片的背景,获取对抗样本;
[0081] 本发明一实施例中,为了进一步模拟真实世界场景,以提高得到的对抗样本的攻击效果,将获取的二维渲染图片转换到仿真环境中,即使用仿真环境的背景替换二维渲染图片的背景。
[0082] 参考图4,本发明一实施例中,将二维渲染图片转换到仿真环境中,利用仿真环境的背景替换二维渲染图片的背景,获取对抗样本,包括以下步骤S41‑S44:
[0083] 步骤S41,利用训练好的语义分割网络提取采样图片或二维渲染图片中目标区域掩码,获取掩码图片;
[0084] 步骤S42,利用掩码图片提取出采样图片中的背景;
[0085] 步骤S43,利用掩码图片提取出二维渲染图片中的目标物体;
[0086] 步骤S44,将提取出的背景和目标物体相叠加,得到对抗样本。
[0087] 进一步地,为了方便获取对抗样本,本发明一实施例中,设计了一个场景转换函数,使用该场景转换函数将涂装有对抗攻击纹理的目标物体转换到仿真环境背景中,从而构建数字空间中的对抗样本。
[0088] 具体地,本发明一实施例中,场景转换函数Φ表示为:
[0089] Φ(X,XR,m)=XR·m+X·(1‑m)
[0090] 其中,X表示采样图片,XR表示二维渲染图片,m表示提取的掩码,X、XR和m为函数的输入,掩码为二值图。
[0091] 步骤S5,选取目标检测网络,构建多尺度对抗损失函数;
[0092] 本发明一实施例中,获取的对抗样本的攻击对象为目标检测网络,针对目标检测网络F,对于采样图片X,有Y′=F(X;θf),Y′表示目标检测网络F对输入的采样图片X的预测结果,θf表示目标检测网络F的参数,若目标检测网络已训练好,则有Y′≈Y。
[0093] 一般情况下,部署在真实物理世界中的目标检测系统的目标检测网络的具体参数难以获取,为此,本发明一实施例中,目标检测网络使用经典的开源目标检测器,例如Yolo‑V3、Faster RCNN、SSD等。
[0094] 进一步地,由于对抗样本用于攻击目标检测网络,其目的是使得目标检测网络的预测结果与实际不同,即F(Xadv;θf)=Y′≠Y,Xadv表示对抗样本。本发明一实施例中,为了提高对抗样本的攻击效果,构建了一种多尺度对抗损失函数,利用多尺度对抗损失函数来指导对抗样本对应的对抗攻击纹理的更新优化。
[0095] 本发明一实施例中,多尺寸对抗损失函数包括对抗损失函数部分和平滑损失函数部分,具体表示为:
[0096]
[0097] 其中, 表示对抗损失函数, 表示平滑损失函数,μ表示平滑损失函数对应的权重。
[0098] 具体地,本发明一实施例中,对抗损失函数表示为:
[0099]
[0100] 其中, 表示IOU(Intersection over Union)损失,用于衡量对抗样本预测框与实际框之间的IOU值,该值越大说明预测框与实际框越接近, 用于衡量对抗样本中是否有目标物体的概率, 用于衡量对抗样本被分类成指定类别的置信度,α、β和γ分别表示 和 对应的权重。
[0101] 本发明一实施例中, 损失定义为:
[0102]i
[0103] 其中,b表示第i个尺度的预测框, 表示第i个尺度的实际框,N表示目标检测网i络不同尺度的层数,例如在Yolo‑V3目标检测网络中,N为3, 用于衡量b和 相
i
互重叠的比例,其计算方式可以表示为b和 面积的交集和并集的比值,具体表示为:
[0104]i i
[0105] 其中,S和 分别表示b和 的面积。
[0106] 通过使用 损失可以保证对抗样本始终有一个尺度与目标尺寸相匹配,使得生成的对抗样本在不同尺度场景中都具有较高的攻击成功率。
[0107] 对于一个训练好的目标检测网络,预测框与实际框之间的IOU值很大,可以通过不断优化对抗攻击纹理以最小化 损失,以提高基于对抗攻击纹理生成的对抗样本的攻击效果,使对抗样本中的目标物体不被检测到。
[0108] 本发明一实施例中, 损失定义为:
[0109]
[0110] 其中, 表示第i个尺度中目标物体被分类成clsi类的置信度,N表示目标检测网络不同尺度的层数。
[0111] 对于一个训练好的目标检测网络,可以通过不断优化对抗攻击纹理以最小化损失,以提高基于对抗攻击纹理生成的对抗样本的攻击效果,使对抗样本中的目标物体被目标检测网络预测成其他类别。
[0112] 本发明一实施例中, 损失定义为:
[0113]
[0114] 其中, 表示第i个尺度中存在目标物体的概率,N表示目标检测网络不同尺度的层数。
[0115] 对于一个训练好的目标检测网络,可以通过不断优化对抗攻击纹理以最小化损失,以提高基于对抗攻击纹理生成的对抗样本的攻击效果,使对抗样本中的目标物体不被目标检测网络检测到。
[0116] 本发明一实施例中,平滑损失函数用于使对抗攻击纹理的局部区域过渡更加自然,具体定义为:
[0117]
[0118] 其中,xi,j表示对抗样本中坐标(i,j)处的像素值。
[0119] 步骤S6,将对抗样本输入目标检测网络,根据目标检测网络的输出结果计算多尺度对抗损失函数的梯度,根据多尺度对抗损失函数的梯度对待优化对抗攻击纹理进行更新优化,获取优化好的对抗攻击纹理。
[0120] 本发明一实施例中,步骤S6进一步包括以下步骤:
[0121] 步骤S61,将对抗样本输入目标检测网络,根据目标检测网络的输出结果计算多尺度对抗损失函数的梯度,根据多尺度对抗损失函数的梯度对待优化对抗攻击纹理进行更新优化;
[0122] 本发明一实施例中,根据多尺度对抗损失函数的梯度,采用梯度下降的方式对对抗攻击纹理进行更新优化,具体地,先利用链式求导法则,用损失函数对对抗攻击纹理进行求导,然后利用求导结果和预设学习率对对抗攻击纹理进行更新。
[0123] 具体地,本发明一实施例中,根据多尺度对抗损失函数的梯度,可以采用以下公式对对抗攻击纹理进行更新优化:
[0124]
[0125] 其中,η表示预设学习率。
[0126] 步骤S62,判断连续两次更新优化得到的对抗攻击纹理所生成的对抗样本输入目标检测网络后得到的目标检测网络的损失函数值是否均大于预设阈值且两个损失函数值的差值小于预设差值,若是,将当前更新优化得到的对抗攻击纹理作为优化好的对抗攻击纹理,若否,将当前更新优化得到的对抗攻击纹理作为待优化的对抗攻击纹理,并返回步骤S3。
[0127] 其中,在对抗攻击纹理的更新优化过程中,目标检测网络的参数保持不变。
[0128] 本发明一实施例中,基于上述设定的参数,对抗攻击纹理的优化问题可以定义为如下形式:
[0129]
[0130] 其中, 表示优化好的对抗攻击纹理,表示设定的目标检测网络的损失函数,损失函数例如可以设定为L1损失函数、L2损失函数等。
[0131] 上述的对抗攻击纹理的优化问题可表述为通过最大化对抗攻击纹理所生成的对抗样本输入目标检测网络后得到的损失函数,以得到优化好的对抗攻击纹理。
[0132] 基于上述分析,本发明一实施例中,在进行对抗攻击纹理的更新优化时,通过根据更新优化得到的对抗攻击纹理所生成的对抗样本输入目标检测网络后得到的目标检测网络的损失函数值来确定损失函数值是否收敛至最大值附近,具体判断连续两次更新优化得到的对抗攻击纹理所生成的对抗样本输入目标检测网络后得到的目标检测网络的损失函数值是否均大于预设阈值且两个损失函数值的差值小于预设差值,若是,则表示损失函数值已经收敛至最大值附近,此时可以将对应的对抗攻击纹理作为优化好的对抗攻击纹理。
[0133] 本发明一实施例提供的反视觉智能的对抗攻击纹理生成方法能够针对不同目标物体、不同场景、不同目标检测网络生成不同的对抗攻击纹理,通过将生成的对抗攻击纹理扩展到三维物体的全身外表面,能够使涂装有对抗攻击纹理的目标物体在多角度、遮挡、多距离等复杂物理世界情况下均有较好的攻击效果,能够在特定情况下实现对目标检测系统的反侦察效果。
[0134] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。此外,本文中“前”、“后”、“左”、“右”、“上”、“下”均以附图中表示的放置状态为参照。
[0135] 最后应说明的是:以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。