基于深度学习的文字识别模型训练方法和识别方法

文档序号:9453423阅读:306来源:国知局
基于深度学习的文字识别模型训练方法和识别方法
【技术领域】
[0001] 本发明涉及模式识别与机器学习领域,尤其涉及神经网络与深度学习技术领域, 更具体地涉及一种基于深度学习的文字识别模型训练方法和识别方法。
【背景技术】
[0002] 对于文字识别(0CR),传统的方法需要人工设计特征,这需要大量专家知识。而深 度学习是一种特征学习方法,只需要提供大量训练样本,模型就会自动学习到鲁棒的特征 表达。
[0003] 另外,常见的卷积神经网络卷积层一般不超过5层。相对于少数几个卷积层,使用 更多的卷积层不可避免地增加了问题的难度。传统的解决思路是直接随机初始化网络权 值,再进行训练。然而当卷积层超过5层后,这种方法会导致无法训练。

【发明内容】

[0004] 为了解决现有技术存在的空缺,本发明的一个目的是提供一种基于深度学习的字 符识别模型的训练方法,再一个目的是利用训练得到的字符识别模型对文字进行识别。
[0005] 具体地,本发明的基于深度学习的字符识别模型的训练方法包括以下步骤:
[0006] 步骤S1,构建多层卷积神经网络的结构,包括设置网络的层数、卷积窗大小、每层 的节点数等。定义一个输出层来输出字符分类的结果,每个类别标签定义一个输出结点。
[0007] 步骤S2,采用传统的误差反向传播算法训练网络,从而得到字符识别模型,这里目 标函数为输入图像的真实标签与模型预测结果的交叉熵。
[0008] 步骤S3,增加卷积层层数得到新的网络结构,用步骤S3得到的模型初始化网络权 重。
[0009] 步骤S4,重复步骤S2与S3,即逐渐增加卷积层层数并训练,直到识别正确率不再 提高为止,得到最终的字符识别模型。
[0010] 步骤S5,使用维特比算法,求出每个词语对应的分数,分数最高的即为识别出的词 语。
[0011] 步骤S6,对测试图像采用扫描窗口进行测试,从给定词典中找出最有可能的词语。
[0012] 基于上述技术方案可知,本发明的方法基于深度学习,把字符识别问题当成一个 多类别分类问题,该方法可以学习到文字的鲁棒特征,不必人工设计特征,且后续处理可以 有效地将备选字符识别成词语,能够广泛地应用于自然场景下的文字识别问题。本发明的 方法利用更深的卷积神经网络来学习文字特征,对于文字的颜色、大小、光照、模糊具有鲁 棒性,字符识别和词语识别能够保持较高的准确率。
【附图说明】
[0013] 图1是本发明的基于深度学习的自然场景词语识别方法的流程图;
[0014] 图2是本发明的基于深度学习的文字识别方法所使用的网络结构的示意图。
【具体实施方式】
[0015] 以下结合附图详细说明本发明技术方案中所涉及的各个细节问题。应当指出的 是,所描述的实施例仅旨在便于理解,对本发明不起任何限定作用。
[0016] 本发明公开了一种基于深度学习的文字识别方法,主要包括建立更深的卷积神经 网络来识别字符,以及从识别出的备选字符中找出最可能的词语。该方法具体包括:首先, 设计多层卷积神经网络结构,把每一个字符作为一个类别,这样就形成了一个多类别分类 问题;然后,采用反向传播算法训练卷积神经网络用以识别单一字符,有监督地最小化该网 络的目标函数,得到字符识别模型;最后根据现有识别出的字符,采用维特比算法从词典中 找出最有可能的词语。经过以上步骤,一个用于自然场景下的词语识别模型就完成了。在 测试的时候,给定一个输入,需要先进行滑动窗口扫描获得备选字符,再从备选字符中找出 最可能的词语。本方法利用更深的卷积神经网络来学习文字特征,对于文字的颜色、大小、 光照、模糊具有鲁棒性,字符识别和词语识别能够保持较高的准确率。
[0017] 更具体地,本发明基于深度学习提出一种自然场景中的词语识别方法。通过模仿 深度置信网逐层训练的方法来进行分步训练,即每次增加2-3层卷积层,用上一次训练好 的模型对本次模型进行权值初始化,再进行整体微调。因为大部分权值在上一步已经较好 地学习,从而每次训练收敛速度很快。通过设计更深的网络结构并分步训练,本发明提高了 字符识别的当前最好结果。
[0018] 以下详细说明本发明方法涉及的关键步骤。
[0019] 步骤一,构建多层卷积神经网络,包括定义构成网络的层数、卷积窗大小和节点数 等。每个输出节点代表一类字符,共62类(26个大写字母+26个小写字母+10个数字)。 作为优选,可以采用多于12个卷积层、多于3个全连接层和2个最大值池化层的深度卷积 神经网络,其中第一、二卷积层后面接局部响应归一化层。如此多的卷积层可以提取更好的 特征,实验表明比常见的5层卷积层的神经网络效果好。
[0020] 步骤二,采用误差反向传播算法对网络进行训练。在输出层上利用一个结点来描 述一个标签信息1,计算其交叉熵,并求和作为模型的目标函数。模型的激活函数f(x)可以 表示为f(x) =max(0,WTx+b)。其中W是模型权重,b是偏置项,x是输入。记Zi为第1类 对应输出节点的输出值,这样可以根据softmax层的输出得到模型预测?1为
[0021]
[0022] 采用反向传播算法进行有监督训练,模型的目标函数E为图像的真实类别qi与模 型预测Pl之间的交叉熵:
[0023] E= -E1qilogPi;
[0024] 其中,log函数优选以自然对数e为底;
[0025] 步骤三,增加2-3层卷积层,设计更深的网络结构。用上一步已经训练好的模型初 始化卷积层和全连接层,新增加的卷积层权重值进行随机初始化。
[0026] 步骤四,重复步骤二和步骤三,即每次增加卷积层得到新的结构,再对新结构进行 训练。
[0027] 步骤五,softmax层的输出为该字符的分数(0~1的实数),预先给定的词典中包 含了该数据集所有可能出现的词语。使用维特比算法,求出每个词语对应的分数。
[0028] 步骤六,对测试图像使用扫描窗口进行测试,从给定词典中找出最有可能的词语。
[0029] 本发明可以扩展到汉字和其他字符的识别,实验了中文一级字库3755个汉字的 训练与识别,也有较好表现。
[0030] 实施例
[0031] 为了详细说明本发明的【具体实施方式】,以某词语识别数据集为例说明。该数据集 包含862张已经裁减好的自然场景中的词语,每张图像包含一个词语和少量背景。实现的 模型可以自动进行图像内词语的识别。具体步骤如下:
[0032] 步骤S1,从词语数据集中裁减出6113个字符图像作为训练集,5379个字符图像组 成测试集。
[0033] 步骤S2,使用一个5层卷积层+3层全连接层的深度卷积神经网络进行学习,其卷 积层统一使用128个结点,3X3的卷积窗口,步长取为1。全连接层结点分别为256, 256,62 个。
[0034] 步骤S3,将图像训练集随机划分为8个子集,每个子集包含768个图像(最后一个 子集不足768张,取为768是为了加速GPU运算)。
[0035] 步骤S4,采用随机梯度下降法,迭代大约400个周期。期间当错误率不再降低时, 把学习率除以10,继续训练直至网络收敛为止。
[0036] 步骤S5,依次加入额外的3个卷积层,2个卷积层,2个卷积层进行分步训练。最终 的结构共有12个卷积层+3个全连接层,该模型字符识别效果最好,作为最终的字符识别模 型。
[0037] 步骤S6,用扫描窗口扫描测试图像,用训练好的模型识别出字符,再采用维特比算 法得到最有可能的单词。
[0038] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在 本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
【主权项】
1. 一种基于深度学习的字符识别模型的训练方法,包括以下步骤: 步骤S1,构建多层卷积神经网络,包括设置网络层数、卷积窗大小、每层节点数;定义 一个输出层来输出字符分类的结果,每个类别标签定义一个输出结点; 步骤S2,训练所述多层卷积神经网络,从而得到字符识别模型,这里目标函数为输入图 像的真实标签与所述字符识别模型预测结果的交叉熵; 步骤S3,增加所述多层卷积神经网络的卷积层层数得到新的多层卷积神经网络,用步 骤S2得到的模型参数来初始化所述新的多层卷积神经网络卷积层的权重; 步骤S4,重复步骤S2与S3,即逐渐增加卷积层层数并训练,直到识别正确率不再提高 为止,得到优化的字符识别模型。2. 根据权利要求1所述的基于深度学习的字符识别模型的训练方法,其中所述步骤S2 中采用误差反向传播算法来训练所述多层卷积神经网络,从而得到字符识别模型。3. 根据权利要求1所述的基于深度学习的字符识别模型的训练方法,所述方法还包括 步骤S5,使用维特比算法,从给定词典中求出所述字符识别模型中每个词语对应的分数,分 数最高的即为识别出的词语,从而得到最终的字符识别模型。4. 根据权利要求1所述的基于深度学习的字符识别模型的训练方法,其中步骤S3所述 增加所述多层卷积神经网络的卷积层层数的步骤中,每次增加2-3层卷积层。5. 根据权利要求4所述的基于深度学习的字符识别模型的训练方法,其中所述步骤S4 中,最终采用多于12个卷积层、多于3个全连接层和2个最大值池化层的深度卷积神经网 络,所述深度卷积神经网络中第一、二卷积层后面接局部响应归一化层。6. -种基于深度学习的文字识别方法,包括以下步骤: 采用如权利要求1至5任意一项所述的基于深度学习的字符识别模型的训练方法对字 符识别模型进行训练; 扫描待识别图像,利用上述步骤得到的所述字符识别模型对所述扫描得到的待识别图 像进行识别,从给定词典中找出最有可能的词语。
【专利摘要】一种基于深度学习的文字识别方法,包括:设计更深的多层卷积神经网络结构,把每一个字符作为一个类别;采用反向传播算法训练卷积神经网络用以识别单一字符,有监督地最小化该网络的目标函数,得到字符识别模型;最后根据现有识别出的字符,采用维特比算法从词典中找出最有可能的词语。在测试的时候,给定一个输入,需要先进行滑动窗口扫描获得备选字符,再从备选字符中找出最可能的词语。本方法利用更深的卷积神经网络来学习文字特征,对于文字的颜色、大小、光照、模糊具有鲁棒性,字符识别和词语识别能够保持较高的准确率。
【IPC分类】G06K9/00, G06K9/62
【公开号】CN105205448
【申请号】CN201510522576
【发明人】王亮, 王威, 张宇琪, 范伟
【申请人】中国科学院自动化研究所, 富士通株式会社
【公开日】2015年12月30日
【申请日】2015年8月24日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1