本发明属于图像分析识别
技术领域:
,特别涉及基于注意力机制的结合自然语言的图像目标定位方法。
背景技术:
:传统的图像目标检测的识别结果往往是一些事先定义好的某个类别的物体,比如人脸、车等,而一幅图像中包含的内容远远不止一些相互独立的物体,其中还包含了物体的属性、物体的空间关系、物体的逻辑关系等信息,这些信息不能够只用一些类标签进行描述,而需要使用自然语言进行描述,这也是更符合人类思维的描述方式,例如对于一张有好几辆卡车的图片,用户可以输入“左边红色的卡车”而不是类标签“卡车”来找到更精细的目标。本文将这个问题称为基于自然语言的图像目标定位问题,即以自然语言来描述图像中的目标,系统在图像中找出目标位置。基于自然语言的图像目标定位问题是目前研究的一个热点问题,如何将自然语言描述的目标语义信息融合到图像特征中是研究的难点问题。随着深度学习的发展,近几年提出了很多基于深度神经网络的方法来解决该问题,这些方法可以分为两大类,一类是基于目标备选集的方法,这类方法先产生目标备选集,然后基于备选集进行筛选得到目标位置,另一类是非基于目标备选集的方法,这类方法直接产生目标位置,不需要事先生成目标备选集。然而,当前基于自然语言的图像目标检测方法精度仍然较低,基于类别的图像目标检测方法虽然精度较高,但无法精准、系统、个性化的定位目标。技术实现要素:为了克服上述现有技术的缺点,本发明的目的在于提供基于注意力机制的结合自然语言的图像目标定位方法,该方法在注意力回归模型的基础上改进得到,具体改进了原注意力回归模型中计算图像注意力图和计算目标位置的方法,在降低原方法模型复杂度的同时显著提升了原方法的定位精度。为了实现上述目的,本发明采用的技术方案是:基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,包括如下步骤:(1)通过卷积神经网络抽取图像的特征;(2)通过词向量编码方法将查询语句中的每个单词编码为词向量表示;(3)通过双向lstm模型对词向量表示进行进一步的特征抽象,得到查询语句的语义特征;(4)结合图像的特征和查询语句的语义特征计算图像的注意力图;(5)基于图像的注意力图预测目标位置;(6)根据均方误差和iou误差训练模型。所述步骤(1)中,图像经过均值规整化的预处理后输入卷积神经网络计算图像的特征图,这里的卷积神经网络使用vgg16网络,该网络包含13个卷积层和3个全连接层,将vgg网络最后一个卷积层输出的特征图作为图像的高阶特征表示。具体地,使用卷积神经网络vgg16来计算图像特征,输入图像被统一缩放为224*224大小,使用vgg16最后一个卷积层输出的特征图作为图像的高阶特征,该特征图大小为14*14*512,其中512是输出通道数,该特征图一共有196个点,每个点对应了原图中的一个区域,每个区域的视觉特征都被表示为了一个512维的向量,表示为vimage=(vr1,vr2,…vri,…,vr196),其中vri表示第r张图第i个区域的视觉特征向量。根据数据集中的查询语句,首先建立一个词典d,该词典d包含了大部分查询语句中出现的单词,然后基于词典创建词向量矩阵,该矩阵的每一行存储了词典中每个单词的词向量,利用词典d将每个单词转化为one-hot向量表示,该向量的维度大小与词典大小相同,其中只有一个值为1,其他值为0,值为1的元素所在的位置就是这个单词在词典中的索引位置,然后再建立一个n行m列的词向量矩阵w,其中z是词典d的大小,m是词向量的维度,矩阵w的每一行对应了词典中单词的词向量,将单词的one-hot向量和矩阵w进行矩阵乘法得到这个单词的词向量表示c,该操作本质上就是将矩阵w的某一行取出来:c=xw,初始化词向量矩阵w时,为了加快训练速度,从预训练好的词向量模型glove840b中选出词典中的每个单词对应的词向量来初始化w中对应位置的词向量。所述步骤(3)中将步骤(2)中得到的词向量序列输入到双向lstm中计算查询语句的语义特征,双向lstm由两个lstm构成,前向的lstm以正序的词向量序列为输入,反向lstm以逆序的词向量序列为输入,这样计算t时刻输出时不仅可以使用之前词的信息,也可以使用之后词的信息。双向lstm模型的隐状态由前向lstm模型的隐状态和反向lstm模型的隐状态通过一个单层的神经网络的全连接层集合得到,这里的结合方式是通过一个单层的神经网络的全连接层完成的,得到双向lstm的隐状态后,将所有时间步的隐状态取平均即得到查询语句的语义特征向量:vtext=1/t(h1 h2 ... hi ... ht),其中hi表示表示查询语句第i个单词的隐状态,t表示输入查询语句的单词个数。所述步骤(4)中,得到图像的特征图v和查询语句的语义特征向量q后,针对图像的每个区域计算一个注意力权重构成图像注意力图,图像特征图由若干个视觉特征向量构成,可以表示为v=(v1,v2…,vi,…,v196),每个视觉特征向量vi对应了图像中某个区域的视觉特征。计算式,首先设查询语句的语义特征向量为q,即vtext。通过仿射变换映射到视觉特征向量所在的特征空间里,即将其维度也转换为512,经过变换后得到的向量qm是个512维的向量;在实践时,输入的是批次的样本,所以得到的qm实际上是个二维的矩阵,其维度表示为(n,512),其中n表示输入查询语句个数,矩阵的每一行都对应了一个映射后的查询短语的语义特征向量,对矩阵qm进行转置得到其维度变为(512,n),此时其每一列是个特征向量,表示为限制网络一次只输入一张图片,得到的图像特征图v表示为一个二维的矩阵,其维度为(196,512),它的每一行都是一个图像区域的视觉特征向量,表示为v=(v1,v2,…,vi,…,v196)t,其中vi是个列向量,将v和进行矩阵乘法,得到一个维度大小为(196,n)的注意力权重矩阵m:其中每个图像区域的注意力权重值都是通过区域的视觉特征向量与查询语句的语义特征向量进行向量内积计算得到的,通过向量内积将区域的视觉特征与查询语言的语义特征融合在一起;最后将注意力权重矩阵m进行转置后激活就得到了图像注意力图m*。所述步骤(5)基于图像的注意力图预测目标位置,计算时使用了包含一个隐藏层的神经网络,网络的输入为图像的注意力图,网络的输出为4个实数值,分别对应了定位框的左上角坐标和长宽:h1=tanh(w1m* b1)box=relu(w2h1 b2)其中,w1和w2为空间转换矩阵,m*表示图像注意力图,b1和b2表示偏置,box表示目标的框选图位置。所述步骤(6)中训练模型时,模型优化的目标是让模型预测的目标位置尽量接近数据集中标注的目标位置,也就是让预测的目标定位框与真实的定位框尽量重合,从这点出发,模型训练的损失函数包含两个部分,第一个部分是让预测的定位框与真实的目标位置的iou(intersectionoverunion)值尽可能接近1:liou=1-iou(t,b)第二个部分是根据预测定位框和真实定位框的位置坐标计算的均方误差项,该误差项让预测定位框的坐标尽可能回归到真实定位框的位置上:最后总的损失函数表示为这两个部分目标对应的损失函数的加权求和,其中β1为权重系数:loss=liou β1lmse模型使用带动量的随机梯度下降算法来最小化该损失函数进行训练,模型迭代更新参数直到达到一个局部最优解。两项误差通过一定权重结合在一起构成模型训练的优化目标,然后通过带动量的随机梯度下降算法来训练模型。与现有技术相比,本发明提出的方法可以更高效的将查询语言的特征和图像特征融合在一起,实验结果表明,本发明提出的方法的定位精度要明显高于原注意力回归模型,达到了比较前沿的水平。附图说明图1为本发明的模型框架示意图。具体实施方式为了更具体地叙述本发明,下面结合附图和具体实施方式对本发明的技术方案进行详细说明。参考图1,本发明将图片输入卷积网络提取特征前,需要对输入的图片进行简单的预处理,这里的预处理只包含均值规整化和尺寸缩放,均值规整化将整个图片的像素值减去从数据集中统计的图像rgb通道的均值,这样可以使得特征均值都在0附近,比较易于模型学习,而尺寸缩放将图片统一缩放到224*224大小,这样经过卷积网络得到的特征图大小也是固定的。经过预处理后的图片输入到卷积神经网络vgg16中计算图像特征,vgg16网络包含13个卷积层和3个全连接层,计算图像特征时主要使用的是其中的13个卷积层,具体使用的是最后一个卷积层conv5_3层输出的图像特征图作为图像的特征表示,该特征图大小为14*14*512,其中512是输出通道数,该特征图一共有196个点,每个点对应了原图中的一个区域,每个区域的视觉特征都被表示为了一个512维的向量,可以表示为vimage=(vr1,vr2,…,vr196)。在使用预训练的词向量模型glove840b进行词向量初始化时,需要从词向量模型glove840b中选出词典中的每个单词对应的词向量来初始化该单词在词向量矩阵中对应的位置的词向量,对于词典中有,但是预训练的词向量模型中没有的单词则用零向量进行初始化,这样词典中大部分的单词都能得到一个有意义的初始词向量值,从而使得模型在训练时可以更快的收敛。将查询语句转换为词向量序列后,使用双向lstm进一步抽象词向量序列的语义特征。双向lstm模型的隐状态由前向lstm模型的隐状态和反向lstm模型的隐状态通过一个单层的神经网络的全连接层集合得到:h=tanh(wfhf wbhb b)得到双向lstm的隐状态后,将所有时间步的隐状态取平均就可以得到查询语句的语义特征向量:计算图像注意力图时首先将语义特征向量q映射到视觉特征向量所在的特征空间里,即将其维度也转换为512,采用的映射的方法是仿射变换:qm=tanh(wqq bq)经过变换后得到的qm是个512维的向量,在实践时,一般输入的是批次的样本,所以得到的qm实际上是个二维的矩阵,其维度可以表示为(n,512),矩阵的每一行都对应了一个映射后的查询短语的语义特征向量,对矩阵qm进行转置得到其维度变为(512,n),此时其每一列是个特征向量,可以表示为本发明限制网络一次只输入一张图片,这样得到的图像特征图v可以表示为一个二维的矩阵,其维度为(196,512),它的每一行都是一个图像区域的视觉特征向量,可以表示为v=(v1,v2,…,v196)t,其中vi是个列向量。将v和进行矩阵乘法就可以得到一个维度大小为(196,n)的注意力权重矩阵m:其中每个区域的注意力权重值都是通过区域的视觉特征向量与查询语句的语义特征向量进行向量内积计算得到的,通过向量内积可以更有效地将区域的视觉特征与查询语言的语义特征融合在一起。最后将注意力权重矩阵m进行转置后激活就得到了图像注意力图m*,注意力权重图m*的第i行就是输入批次样本中的第i个查询短语对应的图像注意力图:m*=relu(mt)改进后的目标位置预测方法在预测目标位置时只使用了图像注意力图作为输入,而没有使用查询语言的语义特征作为输入,这样可以排除查询语言特征对图像注意力图的干扰,最大程度的发挥图像注意力图在确定目标位置时起的作用,该模块在具体计算时使用了两层的神经网络,神经网络的输入是图像注意力图m*,神经网络最后一层的输出box是4个实数值,分别对应了定位框的左上角坐标和长宽:h1=tanh(w1m* b1)box=relu(w2h1 b2)网络优化的损失函数的第一项iou误差是让预测的定位框与真实的目标位置的iou(intersectionoverunion)值尽可能接近1:liou=1-iou(t,b)其中t表示真实目标位置,也可以表示为(x,y,w,h)4个值,b表示网络预测的目标位置。损失函数的第二项是根据预测定位框和真实定位框的位置坐标计算的均方误差项,该误差项让预测定位框的坐标尽可能回归到真实定位框的位置上:网络总的损失函数定义为两项损失函数的加权和:loss=liou β1lmse模型训练时使用带动量的随机梯度下降算法来最小化损失函数,当损失函数达到一个足够小的局部最优解时停止训练,然后在测试集上测试模型的定位精度,在referit数据集上的实验结果如下表1所示:表1在referit数据集上的对比实验结果模型p@0.5scrc17.93%grounder26.93%mcb28.91%comprehension31.85%regressionmethod(-textattention)35.55%regressionmethod(fullmodel)37.26%ourregressionmethod44.17%其中本发明提出的模型的定位精度达到了44.17%,比完整的原回归模型高出了6.9个百分点,这说明了本发明提出的改进,特别是对计算图像注意力图的方法的改进是非常有效的。表1还给出了本发明提出的模型与近两年学界提出的其它模型的实验对比结果,从结果中可以看到,本发明提出的模型的检测精度明显的超过了之前的方法,这说明了本发明提出的模型取得的检测精度达到了前沿的水平。当前第1页1 2 3 
技术特征:1.基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,包括如下步骤:
(1)通过卷积神经网络抽取图像的特征;
(2)通过词向量编码方法将查询语句中的每个单词编码为词向量表示;
(3)通过双向lstm模型对词向量表示进行进一步的特征抽象,得到查询语句的语义特征;
(4)结合图像的特征和查询语句的语义特征计算图像的注意力图;
(5)基于图像的注意力图预测目标位置;
(6)根据均方误差和iou误差训练模型。
2.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(1)中使用卷积神经网络vgg16来计算图像特征,输入图像被统一缩放为224*224大小,使用vgg16最后一个卷积层输出的特征图作为图像的高阶特征,该特征图大小为14*14*512,其中512是输出通道数,该特征图一共有196个点,每个点对应了原图中的一个区域,每个区域的视觉特征都被表示为了一个512维的向量,表示为vimage=(vr1,vr2,…vri,…,vr196),其中vri表示第r张图第i个区域的视觉特征向量。
3.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(2)中首先建立一个词典d,利用词典d将每个单词转化为one-hot向量表示,该向量的维度大小与词典大小相同,其中只有一个值为1,其他值为0,值为1的元素所在的位置就是这个单词在词典中的索引位置,然后再建立一个z行m列的词向量矩阵w,其中z是词典d的大小,m是词向量的维度,矩阵w的每一行对应了词典中单词的词向量,将单词的one-hot向量和矩阵w进行矩阵乘法得到这个单词的词向量表示c,该操作本质上就是将矩阵w的某一行取出来:c=xw,初始化词向量矩阵w时,从预训练好的词向量模型glove840b中选出词典中的每个单词对应的词向量来初始化w中对应位置的词向量。
4.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(3)中将步骤(2)中得到的词向量序列输入到双向lstm中计算查询语句的语义特征,双向lstm由两个lstm构成,前向的lstm以正序的词向量序列为输入,反向lstm以逆序的词向量序列为输入,双向lstm模型的隐状态由前向lstm模型的隐状态和反向lstm模型的隐状态通过一个单层的神经网络的全连接层集合得到,得到双向lstm的隐状态后,将所有时间步的隐状态取平均即得到查询语句的语义特征向量:vtext=1/t(h1 h2 ... hi ... ht),其中hi表示表示查询语句第i个单词的隐状态,t表示输入查询语句的单词个数。
5.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(4)中计算图像注意力图,首先设查询语句的语义特征向量为q,即vtext,通过仿射变换映射到视觉特征向量所在的特征空间里,即将其维度也转换为512,经过变换后得到的向量qm是个512维的向量;在实践时,输入的是批次的样本,所以得到的qm实际上是个二维的矩阵,其维度表示为(n,512),其中n表示输入查询语句个数,矩阵的每一行都对应了一个映射后的查询短语的语义特征向量,对矩阵qm进行转置得到其维度变为(512,n),此时其每一列是个特征向量,表示为限制网络一次只输入一张图片,得到的图像特征图v表示为一个二维的矩阵,其维度为(196,512),它的每一行都是一个图像区域的视觉特征向量,表示为v=(v1,v2,…,vi,…,v196)t,其中vi是个列向量,将v和进行矩阵乘法,得到一个维度大小为(196,n)的注意力权重矩阵m:
其中每个图像区域的注意力权重值都是通过区域的视觉特征向量与查询语句的语义特征向量进行向量内积计算得到的,通过向量内积将区域的视觉特征与查询语言的语义特征融合在一起;最后将注意力权重矩阵m进行转置后激活就得到了图像注意力图m*。
6.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(5)基于图像的注意力图预测目标位置,计算时使用了包含一个隐藏层的神经网络,网络的输入为图像的注意力图,网络的输出为4个实数值,分别对应了定位框的左上角坐标和长宽:
h1=tanh(w1m* b1)
box=relu(w2h1 b2)
其中,w1和w2为空间转换矩阵,m*表示图像注意力图,b1和b2表示偏置,box表示目标的框选图位置。
7.根据权利要求1所述基于注意力机制的结合自然语言的图像目标定位方法,其特征在于,所述步骤(6)中模型训练的损失函数包含两个部分,第一个部分是让预测的定位框与真实的目标位置的iou(intersectionoverunion)值尽可能接近1:
liou=1-iou(t,b)
第二个部分是根据预测定位框和真实定位框的位置坐标计算的均方误差项,该误差项让预测定位框的坐标尽可能回归到真实定位框的位置上:
最后总的损失函数表示为这两个部分目标对应的损失函数的加权求和,其中β1为权重系数:
loss=liou β1lmse
模型使用带动量的随机梯度下降算法来最小化该损失函数进行训练,模型迭代更新参数直到达到一个局部最优解。
技术总结本发明公开了基于注意力机制的结合自然语言的图像目标定位方法,该方法在注意力回归模型的基础上改进得到,方法的输入包括待检测图像以及待检测目标的自然语言描述短语,首先通过卷积神经网络抽取图像的特征,通过词向量编码方法将查询语句中的每个单词编码为词向量表示,通过双向LSTM模型对词向量表示进行进一步的特征抽象,得到查询语句的语义特征,再结合图像的特征和查询语句的语义特征计算图像的注意力图,然后基于图像的注意力图预测目标位置,同时根据均方误差和IoU误差训练模型。本发明可以更高效的将查询语言的特征和图像特征融合在一起,实验结果表明,本发明提出的方法的定位精度要明显高于原注意力回归模型,达到了比较前沿的水平。
技术研发人员:覃征;叶树雄;王国龙;徐凯平;黄凯
受保护的技术使用者:清华大学
技术研发日:2020.01.13
技术公布日:2020.06.09