一种零样本图像识别方法、系统及可存储介质
未命名
07-19
阅读:96
评论:0
1.本发明涉及图像识别技术领域,特别涉及一种零样本图像识别方法、系统及可存储介质。
背景技术:
2.随着深度神经网络的发展,图像分类在过去数年中取得了巨大的进展。然而,大多数成功的模型是基于监督学习的,它高度依赖于大量的标记图像来训练。在许多实际应用中,收集大规模的标记数据集是昂贵且耗时的。当涉及到细粒度数据集时,这个问题变得更加严重。因此,零样本学习受到越来越多的关注,它可以识别来自不可见类的图像。零样本学习旨在通过运用已学到的可见类知识去认知不可见类。训练阶段中给定的有标记样本的类别称为可见类,同时还有一些无标记的样本,包含这些无标记样本的类,称为不可见类,并且可见类的集合和不可见类的集合是不相交的。
3.公开号为cn113505701a的发明专利申请,其公开了一种结合知识图谱的变分自编码器零样本图像识别方法。该方法首先将通过卷积神经网络提取到的图像特征通过vae编码成低维特征向量,投入潜在特征空间;之后将类别语义向量送入基于知识图谱的深度神经网络模块,通过图变分自编码器对图中的节点进行聚合,将编码更新后生成新的低维语义向量投入潜在特征空间;最后,将每个模态生成的潜在向量,在类别相同的条件下,分别用另一模态的解码器进行解码,重构原始数据。
4.公开号为cn113505701a的发明专利申请中的方法使用从知识图谱中获取到的知识进行构图,但是考虑到知识图谱中包含的类别之间的关系不够准确,导致不能很好地对可见类和不可见类进行关系建模,进而影响知识迁移的能力,并且对于一些细粒度的数据集而言,其中的类别关系很难获取到。同时,图像的视觉特征虽然包含了丰富的语义信息,但是也包含了很多背景信息以及噪声信息。在进行图像分类时,只有一些鉴别性的视觉区域有利于分类,尤其对于一些细粒度的图像而言,其不同类别之间的图像差异较小。公开号为cn113505701a的发明专利申请中的方法仅使用预先训练好的网络提取图像特征,对鉴别的视觉特征的挖掘并不充分。
技术实现要素:
5.为解决上述问题,本发明旨在提出一种零样本图像识别方法、系统及可存储介质,通过注意力机制以及类别之间的语义关系获得所有类的视觉原型表示,再经过视觉原型图传播获得判别潜在空间,在潜在空间中进行分类,提高分类准确率。
6.为达到上述目的,本发明的技术方案是这样实现的:
7.一种零样本图像识别方法,包括以下步骤:
8.s1、获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;
9.s2、设计注意力机制提取可见类图像的鉴别性视觉特征;
10.s3、对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;
11.s4、通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;
12.s5、利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;
13.s6、设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;
14.s7、利用可见类图像以及标签训练模型;
15.s8、利用训练好的模型对不可见类图像进行预测。
16.进一步的,在步骤s2中,利用一个注意力机制获得每个图像x的鉴别性特征v,以去除不相关的信息;
17.具体为,对于一张图像x,先送入到主干网络获得其特征图z∈rw×h×c,之后对特征图z经过一个空间注意力机制得到k个区域块,期望发现图像中最鉴别的特征区域;
18.具体操作为:
19.首先,通过卷积操作学习得到k个掩码块mk∈rw×h:
20.mk=σ(conv(z)),k=1,2,...,k
21.其中,conv(.)表示的是1
×
1卷积操作,σ(.)代表激活函数;
22.之后,先将k个掩码块进行reshape操作,将其变成和特征图z相同的尺寸,再和特征图z相乘得到图像的k个区域块:
[0023][0024]
其中,代表对应位元素相乘。考虑得到的k个区域块有可能包含了背景信息或者不同区域块之间存在冗余信息,因此,对k个区域块做一个阈值限制,获得k个掩码块的最大值m
max
:
[0025][0026]
再次,设计一个超参数α,并设置一个阈值τ=α
×mmax
,其中,α为介于0到1之间的数值,当第k个掩码块mk的最大值小于这个阈值τ时就将第k个区域块rk(z)全部置为0,然后对k个阈值化后的区域块进行全局最大池化,得到k个区域特征rk∈rc;
[0027]
最后,对k个局部区域特征进行拼接,再通过一个全连接层f1,输入-输出维度为kc-c,得到该图像对应的鉴别性视觉特征v∈rc。
[0028]
进一步的,在步骤s3中,在获取到上述中每张图像的鉴别性视觉特征v后,对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型p
seen
:
[0029][0030]
其中,n表示属于第i个可见类的样本数。
[0031]
进一步的,在步骤s4中,通过计算可见类和不可见类的属性向量之间的余弦相似度获得可见类和不可见类之间的关系矩阵
[0032]sij
=cos(zi,zj),i∈csand j∈cu[0033]
其中,zi表示第i个类的属性向量,zj表示第j个类的属性向量,cs代表可见类的个数,cu代表不可见类的个数;
[0034]
通过迁移可见类和不可见类之间的语义关系来获得不可见类的视觉原型;即根据可见类和不可见类之间的语义关系矩阵获得不可见类的视觉原型矩阵p
unseen
:
[0035]
p
unseen
=s
t
p
seen
。
[0036]
进一步的,在步骤s5中,通过上述操作即可获得所有类别的视觉原型,通过利用类视觉原型之间的关系构建一个视觉原型图g,每个节点代表一个类别,包含可见类以及不可见类;
[0037]
具体为,视觉原型图g中边的关系由类视觉原型之间的余弦距离进行度量:
[0038]bij
=cos(pi,pj)
[0039]
利用glove模型获取每个类的属性的词向量表示ai∈r
300
,将该类所有属性的词向量表示堆叠为一个矩阵t∈r
|a|
×
300
(|a|表示类属性的个数),再和该类语义向量相乘获得每个节点的初始化表示:
[0040]ei
=zit
[0041]
其中,zi代表第i个类的语义向量,ei代表第i个节点的初始化向量。
[0042]
进一步的,在步骤s6中,将上述获得的邻接矩阵b和所有节点的初始化表示堆叠成的矩阵e输入到编码器中进行节点信息的传播和聚合;
[0043]
具体为,编码器利用图卷积神经网络在构建好的视觉原型图g上进行信息聚合和传播,以获得一个新的潜在空间u,节点更新的表示如下:
[0044]
h(i)=σ(d-1/2
bd-1/2h(i-1)w(i-1)
),i=1,2
[0045]
其中,d表示邻接矩阵b的度矩阵,d
ii
=∑
jbij
,w(i)表示参数矩阵,h
(0)
=e代表所有节点的初始化输入矩阵,h
(2)
=u代表第二层图卷积的输出矩阵,即所有节点在视觉原型图上更新后的嵌入向量组成的矩阵其中ui∈rd表示节点i的嵌入表示;
[0046]
将上述得到的潜在表示矩阵u输入到解码器,解码器通过嵌入向量的内积来重构邻接矩阵:
[0047][0048]
构造重构损失来最小化经节点向量表示重构出的邻接矩阵与原始邻接矩阵之间的差异,使得节点的嵌入向量表示符合图的结构;重构损失l
rec
设计如下:
[0049][0050]
进一步的,在步骤s7中,在获得潜在空间u之后,将可见类图像经过注意力机制提取的视觉特征以及标签嵌入到潜在空间,在潜在空间中进行分类;
[0051]
具体为,将可见类图像的视觉特征v∈rc通过一层全连接f2,输入-输出维度为c-d,嵌入到潜在空间,计算映射后的视觉特征和每个类的潜在表示的相似性:
[0052]qij
=f2(vi)
⊙
uj[0053]
同时利用交叉熵损失函数来构造分类损失:
[0054][0055]
其中,当第i个样本属于第k个类别时,y
ik
=1,否则,y
ik
=0;ns表示可见类样本的个数;
[0056]
将上述重构损失和分类损失相加获得整体的损失函数,通过梯度反向传播,优化模型参数;
[0057]
最后模型的总损失函数为:
[0058]
l=l
cls
+γl
rec
[0059]
其中,γ是一个超参数。
[0060]
进一步的,在步骤s8中,通过上述训练好的模型,即可获得关于所有类的潜在表示;当给定一个测试图像x,即不可见类图像,通过训练好的注意力机制获取该图像的视觉特征v,再将视觉特征v映射到潜在空间,和类潜在表示进行相似度计算,最后预测其标签的过程表示如下:
[0061][0062]
为了实现上述目的,本发明还提供了一种零样本图像识别系统,包括以下模块:
[0063]
数据集获取以及定义模块:用于获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;
[0064]
鉴别性视觉特征提取模块:通过注意力机制提取可见类图像的鉴别性视觉特征;
[0065]
可见类的视觉原型提取模块:对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;
[0066]
不可见类的视觉原型提取模块:通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;
[0067]
视觉原型图的节点初始化模块:利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;
[0068]
潜在空间获取模块:通过设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;
[0069]
训练模块:利用可见类图像以及标签训练模型;
[0070]
不可见类图像分类模块:利用训练好的模型对不可见类图像进行预测。
[0071]
为了实现上述目的,本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述零样本图像识别方法的步骤。
[0072]
有益效果:本发明通过注意力机制以及类别之间的语义关系获得所有类的视觉原型表示,再经过视觉原型图传播获得判别潜在空间,在潜在空间中进行分类,提高了分类准确率。
附图说明
[0073]
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0074]
图1为本发明实施例所述的零样本图像识别方法的流程图;
[0075]
图2为本发明实施例所述的零样本图像识别方法的训练阶段的框架图;
[0076]
图3为本发明实施例所述的零样本图像识别方法的预测识别阶段的框架图;
[0077]
图4为本发明实施例所述的零样本图像识别系统的结构示意图。
具体实施方式
[0078]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0079]
下面将参考附图并结合实施例来详细说明本发明。
[0080]
零样本学习的目标是对训练阶段没有见过的图像进行分类。它通过辅助的语义信息建立不同类别之间的关系,从而实现从可见类到不可见类的知识迁移。在零样本学习中利用语义信息将知识从可见类迁移到不可见类时,一个目标是建立视觉域和语义域之间的关联。通常,这种关联是通过学习语义向量和视觉特征交互的嵌入空间来确定的。学习这种嵌入空间的映射方法有三种,包括基于语义空间嵌入、基于视觉空间嵌入以及基于公共空间嵌入。而cn 113505701a的发明属于基于公共空间嵌入的零样本学习方法。
[0081]
cn113505701a的发明相对会具有以下技术缺陷,首先,由于视觉特征和语义表示分布在不同的空间中,并且维度差异较大,嵌入到任何一个空间都会产生信息损失;其次,仅通过兼容性函数进行度量,不能很好地让视觉特征和语义表示进行交互;另外,图像的视觉特征包含丰富的语义信息,但同时也包含了许多类无关信息,一些比较相似的图像可能因为这些类无关信息而产生误分类;最后,人工定义的类属性虽精确,但由于其维度的限制,可能忽略了一些重要信息,从而降低了知识迁移的能力。
[0082]
实施例1
[0083]
基于以上对现有技术的理论研究分析,参见图1-3:本实施例提供了一种零样本图像识别方法,包括以下步骤:
[0084]
s1、获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;
[0085]
需要说明的是,本实施例的模型所使用的公开数据集可以包括:细粒度的鸟类物种数据集cub-200-2011birds(cub)、动物数据集animals with attributes 2(awa2)、场景数据集sun attribute(sun)以及apascal and yahoo(apy)数据集;
[0086]
对上述公开数据集进行类别划分;将各数据集的全部类别划分为不相交的可见类和不可见类,并分别获得对应的图像和类语义属性;可见类的图像和类语义属性以及不可见类的语义属性用于模型训练阶段,不可见类的图像则用于预测识别阶段进行测试;
[0087]
其中,cub数据集共有200个类别,包含150个可见类和50个不可见类,共11788张图片,每个类别具有312维的语义属性;awa2数据集共有50个类别,包含40个可见类和10个不可见类,共37322张图片,每个类别具有85维的语义属性;sun数据集共有717个类别,包含
645个可见类和72个不可见类,共14340张图片,每个类别具有102维的语义属性;apy数据集共有32个类别,包含20个可见类和12个不可见类,共15339张图片,每个类别具有64维的语义属性。
[0088]
s2、设计注意力机制提取可见类图像的鉴别性视觉特征;
[0089]
s3、对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;
[0090]
s4、通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;
[0091]
s5、利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;
[0092]
s6、设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;
[0093]
s7、利用可见类图像以及标签训练模型;
[0094]
s8、利用训练好的模型对不可见类图像进行预测。
[0095]
本实施例通过注意力机制以及类别之间的语义关系获得所有类的视觉原型表示,再经过视觉原型图传播获得判别潜在空间,在潜在空间中进行分类,提高了分类准确率。
[0096]
本实施例的零样本图像识别方法能够满足多种不可见类的图像识别需求,减少了监督学习下图像标注所耗费的人力物力,提高了对不可见类图像的识别的任务性能,加快零样本分类在实际场景中的研究与应用。
[0097]
不同于公开号为cn113505701a的发明专利申请中的方法仅使用预先训练好的网络提取图像特征,本实施例提出的通过一个注意力机制获得可见类图像的鉴别性视觉特征,以去除一些背景等类无关信息,使得视觉表征更具鉴别性。同时不同于公开号为cn113505701a的发明专利申请中的使用知识图谱进行构图,本实施例通过利用所有类别(包括可见类和不可见类)的视觉原型之间的关系构建视觉原型图,使得构建的图结构更易获取,类与类之间的关系也更加精确,提高知识迁移能力。另外,不同于公开号为cn113505701a的发明专利申请中的使用单一语义表示初始化节点,本发明融合了多种语义表示,提高了类的语义表征。
[0098]
在一具体的实例中,在步骤s2中,利用一个注意力机制获得每个图像x的鉴别性特征v,以去除不相关的信息;
[0099]
具体为,对于一张图像x,先送入到主干网络获得其特征图z∈rw×h×c,之后对特征图z经过一个空间注意力机制得到k个区域块,期望发现图像中最鉴别的特征区域;
[0100]
具体操作为:
[0101]
首先,通过卷积操作学习得到k个掩码块mk∈rw×h:
[0102]
mk=σ(conv(z)),k=1,2,...,k
[0103]
其中,conv(.)表示的是1
×
1卷积操作,σ(.)代表激活函数;
[0104]
之后,先将k个掩码块进行reshape操作,将其变成和特征图z相同的尺寸,再和特征图z相乘得到图像的k个区域块:
[0105][0106]
其中,代表对应位元素相乘。考虑得到的k个区域块有可能包含了背景信息或者不同区域块之间存在冗余信息,因此,对k个区域块做一个阈值限制,获得k个掩码块的最大值m
max
:
[0107][0108]
再次,设计一个超参数α,并设置一个阈值τ=α
×mmax
,其中,α为介于0到1之间的数值,当第k个掩码块mk的最大值小于这个阈值τ时就将第k个区域块rk(z)全部置为0,然后对k个阈值化后的区域块进行全局最大池化,得到k个区域特征rk∈rc;
[0109]
最后,对k个局部区域特征进行拼接,再通过一个全连接层f1,输入_输出维度为kc-c,得到该图像对应的鉴别性视觉特征v∈rc。
[0110]
本实施例提出通过使用可见类图像的鉴别性视觉特征获取可见类的视觉原型,使得获得的可见类视觉原型更具有判别性。
[0111]
在一具体的实例中,在步骤s3中,在获取到上述中每张图像的鉴别性视觉特征v后,对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型p
seen
:
[0112][0113]
其中,n表示属于第i个可见类的样本数。
[0114]
在一具体的实例中,在步骤s4中,通过计算可见类和不可见类的属性向量之间的余弦相似度获得可见类和不可见类之间的关系矩阵
[0115]sij
=cos(zi,zj),i∈csand j∈cu[0116]
其中,zi表示第i个类的属性向量,zj表示第j个类的属性向量,cs代表可见类的个数,cu代表不可见类的个数;
[0117]
由于我们的方法是在归纳式的设置下(即训练过程中只利用标记的可见类数据),所以不可见类的视觉原型无法通过上述步骤获得。因此,我们通过迁移可见类和不可见类之间的语义关系来获得不可见类的视觉原型;即根据可见类和不可见类之间的语义关系矩阵获得不可见类的视觉原型矩阵p
unseen
:
[0118]
p
unseen
=s
t
p
seen
。
[0119]
在一具体的实例中,在步骤s5中,通过上述操作即可获得所有类别的视觉原型,通过利用类视觉原型之间的关系构建一个视觉原型图g,每个节点代表一个类别,包含可见类以及不可见类;
[0120]
具体为,视觉原型图g中边的关系由类视觉原型之间的余弦距离进行度量:
[0121]bij
=cos(pi,pj)
[0122]
利用glove模型获取每个类的属性的词向量表示ai∈r
300
,将该类所有属性的词向量表示堆叠为一个矩阵t∈r
|a|
×
300
(|a|表示类属性的个数),再和该类语义向量相乘获得每个节点的初始化表示:
[0123]ei
=zit
[0124]
其中,zi代表第i个类的语义向量,ei代表第i个节点的初始化向量。
[0125]
需要说明的是,为了更好的初始化节点表示,将类属性表示和每个属性的词向量表示进行融合,充分挖掘和提高类的语义表示,并有助于之后的信息传播;
[0126]
本实施例利用可见类和不可见类之间的语义关系获得不可见类的视觉原型,并利
用所有类别的视觉原型之间的关系构建了一个视觉原型图,使得类关系建模更加准确。
[0127]
在一具体的实例中,在步骤s6中,将上述获得的邻接矩阵b和所有节点的初始化表示堆叠成的矩阵e输入到编码器中进行节点信息的传播和聚合;
[0128]
具体为,编码器利用图卷积神经网络在构建好的视觉原型图g上进行信息聚合和传播,以获得一个新的潜在空间u,节点更新的表示如下:
[0129]
h(i)=σ(d-1/2
bd-1/2h(i-1)w(i-1)
),i=1,2
[0130]
其中,d表示邻接矩阵b的度矩阵,d
ii
=∑
jbij
,w(i)表示参数矩阵,h
(0)
=e代表所有节点的初始化输入矩阵,h(2)=u代表第二层图卷积的输出矩阵,即所有节点在视觉原型图上更新后的嵌入向量组成的矩阵其中ui∈rd表示节点i的嵌入表示;
[0131]
将上述得到的潜在表示矩阵u输入到解码器,解码器通过嵌入向量的内积来重构邻接矩阵:
[0132][0133]
构造重构损失来最小化经节点向量表示重构出的邻接矩阵与原始邻接矩阵之间的差异,使得节点的嵌入向量表示符合图的结构;重构损失l
rec
设计如下:
[0134][0135]
可以理解的是,本实施例通过利用由图卷积神经网络实现的编码器将类语义表示在视觉原型图上进行信息聚合和传播以获得一个潜在空间,更好的促进了语义表征和视觉表征之间的信息交互;同时解码器利用潜在结构化表示重构了视觉原型图的邻接矩阵,使得节点的嵌入向量表示符合图的结构,提高潜在空间的判别性。
[0136]
在一具体的实例中,在步骤s7中,在获得潜在空间u之后,将可见类图像经过注意力机制提取的视觉特征以及标签嵌入到潜在空间,在潜在空间中进行分类;
[0137]
具体为,将可见类图像的视觉特征v∈rc通过一层全连接f2,输入-输出维度为c-d,嵌入到潜在空间,计算映射后的视觉特征和每个类的潜在表示的相似性:
[0138]qij
=f2(vi)
⊙
uj[0139]
同时利用交叉熵损失函数来构造分类损失:
[0140][0141]
其中,当第i个样本属于第k个类别时,y
ik
=1,否则,y
ik
=0;ns表示可见类样本的个数;
[0142]
将上述重构损失和分类损失相加获得整体的损失函数,通过梯度反向传播,优化模型参数;
[0143]
最后模型的总损失函数为:
[0144]
l=l
cls
+γl
rec
[0145]
其中,γ是一个超参数。
[0146]
在一具体的实例中,在步骤s8中,通过上述训练好的模型,即可获得关于所有类的潜在表示;当给定一个测试图像x,即不可见类图像,通过训练好的注意力机制获取该图像的视觉特征v,再将视觉特征v映射到潜在空间,和类潜在表示进行相似度计算,最后预测其
标签的过程表示如下:
[0147][0148]
综上所述,与现有的基于公共空间嵌入的零样本学习方法相比,本实施例通过挖掘鉴别性的视觉特征,去除一些类无关信息,使得获得的类视觉原型更具判别性;在构图过程不依赖任何外部信息,就可以对类之间的关系进行准确建模;通过自编码器的结构获得了一个潜在空间,利用图卷积神经网络将融合多种语义表示的节点在视觉原型图上进行信息传播和聚合,促进不同模态之间的信息交互,提高了知识迁移能力。
[0149]
在零样本图像识别实验中,实验结果如表1所示。表1中,粗体为每列最优值,
″‑″
代表原文没有对该数据集做实验。
[0150][0151]
gafe和acmr借助自编码器的结构。gafe利用编码器学习视觉特征到语义空间的映射,解码器用学习到的映射重建原始特征。acmr利用两个并行的变分自编码器来分别提取视觉潜在表征和语义潜在表征,同时提出一个信息增强模块,以增强潜在变量的识别能力。我们提出的方法通过基于图卷积神经网络的编码器来学习潜在表示,将类语义表示在视觉原型图上进行信息聚合和传播,利用多个模态之间提供的非冗余的和互补的信息,学习从不同空间获得的结构化语义嵌入以获得一个判别的潜在空间。同时,解码器部分利用学习到的潜在嵌入表示重构图的邻接矩阵,使得更新后的潜在嵌入表示符合原始图的结构。从表中可以得出,与这些方法相比,我们提出的方法有较大提升,如对比于acmr方法,我们提出的方法在cub、awa2和sun数据集上精度分别提升了18.5%,3.8%和19.8%。
[0152]
apnet、hgkt和kg-vae利用图结构建立类间关系。apnet根据节点特征表示(属性向量)进行相似度度量来生成边,并使用注意力机制进行图传播。hgkt首先在k-近邻方案下,根据类别的代表性节点对可见类别间进行关系建模,经过图传播之后,在视觉特征空间中,将不可见类与k个最近的可见类连接起来以获得不可见类的嵌入表示。kg-vae将类别语义向量送入基于知识图谱的深度神经网络模块,通过图变分自编码器对图中的节点进行聚合更新后编码生成新的语义向量。我们提出的方法利用类别的视觉原型之间的关系进行建模,并且使用融合了属性词向量以及类属性的语义表示作为节点特征,经过图传播后,能够有效地融合多种模态信息,促进不同空间的信息交互。同时,利用潜在特征重构图的邻接矩阵作为约束,使得节点的嵌入向量表示符合图的结构。实验结果显示,我们提出的方法是有助于提高分类精度的,如对比于公开号为cn113505701a的发明专利申请中的kg-vae方法,我们的方法在cub、awa2和sun数据集上精度分别提升了13.0%,8.3%和1.5%。
[0153]
最后,对比于一些基于特征生成的方法,如f-clswgan和lisgan,我们提出的方法也取得了较大性能提升。
[0154]
实施例2
[0155]
为了实现上述目的,参见图4:本实施例还提供了一种零样本图像识别系统,包括以下模块:
[0156]
数据集获取以及定义模块:用于获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;
[0157]
鉴别性视觉特征提取模块:通过注意力机制提取可见类图像的鉴别性视觉特征;
[0158]
可见类的视觉原型提取模块:对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;
[0159]
不可见类的视觉原型提取模块:通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;
[0160]
视觉原型图的节点初始化模块:利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;
[0161]
潜在空间获取模块:通过设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;
[0162]
训练模块:利用可见类图像以及标签训练模型;
[0163]
不可见类图像分类模块:利用训练好的模型对不可见类图像进行预测。
[0164]
本实施例的零样本图像识别系统与上述零样本图像识别方法相对于现有技术所具有的优势相同,在此不再赘述。
[0165]
实施例3
[0166]
为了实现上述目的,本实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述零样本图像识别方法的步骤。
[0167]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0168]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种零样本图像识别方法,其特征在于,包括以下步骤:s1、获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;s2、设计注意力机制提取可见类图像的鉴别性视觉特征;s3、对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;s4、通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;s5、利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;s6、设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;s7、利用可见类图像以及标签训练模型;s8、利用训练好的模型对不可见类图像进行预测。2.根据权利要求1所述的零样本图像识别方法,其特征在于,在步骤s2中,利用一个注意力机制获得每个图像x的鉴别性特征v,以去除不相关的信息;具体为,对于一张图像x,先送入到主干网络获得其特征图z∈r
w
×
h
×
c
,之后对特征图z经过一个空间注意力机制得到k个区域块,期望发现图像中最鉴别的特征区域;具体操作为:首先,通过卷积操作学习得到k个掩码块m
k
∈r
w
×
h
:m
k
=σ(conv(z)),k=1,2,...,k其中,conv(.)表示的是1
×
1卷积操作,σ(.)代表激活函数;之后,先将k个掩码块进行reshape操作,将其变成和特征图z相同的尺寸,再和特征图z相乘得到图像的k个区域块:其中,代表对应位元素相乘。考虑得到的k个区域块有可能包含了背景信息或者不同区域块之间存在冗余信息,因此,对k个区域块做一个阈值限制,获得k个掩码块的最大值m
max
:再次,设计一个超参数α,并设置一个阈值τ=α
×
m
max
,其中,α为介于0到1之间的数值,当第k个掩码块m
k
的最大值小于这个阈值τ时就将第k个区域块r
k
(z)全部置为0,然后对k个阈值化后的区域块进行全局最大池化,得到k个区域特征r
k
∈r
c
;最后,对k个局部区域特征进行拼接,再通过一个全连接层f1,输入-输出维度为kc-c,得到该图像对应的鉴别性视觉特征v∈r
c
。3.根据权利要求2所述的零样本图像识别方法,其特征在于,在步骤s3中,在获取到上述中每张图像的鉴别性视觉特征v后,对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型p
seen
:
其中,n表示属于第i个可见类的样本数。4.根据权利要求3所述的零样本图像识别方法,其特征在于,在步骤s4中,通过计算可见类和不可见类的属性向量之间的余弦相似度获得可见类和不可见类之间的关系矩阵s
ij
=cos(z
i
,z
j
),i∈c
s and j∈c
u
其中,z
i
表示第i个类的属性向量,z
j
表示第j个类的属性向量,c
s
代表可见类的个数,c
u
代表不可见类的个数;通过迁移可见类和不可见类之间的语义关系来获得不可见类的视觉原型;即根据可见类和不可见类之间的语义关系矩阵获得不可见类的视觉原型矩阵p
unseen
:p
unseen
=s
t
p
seen
。5.根据权利要求4所述的零样本图像识别方法,其特征在于,在步骤s5中,通过上述操作即可获得所有类别的视觉原型,通过利用类视觉原型之间的关系构建一个视觉原型图g,每个节点代表一个类别,包含可见类以及不可见类;具体为,视觉原型图g中边的关系由类视觉原型之间的余弦距离进行度量:b
ij
=cos(p
i
,p
j
)利用glove模型获取每个类的属性的词向量表示a
i
∈r
300
,将该类所有属性的词向量表示堆叠为一个矩阵t∈r
|a|
×
300
,|a|表示类属性的个数,再和该类语义向量相乘获得每个节点的初始化表示:e
i
=z
i
t其中,z
i
代表第i个类的语义向量,e
i
代表第i个节点的初始化向量。6.根据权利要求5所述的零样本图像识别方法,其特征在于,在步骤s6中,将上述获得的邻接矩阵b和所有节点的初始化表示堆叠成的矩阵e输入到编码器中进行节点信息的传播和聚合;具体为,编码器利用图卷积神经网络在构建好的视觉原型图g上进行信息聚合和传播,以获得一个新的潜在空间u,节点更新的表示如下:h
(i)
=σ(d-1/2
bd-1/2
h
(i-1)
w
(i-1)
),i=1,2其中,d表示邻接矩阵b的度矩阵,d
ii
=∑
j
b
ij
,w
(i)
表示参数矩阵,h
(0)
=e代表所有节点的初始化输入矩阵,h
(2)
=u代表第二层图卷积的输出矩阵,即所有节点在视觉原型图上更新后的嵌入向量组成的矩阵其中u
i
∈r
d
表示节点i的嵌入表示;将上述得到的潜在表示矩阵u输入到解码器,解码器通过嵌入向量的内积来重构邻接矩阵:构造重构损失来最小化经节点向量表示重构出的邻接矩阵与原始邻接矩阵之间的差异,使得节点的嵌入向量表示符合图的结构;重构损失l
rec
设计如下:7.根据权利要求6所述的零样本图像识别方法,其特征在于,在步骤s7中,在获得潜在空间u之后,将可见类图像经过注意力机制提取的视觉特征以及标签嵌入到潜在空间,在潜在空间中进行分类;
具体为,将可见类图像的视觉特征v∈r
c
通过一层全连接f2,输入-输出维度为c-d,嵌入到潜在空间,计算映射后的视觉特征和每个类的潜在表示的相似性:q
ij
=f2(v
i
)
⊙
u
j
同时利用交叉熵损失函数来构造分类损失:其中,当第i个样本属于第k个类别时,y
ik
=1,否则,y
ik
=0;n
s
表示可见类样本的个数;将上述重构损失和分类损失相加获得整体的损失函数,通过梯度反向传播,优化模型参数;最后模型的总损失函数为:l=l
cls
+γl
rec
其中,γ是一个超参数。8.根据权利要求7所述的零样本图像识别方法,其特征在于,在步骤s8中,通过上述训练好的模型,即可获得关于所有类的潜在表示;当给定一个测试图像x,即不可见类图像,通过训练好的注意力机制获取该图像的视觉特征v,再将视觉特征v映射到潜在空间,和类潜在表示进行相似度计算,最后预测其标签的过程表示如下:9.一种零样本图像识别系统,其特征在于,包括以下模块:数据集获取以及定义模块:用于获取包括可见类、不可见类的数据集,其中,可见类为训练集中包含图像的类别,具有可见类的图像、类标签以及可见类的语义属性,不可见类为训练集中没有包含图像的类别,具有不可见类的语义属性,不可见类图像用作预测识别阶段;鉴别性视觉特征提取模块:通过注意力机制提取可见类图像的鉴别性视觉特征;可见类的视觉原型提取模块:对属于同一个可见类别的所有图像做一个均值操作以获得该可见类的视觉原型;不可见类的视觉原型提取模块:通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;视觉原型图的节点初始化模块:利用类视觉原型之间的关系构建一个视觉原型图,并初始化节点表示;潜在空间获取模块:通过设计编码器进行节点信息的传播和聚合以获得一个新的潜在空间;训练模块:利用可见类图像以及标签训练模型;不可见类图像分类模块:利用训练好的模型对不可见类图像进行预测。10.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至8中任一项所述零样本图像识别方法的步骤。
技术总结
本发明提供了一种零样本图像识别方法、系统及可存储介质,包括:获取数据集;设计注意力机制提取可见类图像的鉴别性视觉特征;对属于同一个可见类别的所有图像做均值操作以获得该可见类的视觉原型;通过迁移可见类和不可见类之间的语义属性关系来获得不可见类的视觉原型;利用类视觉原型之间的关系构建视觉原型图,并初始化节点表示;设计编码器进行节点信息的传播和聚合以获得新的潜在空间;利用可见类图像以及标签训练模型;利用训练好的模型对不可见类图像进行预测。本发明通过注意力机制以及类别之间的语义关系获得所有类的视觉原型表示,再经过视觉原型图传播获得判别潜在空间,在潜在空间中进行分类,提高了分类准确率。提高了分类准确率。提高了分类准确率。
技术研发人员:赵鹏 薛惠慧 姚晟 李麟
受保护的技术使用者:安徽大学
技术研发日:2023.03.24
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
