一种基于自然语言语义的图像目标检测方法与流程

文档序号:12671219阅读:1092来源:国知局

本发明属于图像分析识别技术领域,特别涉及一种基于自然语言语义的图像目标检测方法。



背景技术:

图像目标识别是计算机视觉领域研究的核心任务之一,近年来随着深度学习在图像领域的成功应用,目标识别的研究也取得了突破性的进展,检测的精度相比传统的方法取得了很大的提高,在某些领域已经被商业化的应用到了人们的生活中,比如阿里巴巴的刷脸支付、智能交通道路目标识别等。但是传统的目标识别方法的识别结果往往是一些事先定义好的某个类别的物体,比如人脸、车等,而一幅图像中包含的内容远远不止一些相互独立的物体,还包含了物体的属性、物体的空间关系、物体的逻辑关系等信息,这些信息不能够只用一些类标签进行描述,而是需要使用自然语言进行描述,这也是更符合人类思维的描述方式。

图像目标识别任务包括目标备选集的产生、备选目标的特征抽取、备选目标的分类以及备选目标的位置修正等4个基本子任务,Faster-RCNN模型是传统目标识别方法的典型代表,该方法利用深度卷积神经网络结合RPN网络来解决这4个子任务,其中用于产生目标备选集的RPN网络本质上也是一个深度卷积神经网络,所以整个模型可以以一种端到端的方式进行训练,相比之前的以不同的方法来分别解决这些子任务的目标识别方法,Faster-RCNN在训练的效率以及识别的精度上有了很大的提升,但是Faster-RCNN模型的识别对象仍只是预先定义好类标的物体,并不能结合自然语言进行目标识别。现有的结合自然语言进行目标检测的方法例如SCRC模型(spatial context recurrent convnet),大部分利用了非深度学习的方法来产生目标备选集,例如选择性搜索等,然后再用卷积神经网络和长短期记忆模型(LSTM)分别提取图像和自然语言的特征进行目标检测,整个框架不支持端到端的训练,检测的效率与精度有待提高。



技术实现要素:

为了克服上述现有技术的缺点,本发明的目的在于提供一种基于自然语言语义的图像目标检测方法,将Faster-RCNN模型中的分类器模块替换为处理自然语言信息的LSTM模块,同时利用Faster-RCNN模型中的RPN网络来产生目标备选集,通过结合目标的自然语言描述进行图像目标检测,实现了一种支持端到端计算的网络结构,提高了目标检测的效率与精度。

为了实现上述目的,本发明采用的技术方案是:

一种基于自然语言语义的图像目标检测方法,包括以下基本步骤:

(1)在ImageNet数据集上,训练Faster-RCNN模块的Fast-RCNN卷积神经网络以及RPN网络部分;

(2)利用训练好的Faster-RCNN模块提取的图像特征训练LSTM模块;

(3)输入图像和目标查询短语到模型中进行图像目标检测。即,对于训练好的模型,给定一个图像以及要查询的目标的自然语言短语描述,从图像中即可检测出相应目标。

上述步骤1的具体过程为:Faster-RCNN网络由RPN网络和Fast-RCNN网络通过共享卷积层组成,采用4步交替训练来训练模型,第一步先训练RPN网络。第二步使用RPN网络作为目标备选集产生模块来训练Fast-RCNN网络。第三步将Fast-RCNN的卷积层网络权值赋予RPN网络的卷积层,然后固定RPN网络的卷积层不变,单独训练RPN网络的分类层和回归层。第三步后RPN网络和Fast-RCNN网络实现了卷积层共享,第四步固定共享卷积层和RPN不变,训练Fast-RCNN其余的网络层。这四步的交替训练可以迭代进行多次,训练过程中使用误差的反向传播算法计算梯度,使用随机梯度下降算法更新网络权值。

上述步骤2的具体过程为:训练LSTM模型的数据集为ReferIt数据集,训练样本是个三元组[I,R,D],其中I表示输入图像,R表示图像上的目标,D表示对目标的描述,一张图片可以有多个目标,每个目标可以有多个描述,模型训练的目标是最大化目标区域产生对应自然语言描述的似然函数,表示为损失函数其中N表示图片数目,其中,N表示图像数目,Mi表示第i张图像中的目标数目,Dij表示第i个图像的第j个目标的描述短语的个数,Si,j,d表示自然语言描述短语,概率p(Si,j,d|context)就表示了图像中的目标区域产生对应自然语言描述的条件概率。LSTM模型参数可以使用在大型语料库上训练好的LSTM语言模型的参数来初始化,然后在ReferIt数据集上使用误差的反向传播与随机梯度下降算法来调整模型的参数直至达到收敛条件。

上述步骤3的具体过程为:首先将图像输入共享卷积神经网络提取图像的特征图,该卷积神经网络主要由若干的卷积层和池化层构成,每个卷积层都用一个卷积核对上一层得到的特征图做卷积操作,然后将卷积得到的结果用激活函数做非线性变化,这里的激活函数主要使用增强线性单元Relu,其函数形式为f(x)=max(0,x),将卷积层的计算结果通过池化层的下采样操作后就可以得到下一层的特征图。卷积神经网络计算的特征图作为RPN网络的输入,由RPN网络计算目标备选集,其中每个备选目标是一个矩形区域表明可能是物体的目标区域,一个目标区域由4个数值[x,y,w,h]确定,其中x和y表示矩形区域的左上角坐标,w和h表示区域的宽和高。目标备选集结合图像的特征图经过ROI(Region of interest)池化层可以直接得到备选目标区域的特征。最后,LSTM模块将图像的全局特征、备选区域的局部特征以及备选区域的位置信息作为上下文,计算该备选区域产生目标查询短语描述的条件概率条件概率最大备选目标区域就是图像目标识别的结果。

与现有技术相比,本发明的有益效果是:

1、使用RPN网络来产生目标备选集,通过共享卷积神经网络使得产生目标备选集的计算代价基本为零。

2、在计算条件概率时引入目标位置以及图像全局特征等上下文信息,可以提高识别的精度。

3、通过将LSTM模型结合到Faster-RCNN框架中,使得整个检测过程可以端到端的计算完成,进一步提高检测效率。

附图说明

图1为本发明的基于自然语言语义的图像目标检测方法流程图。

具体实施方式

为了更具体地叙述本发明,下面结合附图和具体实施方式对本发明的技术方案进行详细说明。

本发明如图1所示,包括如下步骤:

1.在ImageNet数据集上训练Faster-RCNN模块的共享卷积神经网络和RPN网络部分。

2.使用ReferIt数据集中给出的带目标自然语义标注的图像数据训练LSTM模型。

3.对于训练好的模型,给定一个图像以及要查询的目标的自然语言短语描述,从图像中检测出相应目标。

具体地,对于输入的图像,首先利用共享卷积神经网络提取图像的特征图,卷积神经网络由一系列的卷积、激活函数激活以及池化操作构成,其中卷积操作可以表示为其中I表示图像的像素值,W表示卷积核权值,进行卷积后使用激活函数进行非线性变换,常见的激活函数包括增强线性单元f(x)=max(0,x)、双曲正切函数等,池化操作主要进行信息的下采样,可以通过取最大值或者取平均值的方式进行。为了增加模型的泛化能力,对部分卷积层的计算结果进行LRN操作(local response normalization),LRN操作可以表示为其中表示第i个卷积核在图像(x,y)位置的经过激活的卷积计算结果,整个式子相当于对每个卷积核的计算结果用其相邻的卷积核计算结果进行归一化。

目标备选集的产生由RPN网络完成,RPN网络在卷积层抽取的特征图上用滑窗遍历每个位置,在每个位置生成k个anchor,每个anchor可以理解为一个小矩形区域,对于每个anchor通过分类层和回归层分别计算得分与位置坐标,计算的得分表示对应anchor属于目标区域的概率,在进行检测时,得分最高的若干个anchor就可以作为目标备选集输出。RPN网络得到的目标备选集可能存在很多重复的目标区域,可以采用非极大值抑制算法来消除重复的备选目标,该算法以得分最高的目标区域为准,筛除与之重叠面积较大的备选目标。

在训练RPN网络时,需要将每个anchor分为正样例和负样例,区分方法是将产生的anchor与已知的目标区域进行比较,如果存在某个已经的目标区域与anchor的重叠率达到某个阈值,通常取0.7,那么就将该anchor归为正样本,如果anchor与所有的目标区域的重叠率都很低,就将该anchor归为负样本,正样本anchor分配类标1,负样本anchor分配类标0,判断某个anchor是否为目标区域就对应了一个分类问题。RPN网络的任务可以细分为anchor的分类与位置的预测,可以使用多任务的损失函数来同时针对这两个目标进行训练,损失函数表示为其中pi表示网络分类输出,pi*表示anchor实际类标,ti表示网络预测的位置,ti*表示已知目标区域的位置。

RoI池化层使用最大池操作将备选区域的特征图转换为一个H×W的固定大小的特征图,具体的做法是,将大小为w×h的目标备选区域细分为H×W个子区域,每个子区域的大小为然后对每个子区域内的特征值取最大值保留得到H×W的固定大小的特征图。

得到备选目标区域的特征图后,需要计算该目标区域产生目标查询短语的条件概率其中si表示查询语句中第i个单词的词向量表示,词向量表示是指首先根据词典将单词表示为one-hot向量e,然后使用特征矩阵W得到单词的词向量表示W×e,其中特征矩阵W的每一行为词典中每个单词的特征向量。c表示上下文信息,这里的上下文信息包括查询图像的全局特征图F1,备选目标区域的局部特征图F2以及备选目标区域的位置信息L,将这三者拼接为一个向量表示C=[F1,F2,L],用C初始化LSTM隐藏状态的初始值h0和细胞状态的初始值C0,计算条件概率p(st|s1,s2,....,st-1,c)可以用公式表示为:

p(st|s1,s2,....,st-1,c)=softmax(ht),其中ht表示t时刻LSTM模型的隐藏状态向量,t时刻的隐藏状态可由t时刻的细胞状态和输出门计算得到:ht=tanh(Ct)pt,细胞状态Ct和输出门pt的计算可以表示为:

ft=σ(bf+Ufxt+Wfht-1)

gt=σ(bg+Ugxt+Wght-1)

It=tanh(bI+UIxt+WIht-1)

Ct=ftCt-1+gtIt

pt=σ(bp+Upxt+Wpht-1)

公式中的xt表示查询短语中第t个单词的词向量表示st。计算出每个备选目标区域的条件概率P(S|c)后,取条件概率最大的区域作为目标检测的结果。

以上对本发明所提供的一种基于自然语言语义的图像目标检测方法进行了详细介绍,本文对本发明的原理进行了阐述,以上详细步骤的用于帮助理解本发明的方法及核心思想;同时,对于本领域的技术人员,根据本发明的思想,在具体的实现方式上均会有变化和改进之处,这些变化和改进均属于本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1