技术领域
本发明涉及雷达目标识别技术领域,尤其是一种基于深度编码网络的SAR目标识别对抗样本生成方法。
背景技术
合成孔径雷达所生成的图像具有一定的复杂性,因此常使用合成孔径雷达目标识别模型等计算机技术来识别合成孔径雷达所生成的图像,能够达到较高的识别准确率,合成孔径雷达目标识别模型的实现原理或者其内部的具体处理算法可以称为SAR-TR算法。但是,由于合成孔径雷达目标识别模型是基于深度神经网络开发,存在非线性映射问题,因此存在将图像中的此目标识别为相似的彼目标的可能性。
使用对抗样本能够检验合成孔径雷达目标识别模型的正确识别性能。现有的对抗样本生成算法包括C&W算法等,在每生成一个对抗样本之后都需要重新迭代优化才能继续生成过程,因此对抗样本的生成速度慢,尤其是在需要连续生成多个对抗样本时的实时性差。
术语解释:
合成孔径雷达(SAR):合成孔径雷达(SAR)是一种高分辨率成像雷达,可以在能见度极低的气象条件下得到类似光学照相的高分辨雷达图像。利用雷达与目标的相对运动把尺寸较小的真实天线孔径用数据处理的方法合成较大的等效天线孔径的雷达。
目标识别:对含有目标的图像进行分类。这里特指的SAR-TR(合成孔径雷达目标识别)算法是指对包含一个目标的SAR图像进行分类,用来区别该目标的类别。也就是区分这个图像里面的目标到底是飞机还是车辆。
对抗样本:使目标识别算法发生错分类的样本。这里指通过对原样本加微小的干扰得到的对抗样本,能够使目标识别算法误判。简单来讲,对于一个样本图像x,本文所述的算法能够生成一个
靶向性攻击(targeted-attack),意思是生成的对抗样本使SAR-TR网络发生固定类别的误判,例如输入一张任意类别的图片,生成的对抗样本会让SAR-TR网络固定地误判成某一类(例如飞机)。该攻击的目的是使得网络发生某种定向的误判。
非靶向性攻击(nontargeted-attack),意思是生成的对抗样本使SAR-TR网络发生非预设的,任意一种误判。例如输入一张坦克的图片,生成的对抗样本会使SAR-TR网络发生随便一种误判。该攻击的目的是使网络发生非定向的,只要误判就行。
发明内容
针对上述至少一个技术问题,本发明的目的在于提供一种基于深度编码网络的SAR目标识别对抗样本生成方法。
一方面,基于深度编码网络的SAR目标识别对抗样本生成方法包括:
获取待处理图像;所述待处理图像用于供合成孔径雷达目标识别模型进行识别处理;
将所述待处理图像输入至编码器网络;
获取所述编码器网络的输出结果作为对抗样本;所述对抗样本用于对所述合成孔径雷达目标识别模型进行靶向性攻击;
所述编码器网络为输入输出等大的全卷积神经网络,所述编码器网络经过训练样本的训练,在训练过程中所使用的损失函数为
另一方面,基于深度编码网络的SAR目标识别对抗样本生成方法包括:
获取待处理图像;所述待处理图像用于供合成孔径雷达目标识别模型进行识别处理;
将所述待处理图像输入至编码器网络;
获取所述编码器网络的输出结果作为对抗样本;所述对抗样本用于对所述合成孔径雷达目标识别模型进行非靶向性攻击;
所述编码器网络为输入输出等大的全卷积神经网络,所述编码器网络经过训练样本的训练,在训练过程中所使用的损失函数为
进一步地,基于深度编码网络的SAR目标识别对抗样本生成方法还包括:
获取MSTAR数据集;
对所述MSTAR数据集中的图像进行裁剪,获得固定大小的图像切片;一个所述图像切片中仅包括一个识别目标;
以所述图像切片作为所述训练样本。
进一步地,对编码器网络的训练过程包括:
使用初始化参数初始化所述编码器网络;所述初始化参数是从满足高斯分布的随机数中采样得到的数组;
将所述训练样本输入到所述编码器网络中,获取所述编码器网络的输出结果;
将所述编码器网络的输出结果输入到所述合成孔径雷达目标识别模型中,获取所述合成孔径雷达目标识别模型的输出结果
根据所述合成孔径雷达目标识别模型的输出结果
当所述损失函数的值未满足训练结束条件,使用Adam优化器对所述编码器网络进行参数更新;
当所述损失函数的值满足所述训练结束条件,结束训练过程。
进一步地,所述编码器网络中的每一卷积层分别包括一个批标准化层,所述编码器网络的最后一层卷积层使用的激活函数为
进一步地,所述合成孔径雷达目标识别模型经过训练,用于训练所述合成孔径雷达目标识别模型的训练样本与用于训练所述编码器网络的训练样本相同。
另一方面,本发明实施例还包括一种计算机装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例中所述的基于深度编码网络的SAR目标识别对抗样本生成方法。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行实施例中所述的基于深度编码网络的SAR目标识别对抗样本生成方法。
本发明的有益效果是:通过实施例中的训练方法训练获得的编码器网络可以快速生成对抗样本,所生成的对抗样本可以对合成孔径雷达目标识别模型进行靶向性攻击或非靶向性攻击,从而检验合成孔径雷达目标识别模型的识别性能。由于在对编码器网络的训练过程中使用了改进的损失函数,因此训练获得的编码器网络在训练好之后能够生成输入图像的对抗样本,对抗样本的生成速度快、实时性好。
附图说明
图1为实施例中编码器网络与合成孔径雷达目标识别模型连接时的结构图;
图2为实施例中在靶向性攻击情况下输入到编码器网络中的原样本A示意图;
图3为实施例中编码器网络接收图2所示的原样本A后输出的相应的对抗样本示意图;
图4为实施例中在非靶向性攻击情况下输入到编码器网络中的原样本A示意图;
图5为实施例中编码器网络接收图4所示的原样本A后输出的相应的对抗样本示意图。
具体实施方式
本实施例中,开发基于卷积神经网络的合成孔径雷达目标识别模型用来识别合成孔径雷达图像,通过编码器网络来生成对抗样本,该对抗样本可以用来对合成孔径雷达目标识别模型的识别过程进行攻击,从而检验合成孔径雷达目标识别模型的识别性能。
本实施例中,构建一个输出和输入等大的编码器网络,编码器网络是由四层卷积层组成的全卷积网络。编码器网络的最后一层还使用了激活函数
记输入到编码器网络的样本为x,记编码器网络的输出
为使编码器网络具有快速生成对抗样本的性能,对编码器网络进行训练。训练的目标有两个方向,一是使编码器网络具有快速生成对抗样本的性能,并且对抗样本用来对合成孔径雷达目标识别模型进行靶向性攻击;二是使编码器网络具有快速生成对抗样本的性能,并且对抗样本用来对合成孔径雷达目标识别模型进行非靶向性攻击。所谓靶向性攻击,指的是生成的
对于靶向性攻击,可以基于如下思路设计损失函数:在靶向性攻击中,希望生成的对抗样本满足以下两个要求:(1)对抗样本与原样本差异尽可能小;(2)对抗样本使SAR-TR算法发生靶向的误判。把SAR-TR网络所对应的映射记作f(·),把SAR-TR算法分类结果记作C(·),其中对于输入x,C(x)=armgmax
s.t.C(x+δ)=C
x+δ∈[0,1]
其中D距离度量函数,这里使用为L
使用的距离度量函数D(·)为L
对于非靶向性攻击,希望编码器网络生成的对抗样本
在设计好损失函数后,使用损失函数对编码器网络进行训练。如果希望训练好的编码器网络所生成的对抗样本能够对合成孔径雷达目标识别模型进行靶向性攻击,那么使用
对编码器网络训练的步骤可以包括:
S1.获取MSTAR数据集;具体地,下载MSTAR数据集,其中MSTAR数据集包含了不同类别目标的SAR图像,对数据集进行预处理得到5950张大小为128*128的包含目标的图像切片,把这些图片分类十组,每一组包含了一类目标,使用2747张仰角为17°的SAR图像切片作为训练集,3203张仰角为15°的SAR图像切片作为测试集,将这些图片的灰度归一化为[0,1],为了避免过拟合问题,进行随机缩放旋转等形式的数据增强;
S2.对MSTAR数据集中的图像进行裁剪,获得固定大小的图像切片;一个图像切片中仅包括一个识别目标;
S3.以图像切片作为训练样本;
S4.使用初始化参数初始化编码器网络,其中,初始化参数是从满足高斯分布的随机数中采样得到的数组,具体地,从均值为0、方差为0.01的高斯分布中随机采样,将随机采样的数组作为编码器网络的初始化参数;
S5.将训练样本输入到编码器网络中,获取编码器网络的输出结果;具体地,设置batch_size=64,将训练样本输入到编码器网络中,得到编码器的输出结果
S6.将编码器网络的输出结果输入到合成孔径雷达目标识别模型中,获取合成孔径雷达目标识别模型的输出结果
S7.根据合成孔径雷达目标识别模型的输出结果
S8.当损失函数的值未满足训练结束条件,使用Adam优化器对编码器网络进行参数更新;具体地,使用学习率为10
在执行完步骤S8后,可以返回步骤S5继续按顺序执行各步骤;
S9.当损失函数的值满足训练结束条件,结束训练过程。
在完成对编码器网络的训练后,可以将编码器网络用于生成对抗样本的过程。在执行将编码器网络用于生成对抗样本的过程时,可以按照图1所示将编码器网络与合成孔径雷达目标识别模型连接起来。图1中包括一个端到端的神经网络模型,其中前半部分是编码器网络,后半部分是合成孔径雷达目标识别模型,其中合成孔径雷达目标识别模型是ResNet50网络。
使用编码器网络生成对抗样本的过程具体包括以下步骤:
P1.获取待处理图像;待处理图像用于供合成孔径雷达目标识别模型进行识别处理;
P2.将待处理图像输入至编码器网络;
P3.获取编码器网络的输出结果作为对抗样本。
步骤P1中,待处理图像是将要输入到合成孔径雷达目标识别模型中进行识别处理的图像,其可以包括飞机、汽车等待识别目标。步骤P2中,将待处理图像输入至经过训练后的编码器网络,编码器网络的输出结果为对抗样本。
如果步骤P2中所使用的编码器网络在训练过程中使用
如果步骤P2中所使用的编码器网络在训练过程中使用
本实施例中,被使用对抗样本进行靶向性攻击或非靶向性攻击的合成孔径雷达目标识别模型也经过训练。对合成孔径雷达目标识别模型训练所使用的训练样本可以与训练编码器网络所使用的训练样本相同,即可以使用通过步骤S1-S3获得的训练样本来对合成孔径雷达目标识别模型进行训练。
通过本实施例中的训练方法训练获得的编码器网络可以快速生成对抗样本,所生成的对抗样本可以对合成孔径雷达目标识别模型进行靶向性攻击或非靶向性攻击,从而检验合成孔径雷达目标识别模型的识别性能。由于在对编码器网络的训练过程中使用了改进的损失函数,因此训练获得的编码器网络在训练好之后无需迭代优化,因此对抗样本的生成速度快,尤其是在需要连续生成多个对抗样本时具有良好的实时性。
在基于主频为8GHZ的CPU、32G内存、V100显卡的电脑上,基于Python的软件环境中进行对编码器网络的仿真实验。其中,编码器网络通过本实施例中训练方法训练。
仿真实验比较了现有的FGSM、BIM、JSMA、DeepFool、C&W方法和本发明所述的方法这几种不同的对抗样本生成方法。用本发明所述的训练集进行训练,用本发明所述的测试集进行测试,并计算准确率和生成对抗样本的时间。
在靶向性攻击情况下输入到编码器网络中的原样本A如图2所示,编码器网络输出的相应的对抗样本如图3所示。该编码器网络的训练过程使用
在非靶向性攻击情况下输入到编码器网络中的原样本A如图4所示,编码器网络输出的相应的对抗样本如图5所示。该编码器网络的训练过程使用
表1比较了靶向性攻击,几种算法的攻击成功率、扰动功率和生成时间。表2比较了非靶向性攻击,几种算法的成功率、扰动功率和生成时间。
从表1和表2中可以看出,对于靶向性攻击和非靶向性攻击,本发明提出的训练方法,在攻击成功率与最优算法相差无几的情况下,生成一张对抗样本所需时间仅为0.0005s和0.0006s,有非常优异的实时性,远远快于表中列举的现有算法。在综合考虑攻击成功率、扰动功率和生成时间的情况下,本发明提出的训练方法优于表中列举的现有算法。
实验还测试了本发明所述算法的鲁棒性,通过对本发明的输入样本加入不同功率的噪声,表3展示了加噪情况下的攻击成功率。本发明所提出的训练方法对于不同功率的噪声,攻击成功率未见下降,具有较好的鲁棒性。
表1靶向性攻击各算法的成功率、干扰的功率、生成时间比较
表2非靶向性攻击各算法的成功率、干扰功率、生成时间比较
表3对输入加噪声后的攻击成功率
通过上述仿真实验可以确认,通过本实施例训练方法训练的编码器网络,所生成的对抗样本有很高的攻击成功率,良好的噪声鲁棒性,并且生成对抗样本的速度非常快,弥补了现有技术不能达到实时性的缺点。
可以通过编写执行本实施例中的用于合成孔径雷达目标识别的对抗样本生成方法的计算机程序,将该计算机程序写入至计算机装置或者存储介质中,当计算机程序被读取出来运行时,执行本实施例中的用于合成孔径雷达目标识别的对抗样本生成方法。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
机译: 基于深度神经网络的利用生成式对抗网络生成的逼真的合成图像识别
机译: 基于生成的对抗网络的目标识别
机译: 基于生成的对抗网络的目标识别