基于记忆单元优化特征的图文跨模态检索方法
未命名
08-14
阅读:84
评论:0
1.本发明属于图像处理技术领域,更进一步涉及一种图文跨模态检索方法,可用于自然图像与文本之间的相互匹配。
背景技术:
2.图像文本跨模态检索是从自然图像与文本中检索得到语义相同的图像文本对。现有的图像文本跨模态检索方法主要有两种,一种是基于图像与文本的全局特征检索方法,另一种是基于图像与文本的局部特征检索方法。基于图像与文本的全局特征检索方法,是构建特征提取网络提取整张图像与整个文本的特征向量,把这类特征作为它们的全局特征,使用度量方法计算特征间的相似度,选择相似度最高的图文对作为检索结果。基于图像与文本的局部特征检索方法,是构建特征提取网络提取图像区域和文本单词的特征向量,把这类特征作为它们的局部特征,使用度量方法得到图像区域-单词对的相似度,进一步聚合后得到图像-文本对的相似度,选择相似度最高的图文对作为检索结果。
3.t.wang,x.xu,y.yang等人在其发表的论文“matching images and text with multi-modal tensor fusion and re-ranking”(acm international conference on multimedia,2019:12-20)中提出了一种基于多模态融合向量的图像文本检索方法。其通过构建多模态特征融合网络提取图像特征和文本特征,通过度量方法计算特征相似度,并利用图文检索的双向性对检索结果进行重排。该方法虽然利用多层网络提取图像和文本的高阶特征,并通过高阶特征得到图像文本相似度以实现检索任务,但是,该方法由于处理的对象是整张图像和整个文本,因而在提取特征的过程中容易受到背景等冗余信息的影响,难以衡量图像与文本特征间的相似性,影响检索准确率。
4.k.lee,x.chen,g.hua等人在其发表的论文“stacked cross attention for image-text matching”(european conference on computer vision,2018:201-216)中提出了一种基于堆叠注意力的图像文本检索方法。其通过目标检测算法得到图像区域,构建特征提取网络得到图像区域的特征和文本单词的特征,使用注意力机制突出特征的重要信息,利用特征的重要信息计算得到图像与文本之间的相似度,实现图像文本检索。该方法虽然通过训练局部特征的方法在一定程度上消除了全局特征冗余信息带来的影响,但是,由于其在图像与文本特征提取时,仅利用注意力机制挖掘图像和文本间语义信息,忽略了图像区域和文本单词的内部关系,因而无法准确表达图像与文本的语义特征,影响检索准确率。
技术实现要素:
5.本发明的目的在于针对上述现有技术的不足,提出一种基于记忆单元优化特征的图文跨模态检索方法,以准确表达图像与文本的语义特征,提高检索准确率。
6.实现本发明目的的思路是,通过利用自注意力结构提取图像与文本的特征,充分挖掘图像与文本模态内的语义信息;通过记忆单元子网络中的可学习参数层完成图像与文
本的特征交互;通过在训练过程中存储学习到的图像与文本之间的交互信息,使得最终特征包含更丰富的语义信息。
7.根据上述思路,本发明的实现步骤包括如下:
8.(1)从flickr30k数据集中任意选取80%的图像及其对应的文本对组成训练集,20%的图像及其对应的文本对组成测试集;
9.(2)构建特征提取网络:
10.(2a)搭建一个由第一卷积层,第二卷积层,全连接层级联组成的图像特征处理子网络,用于提取图像的特征;
11.(2b)搭建一个由bert层和全连接层级联组成的文本特征处理子网络,用于提取文本的特征;
12.(2c)将图像特征处理子网络与文本特征处理子网络并联组成特征提取网络;
13.(3)从训练集中随机选择1%个未选过的图像及其对应的文本,作为特征提取网络的输入;
14.(4)将所选图像及其对应的文本输入到特征提取网络中,分别输出每张图像的特征以及每张图像对应文本的特征;
15.(5)构建一个由可学习参数层,第一自注意力层,第二自注意力层,第三自注意力层,全连接层级联组成的记忆单元子网络;
16.(6)将每张图像与其对应文本的特征输入到记忆单元子网络中,分别输出每张图像优化后的特征以及每张图像对应文本优化后的特征;
17.(7)计算所选图像及其对应的文本中每张图像与其对应文本的特征相似度s(i,j),i表示第i张图像,j表示第j个文本;
18.(8)根据特征相似度s(i,j),设置记忆单元子网络的损失函数:
19.loss
′
(i,j)=max[0.2-s(i,j)+s(i,
·
)
[n]
,0]+max[0.2-s(i,j)+s(
·
,j)
[n]
,0]
[0020]
其中,loss
′
(i,j)表示所选图像及其对应的文本中第i张图像的特征与第j个文本的特征的损失值;s(i,
·
)
[n]
表示计算所选图像及其对应文本中第i张图像与所有文本的特征相似度,在从大到小排序后所选择的第n个位置特征相似度;s(
·
,j)
[n]
表示计算所选图像及其对应的文本中第j个文本与所有图像的特征相似度,在从大到小排序后所选择的第n个位置特征相似度;
[0021]
(9)将每张图像与其对应文本的特征相似度代入到损失函数loss
′
(i,j)中,得到每张图像与其对应文本的损失值,并用其计算特征提取网络和记忆单元子网络各个节点的梯度;
[0022]
(10)利用梯度对特征提取网络和记忆单元子网络的各个节点权重进行更新,并判断当前更新迭代后记忆单元子网络的损失值是否小于0.00001:
[0023]
若是,则得到训练好的特征提取网络和记忆单元子网络,执行步骤(11);
[0024]
否则,返回步骤(3);
[0025]
(11)对待检索的图像文本进行互检索:
[0026]
(11a)将测试集中所有图像文本对输入到训练好的特征提取网络中,得到待检索的图像文本对中每一张图像和每一个文本的特征;
[0027]
(11b)将每一张图像和每一个文本的特征输入到训练好的记忆单元子网络中,得
到每一张图像优化后的特征和每一个文本优化后的特征;
[0028]
(11c)计算每一张优化后图像与每一个优化后文本的特征相似度s(i,j);
[0029]
(11d)从所有计算得到的相似度中,选择每张图像与其相似度最高的文本作为图像-文本检索结果,选择每个文本与其相似度最高的图像作为文本-图像检索结果。
[0030]
本发明与现有技术相比,具有以下优点:
[0031]
第一,本发明由于采用记忆单元子网络对图像与文本的特征进行优化,克服了现有技术中仅利用注意力机制无法充分挖掘图像与文本不同模态间交互信息的问题,提高了图像与文本匹配的准确度。
[0032]
第二,本发明由于设置记忆单元子网络的损失函数对特征提取网络和记忆单元子网络进行梯度更新,放宽了传统三元组排名函数的限制条件,克服了现有技术中三元组排名损失过于严格的条件可能产生过拟合的问题,减小了过拟合问题对图像与文本语义特征表达带来的不利影响,可准确表达图像与文本的语义特征,进一步提高了检索准确率。
附图说明
[0033]
图1为本发明的实现流程图;
[0034]
图2为本发明中的网络结构示意图;
[0035]
图3为本发明中记忆单元子网络结构示意图。
具体实施方式
[0036]
下面结合附图对本发明的实施例做进一步的描述。
[0037]
参照图1,对实例的实现步骤如下:
[0038]
步骤1,获取训练集和测试集。
[0039]
从已公开的flickr30k数据集中任意选取80%的图像及其对应的文本对组成训练集,20%的图像及其对应的文本对组成测试集。
[0040]
本实例从flickr30k数据集中选取但不限于26783个图像及其对应的文本对组成训练集,5000个图像及其对应的文本对组成测试集。
[0041]
步骤2,构建特征提取网络。
[0042]
参照图2,本发明实现如下:
[0043]
2.1)搭建一个由第一卷积层,第二卷积层,全连接层级联组成的图像特征处理子网络,用于提取图像的特征:
[0044]
所述第一卷积层和第二卷积层,其卷积核大小均设置为3*3,步长均设置为1;
[0045]
所述全连接层,其输入节点和输出节点的个数分别为2048和1024;
[0046]
2.2)搭建一个由bert层和全连接层级联组成的文本特征处理子网络,用于提取文本的特征:
[0047]
所述bert层,其由12个自注意力层串联组成,所有自注意力层的多头数均设置为12,所有自注意力层的输出节点的个数均设置为768;
[0048]
所述全连接层,其输入节点和输出节点的个数分别为768和1024;
[0049]
2.3)将图像特征处理子网络与文本特征处理子网络并联组成特征提取网络。
[0050]
步骤3,从训练集中随机选择1%个未选过的图像及其对应的文本,作为特征提取
网络的输入。本实例选取但不限于267个未选过的图像及其对应的文本。
[0051]
步骤4,将所选图像及其对应的文本输入到特征提取网络中,分别输出每张图像的特征以及每张图像对应文本的特征。
[0052]
步骤5,构建记忆单元子网络。
[0053]
参照图3,对步骤的实现如下:
[0054]
5.1)设置可学习参数层,其包含1个可变参数,可变参数的大小为2*1024,通过如下公式为每张图像及其对应文本拼接可变参数:
[0055][0056][0057]
其中,i表示第i张图像,j表示第j个文本,m表示可变参数,vi表示所选图像及其对应的文本中第i张图像的特征,表示所选图像及其对应的文本中第i张图像拼接可变参数后的特征,tj表示所选图像及其对应的文本中第j个文本的特征,表示所选图像及其对应的文本中第j个文本拼接可变参数后的特征,[
·
,
·
]表示向量拼接操作;
[0058]
5.2)设置三个自注意力层的多头数均为12,输出节点的个数均为1024;
[0059]
5.3)设置全连接层的输入节点和输出节点的个数均为1024;
[0060]
5.4)将可学习参数层、第一自注意力层、第二自注意力层、第三自注意力层和全连接层依次级联组成记忆单元子网络。
[0061]
步骤6,获取图像及其对应的文本中每张图像与其对应文本的特征相似度s(i,j)。
[0062]
6.1)将每张图像与其对应文本的特征输入到记忆单元子网络中,分别输出每张图像优化后的特征以及每张图像对应文本优化后的特征;
[0063]
6.2)计算所选图像及其对应的文本中每张图像与其对应文本的特征相似度s(i,j):
[0064][0065]
其中,表示所选图像及其对应的文本中第i张图像优化后的特征,
·
表示相乘操作,表示所选图像及其对应的文本中第j个文本优化后的特征,||
·
||表示取模操作。
[0066]
步骤7,设置记忆单元子网络的损失函数。
[0067]
本步骤是根据特征相似度s(i,j),按照现有的三元组排名损失设置记忆单元子网络的损失函数:
[0068]
现有的三元组排名损失表示如下:
[0069]
loss(i,j)=max[0.2-s(i,j)+s(i,k),0]+max[0.2-s(i,j)+s(k,j),0]
[0070]
其中,loss(i,j)表示所选图像及其对应的文本中第i张图像的特征与第j个文本的特征的损失值,s(i,k)表示计算所选图像及其对应文本中第i张图像与第k个文本的特征相似度,s(k,j)表示计算所选图像及其对应的文本中第k张图像与第j个文本的特征相似度;
[0071]
该三元组排名损失中,要求特征相似度s(i,j)必须大于所有不匹配的图像文本对特征相似度,其限制条件过于严格,可能造成过拟合问题,为此,本实例从放宽限制条件的
目的出发,在三元组排名损失的基础上设置记忆单元子网络的损失函数,其实现如下:
[0072]
7.1)计算所选图像及其对应文本中第i张图像与所有文本的特征相似度,将其从大到小排序,选择第n个位置特征相似度s(i,
·
)
[n]
,用该s(i,
·
)
[n]
替换第i张图像与第k个文本的特征相似度s(i,k);
[0073]
7.2)计算所选图像及其对应文本中第j个文本与所有图像的特征相似度,将其从大到小排序,选择第n个位置特征相似度s(
·
,j)
[n]
,用该s(
·
,j)
[n]
替换第k张图像与第j个文本的特征相似度s(k,j);
[0074]
7.3)根据7.1)和7.2)的结果得到记忆单元子网络的损失函数loss
′
(i,j):
[0075]
loss
′
(i,j)=max[0.2-s(i,j)+s(i,
·
)
[n]
,0]+max[0.2-s(i,j)+s(
·
,j)
[n]
,0]。
[0076]
步骤8,计算特征提取网络和记忆单元子网络各个节点的梯度。
[0077]
8.1)将每张图像与其对应文本的特征相似度代入记忆单元子网络的损失函数loss
′
(i,j)中,得到每张图像与其对应文本的损失值θ(i,j);
[0078]
8.2)根据每张图像与其对应文本的损失值θ(i,j),通过如下公式分别计算特征提取网络和记忆单元子网络各个节点的梯度:
[0079][0080]
其中,δ(wk)表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值的梯度值,wk表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值。
[0081]
步骤9,更新特征提取网络和记忆单元子网络的各个节点权重。
[0082]
9.1)利用梯度δ(wk)采用如下公式,分别对特征提取网络和记忆单元子网络的各个节点权重进行更新:
[0083][0084]
其中,表示特征提取网络或记忆单元子网络所有节点中的第k个节点更新后的权值,α表示取值为0.001的学习速率;
[0085]
9.2)判断当前更新迭代后记忆单元子网络的损失值是否小于0.00001:
[0086]
若是,则得到训练好的特征提取网络和记忆单元子网络,执行步骤10;
[0087]
否则,返回步骤3。
[0088]
步骤10,利用训练好的特征提取网络和记忆单元子网络,对待检索的图像文本进行互检索。
[0089]
10.1)将测试集中所有图像文本对输入到训练好的特征提取网络中,得到待检索的图像文本对中每一张图像和每一个文本的特征;
[0090]
10.2)将每一张图像和每一个文本的特征输入到训练好的记忆单元子网络中,得到每一张图像优化后的特征和每一个文本优化后的特征;
[0091]
10.3)计算每一张优化后图像与每一个优化后文本的特征相似度s(i,j);
[0092]
10.4)从所有计算得到的相似度中,选择每张图像与其相似度最高的文本作为图像-文本检索结果,选择每个文本与其相似度最高的图像作为文本-图像检索结果,完成图文跨模态检索。
[0093]
本发明的效果通过以下仿真实验进一步说明。
[0094]
1.仿真实验条件:
[0095]
本发明的仿真实验的硬件平台为:intel(r)core(tm)i7-8700k cpu,3.70ghz*12,nvidia geforce gtx 1080ti,内存为64g。
[0096]
本发明的仿真实验的软件平台为:pytorch。
[0097]
本仿真实验使用的数据集是雅虎采集的flickr30k数据集,其总共有31783张图像,该数据集的每张图像都用5个文本描述。该数据集的训练集图像数量为26783张,测试集图像数量为5000张。
[0098]
2.仿真内容与结果分析:
[0099]
在上述条件下,分别用本发明和现有基于自注意力编码网络teran的图像文本互检索方法检索包含5000个自然图像和文本对的测试集中每个图像对应的文本和每个文本对应的图像,并对这两种检索方法的检索准确率进行评估,分别统计正确的图像-文本检索结果和文本-图像检索结果占全部测试数据的比例,结果如表1所示。
[0100]
表1仿真实验中本发明和现有技术互检索准确率对比表
[0101]
仿真实验方法图像-文本检索文本-图像检索teran79.263.1本发明方法83.764.4
[0102]
表1中的现有方法teran是n.messina等人在“fine-grained visual textual alignment for cross-modal retrieval using transformer encoders.in:acm transactions on multimedia computing,communications,and applications,pp.1741-1764,2020”中提出的图像文本互检索方法,简称基于自注意力编码网络teran的图像文本互检索方法。
[0103]
从表1中可以看出,本发明提出的方法显著提高了检索准确率,提升最明显的是图像-文本检索任务,相比现有的teran方法,其检索准确率提高了4.5%,表明本发明构建的记忆单元子网络能准确表达图像与文本的语义特征,进一步提高检索准确率。
技术特征:
1.一种基于记忆单元优化特征的图文跨模态检索方法,其特征在于,包括如下步骤:(1)从flickr30k数据集中任意选取80%的图像及其对应的文本对组成训练集,20%的图像及其对应的文本对组成测试集;(2)构建特征提取网络:(2a)搭建一个由第一卷积层,第二卷积层,全连接层级联组成的图像特征处理子网络,用于提取图像的特征;(2b)搭建一个由bert层和全连接层级联组成的文本特征处理子网络,用于提取文本的特征;(2c)将图像特征处理子网络与文本特征处理子网络并联组成特征提取网络;(3)从训练集中随机选择1%个未选过的图像及其对应的文本,作为特征提取网络的输入;(4)将所选图像及其对应的文本输入到特征提取网络中,分别输出每张图像的特征以及每张图像对应文本的特征;(5)构建一个由可学习参数层,第一自注意力层,第二自注意力层,第三自注意力层,全连接层级联组成的记忆单元子网络;(6)将每张图像与其对应文本的特征输入到记忆单元子网络中,分别输出每张图像优化后的特征以及每张图像对应文本优化后的特征;(7)计算所选图像及其对应的文本中每张图像与其对应文本的特征相似度s(i,j),i表示第i张图像,j表示第j个文本;(8)根据特征相似度s(i,j),设置记忆单元子网络的损失函数:loss
′
(i,j)=max[0.2-s(i,j)+s(i,
·
)
[n]
,0]+max[0.2-s(i,j)+s(
·
,j)
[n]
,0]其中,loss
′
(i,j)表示所选图像及其对应的文本中第i张图像的特征与第j个文本的特征的损失值;s(i,
·
)
[n]
表示计算所选图像及其对应文本中第i张图像与所有文本的特征相似度,在从大到小排序后所选择的第n个位置特征相似度;s(
·
,j)
[n]
表示计算所选图像及其对应的文本中第j个文本与所有图像的特征相似度,在从大到小排序后所选择的第n个位置特征相似度;(9)将每张图像与其对应文本的特征相似度代入到记忆单元子网络损失函数loss
′
(i,j)中,得到每张图像与其对应文本的损失值θ(i,j),并用其计算特征提取网络和记忆单元子网络各个节点的梯度;(10)利用梯度对特征提取网络和记忆单元子网络的各个节点权重进行更新,并判断当前更新迭代后记忆单元子网络的损失值是否小于0.00001:若是,则得到训练好的特征提取网络和记忆单元子网络,执行步骤(11);否则,返回步骤(3);(11)对待检索的图像文本进行互检索:(11a)将测试集中所有图像文本对输入到训练好的特征提取网络中,得到待检索的图像文本对中每一张图像和每一个文本的特征;(11b)将每一张图像和每一个文本的特征输入到训练好的记忆单元子网络中,得到每一张图像优化后的特征和每一个文本优化后的特征;(11c)计算每一张优化后图像与每一个优化后文本的特征相似度s(i,j);
(11d)从所有计算得到的相似度中,选择每张图像与其相似度最高的文本作为图像-文本检索结果,选择每个文本与其相似度最高的图像作为文本-图像检索结果。2.根据权利要求1所述的方法,其特征在于,步骤(2a)中构建的图像特征处理子网络,各层参数如下:所述第一卷积层和第二卷积层,其卷积核大小均设置为3*3,步长均设置为1;所述全连接层,其输入节点和输出节点的个数分别为2048和1024。3.根据权利要求1所述的方法,其特征在于,步骤(2b)中构建的文本特征处理子网络,其结构和参数如下:所述bert层,其由12个自注意力层串联组成,所有自注意力层的多头数均设置为4~12,所有自注意力层的输出节点的个数均设置为768;所述全连接层,其输入节点和输出节点的个数分别为768和1024。4.根据权利要求1所述的方法,其特征在于,步骤(5)中构建的记忆单元子网络,其结构和参数如下:所述可学习参数层,其包含1个可变参数,可变参数的大小为2*1024,通过如下公式为每张图像及其对应文本拼接可变参数:每张图像及其对应文本拼接可变参数:其中,m表示可变参数,v
i
表示所选图像及其对应的文本中第i张图像的特征,表示所选图像及其对应的文本中第i张图像拼接可变参数后的特征,t
j
表示所选图像及其对应的文本中第j个文本的特征,表示所选图像及其对应的文本中第j个文本拼接可变参数后的特征,[
·
,
·
]表示向量拼接操作;所述第一自注意力层,第二自注意力层和第三自注意力层,其多头数均设置为4~12,输出节点的个数均设置为1024;所述全连接层,其输入节点和输出节点的个数均设置为1024。5.根据权利要求1所述的方法,其特征在于,步骤(7)中计算第i张图像和第j个文本的特征相似度s(i,j),公式如下:其中,表示所选图像及其对应的文本中第i张图像优化后的特征,
·
表示相乘操作,表示所选图像及其对应的文本中第j个文本优化后的特征,||
·
||表示取模操作。6.根据权利要求1所述的方法,其特征在于,步骤(9)中计算特征提取网络和记忆单元子网络的梯度,均采用如下公式计算:其中,δ(w
k
)表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值的梯度值,w
k
表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值。7.根据权利要求1所述的方法,其特征在于,步骤(10)中对特征提取网络和记忆单元子
网络的权重进行更新,均采用如下公式进行更新:其中,表示特征提取网络或记忆单元子网络所有节点中的第k个节点更新后的权值,w
k
表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值,δ(w
k
)表示特征提取网络或记忆单元子网络所有节点中的第k个节点权值的梯度值,α表示取值为0.01~0.00001的学习速率。
技术总结
本发明公开了一种基于记忆单元优化特征的图像文本互检索方法,主要解决现有技术难以准确表达图像与文本语义特征,导致检索准确率低的问题。其实现方案为:获取训练集和测试集;分别构建特征提取网络和记忆单元子网络;用训练集训练特征提取网络,并用该网络输出的图像与文本特征训练记忆单元子网络;将测试集输入到训练好的特征提取网络,得到图像和文本的特征;将该图像和文本的特征输入到优化后的记忆单元子网络中,得到优化后图像特征与优化后文本特征;计算优化后图像与优化后文本的特征相似度,检索得到图像-文本检索结果与文本-图像检索结果。本发明能准确表达图像与文本的语义特征,提高检索准确率,可用于自然图像和文本的相互匹配。的相互匹配。的相互匹配。
技术研发人员:高迪辉 盛立杰 苗启广
受保护的技术使用者:西安电子科技大学
技术研发日:2023.05.19
技术公布日:2023/8/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
