基于边特征关系映射图神经网络模型的小样本图像分类方法与流程

文档序号:26626657发布日期:2021-09-14 21:44阅读:258来源:国知局
基于边特征关系映射图神经网络模型的小样本图像分类方法与流程

1.本发明属于计算机视觉与图像分类领域,尤其涉及一种基于边特征关系映射图神经网络模型的小样本图像分类方法。


背景技术:

2.近年来,随着人工智能技术的逐渐兴起以及硬件条件的迅速发展,深度学习被广泛应用在人们日常生活的各个领域,例如图像处理、语音识别、目标跟踪等等。通常的深度学习任务所需求的数据量是十分庞大的,而且所需的人工标注成本也很大,尽管目前有着大数据这一领域,但对于某些特定的训练任务,深度无法达到很好的训练效果。正常情况下,一个深度学习任务如果没有被供给足够多的数据,那么其训练结果必定是过拟合的,而且一般的深度神经网络对于不同训练任务的迁移性很差。那么,如何在仅有少量标签样本的情况下进行图像分类任务,成为了近几年的研究热点。
3.小样本学习的主要思路是使神经网络在少量标签样本的条件下,能够有效学习并快速适应各种不同的学习任务。在实际应用当中,微调(fine tune)和半监督学习能够一定程度上解决数据量不足和不同任务间迁移性差的问题,但效果有限。为了从根本上解决该类问题,度量学习、元学习、图神经网络等各种方法相继被提出,为小样本学习提供了新的研究方向。
4.现有技术中,2015年由gregory korch等提出的孪生网络模型就是比较典型的度量学习。该网络将训练任务和测试任务分开进行,在训练时让网络进行二分类任务,即分辨两张图片是否为同一类,对应着标签为0或1。每次训练时的两张图片均从训练集中随机抽取,并人工标注相似度。网络的基本结构为孪生结构,即先经过两路权重共享的卷积神经网络将图片的特征提取出来,再将两个特征进行l

1距离度量,输入到全连接层,最后输出一个0到1之间的概率值。(gregory korch,richard zemel,ruslan salakhutdinov.siamese neuralnetworks for one

shot image recognition[c].2015.)
[0005]
2018年,由sung等提出的关系网络给出了有关度量学习的一个新思路,即让神经网络自身去学习一种度量方式,而不去人为规定。在该网络中有两个主要结构,其一是特征映射模块,其二是关系度量模块。关系度量模块的输入为两个图像特征的串联拼接,输出为0到1的相似度。(sung f,yang y,zhang l,et al.learning to compare:relation network for few

shotlearning[c].2018.)
[0006]
2019年,jongmin kim等提出了边缘标记图神经网络。该网络首先构建一个图神经网络模型,其次将节点和边进行迭代更新,最后根据最终层的边缘信息来对图像进行分类。(jongmin kim,taesup kim,sungwoong kim,et al.edge

labeling graph neural network for few

shot learning[c].2019.)
[0007]
图神经网络是近些年来兴起的新型神经网络。它基于图结构,包含节点和边信息。以最简单的全连接图为例,每个节点信息的更新与其他所有节点均有关联,边的更新则在节点更新之后完成。图神经网络可以做到传统深度学习无法做到的东西,它能够得到很多
隐含的特征信息以及特征与特征之间的联系。


技术实现要素:

[0008]
为了能够有效解决目前少量样本下的技术难题,本发明提出了一种基于边特征关系映射图神经网络模型的小样本图像分类方法,一种基于边特征关系映射图神经网络模型的小样本图像分类方法,包括如下步骤:
[0009]
步骤1:对数据进行预处理操作;
[0010]
步骤2:对原始的图片特征进行映射处理,作为初始的节点特征;
[0011]
步骤3:根据所选定的训练样本,进行边特征的初始化;
[0012]
步骤4:设定图神经网络的总层数为l,并令当前层数l=1;
[0013]
步骤5:节点特征更新;
[0014]
步骤6:边特征更新;
[0015]
步骤7:令l=l+1,如果l的值小于等于l,则重新回到步骤5,继续节点特征更新和边特征更新;如果l的值大于l,则结束图神经网络迭代过程;
[0016]
步骤8:根据图神经网络迭代完成后的边特征状态,来构建相应的损失函数;
[0017]
步骤9:根据计算出的损失值和设定的学习速率,对整个网络进行梯度的反向传播,更新网络参数得到神经网络模型,并基于所述模型进行小样本图像分类。
[0018]
进一步的,步骤2包括:
[0019]
步骤2.1:经过的第一个卷积模块,首先进入卷积层,输入特征数为3,输出特征数为64,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;最后经过带泄露的线性修正单元映射到输出;
[0020]
步骤2.2:经过的第二个卷积模块,首先进入卷积层,输入特征数为64,输出特征数为96,卷积核大小为3
×
3,图像填充为0;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;最后经过带泄露的线性修正单元映射到输出;
[0021]
步骤2.3:经过的第三个卷积模块,首先进入卷积层,输入特征数为96,输出特征数为128,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;再经过带泄露的线性修正单元映射到输出;最后加入dropout层防止过拟合,其dropout概率为0.4;
[0022]
步骤2.4:经过的第四个卷积模块,首先进入卷积层,输入特征数为128,输出特征数为256,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;再经过带泄露的线性修正单元映射到输出;最后加入dropout层防止过拟合,其dropout概率为0.5;
[0023]
步骤2.5:经过的全连接层,输入的特征数为上一步骤中卷积模块输出特征的一维平铺展开,输出的特征数为128;
[0024]
步骤2.6:进行批量归一化处理,最终得到节点的初始特征为一维特征特征数为128。
[0025]
进一步的,步骤3包括:
[0026]
任意挑选出两个节点,若这两个节点所属的类别相同,则这条边特征的类内相似度为1,类间非相似度为0;若这两个节点所属的类别不同,则这条边特征的类内相似度为0,
类间非相似度为1;若这两个节点中至少有一个节点所属的类别不确定,则这条边特征的类内相似度和类间非相似度均为0.5,
[0027]
公式如下
[0028][0029]
其中,y
i
和y
j
为节点i和j的标签,是在初始化阶段,i节点和j节点间的边特征向量。
[0030]
进一步的,步骤5包括:
[0031]
步骤5.1:设待更新的节点为表示第l层第i个节点;统计所有的邻居节点,并对所有邻居节点的边特征做有关类内相似度和类间非相似度的归一化处理;
[0032]
公式如下
[0033][0034]
其中,的含义为节点i和节点j之间的归一化类内相似度或类间非相似度,e
ijd
的含义为节点i和节点j之间的原始类内相似度或类间非相似度,k表示与节点i相邻的各个邻居节点序号,i和j代表了不同的节点,d的维度代表了类内相似度和类间非相似度,;
[0035]
步骤5.2:根据步骤5.1所求的权值,分别求出邻居节点特征有关类内相似度和类间非相似度的加权和,
[0036]
公式如下
[0037][0038][0039]
为第l

1层节点i和节点j之间的归一化类内相似度。
[0040]
步骤5.3:将步骤5.2中得到的两个特征值和原始节点特征值串联拼接,并带入节点更新网络中得到新的节点特征,
[0041]
公式如下
[0042][0043]
其中,节点更新网络的结构为两个卷积模块;
[0044]
经过的第一个卷积模块,首先进入卷积层,输入特征数为三倍的节点特征,输出特征数为192,卷积核大小为1
×
1,图像填充为0;其次进行批量归一化;最后经过带泄露的线性修正单元映射到输出;
[0045]
经过的第二个卷积模块,首先进入卷积层,输入特征数为192,输出特征数为96,卷积核大小为1
×
1,图像填充为0;其次进行批量归一化;最后经过带泄露的线性修正单元映
射到输出。
[0046]
进一步的,步骤6包括:
[0047]
步骤6.1:设待更新的边特征为且已知节点特征和
[0048]
则先将i和j两个节点特征进行串联拼接操作,然后带入到边特征更新网络中得到新的边特征,公式如下
[0049][0050][0051]
为第l层的边特征更新网络;
[0052]
步骤6.2:边特征更新网络的结构为4个全连接模块;
[0053]
经过的第一个全连接模块,首先为线性全连接层,输入特征数为节点特征数的两倍,输出特征数为96;其次进行批量归一化;最后经过带泄露的线性修正单元映射到输出;
[0054]
经过的第二个全连接模块,首先为线性全连接层,输入特征数为96,输出特征数为48;其次进行批量归一化;最后经过带泄露的线性修正单元映射到输出;
[0055]
经过的第三个全连接模块,首先为线性全连接层,输入特征数为48,输出特征数为8;再经过带泄露的线性修正单元映射到输出;
[0056]
经过的第四个全连接模块,首先为线性全连接层,输入特征数为8,输出特征数为1;再经过sigmoid函数映射到输出;
[0057]
步骤6.3:将网络输出的0到1之间的概率值作为新的类内相似度,新的类间非相似度则由1减去类内相似度得到。
[0058]
进一步的,步骤6的损失函数如下:
[0059][0060]
其中,bceloss为二元交叉熵损失函数,y
e
为根据基本事实标定的实际边特征,为第l层图神经网络预测的边特征。
[0061]
有益效果:本发明根据图神经网络的基本模型,可将模型的更新过程分为节点特征更新和边特征更新两部分。这两部分在图神经网络的网络传播过程中交替进行,且为本地迭代运算,即节点数和边数不会发生改变。在构建该图神经网络时,第一步:使用一个卷积神经网络将初始图像映射到特征空间,该特征即为初始的节点特征;第二步:根据数据集中不同图像的标签信息构建初始的边特征;第三步:将节点特征和边特征依次代入节点特征更新网络和边特征更新网络,重复该过程l次(l为图神经网络的层数);第四步:根据边特征值计算得到最终的分类结果。该方法能够有效提升传统网络在少量样本数据情况下的分类准确率,同时提升了网络的迁移性和稳定性。
附图说明
[0062]
图1为本发明的方法流程图。
[0063]
图2为初始节点映射的方法图。
[0064]
图3为初始节点特征映射的网络结构图。
[0065]
图4为初始边特征的建立方法图。
[0066]
图5为节点特征更新的网络结构图。
[0067]
图6为边特征更新的网络结构图。
具体实施方式
[0068]
本发明提出了一种基于边特征关系映射图神经网络模型的小样本学习方法。该方法通过构建一个图神经网络,在本地多次迭代,顺序更新节点特征和边特征,并在边特征中引入了关系度量方式,最后通过对边特征信息的提取来对目标图像进行分类。所选用的测试数据集为miniimagenet,具体步骤如下:
[0069]
步骤1:对数据进行预处理,方便之后的训练过程,具体包括,
[0070]
步骤1.1:将该数据集的图片按照类别分成3部分,其中64类作为训练集,16类作为验证集,32类作为测试集。
[0071]
步骤1.2:将全部图片统一剪裁为84
×
84大小的rgb三色道图像。
[0072]
步骤1.3:按照episode的训练方式,将训练集内的图片组合为支持集和待定集的形式。以nway,kshot为例,一个episode包含了一组支持集和一组待定集,两个集合内均包含相同的n种类别,这n个类别从训练集中随机挑选。类别挑选完成后,再从每个类别内随机挑选出k张图片放入支持集(kshot),并从除去这k张图片的其余图片中挑选出q张图片放入待定集。最终得到支持集大小为n
×
k,待定集大小为n
×
q。
[0073]
步骤1.4:对数据进行归一化处理,即减去均值再除以标准差。
[0074]
步骤2:对原始的图片特征进行映射处理,在优选实施例中,选择对3
×
84
×
84大小的图片特征进行映射处理,作为初始的节点特征网络结构如图3所示,具体包括,
[0075]
步骤2.1:经过的第一个卷积模块,首先进入卷积层,输入特征数为3,输出特征数为64,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;最后经过带泄露的线性修正单元映射到输出。
[0076]
步骤2.2:经过的第二个卷积模块,首先进入卷积层,输入特征数为64,输出特征数为96,卷积核大小为3
×
3,图像填充为0;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;最后经过带泄露的线性修正单元映射到输出。
[0077]
步骤2.3:经过的第三个卷积模块,首先进入卷积层,输入特征数为96,输出特征数为128,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;再经过带泄露的线性修正单元映射到输出;最后加入dropout层防止过拟合,其dropout概率为0.4。
[0078]
步骤2.4:经过的第四个卷积模块,首先进入卷积层,输入特征数为128,输出特征数为256,卷积核大小为3
×
3,图像填充为1;其次进行批量归一化;之后进行最大池化处理,卷积核大小为2
×
2;再经过带泄露的线性修正单元映射到输出;最后加入dropout层防止过拟合,其dropout概率为0.5。
[0079]
步骤2.5:经过的全连接层,输入的特征数为上一步骤中卷积模块输出特征的一维平铺展开,输出的特征数为128;
[0080]
步骤2.6:进行批量归一化处理,最终得到节点的初始特征为一维特征特征数为128。
[0081]
步骤3:根据之前的episode所选定的训练样本,进行边特征的初始化。图4为其基本过程示意图(图中仅标定了类内相似度),即任意挑选出两个节点,若这两个节点所属的类别相同,则这条边特征的类内相似度为1,类间非相似度为0;若这两个节点所属的类别不同,则这条边特征的类内相似度为0,类间非相似度为1;若这两个节点中至少有一个节点所属的类别不确定(即该节点属于待定集),则这条边特征的类内相似度和类间非相似度均为0.5。公式如下
[0082][0083]
其中,y
i
和y
j
为节点i和j的标签,是在初始化阶段(l=0),i节点和j节点间的边特征向量。
[0084]
步骤4:设定图神经网络的层数为l,并令l=1。
[0085]
步骤5:进行节点特征更新过程,具体如下,
[0086]
步骤5.1:设待更新的节点为表示第l层第i个节点。统计所有的邻居节点,并对所有邻居节点的边特征做有关类内相似度和类间非相似度的归一化处理。公式如下
[0087][0088]
其中,的含义为节点i和节点j之间的归一化类内相似度或类间非相似度,e
ijd
的含义为节点i和节点j之间的原始类内相似度或类间非相似度,k表示与节点i相邻的各个邻居节点序号,i和j代表了不同的节点,d的维度代表了类内相似度和类间非相似度。
[0089]
步骤5.2:根据步骤5.1所求的权值,分别求出邻居节点特征有关类内相似度和类间非相似度的加权和,公式如下
[0090][0091][0092]
为第l

1层节点i和节点j之间的归一化类内相似度。
[0093]
步骤5.3:将步骤5.2中得到的两个特征值和原始节点特征值串联拼接,并带入节点更新网络中得到新的节点特征,公式如下
[0094][0095]
其中,节点更新网络的结构为两个卷积模块,如图5所示。
[0096]
经过的第一个卷积模块,首先进入卷积层,输入特征数为三倍的节点特征,输出特征数为192,卷积核大小为1
×
1,图像填充为0;其次进行批量归一化;最后经过带泄露的线
network for few

shot learning[c].2019.)。
[0117] 5way 1shot5way5shotedge

labeling graph neural net50.58%66.85%边特征关系映射图神经网络50.89%66.96%
[0118]
从实验结果可以看出,本发明提高了在miniimagenet数据集上的分类准确率:5way1shot情况下提高了0.31%,5way 5shot情况下提高了0.11%。
[0119]
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1