一种深度学习场景文本序列识别方法与流程

文档序号:17604762发布日期:2019-05-07 20:38阅读:378来源:国知局
一种深度学习场景文本序列识别方法与流程
本发明涉及一种对包含有重要文本信息的图片上的中英文文本序列进行识别的方法。
背景技术
:现有主流基于深度学习的字符识别方法框架已经在社会上取得广泛关注。较早期的字符识别都是针对单一字符进行识别,但是在现实世界中的视觉对象往往是以序列形式出现的,例如营业执照,身份证照片等。因此此类字符识别方法在实际应用上仍有较大的局限性。根据最新研究进展,一种端对端训练的神经网络算法,卷积循环神经网络(convolutionalrecurrentneuralnetwork,crnn)算法,针对场景文本序列进行训练,能够对场景中的文本序列进行识别代替以往的单一字符识别。crnn网络架构包含1)卷积层,从输入图像中提取特征序列;2)循环层,预测每一帧的标签分布;3)转录层,将每一帧的预测变为最终的标签序列。具体为:步骤1、输入包含文本序列图像;步骤2、在卷积层中经过多层的卷积操作和池化操作后,输出图像的卷积特征图;步骤3、将卷积特征图输入循环神经网络预测每一帧的标签分布,得到网络输出;步骤4、将网络输出输入转录层中联合时间分类(ctc)模块,去除冗余字符得到最终文本识别结果。图1展示了crnn场景文本识别流程,图2展示了crnn的卷积层结构,即先将输入图片进行两次卷积,然后做一次池化,上述步骤重复两次,进而将输出卷积三次,池化一次,该步骤重复三次输出几位crnn卷积层输出结果。注意到crnn在卷积层中使用池化操作来降采样,降低每层输出的特征尺寸,也因此存在丢弃重要特征的可能性,所以最终的识别结果会出现漏识别的情况,尤其是遇到占位比比较小的字符时,它们的特征有可能会丢失很多(本身的特征信息比较少)。另外,循环层中需要将循环神经网络模块中隐藏层单元连接起来,计算效率较低,而实际应用中发现卷积操作同样能够预测每一帧的标签分布。技术实现要素:本发明的目的是提供一种基于联合线性插值上采样的稠密神经网络算法的场景字符识别方法。为了达到上述目的,本发明的技术方案是提供了一种深度学习场景文本序列识别方法,其特征在于,包括以下步骤:步骤1、对联合线性插值上采样的稠密卷积神经网络进行训练,该联合线性插值上采样的稠密卷积神经网络包括三层稠密模块加卷积模块层、对第三层稠密模块加卷积模块层的输出结果进行双线性差值以增大特征图尺寸的线性差值模块、接收线性差值模块的输出并进行序列特征提取的一层稠密模块层、对稠密模块层的输出进行卷积操作从而产生最终的特征序列的一层卷积层,其中,稠密模块为平均池化操作被替换为卷积核为2*2、步长为2的卷积操作的稠密神经网络;步骤2、实时输入包含文本序列的图像;步骤3、文本序列图像输入训练后的联合线性插值上采样的稠密卷积神经网络得到与步骤2输入的图像相对应的特征序列;步骤4、将特征序列输入转录层中的归一指数函数分类器,得到特征序列中每一帧的预测标签,进而将预测标签输入转录层中的联接时间分类模块,去除冗余字符得到最终文本识别结果。优选地,所述步骤1包括:步骤101、将训练数据输入联合线性插值上采样的稠密卷积神经网络,训练数据包括序列图像和序列标签;步骤102、序列图像在联合线性插值上采样的稠密卷积神经网络中前向传播,计算神经网络每层的权重;步骤103、联合线性插值上采样的稠密卷积神经网络输出至转录层的softmax函数中,计算得到步骤102输出的特征序列的每一帧的类别概率,然后将每帧的类别概率输入联合时间分类损失函数得到最终的输出结果,将输出结果与序列标签做最佳拟合,进而反向传播更新神经网络每层的权重;步骤104、重复步骤102及步骤103直至收敛。为了降低池化层降采样带来的负面影响,本发明使用稠密神经网络densenet作为卷积层基础模块,同时将稠密神经网络中使用的平均池化操作替换为卷积核为2*2、步长为2的卷积操作用于降采样,并在第三个卷积模块之后加入线性插值模块,将第三个卷积模块的输出结果进行双线性插值,能够在一定程度上恢复降采样丢失的特征信息,进而接入卷积模块加深网络深度,提取更深层次的特征。另外为了提升计算效率,本发明去除了循环层,直接使用卷积层和转录层进行场景文本识别。附图说明图1为crnn场景文本识别流程图;图2为crnn卷积层结构;图3为基于联合线性插值上采样的稠密卷积神经网络模块结构;图4为稠密模块过程示意图;图5为本发明处理场景字符识别方法训练过程图;图6为本发明场景文本识别示意图;图7为中文合成数据库样本图片;图8为本发明使用的测试图片;图9为图8所示图片的识别结果。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。本发明设计了一种深度学习场景识别方法,包括输入层、联合线性插值上采样的稠密卷积神经网络层和转录层。输入层由序列图像和序列标签组成。联合线性插值上采样的稠密卷积神经网络层由稠密模块、卷积模块和基于双线性插值的上采样模块组成,如图3所示。输入特征送入卷积层,经过三层稠密模块+卷积模块之后,接入双线性插值上采样模块,以增大特征图尺寸。进而继续介入一层稠密模块及一层卷积层,最后输出深度特征。其中,稠密模块为稠密神经网络densenet,本发明将稠密神经网络中使用的平均池化操作替换为卷积核为2*2,步长为2的卷积操作用于降采样。具体操作过程已展示在图4中,具体为:将输入特征进行批量标准化,进而使用relu函数做激活操作,最后接入一个卷积层,将卷积结果和稠密模块的输入进行拼接,得到稠密模块的输出。双线性插值的基本思想为在找到一个函数f,计算其在点p=(x,y)的值,并插入图像中(x,y)位置中。假设已知f在q11=(x1,y1)、q12=(x1,y2)、q21=(x2,y1)和q22=(x2,y2)四个点的值,则可以首先在x方向上进行线性插值,得到:其中r1=(x,y1)、r2=(x,y2)。然后在y方向上插值,得到:因此,双线性插值结果f(x,y)即为:通过双线性插值的方法,可将池化层的降采样结果在一定程度上进行恢复,并使得池化层输出的特征图长和宽增加一倍,因此可再接入一层稠密模块进行序列特征提取,使得序列特征更有效。本发明提供的一种深度学习场景文本序列识别方法包括训练部分和测试部分,训练过程具体实施方式可参见图5,具体为:步骤1、将训练数据输入联合线性插值上采样的稠密卷积神经网络,训练数据包括序列图像和序列标签,其中每个序列图像高为32,宽为280,通道数为1,包含10个字符;步骤2、序列图像在联合线性插值上采样的稠密卷积神经网络中前向传播,计算神经网络每层的权重,表1展示了网络模块结构,每层的权重和每层的输出信息;步骤3、联合线性插值上采样的稠密卷积神经网络输出至转录层的softmax函数中,计算得到步骤2输出的特征序列的每一帧的类别概率,然后将输出每帧的类别概率输入联合时间分类损失函数得到最终的输出结果,将输出结果与序列标签做最佳拟合,进而反向传播更新神经网络每层的权重;步骤4、重复步骤2及步骤3直至收敛。表1各层权重及输出信息测试部分包括以下步骤:步骤1、输入任意待识别图片;步骤2、将图片送入序列文本检测网络(connectionisttextproposalnetwork,ctpn)用于序列文本检测,具体为,将图片上任意位置的文本区域检测出来,输出文本位置;步骤3、将ctpn输出的文本位置在输入图片中截取出来,并将截取出来的图片内容利用线性插值的方法将高度调整为32,宽度根据相应的比例进行调整;步骤4、将调整尺寸之后的文本区域内容输入基于联合线性插值上采样的稠密卷积神经网络模块,进行如表1形式的前向传播,提取特征序列;步骤5、将特征序列输入转录层,得到最终的预测输出结果。步骤1、对联合线性插值上采样的稠密卷积神经网络进行训练,该联合线性插值上采样的稠密卷积神经网络包括三层稠密模块加卷积模块层、对第三层稠密模块加卷积模块层的输出结果进行双线性差值以增大特征图尺寸的线性差值模块、接收线性差值模块的输出并进行序列特征提取的一层稠密模块层、对稠密模块层的输出进行卷积操作从而产生最终的特征序列的一层卷积层,其中,稠密模块为平均池化操作被替换为卷积核为2*2、步长为2的卷积操作的稠密神经网络;步骤2、实时输入包含文本序列的图像;步骤3、文本序列图像输入训练后的联合线性插值上采样的稠密卷积神经网络得到与步骤2输入的图像相对应的特征序列;步骤4、将特征序列输入转录层中的归一指数函数分类器,得到特征序列中每一帧的预测标签,进而将预测标签输入转录层中的联接时间分类模块,去除冗余字符得到最终文本识别结果。本发明改进了现有技术中卷积层的网络结构,将现有的稠密神经网络中的平均池化操作替换为卷积核为2*2步长为2的卷积操作来降采样,在一定程度上降低池化操作使得特征丢失造成的不良影响,另外加入上采样层对降采样结果进行双线性插值恢复,进而重新接入稠密模块加深网络层数,使得提取到的特征序列更有效。为了更好的说明该问题,我们使用人工合成的中文数据库进行测试,数据包括360万张序列图片,总共5990个字符,每张图片长宽分别为280和32,包含10个字符。所有图片都会经过随机调整亮度,调整角度,调整字体等操作。图7给出一些样本图。在此数据库上,我们使用其他的一些相关算法做了一些识别率比较。我们在数据库中挑选3279606张图片用于训练,364400张图片用于测试,其中识别率的计算方法为:测试图片中所有字符都识别正确的图片数/所有测试图片总数参数大小表示网络中所有参数大小总和。从方法比较结果可以看出,本发明方法在此数据库上取得了最高的识别率,达到了将近99%的识别率。另外,为了表现本发明的实际应用情况,我们同样在图8及图9中展示了一些图片的识别结果,首先利用,从图中可以看出,本发明方法在大多数情况下能取得非常理想的识别结果,如表2所示。表2:方法实验比较方法识别率参数大小inception+blstm0.9226.9mbresnet+blstm0.9123.2mbdensenet+blstm0.96522.9mbdensenet0.975.6mbvgg+blstm(crnn)0.9744.6mbdensenet+blstm+blstm0.980515.5mbdensenet+blstm0.98169.6mb本发明方法0.989720.7mb当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1