一种基于深度学习的图像语义生成方法与流程

文档序号:14519605阅读:1131来源:国知局
一种基于深度学习的图像语义生成方法与流程

本发明涉及一种图像语义生成方法,尤其涉及基于深度学习的图像语义生成方法,属于图像处理技术领域。



背景技术:

近年来,随着图像数量的剧增,人们迫切地需要实现图像内容的高效标注,以实现大规模图像的有效检索与管理。从模式识别的角度来看,将图像标注问题视为根据内容给图像分配一组标签,其中如何选取表征图像内容的合适特征,将在很大程度上影响标注性能。由于众所周知的语义鸿沟问题,现有技术进行图像语义标注时很难达到令人满意的结果。近年来,等人提出利用深度神经网络,从训练集中有效地训练特征。不同类型的深度神经网络,已成功应用于各种语言及信息检索。这些方法通过深度结构、深度学习从训练数据中发现隐藏的数据结构及有效的表征特征,提高了系统性能。

现有的图像语义标注方法主要有以下两种实现方式。第一种是由计算机在整幅图像上提取特征,并对图像进行分类识别,也即,将整幅图像作为分类器的输入。然而,很多近似类别的图像的整体相似度很高,例如,不同型号的三厢轿车的图像可能只在若干细节上有区别,而从整幅图像上提取的特征往往不足以准确对这种细粒度的图像分类进行区分,语义标注效果差。

第二种则是由人工确定图像的显著性区域,这些显著性区域可以体现不同的细粒度图像之间的差别,例如,不同品牌的车型的车标,不同品种的猫的眼睛。而后,再对这些显著性区域提取特征,进行细粒度的图像语义标注。但是,由于图像数据库中的像的数量巨大,要为每幅图像人工确定其显著性区域,显然会消耗极大的人力资源,限制了这种解决方案的可行性。

更重要的是,以上两种方法都只能对于图像中具体目标进行标注,无法描述图像中各个目标之间存在的语义关联,也就是说,以上方法只能指明图中存在什么物体,但是无法“理解”图中物体之间正在“做什么”。因此,只有解决这一问题,才能使图像语义的自动理解更进一步发展。



技术实现要素:

本发明的目的在于提出一种基于深度学习的图像语义生成方法,该方法首先使用了卷积神经网络cnn提取图像高层语义特征,有效避免了使用底层图像特征表达图像含义时产生的“语义鸿沟”问题。然后将提取的图像高层特征输入到训练好的长短时间记忆lstm网络中生成图像的描述语句。该方法可以生成图像内容的描述性语句,远远优于传统的只能对图像中目标进行单独标注的方法。

本发明采取的技术方案为:一种基于深度学习的图像语义生成方法,该方法主要包括以下步骤:

步骤1:通过图像整体语义生成要求,构建结合卷积神经网络和长段时间记忆网络的模型结构;

步骤2:通过训练数据,根据设定的结果损失函数,利用前向传导、反向传播和梯度下降优化算法对所述预训练好卷积神经网络进行训练得到卷积神经网络模型;

步骤3:利用卷积神经网络提取的图像的高层特征与标注好的语义信息,根据设定的结果损失函数,利用前向传导、反向传播和梯度下降优化算法对长短时间记忆网络进行训练得到长短时间记忆网络模型,使用长短时间记忆网络对图像内容进行预测输出;

步骤4:根据设定的结果损失函数,利用前向传导、反向传播和梯度下降优化算法训练数据对卷积神经网络和长短时间记忆网络进行联合训练得到最终的图像语义产生模型。

在本发明步骤2所述的深度神经网络中,为了避免网络在训练过程中陷入“过度拟合”的问题,本发明采取了一个预先训练的卷积神经网络。预训练卷积神经网络分别由输入层,卷积层,池化层、全连接层和输出层构成,并且使用前向传导、反向传播和梯度下降优化算法进行模型的优化。

在上述的前向传导过程中,主要是数据由输入层到最终的输出层的处理过程。所述的输入层与卷积层的计算方法如下:假设第l层为输入层(也可以为上一次的卷积层或者池化层),第l+1层为卷积层,则输入层与卷积层之间的计算公式为:

其中表示上一层的输入数据,为卷积层数据,q为输入层数据集合,表示输入层与卷积层之间的权重矩阵,为预设偏置项,*为卷积操作,f为激活函数,在本发明中,激活函数设置为relu函数。

卷积层和池化层之间的计算过程如下:

其中表示卷积层数据,表示池化层数据,为乘积因子,down(·)表示下采样函数,本发明中采用平均值池化方法;

所述的全连接层将卷积神经网络的最后一个池化层数据拼接成一个一维数据向量;输出层将全连接层数据进行激活函数处理得到训练数据的输出概率;

上述的反向传播的具体实施方法如下:

首先,构造卷积神经网络的整体代价函数,采用平方误差代价函数表示,则有:

其中,c表示训练样本的个数,表示第n个样本的第k个输出;

对所述输出层的每个单元i计算其输出残差:

其中,为输出层l中节点i对应的残差,为该节点对应的输入加权和;以此类推,针对l层之前的每个层,其节点的残差的计算方法为:

分别对权重矩阵和偏置项计算偏导:

其中,为权重矩阵的偏导,为偏置项的偏导。

上述的梯度下降优化的具体实施方法如下:

其中,为更新后的权重矩阵,为更新后的偏置项,α为模型的学习比例。

本发明步骤3中所提lstm网络结构如图1所示。本发明使用长短时间记忆网络预测模型读到图像时生成的语义的单词,我们使用多个lstm网络串行结构对单词进行预测。在训练过程中,前一个lstm网络的预测输出与真实语义信息一起输入到下一个lstm网络的输入。

lstm网络模型的核心在于记忆单元c将当前时刻的输入信息与之前时刻的信息联系起来决定当前时刻的输出单词,lstm结构中主要存在四种门结构,分别为遗忘门ft,记忆门ct,输入门it和输出门ot。遗忘门决定是否要丢弃当前时刻的记忆门中的信息,输入门决定是否读入当前时刻的输入信息,输出门决定是都要输出当前时刻记忆门中的信息。四种门的定义和更新方法如下:

it=σ(wixxt+wimmt-1)(10)

ft=σ(wfxxt+wfmmt-1)(11)

ot=σ(woxxt+wommt-1)(12)

ct=ft⊙ct-1+it⊙h(wcxxt+wcmmt-1)(13)

mt=ot⊙ct(14)

pt+1=softmax(mt)(15)

其中⊙表示卷积操作,w表示参数矩阵。

本发明步骤4中所提的完整的基于深度学习的图像语义生成模型如图2所示。所述模型中,使用最小化损失函数确定卷积神经网络提取的图像特征对应的正确描述,损失函数定义如下:

ld=-logp(s|i;θ)(16)

那么,最小化损失函数公式为:

θ是模型参数,i表示图像,s表示图像对应的语义描述。

上述中:

在训练阶段,(s|i)是作为训练数据对同时输入。

通过以上步骤,本发明实现了一种利用卷积神经网络和长短时间记忆网络模型来产生图像语义描述的方法。

本发明具有以下优点:

1、本发明所提供的基于深度学习的图像语义生成方法能够对图像中的各个目标进行语义关联,能够给出图像内容的完整描述,这是之前方法无法实现的功能。

2、本发明在使用卷积神经网络提取图像高层语义特征阶段使用预训练好的卷积神经网络以避免网络陷入“过拟合”问题。

3、本发明采用先分离再联合的训练方法,可以有效提高模型的性能。

附图说明

图1为本发明所用长短时间记忆网络

图2为本发明所构建基于深度学习的图像语义生成模型

图3为本发明图像语义生成流程图

具体实施方案

为解决当前图像标注方法只能针对单个目标进行标注,无法将图像中各概念主题联系的问题,本发明提供了一种基于深度学习的图像语义生成方法。

下面结合说明书附图对本发明作进一步详细说明。

步骤1:由于在训练数据集中,需要人工对图像语义内容进行描述,此项工作需要花费大量的人力和精力,因此,在模型训练时不可能会有足够多的训练样本。但是,如果训练数据不足,会使神经网络产生“过拟合”问题。为了解决这个问题,我们使用一种预训练好的卷积神经网络模型。

预训练好的卷积神经网络模型是使用现有的图片数量比较大的样本库图片进行卷积神经网络进行训练,这些样本库包括但不限于在图片分类、人脸识别等常用样本库,使用这些样本库中图片作为训练数据,训练数据经过卷积、池化、全连接和输出等过程,完成一次前向传导,其中卷积和池化相当于对图像进行特征提取,而全连接和输出相当于分类器对特征进行分类;反向传导以训练误差最小的原则迭代地计算误差函数相对于权重矩阵和偏置项的偏导;同时,梯度下降利用所述偏导进行权重矩阵和偏置项的更新,使得整体误差越来越小,最终获得训练好的各层之间的权重矩阵和偏置项,即卷积神经网络模型。经由这些步骤得到预训练好的卷积神经网络。

步骤2:通过预训练卷积神经网络提取图像的高层特征和人工标注好的图像语义信息对长短时间记忆网络进行训练。

此步骤中,所用训练图像为有人工标注图像语义的图片。利用预训练好的卷积神经网络提取训练图像的高层语义特征,将特征输入到长短时间记忆网络中,此处值得注意的是,该特征只在每次迭代训练的初始阶段输入到长短时间记忆网络中。如图2中长短时间记忆网络预测部分显示,接下来每次将前一lstm网络的预测输出与正确的图像语义信息一起输入到下一个lstm网络中。经过多次迭代训练,得到训练好的长短时间记忆网络。

步骤3:根据设定的结果损失函数,利用前向传导、反向传播和梯度下降优化算法训练数据对卷积神经网络和长短时间记忆网络进行联合训练得到最终的图像语义产生模型。

将训练好的卷积神经网络和长短时间记忆网络进行联合训练。将训练图片输入到卷积神经网络,同时,长短时间记忆网络读取该图片的语义信息进行联合训练,得到该图像的语义输出,根据语义输出与标准语义信息之间的差值进行反向传导对整个网络进行优化。经过多次迭代,达到设定精度要求。

在训练模型时,使用卷积神经网络提取的图像的高层语义特征作为第一个长短时间记忆网络的输入,如图2所示,其中

x-1=cnn(i)(19)

xt=west,t∈{0...n-1}(20)

pt+1=lstm(xt),t∈{0...n-1}(21)

经过训练后的基于深度学习的图像语义生成方法能够实现较好的理解图像的内容。

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