一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于跨模态自注意力的无候选框指代表达理解方法与流程

2022-03-26 12:12:13 来源:中国专利 TAG:


1.本发明属于模式识别技术领域,具体涉及一种无候选框指代表达理解方法。


背景技术:

2.指代表达理解(referring expression comprehension,rec)是计算机视觉领域中一项富有挑战性和具有重要意义的任务。该任务要求计算机根据给定的图像和自然语言描述,推理分析得到描述对应的目标区域,是人机交互、视觉问答、图像检索等多个领域的基础任务。然而,这项任务需要全面理解复杂的自然语言和多种类型的视觉信息,这对指代表达理解有效方法的提出带来了巨大困难。
3.目前解决该任务的主流思路是两阶段方法,这类方法将指代表达理解转化为候选区域的选择过程。它们依赖faster r-cnn等成熟的目标检测器,来提取一组候选区域(proposals),并从中挑选评分最高的区域作为最终答案。尽管现有的两阶段方法已经获得了相当好的性能,但这些框架在第一阶段受到了不可避免的错误积累(如果目标对象不能在第一阶段被捕获,框架最终将无法得到正确答案)。另一方面,使用两阶段方法付出的计算成本相当巨大。在提出候选区域时,每一个候选区域都必须进行特征提取和跨模态的相似度计算。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种基于跨模态自注意力的无候选框指代表达理解方法,该方法无需预先提取候选区域,能够更加高效准确的完成指代表达理解任务。本发明的技术方案如下:第一部分为对语言及图像信息的提取和编码过程,采用yolov3卷积神经网络对图片信息进行特征提取,采用bert预训练模型对语言信息进行特征提取;第二部分为基于多头注意力机制的跨模态特征加强过程,采用两个并行的多头交互注意力模块分别实现语言对图像及图像对语言的特征强化;第三部分为基于多头自注意力机制的跨模态特征融合过程,利用一个多头自注意力模块对上一部分中获取的两模态的特征进行融合;第四部分为目标的定位过程,采用无锚方法,实现对目标的定位。
5.本发明解决其技术问题所采用的技术方案包括如下步骤:
6.步骤1:图像及语言信息的提取和编码;
7.步骤1-1:将图像经过yolov3卷积神经网络提取得到一个特征图;将图像分为多个区域,在特征图中加入图像各个区域的位置信息,将得到的图像特征记为区域,在特征图中加入图像各个区域的位置信息,将得到的图像特征记为g∈rw×h×d,w、h、d分别表示特征图的宽、高以及特征的维度,gi表示特征图中第i个特征向量;
8.步骤1-2:设定最长的语句词数为t,词数不足t的语句空白处用pad标识填充,语句开始位置添加cls标识,语句结尾添加sep标识;将语句分解为词,通过词嵌入后得到各个词对应的特征向量;再对词的特征向量进行位置编码,将经过位置编码后的词向量输入进bert网络,得到语言特征e∈r
t
×
dim
,dim表示表达每个单词特征向量的维度,e
t
表示第t个词汇的特征向量;
9.步骤2:基于多头注意力机制的跨模态特征加强;
10.步骤2-1:将语句特征e和图像特征g输入到跨模态交互注意力模块中;所述跨模态交互注意力模块包括语言引导的视觉注意力模块和视觉引导的语言注意力模块;语言引导的视觉注意力模块和视觉引导的语言注意力模块都分别由n个相同注意力层构成;
11.在语言引导的视觉注意力模块和视觉引导的语言注意力模块的第一个注意力层中,e1表示语言特征g1表示图像特征在之后的n-1个注意力层中,en表示经过n-1层图像注意力引导得到的语言特征gn表示经过n-1层语言注意力引导得到的图像特征n为当前层数;
12.步骤2-2:在语言引导的视觉注意力模块中,语言特征作为查询矩阵q的输入,图像特征作为键矩阵k和值矩阵v的输入;语言引导的视觉注意力模块的输入由语言特征和图像特征构成;对于每一个e
t
和gi计算点积,并除以系数计算点积,并除以系数之后再利用softmax函数计算注意力权重,其中m为多头注意力的头数,d为输入的特征向量的维度;
13.每一层语言引导的视觉注意力模块用公式(1)-(3)表示:
[0014][0015][0016][0017]
其中是经过n层语言引导的视觉注意力层后第i个注意力头得到的图像特征,分别表示语言引导的视觉注意力模块第n层中第i个注意力头针对q、k、v的参数;为将m个注意力头得到的图像特征融合后得到融合了语言注意力含义的的图像特征,concat为拼接操作,为将多头注意力得到的多个维度的特征进行拼接后进行降维融合所用的参数,qi、ki、vi分别为第i个注意力头的查询矩阵、键矩阵和值矩阵;
[0018]
每一层图像引导的语言注意力模块中用公式(4)-(6)表示:
[0019][0020][0021][0022]
其中是经过n层图像引导的语言注意力层后第i个注意力头得到的语言特征,分别表示图像引导的语言注意力模块第n层中第i个头针对q、k、v的参数;为将m个注意力头得到的语言特征融合后得到融合了图像注意力含义的的语言特
征,concat为拼接操作,为将多头注意力得到的多个维度的特征进行拼接后进行降维融合所用的参数;
[0023]
经过跨模态交互注意力模块的迭代后,得到经过注意力加强后的图像特征和语言特征;
[0024]
步骤3:基于多头自注意力机制的跨模态特征融合;
[0025]
对语言特征和图像特征进行拼接,作为多头自注意力模块的输入对语言特征和图像特征进行拼接,作为多头自注意力模块的输入经过多头跨模态融合之后,提取视觉部分的输出得到hf∈r
(w
×
h)
×d;
[0026]
步骤4:目标定位;
[0027]
将hf输入含有5个卷积核、步长为1的卷积层,得到形状为w
×h×
5的预测结果向量,对图像进行等长等宽的区域的划分,按照位置关系将w
×
h个预测结果分别对应于图像的w
×
h个区域,每个区域称为一个格子;其中的5指5个预测值,分别为t
x
、ty、tw、th,为预测框中心点的置信度即当前格子含有检测目标的可能性,t
x
、ty分别为预测目标中心点相对当前格子中心点的横坐标、纵坐标的偏移量,tw、th分别为预测目标长宽相对于实际目标长宽的偏移量;
[0028]
设定目标框真值为bbox=xb,yb,wb,hb,(xb,yb)为目标框的中心点坐标,wb、hb分别为目标框的宽和高的真值;采用作为在计算损失时用到的目标框相对宽高,w、h分别为输入图像长和宽的大小;网络训练损失函数定义如下:
[0029][0030]
l
off
=(δx-t
x
)2 (δy-ty)2,
ꢀꢀ
(8)
[0031][0032]
式中,c
ij
=1表示当前格子中含有真值目标的中心点,c
ij
=0表示当前格子中不含有真值目标的中心点;表示真值目标的中心点对于该格中心的偏移,i、j分别指int(
·
)表示该操作将分数舍入到最接近的整数,用来表示目标中心点真值所在的格子的实际位置;表示在第i行第j列目标中心点真值所在的格子中预测含有目标中心点的可信度;
[0033]
只对真值目标的中心点所在的格子进行l
off
、l
rgr
的计算;增加了giou损失作为辅助;总损失函数如下:
[0034]
loss=l
cls
λ
off
l
off
λ
rgr
l
rgr
l
giou
ꢀꢀ
(10)
[0035]
式中,λ
off
为l
off
的权重参数,λ
rgr
为l
rgr
的权重参数;
[0036]
步骤5:训练完成后,对网络进行测试,最终选择置信度最高的格子中心点作为预测位置中心,以此为基础产生预测框,最终预测的目标边界框如下:
[0037][0038]
其中,(x
t
、y
t
)表示预测框中心点的横纵坐标,w
t
、h
t
分别表示预测框的长、宽。
[0039]
优选地,所述t=20。
[0040]
本发明的有益效果如下:
[0041]
本发明利用一种创新和有效的一阶段方法来进行指代表达理解。与以往的两阶段模型不同,该模型直接利用图像和语言信息预测边界框,而不需要对图片进行一系列候选框的生成,以此获得了更高的准确率及运行速度。同时,在跨模态注意力模块中引入了密集网格的图像特征和语句的各单词特征,以此学习单到词与图像部分区域特征的对应关系。实验结果表明,新的模型架构在精度和速度方面都较之前的模型有了突出的进步。
附图说明
[0042]
图1为本发明方法的框架图。
[0043]
图2为本发明实施例的指称表达理解结果。
具体实施方式
[0044]
下面结合附图和实施例对本发明进一步说明。
[0045]
一种基于跨模态自注意力的无候选框指代表达理解方法,包括如下步骤:
[0046]
步骤1:图像及语言信息的提取和编码;
[0047]
步骤1-1:将图像经过yolov3卷积神经网络提取得到一个特征图;将图像分为多个区域,在特征图中加入图像各个区域的位置信息,将得到的图像特征记为区域,在特征图中加入图像各个区域的位置信息,将得到的图像特征记为g∈rw×h×d,w、h、d分别表示特征图的宽、高以及特征的维度,gi表示特征图中第i个特征向量;
[0048]
步骤1-2:设定最长的语句词数为t,词数不足t的语句空白处用pad标识填充,语句开始位置添加cls标识,语句结尾添加sep标识;将语句分解为词,通过词嵌入后得到各个词对应的特征向量;再对词的特征向量进行位置编码,将经过位置编码后的词向量输入进bert网络,得到语言特征e∈r
t
×
dim
,dim表示表达每个单词特征向量的维度,e
t
表示第t个词汇的特征向量;
[0049]
步骤2:基于多头注意力机制的跨模态特征加强;
[0050]
步骤2-1:将语句特征e和图像特征g输入到跨模态交互注意力模块中;所述跨模态交互注意力模块包括语言引导的视觉注意力模块和视觉引导的语言注意力模块;语言引导的视觉注意力模块和视觉引导的语言注意力模块都分别由n个相同注意力层构成;
[0051]
在语言引导的视觉注意力模块和视觉引导的语言注意力模块的第一个注意力层中,e1表示语言特征g1表示图像特征在之后的n-1个注意力层中,en表示经过n-1层图像注意力引导得到的语言特征gn表示经过n-1层语言注意力引导得到的图像特征n为当前层数;
[0052]
步骤2-2:在语言引导的视觉注意力模块中,语言特征作为查询矩阵q的输入,图像特征作为键矩阵k和值矩阵v的输入;语言引导的视觉注意力模块的输入由语言特征
和图像特征构成;对于每一个e
t
和gi计算点积,并除以系数计算点积,并除以系数之后再利用softmax函数计算注意力权重,其中m为多头注意力的头数,d为输入的特征向量的维度;
[0053]
每一层语言引导的视觉注意力模块用公式(1)-(3)表示:
[0054][0055][0056][0057]
其中是经过n层语言引导的视觉注意力层后第i个注意力头得到的图像特征,分别表示语言引导的视觉注意力模块第n层中第i个注意力头针对q、k、v的参数;为将m个注意力头得到的图像特征融合后得到融合了语言注意力含义的的图像特征,concat为拼接操作,为将多头注意力得到的多个维度的特征进行拼接后进行降维融合所用的参数,qi、ki、vi分别为第i个注意力头的查询矩阵、键矩阵和值矩阵;
[0058]
每一层图像引导的语言注意力模块中用公式(4)-(6)表示:
[0059][0060][0061][0062]
其中是经过n层图像引导的语言注意力层后第i个注意力头得到的语言特征,分别表示图像引导的语言注意力模块第n层中第i个头针对q、k、v的参数;为将m个注意力头得到的语言特征融合后得到融合了图像注意力含义的的语言特征,concat为拼接操作,为将多头注意力得到的多个维度的特征进行拼接后进行降维融合所用的参数;
[0063]
经过跨模态交互注意力模块的迭代后,得到经过注意力加强后的图像特征和语言特征;
[0064]
步骤3:基于多头自注意力机制的跨模态特征融合;
[0065]
对语言特征和图像特征进行拼接,作为多头自注意力模块的输入对语言特征和图像特征进行拼接,作为多头自注意力模块的输入经过多头跨模态融合之后,提取视觉部分的输出得到hf∈r
(w
×
h)
×d;
[0066]
步骤4:目标定位;
[0067]
将hf输入含有5个卷积核、步长为1的卷积层,得到形状为w
×h×
5的预测结果向量,对图像进行等长等宽的区域的划分,按照位置关系将w
×
h个预测结果分别对应于图像的w
×
h个区域,每个区域称为一个格子;其中的5指5个预测值,分别为t
x
、ty、tw、th,为预
测框中心点的置信度即当前格子含有检测目标的可能性,t
x
、ty分别为预测目标中心点相对当前格子中心点的横坐标、纵坐标的偏移量,tw、th分别为预测目标长宽相对于实际目标长宽的偏移量;
[0068]
设定目标框真值为bbox=xb,yb,wb,hb,(xb,yb)为目标框的中心点坐标,wb、hb分别为目标框的宽和高的真值;采用作为在计算损失时用到的目标框相对宽高,w、h分别为输入图像长和宽的大小;网络训练损失函数定义如下:
[0069][0070]
l
off
=(δx-t
x
)2 (δy-ty)2,
ꢀꢀ
(8)
[0071][0072]
式中,c
ij
=1表示当前格子中含有真值目标的中心点,c
ij
=0表示当前格子中不含有真值目标的中心点;表示真值目标的中心点对于该格中心的偏移,i、j分别指int(
·
)表示该操作将分数舍入到最接近的整数,用来表示目标中心点真值所在的格子的实际位置;表示在第i行第j列目标中心点真值所在的格子中预测含有目标中心点的可信度;
[0073]
只对真值目标的中心点所在的格子进行l
off
、l
rgr
的计算;增加了giou损失作为辅助;总损失函数如下:
[0074]
loss=l
cls
λ
off
l
off
λ
rgr
l
rgr
l
giou
ꢀꢀ
(10)
[0075]
式中,λ
off
为λ
off
的权重参数,λ
rgr
为l
rgr
的权重参数;
[0076]
步骤5:训练完成后,对网络进行测试,最终选择置信度最高的格子中心点作为预测位置中心,以此为基础产生预测框,最终预测的目标边界框如下:
[0077][0078]
其中,(x
t
、y
t
)表示预测框中心点的横纵坐标,w
t
、h
t
分别表示预测框的长、宽。
[0079]
具体实施例:
[0080]
1、图像特征的提取
[0081]
给定自然场景中一张图片,将整张图片调整为256
×
256输入进特征提取网络进行前向传播,采用yolov3对图像特征进行提取。
[0082]
2、语言特征的提取
[0083]
语句信息分解为词,通过词嵌入后得到各个词对应的特征向量。规定最长的语句词数为20。然后将经过位置编码后的词向量输入进bert网络,得到融合语句信息的各个词汇的特征向量e,e∈r
20
×
512

[0084]
3、利用跨模态注意力的特征加强
[0085]
将图像特征(16
×
16
×
512)展开成(256
×
512)维的向量,并与语言特征(20
×
512)一起输入到跨模态注意力模块中。由于注意力模块中没有位置信息的表征,所以对于输入的图像、语言特征进行了位置编码的添加。该模块由两部分组成,语言引导的视觉注意力模块和视觉引导的语言注意力模块。在语言引导的视觉注意力模块中,语言特征作为q的输入,图像特征作为k、v的输入。在视觉引导的语言注意力模块,图像特征作为q的输入,语言特征作为k、v的输入。每个模块都有2个相同自注意力层构成,注意力头的数量为8。经过该模块后,我们分别得到了融合了语言注意力的图像特征和融合了图像注意力的语言特征。
[0086]
4、基于自注意力模块的特征融合
[0087]
把经过前一阶段特征加强后的图像特征和语言特征进行拼接,得到(276x512)的输入向量,输入到多头自注意力层中。多头自注意力的层数为4层,注意力头的数量为8。经过该模型后,融合特征向量形状仍为(276
×
512)。
[0088]
5、目标定位
[0089]
在得到融合特征(276
×
512)的情况下,选取其中的视觉特征部分(256
×
512),并将其重新转化为原图像的形状(16
×
16
×
512)。我们对于16
×
16的每一个格子中的特征向量(1
×1×
512)进行回归,得到该格子中含有预测框中心的概率和框的长宽、相对于中心偏移的预测量。
[0090]
6、模型训练
[0091]
整个训练过程为端到端的训练。采用refcoco、refcoco 、refcocog、referitgame四个训练集作为模型训练和评价的指标。对于模型的损失进使用adam方法进行梯度下降。批处理大小设置为8,初始学习率设置为5e-5。在1080ti gpu上对模型进行100轮的训练,且每过10轮训练的学习率减半。
[0092]
8、模型应用
[0093]
在通过上面的训练过程后可以得到多个模型,选取其中最优的模型(测试集上测试效果最佳)用于应用,对于输入的图像及语句,只需要把图像调整到256
×
256大小,并且归一化,语句进行分词操作,即可作为模型的输入。整个的网络模型的参数固定不动,只要输入图像数据及语言数据并向前传播即可。依次得到图像及语言特征向量e∈r
16
×
16
×
512
和m∈r
20
×
512
,再自动传入注意力加强模块、特征融合模块及定位模块,可以直接得到预测结果。实际实验图如图2所示,基于一阶段无候选框跨模态注意力机制能够高效的给出有关语句描述信息在图像中的准确位置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献