基于VIT模型和原型网络的可解释SAR目标识别方法及系统

文档序号:33425875发布日期:2023-03-11 02:24阅读:187来源:国知局
基于VIT模型和原型网络的可解释SAR目标识别方法及系统
基于vit模型和原型网络的可解释sar目标识别方法及系统
技术领域
1.本发明涉及神经网络算法技术领域,特别是一种基于vit模型和原型网络的可解释sar目标识别方法及系统。


背景技术:

2.目标识别是sar成像以后的关键应用。如何从sar图像中识别目标的类别是研究的热点问题。传统sar目标识别技术主要通过利用回波能量来完成。在实际场景中,雷达回波不仅包含目标信息,还包含诸如地杂波、海杂波、干扰等杂波及背景信息。近年来,随着计算能力的显著提升、数据规模的大幅扩大以及机器学习算法的不断改进,从数据中自动进行特征学习日益成为模式识别的主要范式。其中,由于卷积神经网络(cnn)对图像有着很强的特征提取能力而受到广泛应用,产生了各种基于cnn的模型。
3.目前的基于深度学习的模型大部分具有“黑盒”性质,其工作机理、决策过程和决策逻辑对用户的不透明,会存在安全隐患,特别是在医疗诊断、金融投资、国防军事等高风险领域,深度神经网络的可解释性对于理解和信任模型的决策至关重要。随着深度学习技术的进步和在诸多领域的大量应用,其可解释性问题日益受到政府、学术界和工业界的广泛重视。从目的上来说,可解释性旨在帮助人们理解机器学习模型是如何学习的,它从数据中学到了什么;针对每一个输入样本,它为什么会做出如此决策以及它所做的决策是否可靠等。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种基于vit模型和原型网络的可解释sar目标识别方法及系统,该方法利用测试数据与支持集进行比较得出的相似性,神经网络根据相似性进行分类。
5.为达到上述目的,本发明提供如下技术方案:
6.本发明提供的基于vit模型和原型网络的可解释sar目标识别方法,包括以下步骤:
7.步骤一:首先把mstar数据集分为训练集与测试集,使用训练集来训练vit模型;
8.步骤二:从训练集种选择部分数据作为支持集,使用训练好的vit模型对支持集数据进行编码,得到支持数据编码向量;使用训练好的vit模型对测试集进行编码,得到测试数据编码向量;
9.步骤三:计算测试数据编码向量各部位与支持数据编码向量各部位之间的l1距离,根据测试集数据与支持集数据的l1距离得到最相似部位的相似性向量;
10.步骤四:根据相似性向量重新划分训练集与测试集,展平以后经过全连接网络进行训练与测试,最后得到分类结果。
11.进一步,所述l1距离按照以下公式计算:
12.l1=|x
i-y
jk
|
13.其中,i表示测试数据编码向量中第i个部位,xi表示测试数据编码向量中第i个部位;j表示支持集数据编码中第j个数据,k表示支持集数据编码中第k个部位;y
jk
表示支持集第j个数据编码向量中第k个部位。
14.进一步,所述步骤三中的相似性向量按照以下方式得到:
15.计算测试数据单个部位与支持集数据单个部位的l1距离,得到测试数据相对于支持集数据各部位的相似性向量;遍历支持集所有数据所有部位进行计算得到测试集数据各部位与支持集数据所有部位的相似性向量;
16.取出相对于每个支持集数据最相似的部位,对支持集中每个类别求均值,得到测试数据单个部位与支持集每个类别的最相似部位的相似性向量;
17.遍历测试数据所有部位,对测试数据的所有部位进行计算l1距离,取出最相似部位并按类别求均值,得到测试数据各部位与支持集每个类别的最相似部位的相似性向量。
18.进一步,所述遍历支持集所有数据所有部位进行计算得到测试集数据单个部位与支持集数据所有部位的相似性向量,按照以下公式进行:
[0019][0020]
其中,m表示支持集数据编码中数据的数量;n表示支持集数据编码中部位的数量。
[0021]
进一步,所述遍历测试数据所有部位,对测试数据的所有部位进行计算l1距离,按照以下公式进行:
[0022][0023]
其中,q表示测试数据部位的数量,m表示支持集数据编码中数据的数量;n表示支持集数据编码中部位的数量。
[0024]
进一步,所述vit模型包括编码器与全连接网络。
[0025]
进一步,所述支持数据编码向量或测试数据编码向量是通过训练后的vit模型中的编码器进行编码输出的。
[0026]
本发明提供的基于vit模型和原型网络的可解释sar目标识别系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。
[0027]
本发明的有益效果在于:
[0028]
本发明提供的基于vit模型和原型网络的可解释sar目标识别方法及系统,首先把mstar数据集分为训练集与测试集,使用训练集来训练vit模型;从训练集种选择部分数据作为支持集,并设置支持集的类别,使用训练好的vit模型对支持集数据进行编码,得到支持数据编码向量;使用训练好的vit模型对测试集进行编码,得到测试数据编码向量;计算测试数据编码向量各部位与支持数据编码向量各部位之间的l1距离,根据测试集数据与支持集数据的l1距离得到相似性向量;将相似性向量重新划分训练集与测试集,展平以后经过全连接网络进行训练与测试,最后得到分类结果。该方法使得神经网络在msatr数据集上具有一定的可解释性;分类精度相对于原始vit模型下降很低。
[0029]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0030]
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0031]
图1为基于vision transformer的sar目标识别流程。
[0032]
图2为原型网络目标识别流程。
[0033]
图3为基于vision transformer的可解释sar目标识别流程。
[0034]
图4为全连接网络示意图。
[0035]
图5为可解释vit的分类解释。
具体实施方式
[0036]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0037]
如图1所示,图1为基于vision transformer的sar目标识别流程,描述了vit模型的特点,利用vit模型对mstar数据集进行分类,具体步骤如下:
[0038]
vit模型在分类时先把图像分为多个小块,然后使用线性投射层对小块进行编码,而后采用位置编码加入位置信息,与位置编码后的结果相加,之后采用transformer编码器对融合后的信息进一步编码提取特征,vit模型中的编码器使用的是多头注意力机制。在实际训练的时候,将分为12
×
12个的区块,并且用1
×
64大小的列向量来表示每个区块,那么每个图像编码以后的大小为144
×
64,每个行向量表示对应区块编码后的结果,然后通过全连接层进行分类得到最后的结果,vit模型是不可解释的。
[0039]
如图2所示,图2为原型网络目标识别流程,原型网络是使用支持集做参考,来对测试的图片进行分类的一种思路。具体过程过下:
[0040]
首先对于支持集中的每一个样本点生成一个编码表示,支持集可看作一般神经网络的训练集,编码通常使用卷积等操作来实现。然后通过求和平均的方式来生成每一个分类的原型表示。对于测试样本,同样使用编码器和求平均的方式来生成一个向量表示。计算每一个测试数据的向量表示和每一个分类原型表示的距离情况。并计算softmax概率结果,概率结果即为分类结果。
[0041]
原型网络的可解释性在于距离的计算,通过计算编码后的特征的距离,或描述为相似性,可以减弱全连接网络分类层参数过多而导致的“黑盒”性质,因为,从编码后的特征的相似度就可以人为判别测试数据所属的类别,提高了可解释性。
[0042]
如图3所示,图3为基于vision transformer的可解释sar目标识别流程,本实施例提供的基于vit的原型网络,结合了vit模型和原型网络,形成了可解释的sar目标识别网络,本实施例提供的基于vit模型和原型网络的可解释sar目标识别,具体流程如下:
[0043]
步骤一:整个mstar数据集包括2746个训练数据与2426个测试数据,首先使用2746
个训练数据来训练一个完整的vit模型,实际训练时将图片分为144个区块,而非图3种的9块。其中,每个区块就代表了图片上的一个部位,编码器将每个部位编码为1
×
64的向量,那么一张图片144个部位,把每个部位都编码就得到144
×
64的向量。
[0044]
步骤二:从2746个训练数据种随机挑选1360个数据作为支持集,包含10类。使用训练好的vit模型对支持集数据进行编码,得到支持数据编码向量,大小为1360
×
144
×
64。
[0045]
步骤三:使用训练好的vit模型对一个测试数据进行编码,得到测试数据编码向量,大小为144
×
64。该测试数据的每一个部位的大小为1
×
64,设为xi,i表示第i个部位。从编码好的支持集数据1360
×
144
×
64中取出一个数据,为144
×
64,再从144个部位中取出一个部位,设为y
jk
,j表示第j个数据,k表示第k个部位。计算xi和y
jk
的l1距离,即|x
i-y
jk
|;
[0046]
计算测试数据单个部位1
×
64编码向量与一张支持集数据单个部位1
×
64编码向量的l1距离,得到测试数据相对于一张支持集数据一个部位的相似性向量;
[0047]
遍历支持集所有数据所有部位计算相似性向量,计算其中,m表示支持集数据编码中数据的数量;n表示支持集数据编码中部位的数量。
[0048]
本实施例中m取值为1360;n取值为144;即得到1360
×
144的向量,表示测试集部位xi与支持集所有数据所有部位的相似性向量。取出相对于每个支持集数据最相似的部位(即最小值,即最小l1距离),得到1360
×
1的向量;1360包括了10个类别,因此,对每个类别求均值,即在10个类别内分别求均值,得到10
×
1的向量,该向量可看作测试数据的一个1
×
64的部位xi与支持集每个类别的最相似部位的相似性;
[0049]
遍历测试数据所有部位,进行上述计算;对测试数据的所有部位都进行上述计算,即其中,q表示测试数据部位的数量,本实施例中q取值为144;即取出最相似部位并按类别求均值,得到144
×
10的向量。
[0050]
以上表示单张测试数据的计算过程;2746个训练数据除去1360个支持集数据,还剩1386个数据。对1386个训练数据与2426个测试数据进行上述计算(相对于支持集来计算相似性向量),最终得到3812
×
144
×
10的向量,3812表示剩余的训练集与测试集大小,144表示部位数量,10表示每个部位与支持集中10个类别的最相似部位的相似性。
[0051]
步骤四:遍历剩余的训练集与测试集数据,得到3812
×9×
10的相似性向量,该3812个数据为新的训练与测试数据;对3812个数据重新划分新的训练集与测试集,比例为8:2,每个数据大小为144
×
10,展平以后经过两层全连接网络进行训练与测试。如图4所示,展平后的向量为1440,第一层神经网络包含2048个隐层,第二层包含1024个隐层,最终得到10分类的结果。
[0052]
如图5所示,图5为可解释vit的分类解释示意图,其中的分类精度与分类解释结果如下所示:
[0053]
(1)分类精度相比最原始的vit模型会略微下降,如表一所示
[0054]
表1测试集评估结果
[0055]
[0056][0057]
(2)分类解释
[0058]
本实施例的可解释性体现在,采用了原型网络的思想,新建了一个支持集,测试数据可以通过与支持集进行比较得出相似性,神经网络根据相似性进行分类。并且可以根据相似部位进行解释,例如对于图5的数据,其144个部位与支持集的相似性为144
×
10的向量,通过对每一行求最小值,可以得出144个部位中每个部位相对于支持集每个类别的相似性,这意味着对于测试数据的144个部位,可以统计出每个部位与支持集中最相似的部位来自于哪一类,对于图5的数据,统计相似性如表2所示,该相似性表示测试数据相对于支持集的所有数据,有92个相似部位来自于支持集中的第4类,有36个相似部位来自于支持集中的第2类,该图片的最终分类结果为第4类,并且分类正确,可以理解为神经网络根据相似部位的数量进行分类,某一个测试数据相对于支持集来说,相似的部位来源于哪一类更多,那么最终就更有可能分到该类。再例如表3的错误分类结果,由于来源于第1、7、9、10的相似部位数很相近,最终神经网络无法区分属于哪一类,造成了错误分类。
[0059]
表2正确分类的相似性统计结果
[0060][0061]
表3错误分类的相似性统计结果
[0062][0063][0064]
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范
围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1