基于二维递归网络的自然场景图像中中文文本识别方法与流程

文档序号:15164539发布日期:2018-08-14 17:18阅读:135来源:国知局

本发明属于图像文本分析与识别领域,具体涉及一种基于二维递归网络的自然场景图像中中文文本识别方法。



背景技术:

人类大部分的信息都是通过视觉系统获得的,通过视觉系统获取的场景图像除了包含色彩、图案、形状、位置、纹理等丰富的视觉信息,还包含了丰富的文本信息。文本对信息的描述有着准确性、有效性等特点,文本在各种计算机视觉应用中具有十分有用的价值。例如,在图片搜索方面,识别图片中的文字有利于我们更好地对图片分类匹配;在无人驾驶方面,从自然场景中识别出交通指示牌以及其他标志李的文字信息可以辅助驾驶,自然场景下的文字识别在人工智能高速发展的今天,是一个不可或缺的重要发展部分。

自然场景中的文本图像与传统文档图像相比具有明显的不同,在文本图像的颜色、亮度、对比度、背景、形状上两者都有很大的差异,图像中可能包括较强的噪声干扰。传统的文本识别方法已经不再适应场景文本的复杂化、多样化。现有技术中自然场景中文本的检测通常需要对图像文本进行预分割处理,图像的分割处理技术直接影响着自然场景中中文文字的检测精度,并且当部分汉字的结构特征被分在不同特征序列时,将很难识别出来。

近年来利用深度学习网络来解决这一挑战显得更加方便可行,并取得了显著的效果。在深度学习中,基于卷积和一维递归网络的文本识别方法成为目前的主流。但这类方法还是存在一定的缺陷,如图像中文本的旋转、透射等畸变需要通过大量的样本训练来增强网络的识别能力,一维递归网络识别时需要先将二维的特征图转为一维特征序列。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于二维递归网络的自然场景图像中中文文本识别方法,该方法克服了一维递归网络在文本序列识别中输入序列必须保证严格独立性的假设,避免了采用一维递归网络识别过程中进行的降维操作,在识别过程中充分利用了文本图像的空间时间信息与上下文信息,并且能够避免文本图像预分割问题,大大提高了自然场景图像中中文文本的识别准确率。

本发明的目的通过下述技术方案实现:一种基于二维递归网络的自然场景图像中中文文本识别方法,步骤如下:

步骤s1、获取多幅包括汉字的自然场景图像样本,构成训练样本集,其中训练样本集中包括了常用汉字字符集中的所有常用汉字;并且为每个常用汉字设置一个标签;

同时获取由深度卷积网络、编码用二维递归网络、解码用二维递归网络以及ctc模型依次连接构成的神经网络,其中该神经网络的输入即为深度卷积网络的输入,该神经网络的输出即为ctc模型的输出;

步骤s2、神经网络训练:将训练样本集中的每个训练样本作为神经网络的输入,将每个训练样本中各汉字的标签作为神经网络的输出,针对神经网络进行训练得到训练后的神经网络,从而得到训练后的深度卷积网络、训练后的编码用二维递归网络和训练后的解码用二维递归网络;

步骤s3、当获取到测试样本时,首先将测试样本输入到训练后的深度卷积网络中,通过训练后的深度卷积网络获取到测试样本的特征图;

步骤s4、将训练后深度卷积神经网络输出的测试样本的特征图输入到训练后的编码用二维递归网络中,通过训练后的编码用二维递归网络得到测试样本的编码特征图;

步骤s5、将测试样本的编码特征图输入至训练后的解码用二维递归网络中,通过训练后的解码用二维递归网络得到测试样本各帧图像中每个常用汉字的概率结果;

步骤s6、针对于步骤s5获取到的测试样本各帧图像中每个常用汉字对为该帧图像汉字的概率结果进行集束搜索处理,通过集束搜索结果最终识别出测试样本中整体中文文本。

优选的,当训练样本输入到神经网络中时,针对训练样本的处理过程如下:首先由神经网络中的深度卷积网络获取到训练样本的特征图;然后输入到编码用二维递归网络,通过编码用二维递归网络得到训练样本的编码特征图;训练样本的编码特征图输入到解码用二维递归网络中,通过解码用二维递归网络得到训练样本各帧图像中每个汉字的概率结果,最后输入到ctc模型中进行处理,神经网络根据ctc模型的输出即训练样本中各汉字的标签针对深度卷积网络、编码用二维递归网络、解码用二维递归网络以及ctc模型进行训练,从而得到训练后的深度卷积网络、训练后的编码用二维递归网络、训练后的解码用二维递归网络以及训练后的ctc模型。

优选的,所述步骤s2和步骤s3中,训练样本的文本图像输入到深度卷积神经网络以及测试样本的文本图像输入到训练后的深度卷积神经网络之前先进行预处理,其中预处理的过程如下:

步骤s1-1、将输入的文本图像转换为灰度图像;

步骤s1-2、将灰度图像变形转换为某一固定高度且转换后长度和高度比值与转换前相同的场景文本图像。

更进一步的,所述步骤s2和步骤s3中,深度卷积神经网络针对于输入的预处理后的训练样本的文本图像以及训练后的深度卷积神经网络针对于输入的预处理后的测试样本的文本图像的处理过程如下:

步骤s1-3、利用深度卷积神经网络对步骤s1-2获取到的场景文本图像进行高维特征提取,生成多个特征图,然后将多个特征图进行平均,得到平均特征图作为输出。

更进一步的,所述步骤s1-2,采用双线性插值变换方法将灰度图像变形转换为某一固定高度且转换后长度和高度比值与转换前相同的场景文本图像,所述某一固定高度为72、64、48、32、24、16或8个像素。

优选的,所述深度卷积神经网络的前两层卷积为可变形卷积层;所述可变形卷积层的计算公式如下:

其中y(p0)为当前卷积层输出特征图中中心点p0点的卷积结果;r为感受野的大小和扩张,r内每一个元素表示感受野内其他点相对于感受野中心点p0点坐标的偏移;p0+pn+△pn为y(p0)所对应的卷积区域,△pn为感受野偏置,△pn内的横纵坐标均属于[-1,1]中的小数,pn∈r,pn指的是特征图中中心点p0点对应感受野内的偏移量,p0+pn为特征图中p0点对应感受野中偏移pn后的点;w(pn)为偏移值pn的权值;i(p0+pn+△pn)为y(p0)所对应的卷积区域内的特征图。

优选的,编码用二维递归网络和解码用二维递归网络均包含2个bilstm网络,分别为水平bilstm和竖直bilstm,每个bilstm包含2个lstm,其中编码用二维递归网络和解码用二维递归网络针对于输入的特征图的操作过程均如下:

步骤s2-1、根据窗口设置扫描输入特征图,产生窗口特征图;

步骤s2-2、首先采用列规则将窗口特征图转化为序列帧,然后将序列帧送入到水平bilstm中进行正反双向的计算;最后将计算结果还原为特征图;

步骤s2-3、对步骤s2-2中的特征图进行顺时针90度的旋转;

步骤s2-4、对于步骤s2-3旋转后的特征图,首先采用列规则将该特征图转化为序列帧,然后将序列帧送入到竖直bilstm中进行正反双向的计算;最后将计算结果还原为特征图;

步骤s2-5、对步骤s2-4中获取到的特征图进行逆时针90度旋转。

更进一步的,所述步骤s2-2中,当解码用二维递归网络针对于输入的训练样本的编码特征图以及训练后的解码用二维递归网络针对于输入的测试样本的编码特征图进行解码时,水平bilstm在进行正反双向计算过程中融入注意力机制,具体过程如下:

步骤s2-2-1、首先在当前时刻第t个时刻计算由上一个时刻第t-1个时刻需要解码的编码序列帧ht-1、当前时刻第t个时刻需要解码的编码序列帧ht以及下一个时刻第t+1个时刻需要解码的编码序列帧ht+1所构成序列h={ht-1,ht,ht+1}的注意力因子:

其中

et,j=vttanh(w2st-1+vhj+b),j=t-1,t,t+1;

其中w2,v,v和b均为可训练参数,vt为v矩阵的转置;st-1为水平bilstm中隐节点在上一时刻t-1的状态;其中s={h0,h1,...,ht,...,ht′-1}为编码序列帧的集合,集合中各元素即为各编码序列帧,t′为编码序列帧的集合中编码序列帧的总数,h0、h1、ht′-1分别为水平bilstm在初始时刻即第0个时刻、第1个时刻、第t′-1个时刻需要解码的编码序列帧;

步骤s2-2-2、根据步骤s2-2-1当前时刻第t个时刻计算得到的序列h={ht-1,ht,ht+1}的注意力因子计算在当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积

其中w1为可训练参数;其中当t=0时,ht-1由相等维度的零向量进行补充;当t=t′-1时,ht+1由相等维度的零向量进行补充;是表示卷积运算;

步骤s2-2-3、根据步骤s2-2-2计算的当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积计算水平bilstm中隐节点在当前时刻第t个时刻的状态st:

其中yt-1为水平bilstm中隐节点在上一个时刻第t-1个时刻的输出;

步骤s2-2-4;根步骤s2-2-2计算的当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积以及步骤s2-2-3计算的竖直bilstm中隐节点在当前时刻第t个时刻的状态st计算得到当前时刻第t个时刻的解码输出结果:

更进一步的,所述步骤s2-4中,当解码用二维递归网络针对于输入的训练样本的各编码序列帧以及训练后的解码用二维递归网络针对于输入的测试样本的各编码序列帧进行解码时,竖直bilstm在进行正反双向计算过程中融入注意力机制,具体过程如下:

步骤s2-4-1、首先在当前时刻第t个时刻计算各编码序列帧所构成编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的注意力因子:

其中

e′t,j=vttanh(ws′t-1+vh′j+b),j=0.,1,...,t″-1;

其中w,v,v和b均为可训练参数,vt为v矩阵的转置;s′t-1为竖直bilstm中隐节点在上一时刻t-1的状态;其中s′={h′0,h′1,...,h′t,...,h′t″-1}为编码序列帧的集合,集合中各元素即为各编码序列帧,t″为编码序列帧的集合s′={h′0,h′1,...,h′t,...,h′t″-1}中编码序列帧的总数,h′0至h′t″-1分别为竖直bilstm在初始时刻即第0个时刻至第t″-1个时刻需要解码的编码序列帧;

步骤s2-4-2、根据步骤s2-4-1当前时刻第t个时刻计算得到的编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的注意力因子计算在当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权和gt:

步骤s2-4-3、根据步骤s2-4-2计算的当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权和gt计算中竖直bilstm中隐节点在当前时刻第t个时刻的状态s′t:

s′t=rnn(y′t-1,gt,s′t-1);

其中y′t-1为竖直bilstm在上一个时刻第t-1个时刻的输出;

步骤s2-4-4;根步骤s2-4-2计算的当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权卷积以及步骤s2-4-3计算的竖直bilstm中隐节点在当前时刻第t个时刻的状态st′计算得到当前时刻第t个时刻的解码输出结果:

yt′=generate(st′,gt)。

更进一步的,所述步骤s6中,针对测试样本各帧图像中的每个概率结果进行集束搜索处理的过具体如下:

步骤s6-1、针对于测试样本中各帧图像,从第一帧图像开始进行逐层搜索;其中针对于第一帧图像,比较各个常用汉字的概率结果,选取出概率值最高的k个概率结果;针对于第二针图像进行搜索时,进入步骤s6-2;其中k为一定值;

步骤s6-2、针对于当前帧图像搜索时,进行以下处理:将该帧图像中每个常用汉字的概率结果分别与上一帧图像搜索时选取的概率值最高的k个概率结果进行相乘,得到c*k个概率结果,从c*k个概率结果中选取出概率值最高的k个概率结果,然后进入步骤s6-3;其中c为常用汉字字符集的大小,即常用汉字字符集中常用汉字的总数;

步骤s6-3、判断当前帧图像是否为测试样本的最后一帧图像,若是,则进入步骤s3-4,若否,则下一帧图像作为当前帧图像,进行步骤s6-2的处理;

步骤s6-4、针对于最后一帧搜索后获取到的概率值最高的k个概率结果中的每个概率结果,获取计算该概率结果所使用到的每帧图像中某一汉字的概率结果,然后从第一帧图像到最后一帧图像,依次将每帧图像中的该汉字串联成该概率结果的路径;

步骤s6-5、检测步骤s6-4获取到的各概率结果的路径中是否有空字符,若有,则删除;同时检测步骤s6-4获取到的各概率结果的路径中是否有相邻的字符为重复字符,若有,则删除重复的字符;

步骤s6-6、对比步骤s6-5处理之后的各概率结果的路径,将路径相同的概率结果进行相加合并,然后从最终获取到的多个概率结果中选择概率值最大的一个概率结果,将该概率结果的路径中对应汉字作为最终识别结果。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明一种基于二维递归网络的自然场景图像中中文文本识别方法,先获取到训练样本集,并且为训练样本集中所包括的每个常用汉字设置一个标签;同时获取由深度卷积网络、编码用二维递归网络、解码用二维递归网络以及ctc模型依次连接构成的神经网络,然后将训练样本集中的每个训练样本作为神经网络的输入,将每个训练样本中各汉字的标签作为神经网络的输出,针对神经网络进行训练,得到训练后的神经网络;在获取到测试样本后,本发明将将测试样本首先输入到训练后的深度卷积网络中,通过训练后的深度卷积网络获取到测试样本的特征图;然后将测试样本的特征图输入到训练后的编码用二维递归网络中,得到测试样本的编码特征图;再将测试样本的编码特征图输入至训练后的解码用二维递归网络中,得到测试样本各帧图像中每个常用汉字为该帧图像中汉字的概率结果;最后针对于测试样本各帧图像中每个常用汉字对为该帧图像汉字的概率结果进行集束搜索处理,最终识别出测试样本中整体中文文本。本发明使用ctc模型训练网络和后处理方式,能够在文本图像不进行预分割的情况下,克服因部分汉字的结构特征被分割在不同特征序列而造成识别率低的问题;另外本发明中编码和解码采用的均是二维递归网络,能够克服了一维递归网络在文本序列识别中输入序列必须保证严格独立性的假设,避免了采用一维递归网络识别过程中进行的降维操作,在识别过程中充分利用了文本图像的空间时间信息与上下文信息,大大提高了自然场景图像中中文文本的识别准确率,可以应用于图像中文文本信息的自动识读、图像搜索、场景理解等,具有较好的实用价值。

(2)本发明方法中,采用二维递归网络进行编码建模,其中二维递归网络可以有效避免递归网络在训练过程中因输入序列帧的长度过长而造成梯度爆炸和梯度消失等问题,同时又可以有效的分析正反两个方向的上下文关系。另外本发明方法训练过程中采用ctc模型,ctc模型能够支持整个网络模型在输入文本图像和相应的标签序列没有先验对齐的情况下训练,使得本发明方法训练过程更为快速便捷。

(3)本发明方法中,文本图像在输入深度卷积神经网络之前,先进行预处理,将文本图像均变形转换为某一固定高度且转换后长度和高度比值与转换前相同的场景文本图像,因此本发明方法能够在不降低识别率的情况下,实现对任意长度的输入序列进行解码识别。

(4)本发明方法中,所使用的深度卷积神经网络的前两层卷积为可变形卷积层,与普通卷积网络相比,可变形卷积网络在普通卷积网络的基础上增加了二维的感受野偏置,感受野内每一个点均有沿水平和竖直方向的两个偏置,从而改变感受野内点的坐标。可变形卷积网络卷积采样的信息更加集中于图像中的文字像素区域,对输入文本图像中的文字旋转、透射等畸变更加鲁棒。

(5)本发明方法中,编码用二维递归网络和解码用二维递归网络均包含2个bilstm网络,分别为水平bilstm和竖直bilstm,其中水平bilstm采用基于改进后的注意力机制的二维递归网络,将其中的注意力因子改进为只和部分编码序列相关因子,由于汉字的识别结果只与其前后两个相邻输入图像中对应的区域有关,因此本发明方法中注意力因子的改进不但不会降低识别的准确率,还能提高水平bilstm的解码速度,使得解码的计算过程更加简便。

附图说明

图1是本发明方法流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

本实施例公开了一种基于二维递归网络的自然场景图像中中文文本识别方法,如图1所示,步骤如下:

步骤s1、获取多幅包括汉字的自然场景图像样本,构成训练样本集,其中训练样本集中包括了常用汉字字符集中的所有常用汉字;并且为每个常用汉字设置一个标签;在本实施例中常用汉字字符集的大小c为3756,常用汉字字符集中包括3755个一级常用汉字以及1个空字符。

同时获取由深度卷积网络、编码用二维递归网络、解码用二维递归网络以及ctc模型依次连接构成的神经网络,其中该神经网络的输入即为深度卷积网络的输入,该神经网络的输出即为ctc模型的输出;

步骤s2、神经网络训练:将训练样本集中的每个训练样本作为神经网络的输入,将每个训练样本中各汉字的标签作为神经网络的输出,针对神经网络进行训练得到训练后的神经网络,从而得到训练后的深度卷积网络、训练后的编码用二维递归网络和训练后的解码用二维递归网络;其中,当训练样本输入到神经网络中时,针对训练样本的处理过程如下:首先由神经网络中的深度卷积网络获取到训练样本的特征图;然后输入到编码用二维递归网络,通过编码用二维递归网络得到训练样本的编码特征图;训练样本的编码特征图输入到解码用二维递归网络中,通过解码用二维递归网络得到训练样本各帧图像中每个汉字的概率结果,最后输入到ctc模型中进行处理,神经网络根据ctc模型的输出即训练样本中各汉字的标签针对深度卷积网络、编码用二维递归网络、解码用二维递归网络以及ctc模型进行训练,从而得到训练后的深度卷积网络、训练后的编码用二维递归网络、训练后的解码用二维递归网络以及训练后的ctc模型。

步骤s3、当获取到测试样本时,首先将测试样本输入到训练后的深度卷积网络中,通过训练后的深度卷积网络获取到测试样本的特征图;

步骤s4、将训练后深度卷积神经网络输出的测试样本的特征图输入到训练后的编码用二维递归网络中,通过训练后的编码用二维递归网络得到测试样本的编码特征图;

步骤s5、将测试样本的编码特征图输入至训练后的解码用二维递归网络中,通过训练后的解码用二维递归网络得到测试样本各帧图像中每个常用汉字的概率结果;

步骤s6、针对于步骤s5获取到的测试样本各帧图像中每个常用汉字对为该帧图像汉字的概率结果进行集束搜索处理,通过集束搜索结果最终识别出测试样本中整体中文文本。在本实施例中,集束搜索处理的具体过程如下:

步骤s6-1、针对于测试样本中各帧图像,从第一帧图像开始进行逐层搜索;其中针对于第一帧图像,比较各个常用汉字的概率结果,选取出概率值最高的k个概率结果;针对于第二针图像进行搜索时,进入步骤s6-2;其中k为一定值,可以取[1,c]范围中的其中一个整数值,其中c为常用汉字字符集的大小,常用汉字字符集中常用汉字包括一级常用汉字和空字符;在本实施例中k取10。

步骤s6-2、针对于当前帧图像搜索时,进行以下处理:将该帧图像中每个常用汉字的概率结果分别与上一帧图像搜索时选取的概率值最高的k个概率结果进行相乘,得到c*k个概率结果,从c*k个概率结果中选取出概率值最高的k个概率结果,然后进入步骤s6-3;其中c为常用汉字字符集的大小,即常用汉字字符集中常用汉字的总数;

步骤s6-3、判断当前帧图像是否为测试样本的最后一帧图像,若是,则进入步骤s3-4,若否,则下一帧图像作为当前帧图像,进行步骤s6-2的处理;

例如针对于第三帧图像进行搜索时,第三帧图像包括c个常用汉字的概率结果,分别为a1,a2,…,ac,而第二帧图像搜索后选取的概率值最高的k个概率结果分别为b1,b2,…,bk,那么第三帧图像中每个常用汉字的概率结果分别与第二帧图像搜索时选取的概率值最高的k个概率结果进行相乘后,将得到a1b1,a1b2,…,a1bk,a2b1,a2b2,…,a2bk,…,acb1,acb2,…,acbk总共c*k个概率结果,则从这c*k个概率结果中选取出概率值最高的k个概率结果。

步骤s6-4、针对于最后一帧搜索后获取到的概率值最高的k个概率结果中的每个概率结果,获取计算该概率结果所使用到的每帧图像中某一汉字的概率结果,然后从第一帧图像到最后一帧图像,依次将每帧图像中的该汉字串联成该概率结果的路径;

步骤s6-5、检测步骤s6-4获取到的各概率结果的路径中是否有空字符,若有,则删除;同时检测步骤s6-4获取到的各概率结果的路径中是否有相邻的字符为重复字符,若有,则删除重复的字符;

步骤s6-6、对比步骤s6-5处理之后的各概率结果的路径,将路径相同的概率结果进行相加合并,然后从最终获取到的多个概率结果中选择概率值最大的一个概率结果,将该概率结果的路径中对应汉字作为最终识别结果。

其中图1中的虚线箭头为训练样本训练神经网络的训练过程,实线箭头为测试样本进行测试的过程。

在本实施例中,上述步骤s2和步骤s3中,训练样本的文本图像输入到深度卷积神经网络以及测试样本的文本图像输入到训练后的深度卷积神经网络之前先进行预处理,其中预处理的过程如下:

步骤s1-1、将输入的文本图像转换为灰度图像;

步骤s1-2、将灰度图像变形转换为某一固定高度且转换后长度和高度比值与转换前相同的场景文本图像。在本实施例中,采用双线性插值变换方法将灰度图像变形转换为某一固定高度且转换后长度和高度比值与转换前相同的场景文本图像,所述某一固定高度为72、64、48、32、24、16或8个像素。

上述步骤s2和步骤s3中,深度卷积神经网络针对于输入的预处理后的训练样本的文本图像以及训练后的深度卷积神经网络针对于输入的预处理后的测试样本的文本图像的处理过程如下:

步骤s1-3、利用深度卷积神经网络对步骤s1-2获取到的场景文本图像进行高维特征提取,生成多个特征图,然后将多个特征图进行平均,得到平均特征图作为输出。

在本实施例中,如图1所示,深度卷积神经网络的前两层卷积为可变形卷积层;其中可变形卷积层的计算公式如下:

其中y(p0)为当前卷积层输出特征图中中心点p0点的卷积结果;r为感受野的大小和扩张,r内每一个元素表示感受野内其他点相对于感受野中心点p0点坐标的偏移;p0+pn+△pn为y(p0)所对应的卷积区域,△pn为感受野偏置,△pn内的横纵坐标均属于[-1,1]中的小数,pn∈r,pn指的是特征图中中心点p0点对应感受野内的偏移量,p0+pn为特征图中p0点对应感受野中偏移pn后的点;w(pn)为偏移值pn的权值;i(p0+pn+△pn)为y(p0)所对应的卷积区域内的特征图。

在本实施例中,编码用二维递归网络和解码用二维递归网络均包含2个bilstm网络,分别为水平bilstm和竖直bilstm,每个bilstm包含2个lstm,水平bilstm和竖直bilstm为两个参数不同的网络,水平bilstm的输出数目为隐层节点数目,竖直bilstm的输出数目为输出节点数目,隐层节点数目和输出节点数目通过2d-bilstm的网络参数设置。

其中编码用二维递归网络和解码用二维递归网络针对于输入的特征图的操作过程均如下:

步骤s2-1、根据窗口设置扫描输入特征图,产生窗口特征图;其中扫描窗口大小和步长均为网络设置参数;

步骤s2-2、首先采用列规则将窗口特征图转化为序列帧,然后将序列帧送入到水平bilstm中进行正反双向的计算;最后将计算结果还原为特征图;

步骤s2-3、对步骤s2-2中的特征图进行顺时针90度的旋转;

步骤s2-4、对于步骤s2-3旋转后的特征图,首先采用列规则将该特征图转化为序列帧,然后将序列帧送入到竖直bilstm中进行正反双向的计算;最后将计算结果还原为特征图;

步骤s2-5、对步骤s2-4中获取到的特征图进行逆时针90度旋转。

其中在上述步骤s2-2中,当解码用二维递归网络针对于输入的训练样本的编码特征图以及训练后的解码用二维递归网络针对于输入的测试样本的编码特征图进行解码时,水平bilstm在进行正反双向计算过程中融入注意力机制,具体过程如下:

步骤s2-2-1、首先在当前时刻第t个时刻计算由上一个时刻第t-1个时刻需要解码的编码序列帧ht-1、当前时刻第t个时刻需要解码的编码序列帧ht以及下一个时刻第t+1个时刻需要解码的编码序列帧ht+1所构成序列h={ht-1,ht,ht+1}的注意力因子:

其中

et,j=vttanh(w2st-1+vhj+b),j=t-1,t,t+1;

其中w2,v,v和b均为可训练参数,vt为v矩阵的转置;st-1为水平bilstm中隐节点在上一时刻t-1的状态;其中s={h0,h1,...,ht,...,ht′-1}为编码序列帧的集合,集合中各元素即为各编码序列帧,t′为编码序列帧的集合中编码序列帧的总数,h0、h1、ht′-1分别为水平bilstm在初始时刻即第0个时刻、第1个时刻、第t′-1个时刻需要解码的编码序列帧;

步骤s2-2-2、根据步骤s2-2-1当前时刻第t个时刻计算得到的序列h={ht-1,ht,ht+1}的注意力因子计算在当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积

其中w1为可训练参数;其中当t=0时,ht-1由相等维度的零向量进行补充;当t=t′-1时,ht+1由相等维度的零向量进行补充;是表示卷积运算;

步骤s2-2-3、根据步骤s2-2-2计算的当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积计算水平bilstm中隐节点在当前时刻第t个时刻的状态st:

其中yt-1为水平bilstm中隐节点在上一个时刻第t-1个时刻的输出;

步骤s2-2-4;根步骤s2-2-2计算的当前时刻第t个时刻序列h={ht-1,ht,ht+1}的加权卷积以及步骤s2-2-3计算的竖直bilstm中隐节点在当前时刻第t个时刻的状态st计算得到当前时刻第t个时刻的解码输出结果:

上述步骤s2-4中,当解码用二维递归网络针对于输入的训练样本的各编码序列帧以及训练后的解码用二维递归网络针对于输入的测试样本的各编码序列帧进行解码时,竖直bilstm在进行正反双向计算过程中融入注意力机制,具体过程如下:

步骤s2-4-1、首先在当前时刻第t个时刻计算各编码序列帧所构成编码序列s′={h0′,h1′,...,ht′,...,h′t″-1}的注意力因子:

其中

e′t,j=vttanh(ws′t-1+vh′j+b),j=0.,1,...,t″-1;

其中w,v,v和b均为可训练参数,vt为v矩阵的转置;s′t-1为竖直bilstm中隐节点在上一时刻t-1的状态;其中s′={h′0,h′1,...,h′t,...,h′t″-1}为编码序列帧的集合,集合中各元素即为各编码序列帧,t″为编码序列帧的集合s′={h′0,h′1,...,h′t,...,h′t″-1}中编码序列帧的总数,h0′至h′t″-1分别为竖直bilstm在初始时刻即第0个时刻至第t″-1个时刻需要解码的编码序列帧;

步骤s2-4-2、根据步骤s2-4-1当前时刻第t个时刻计算得到的编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的注意力因子计算在当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权和gt:

步骤s2-4-3、根据步骤s2-4-2计算的当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权和gt计算中竖直bilstm中隐节点在当前时刻第t个时刻的状态s′t:

s′t=rnn(y′t-1,gt,s′t-1);

其中y′t-1为竖直bilstm在上一个时刻第t-1个时刻的输出;

步骤s2-4-4;根步骤s2-4-2计算的当前时刻第t个时刻编码序列s′={h′0,h′1,...,h′t,...,h′t″-1}的加权卷积以及步骤s2-4-3计算的竖直bilstm中隐节点在当前时刻第t个时刻的状态s′t计算得到当前时刻第t个时刻的解码输出结果:

y′t=generate(s′t,gt)。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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