基于多尺度与跨模态注意力机制的多标签图像分类方法

文档序号:27425919发布日期:2021-11-17 20:04阅读:381来源:国知局
基于多尺度与跨模态注意力机制的多标签图像分类方法

1.本发明涉及多标签图像分类领域,具体涉及一种基于多尺度与跨模态注意力机制的多标签图像分类方法。


背景技术:

2.如今,多标签图像分类(multi

label image classification)在计算机视觉领域得到了日渐广泛的应用,包括多目标识别、情感分析、医疗诊断识别等。由于每张图像中都包含多个对象,因此如何有效地学习这些对象之间的关联关系、以及如何将这些关系与图像特征进行融合依然充满着挑战性。关于如何学习标签特征上,主流的方法主要是通过简单的全连接网络学习以及近年流行的图神经网络,全连接网络学习对标签依赖关系的表征能力较弱,而图神经网络网络对于标签依赖关系的学习上具有天然优势。在如何挖掘图像特征和标签特征之间的关系上,有多种方法,不管是直接将图像特征和标签特征进行点乘运算,还是将图像特征和标签特征进行跨模态融合,还是直接将图像特征作为标签特征的组成部分进行关系学习,或者是将标签特征嵌入图像特征的学习过程中等等。这些方法都是将全局的图像特征和标签特征进行融合学习。而挖掘标签特征和局部图像特征关系的方法主要目的是进行图像重点区域的选择,将任务的注意力更多地聚焦到与标签相关的图像内容上,因此标签特征的表示是其中的关键。目前的方法在标签特征的学习方法上有改进的空间,在如何进行图像重点区域的选择方法上也有值得探讨的不同方式。
3.一般而言,现有的多标签图像分类方法首先利用卷积神经网络得到图像的特征向量,然后利用图卷积神经网络(graph convolutional network,gcn)得到标签之间的共现关系词向量,最后直接采用向量的点积操作来融合图像特征和标签的共现关系词向量,该类方法可以抽象为从图像全局特征的角度挖掘其与标签之间的关系。除此之外,挖掘图像局部区域与标签关系的方法也是存在的,但是这些方法他们的标签特征的表征能力不足。
4.现有的多标签图像分类方法(cn201910051706.3:基于图卷积的多标签图像分类方法、装置及设备)存在以下缺点:
5.1.由于输入模型的图像大小固定,对于特征的提取会造成限制。
6.2.在单一模型中对于图像特征和标签特征的融合角度单一,对于标签特征和图像特征的利用不够充分。
7.对于建立图像局部区域与标签特征之间的关系上,存在标签特征表征能力不足的缺点,同时对于如何使用学习到的语义注意力上,存在更多值得探索的方式(cn2020111001588:一种基于跨模态的快速多标签图像分类方法和系统)。


技术实现要素:

8.为了更好地挖掘标签特征和图像特征之间的关系,本发明首先使用图神经网络进行标签特征的学习,增强标签特征的表征能力;对于学习到的标签特征,本发明创造性地将图像全局和图像局部特征与标签特征之间的关系学习融合在单一模型中,在图像全局方法
中,运用多尺度策略减少输入图像大小对学习效果的影响;在图像局部方法中,首次使用图神经网络学习到的标签特征学习其与图像局部区域之间的关系,这一过程是一种跨模态的语义注意力机制。本发明将学习到的注意力权重用于衡量类依赖图像特征的区域重要性,提出了一种带注意力权重的总和池化方法,达到有效地筛选重要图像局部特征的作用。
9.本发明的目的至少通过如下技术方案之一实现。
10.基于多尺度与跨模态注意力机制的多标签图像分类方法,包括以下步骤:
11.s1、构建标签图并通过图卷积神经网络学习标签特征;
12.s2、获取待分类图像,采用预训练好的卷积神经网络中提取图像特征;
13.s3、构建分类模型,包括msml

gcn模块和gcn

sga模块,分别将得到的标签特征和图像特征输入msml

gcn模块和gcn

sga模块中进行特征融合计算;
14.s4、将msml

gcn模块和gcn

sga模块得到的预测结果进行融合,得到最终预测标签,并使用多标签分类损失函数对分类模型进行迭代训练,得到训练好的分类模型;
15.s5、将步骤s2中提取的待分类图像的图像特征输入训练好的分类模型,得到多标签图像分类结果。
16.进一步地,步骤s1中,获取第一训练集,统计各类标签在第一训练集中出现的次数,根据每类标签在第一训练集中出现的次数计算任意两类标签之间的条件概率,所有条件概率构成关系矩阵a,将获取的标签词向量矩阵h和关系矩阵a输入到图卷积神经网络(gcn)中,以获得所有c类标签对应的共现关系词向量矩阵w。
17.进一步地,步骤s1具体包括以下步骤:
18.s1.1、对各类标签在第一训练集中出现的次数以及任意两类标签在第一训练集中同时出现的次数进行统计,获取任意两类标签之间的条件概率,具体如下:
19.p
ij
=p(o
i
|o
j
)=t
ij
/t
j

20.其中,t
i
和t
j
分别表示一类标签o
i
和另一类标签o
j
在第一训练集中出现的次数,t
ij
表示标签o
i
和标签o
j
同时在第一训练集中出现的次数,i和j均为正整数,且i和j均∈[1,c],c为标签的总类数;p
ij
表示在标签o
j
出现的条件下,标签o
i
出现的概率;
[0021]
s1.2、将得到的任意两类标签之间的条件概率构建为c
×
c维关系矩阵a;使用阈值ε对关系矩阵a进行二值化处理,ε∈[0,1],得到二值化后的关系矩阵a
ij

[0022][0023]
s1.3、使用阈值δ对二值化后的关系矩阵a
ij
进行处理,δ∈[0,1],生成对最终的关系矩阵a

ij

[0024][0025]
s1.4、对最终的关系矩阵a

ij
进行标准化,具体如下:
[0026]
[0027][0028]
其中,i
c
是单位矩阵,是对角矩阵且满足
[0029]
s1.5、将标准化的关系矩阵输入图卷积神经网络(gcn)中,以获取图卷积神经网络(gcn)中第l+1层的共现关系词向量矩阵h
l+1
,其中l∈[0,1],最终得到的共现关系词向量矩阵h
l+1
就是学习到的所有c类标签对应的共现关系标签特征:
[0030][0031]
其中,h
l
,w
l
和h分别表示图卷积神经网络(gcn)中第l层的输出特征矩阵、第l层的权重矩阵和第l层的非线性激活函数,初始的h0为与训练好的词向量。
[0032]
进一步地,步骤s2包括以下步骤:
[0033]
s2.1、获取待分类图像并将该待分类图像转换为多维张量;获取由n张图像所构成的第二训练集和由k张图像构成的测试集;
[0034]
s2.2、将由第二训练集的图片转化来的n张多维张量一张一张输入到resnet

101网络中,以从resnet

101网络的池化层提取第二训练集中每张图像x{x1,x2,

,xn}的d维特征向量:
[0035]
x=f
gmp
(f
cnn
(x,θ
cnn
));
[0036]
其中n和k为自然数,且n>k,f
gmp
表示全局最大池化操作,f
cnn
表示resnet

101网络,θ
cnn
表示resnet

101网络的参数,d=2048,1024,512,256,表示resnet

101网络从浅到深每一卷积层的输出维度;x为表示对应resnet

101网络的每一层卷积层的输出特征的集合;在此处使用了多尺度的策略,作为后面全局策略方法的输入。
[0037]
进一步地,步骤s2.1中,使用python图像库将该待分类图像转换为多维张量。
[0038]
进一步地,步骤s3中,在msml

gcn模块中,每一层图卷积神经网络(gcn)的输出特征矩阵h
l
与resnet

101网络的每一层卷积层的输出特征x
i
进行点积,得到若干个c维的预测向量,取所有c维的预测向量的平均值得到最终的全局策略的预测结果向量具体如下:
[0039][0040]
其中,l的最大值为2即只取resnet

101网络最后两个卷积层的输出以及msml

gcn模块最后两层的输出。
[0041]
进一步地,步骤s3中,在gcn

sga模块中,具体包括以下步骤:
[0042]
s3.1、首先取步骤s2中d=2048时resnet

101网络的最后一层卷积层的输出特征向量x,使用一系列1
×
1卷积层对特征向量x进行空间转换,使得维数从w
×
h
×
d转换为w
×
h
×
c,将特征向量x从视觉特征转换为语义特征x
tr
,因此这里也是一种模态转换操作:
[0043]
x
tr
=f
cmt
(x);
[0044]
其中,f
cmt
代表模态转换函数,具体结构是一系列1
×
1卷积层;
[0045]
s3.2、对语义特征x
tr
和图卷积神经网络(gcn)最后一层的输出矩阵共现关系词向
量矩阵h
l
计算的余弦相似度z,为确保z的非负性,使用relu函数进行约束;得到的z表示图像x的w
×
h个局部区域与每一个标签的余弦相似度:
[0046][0047]
其中,c的值代表其对应哪一类的标签,代表x
tr
特征在第p个特征区域上的特征向量,代表c类标签最后一层图神经网络的输出标签特征,代表了c类标签在图像特征区域k上的图像特征与标签特征的余弦相似度;t在上述公式中代表对向量的转置操作;
[0048]
s3.3、对余弦相似度z进行归一化:
[0049][0050]
其中,c的值代表其对应哪一类的标签,q是对特征图中某个区域的标识,m代表的是特征图的区域数量;代表图像区域q与c类标签特征的注意力的值;
[0051]
s3.4、对于d=2048时resnet101网络的最后一层卷积层的输出特征向量x,再次使用另一个由1
×
1卷积层构成的转化网络将特征向量x归类到每一个类别,得到类相关特征x
cf
,类相关特征x
cf
的维数为w
×
h
×
c;类相关特征x
cf
中,每一个w
×
h的矩阵都代表了一个标签类对应的图像特征;
[0052]
s3.5、对步骤s3.4中得到的类相关特征x
cf
,用与之相对应的语义相似度矩阵m
c
进行带权重的总和池化,得到c维的预测向量具体如下:
[0053][0054]
其中,代表了c类标签对应的值,代表了c类标签在第q个图像特征区域上的类相关图像特征向量。
[0055]
进一步地,步骤s4中,将msml

gcn模块和gcn

sga模块得到的预测结果进行融合,得到最终预测标签,具体如下:
[0056][0057]
β是一个权重常量,代表最终的预测标签。
[0058]
进一步地,步骤s4中,根据得到的最终预测标签使用多标签分类损失函数loss对分类模型进行迭代训练,直到分类模型收敛为止,从而得到初次训练好的分类模型,并获得此时图像x的预测标签y;将得到的k张图像构成的测试集对初次训练好的分类模型进行
验证,直到得到的分类精度达到最优为止,从而得到最终训练好的分类模型。
[0059]
进一步地,步骤s4中,多标签分类损失函数loss为:
[0060][0061]
其中,σ()表示激活函数y
c
是真实标签值,是预测标签值;y
c
∈{1,0}表示图像x的c类标签是否出现在图像中,y
c
=1表示图像x的第c个标签出现在图像中,y
c
=0表示图像x的第c个标签没有出现在图像中。
[0062]
相比与现有技术,本发明的优点在于:
[0063]
(1)由于本发明在模型训练阶段首先将每张图像的标签转化成标签词向量,然后使用条件概率模拟了标签之间的依赖关系,进而采用gcn学习不同标签之间的共现关系,并将这些关系融入到标签词向量中,因此能够解决现有图像分类方法每年充分学习标签之间的依赖关系,而导致图像分类效果不佳的技术问题。
[0064]
(2)本发明中的msml

gcn模块相比现有方法ml

gcn来说,使用的多尺度策略能够减少图像大小对图像特征提取效果的限制,一定程度上增加了图像特征的丰富度,提升了预测效果;而gcn

sga模块首次通过图神经网络学习到的标签特征来帮助衡量图像局部区域的重要性,获得每一类标签的图像区域权重矩阵,并且创造性地通过将高维图像特征转化为类依赖特征,将对应类别的图像区域权重矩阵与图像特征进行点对点相乘并求和,达到对图像是否包含某类标签视觉特征的良好评估。同时,本发明将msml

gcn模块和gcn

sga模块的预测结果进行融合,在单一模型中分别从图像的全局特征角度和局部特征角度进行了标签信息的利用,达到对图像特征和标签特征的更充分地利用,实验结果显示了这种融合策略的有效性,原因可能是其增加了信息利用的角度,两种策略达到了某种程度的互补。
附图说明
[0065]
图1为本发明实施例中分类模型的整体框架图;
[0066]
图2为本发明实施例中方法的整体流程图;
[0067]
图3为本发明实施例中分类模型的具体流程图;
[0068]
图4a和图4b为本发明实施例中在数据集mscoco上的对比实验图;
[0069]
图5a和图5b为本发明实施例中在数据集在voc2007上的对比实验图。
具体实施方式
[0070]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图并举实施例,对本发明的具体实施进行详细说明。
[0071]
实施例:
[0072]
基于多尺度与跨模态注意力机制的多标签图像分类方法,如图1、图2所示,包括以下步骤:
[0073]
s1、构建标签图并通过图卷积神经网络学习标签特征;
[0074]
本实施例中,获取第一训练集ms

coco,统计各类标签在第一训练集中出现的次
数,根据每类标签在第一训练集中出现的次数计算任意两类标签之间的条件概率,所有条件概率构成关系矩阵a,将获取的标签词向量矩阵h和关系矩阵a输入到图卷积神经网络(gcn)中,以获得所有c类标签对应的共现关系词向量矩阵w。
[0075]
步骤s1具体包括以下步骤:
[0076]
s1.1、对各类标签在第一训练集中出现的次数以及任意两类标签在第一训练集中同时出现的次数进行统计,获取任意两类标签之间的条件概率,具体如下:
[0077]
p
ij
=p(o
i
|o
j
)=t
ij
/t
j

[0078]
其中,t
i
和t
j
分别表示一类标签o
i
和另一类标签o
j
在第一训练集中出现的次数,t
ij
表示标签o
i
和标签o
j
同时在第一训练集中出现的次数,i和j均为正整数,且i和j均∈[1,c],c为标签的总类数;p
ij
表示在标签o
j
出现的条件下,标签o
i
出现的概率;
[0079]
s1.2、将得到的任意两类标签之间的条件概率构建为c
×
c维关系矩阵a;使用阈值ε对关系矩阵a进行二值化处理,ε∈[0,1],得到二值化后的关系矩阵a
ij

[0080][0081]
s1.3、使用阈值δ对二值化后的关系矩阵a
ij
进行处理,δ∈[0,1],生成对最终的关系矩阵a

ij

[0082][0083]
s1.4、对最终的关系矩阵a

ij
进行标准化,具体如下:
[0084][0085][0086]
其中,i
c
是单位矩阵,是对角矩阵且满足
[0087]
s1.5、将标准化的关系矩阵输入图卷积神经网络(gcn)中,以获取图卷积神经网络(gcn)中第l+1层的共现关系词向量矩阵h
l+1
,其中1∈[0,1],最终得到的共现关系词向量矩阵h
l+1
就是学习到的所有c类标签对应的共现关系标签特征:
[0088][0089]
其中,h
l
,w
l
和h分别表示图卷积神经网络(gcn)中第l层的输出特征矩阵、第l层的权重矩阵和第l层的非线性激活函数,初始的h0为与训练好的词向量。本实施例中,选择了词向量模型glove的预训练好的维数为300维的词向量。
[0090]
s2、获取待分类图像,采用预训练好的卷积神经网络中提取图像特征,包括以下步骤:
[0091]
s2.1、获取待分类图像,使用python图像库将该待分类图像转换为多维张量;本实
施例中,根据数据集voc2007获取由n张图像所构成的第二训练集和由k张图像构成的测试集;
[0092]
s2.2、将由第二训练集的图片转化来的n张多维张量一张一张输入到resnet

101网络中,以从resnet

101网络的池化层提取第二训练集中每张图像x{x1,x2,

,xn}的d维特征向量:
[0093]
x=f
gmp
(f
cnn
(x,θ
cnn
));
[0094]
其中n和k为自然数,且n>k,f
gmp
表示全局最大池化操作,f
cnn
表示resnet

101网络,θ
cnn
表示resnet

101网络的参数,d=2048,1024,512,256,表示resnet

101网络从浅到深每一卷积层的输出维度;x为表示对应resnet

101网络的每一层卷积层的输出特征的集合;在此处使用了多尺度的策略,作为后面全局策略方法的输入。
[0095]
s3、如图3所示,构建分类模型,包括msml

gcn模块和gcn

sga模块,分别将得到的标签特征和图像特征输入msml

gcn模块和gcn

sga模块中进行特征融合计算;
[0096]
在msml

gcn模块中,每一层图卷积神经网络(gcn)的输出特征矩阵h
l
与resnet

101网络的每一层卷积层的输出特征x
i
进行点积,得到若干个c维的预测向量,取所有c维的预测向量的平均值得到最终的全局策略的预测结果向量具体如下:
[0097][0098]
其中,l的最大值为2即只取resnet

101网络最后两个卷积层的输出以及msml

gcn模块最后两层的输出。
[0099]
在gcn

sga模块中,具体包括以下步骤:
[0100]
s3.1、首先取步骤s2中d=2048时resnet

101网络的最后一层卷积层的输出特征向量x,使用一系列1
×
1卷积层对特征向量x进行空间转换,使得维数从w
×
h
×
d转换为w
×
h
×
c,将特征向量x从视觉特征转换为语义特征x
tr
,因此这里也是一种模态转换操作:
[0101]
x
tr
=f
cmt
(x);
[0102]
其中,f
cmt
代表模态转换函数,具体结构是一系列1
×
1卷积层;
[0103]
s3.2、对语义特征x
tr
和图卷积神经网络(gcn)最后一层的输出矩阵共现关系词向量矩阵h1计算的余弦相似度z,为确保z的非负性,使用relu函数进行约束;得到的z表示图像x的w
×
h个局部区域与每一个标签的余弦相似度:
[0104][0105]
其中,c的值代表其对应哪一类的标签,代表x
tr
特征在第p个特征区域上的特征向量,代表c类标签最后一层图神经网络的输出标签特征,代表了c类标签在图像特征区域k上的图像特征与标签特征的余弦相似度;t在上述公式中代表对向量的转置操作;
[0106]
s3.3、对余弦相似度z进行归一化:
[0107][0108]
其中,c的值代表其对应哪一类的标签,q是对特征图中某个区域的标识,m代表的是特征图的区域数量;代表图像区域q与c类标签特征的注意力的值;
[0109]
s3.4、对于d=2048时resnet101网络的最后一层卷积层的输出特征向量x,再次使用另一个由1
×
1卷积层构成的转化网络将特征向量x归类到每一个类别,得到类相关特征x
cf
,类相关特征x
cf
的维数为w
×
h
×
c;类相关特征x
cf
中,每一个w
×
h的矩阵都代表了一个标签类对应的图像特征;
[0110]
s3.5、对步骤s3.4中得到的类相关特征x
cf
,用与之相对应的语义相似度矩阵m
c
进行带权重的总和池化,得到c维的预测向量具体如下:
[0111][0112]
其中,代表了c类标签对应的值,代表了c类标签在第q个图像特征区域上的类相关图像特征向量。
[0113]
s4、将msml

gcn模块和gcn

sga模块得到的预测结果进行融合,得到最终预测标签,并使用多标签分类损失函数对分类模型进行迭代训练,得到训练好的分类模型;
[0114]
将msml

gcn模块和gcn

sga模块得到的预测结果进行融合,得到最终预测标签,具体如下:
[0115][0116]
β是一个权重常量,在后续实验中取0.5,代表最终的预测标签。
[0117]
根据得到的最终预测标签使用多标签分类损失函数loss对分类模型进行迭代训练,直到分类模型收敛为止,从而得到初次训练好的分类模型,并获得此时图像x的预测标签y;将得到的k张图像构成的测试集对初次训练好的分类模型进行验证,直到得到的分类精度达到最优为止,从而得到最终训练好的分类模型。
[0118]
多标签分类损失函数loss为:
[0119][0120]
其中,σ()表示激活函数y
c
是真实标签值,是预测标签值;y
c
∈{1,0}表示图像x的c类标签是否出现在图像中,y
c
=1表示图像x的第c个标签出现在图像中,y
c
=0表示图像x的第c个标签没有出现在图像中。
[0121]
s5、将步骤s2中提取的待分类图像的图像特征输入训练好的分类模型,得到多标签图像分类结果。
[0122]
对于本发明中的分类模型中的全局策略来讲,可以看做将全局的图像特征压缩成一个向量,学习该图像向量和其他标签特征之间的相似关系,相似度高的即可以预测为正标签,分类模型中的相似度高可以理解为该标签特征向量和图像向量在空间中的夹角小于等于90度.而对于局部策略,可以知道,该策略就是在学习标签特征和局部图像特征之间的相似性。所以,将全局策略和局部策略的学习结果进行融合,将充分挖掘标签特征和图像特征之间的关系。
[0123]
数据集mscoco上的对比实验如图4a、图4b所示,其中,msml

gcn、gcn

sga、combined model对应本发明中的全局策略模块、局部策略模块以及全局策略和局部策略相结合的整体分类模型。
[0124][0125][0126][0127]
式中,评价指标定义为:c是标签的类别数,是第i个标签的正确预测的图片数量,是真实具有标签o
i
的图片数量,是预测具有标签o
j
的图片的数量。
[0128]
数据集voc2007上的对比实验如图5a、图5b所示,其中,msml

gcn、gcn

sga、combined model对应本发明中的全局策略模块、局部策略模块以及全局策略和局部策略相结合的整体分类模型。
[0129]
通过上述对比实验可以发现,本发明中的msml

gcn模块,gcn

sga模块,以及将两个模块融合在一起的整体分类模型,在公开数据集mscoco以及voc2007上都取得了与当前主流方法具有一定竞争优势的准确度,证明了本发明提出的方法的有效性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1