一种基于深度学习的字符识别方法与流程

文档序号:12272340阅读:698来源:国知局
一种基于深度学习的字符识别方法与流程

本发明涉及一种字符识别方法,尤其是一种基于深度学习的字符识别方法。



背景技术:

OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。可应用于银行票据、大量文字资料、档案卷宗、文案的录入和处理领域。适合于银行、税务等行业大量票据表格的自动扫描识别及长期存储。OCR软件主要是由图像处理模块、版面划分模块、文字识别模块和文字编辑模块等4部分组成。其中文字识别模块是OCR软件的核心部分,文字识别模块主要对输入的汉字进行“阅读”,但不能同时识别多行,必须逐行切割,对于汉字通常也是单字识别,再进行归一化。现有的识别方法中模板匹配识别以及概率判定准则在较早的OCR字符识别中应用较多,但是正确率很难达到90%以上。



技术实现要素:

本发明要解决的技术问题是现有的识别方法中模板匹配识别以及概率判定准则在较早的OCR字符识别中应用较多,但是正确率较低。

为了解决上述技术问题,本发明提供了一种基于深度学习的字符识别方法,包括如下步骤:

步骤1,收集字符训练样本,对各个字符训练样本的图片进行二值化处理,再将二值化处理后的图片分类输入到深度学习网络中;

步骤2,对字符训练样本进行学习,设定学习次数上限和识别精度阈值,在进行监督学习时根据输入样本的刺激下不断地改变卷积神经网络各层之间的连接权重,当学习次数已达到学习次数上限或识别精度达到识别精度阈值时,保存当前卷积神经网络各层之间的连接权重,并以此建立神经网络模型作为字符识别分类器;

步骤3,利用训练好的连接权重模型提取所有训练样本的字符特征并附上相应标签,再进入SVM学习将低维输入空间线性不可分的训练样本的字符特征转化为高维特征空间使其线性可分,从而将训练样本的字符特征分入相应的类别;

步骤4,字符识别,读取包含待识别字符的字符图片,对字符图片进行二值化处理,再利用字符识别分类器对二值化处理后的字符图片进行字符特征识别提取,再通过SVM对识别提取的字符特征进行分类,待识别字符属于识别误差最小的那个类别。

作为本发明的进一步限定方案,步骤2中监督学习的具体步骤为:

步骤2.1,给各分层之间的连接权重分别赋一个区间(-1,1)内的随机数,设定识别精度函数E以及学习次数上限M,设输入层与隐含层的连接权重为Wih,隐含层与输出层的连接权重为Who

步骤2.2,设定隐含层各神经元的阈值为bih,计算隐含层节点未加激活函数时的输出Xj为:

其中,Xi为字符训练样本,k为字符训练样本Xi中元素的个数;

步骤2.3,设定神经元本身输出的激活函数则输入激活函数Hi为:

步骤2.4,由于隐含层对应有k个激活函数,于是便有k个隐含层输出Hi,输出层各神经元的阈值为bho,则有输出层节点未加激活函数时的输出Hj为:

于是此时的输出激活函数Yj为:

步骤2.5,设定识别精度阈值为Emax,则用于计算识别误差的识别精度函数为:

其中,Dj为字符训练样本对应的期望输出,再判断E与Emax的大小关系,若E≥Emax,则跳转到步骤2.8,若E<Emax,则进入步骤2.6;

步骤2.6,获取连接权重的改变量为:

其中,l为学习率,

步骤2.7,对连接权重进行更新:

WihN+1=WihN+ΔWih

WhoN+1=WhoN+ΔWho

其中,N表示第N次更新学习,若N≤M,则选取下一个字符训练样本Xi并重新设定字符训练样本对应的期望输出Dj,再返回步骤2.2,若N>M,则停止更新学习,并进入步骤2.8;

步骤2.8,保存当前卷积神经网络各层之间的连接权重,并以此建立神经网络模型作为字符识别分类器。

本发明的有益效果在于:本发明以人工神经网络模式识别来作为OCR识别模块,识别率可以达到95%以上,且通过神经网络训练得到的模型具有良好的泛化能力和容错能力。

附图说明

图1为本发明的方法流程图;

图2为本发明的字数识别过程;

图3为本发明的字符识别的训练学习过程。

具体实施方式

如图1-3所示,本发明提供的基于深度学习的字符识别方法,包括如下步骤:

步骤1,收集字符训练样本,对各个字符训练样本的图片进行二值化处理,再将二值化处理后的图片分类输入到深度学习网络中;

步骤2,对字符训练样本进行学习,设定学习次数上限和识别精度阈值,在进行监督学习时根据输入样本的刺激下不断地改变卷积神经网络各层之间的连接权重,当学习次数已达到学习次数上限或识别精度达到识别精度阈值时,保存当前卷积神经网络各层之间的连接权重,并以此建立神经网络模型作为字符识别分类器;

步骤3,利用训练好的连接权重模型提取所有训练样本的字符特征并附上相应标签,再进入SVM学习将低维输入空间线性不可分的训练样本的字符特征转化为高维特征空间使其线性可分,从而将训练样本的字符特征分入相应的类别;

步骤4,字符识别,读取包含待识别字符的字符图片,对字符图片进行二值化处理,再利用字符识别分类器对二值化处理后的字符图片进行字符特征识别提取,再通过SVM对识别提取的字符特征进行分类,待识别字符属于识别误差最小的那个类别。

其中,步骤2中监督学习的具体步骤为:

步骤2.1,给各分层之间的连接权重分别赋一个区间(-1,1)内的随机数,设定识别精度函数E以及学习次数上限M,设输入层与隐含层的连接权重为Wih,隐含层与输出层的连接权重为Who

步骤2.2,设定隐含层各神经元的阈值为bih,计算隐含层节点未加激活函数时的输出Xj为:

其中,Xi为字符训练样本,k为字符训练样本Xi中元素的个数;

步骤2.3,设定神经元本身输出的激活函数则输入激活函数Hi为:

步骤2.4,由于隐含层对应有k个激活函数,于是便有k个隐含层输出Hi,输出层各神经元的阈值为bho,则有输出层节点未加激活函数时的输出Hj为:

于是此时的输出激活函数Yj为:

步骤2.5,设定识别精度阈值为Emax,则用于计算识别误差的识别精度函数为:

其中,Dj为字符训练样本对应的期望输出,再判断E与Emax的大小关系,若E≥Emax,则跳转到步骤2.8,若E<Emax,则进入步骤2.6;

步骤2.6,获取连接权重的改变量为:

其中,l为学习率,

步骤2.7,对连接权重进行更新:

WihN+1=WihN+ΔWih

WhoN+1=WhoN+ΔWho

其中,N表示第N次更新学习,若N≤M,则选取下一个字符训练样本Xi并重新设定字符训练样本对应的期望输出Dj,再返回步骤2.2,若N>M,则停止更新学习,并进入步骤2.8;

步骤2.8,保存当前卷积神经网络各层之间的连接权重,并以此建立神经网络模型作为字符识别分类器。

本发明的总体思路是特征提取+SVM分类,其中,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权重相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权重,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。本专利中训练一个较深的卷积神经网络的深度模型作为字符特征的提取器,(层数至少在十层以上),采用多个3*3的卷积核对字符图片进行卷积,字符图片的分辨率设为28*28的,经过逐层的不同卷积核滤波器滤波之后,输出得到的是不同图片在结构上的不同特征,将这些特征压缩成一个维1*m的特征矩阵。

SVM分类需要分两步,即学习与预测,预测就是最终的字符识别的模型分类。将cnn提取出的一维特征矩阵与相对应的标签进行有监督学习,这一过程SVM寻找找一个空间去重构表达所有字符的空间分布,把原始的数据对象映射到这个空间去表达,并选取超平面将不同类别进行分割,最终达到识别分类的效果。

本发明的核心是利用卷积神经网络来提取字符特征,神经网络学习过程的本质是对各连接权重的动态调整,在外界输入样本的刺激下不断改变网络的连接权重,以使网络的输出不断地接近期望的输出。并用最终拟合效果最好的模型来做字符识别。在收集训练样本字符时,深度学习的训练样本要越多越好,且数据要有一定的冗余。学习的类型是有监督学习,已知样本的正确输出(即标签类别),用正确输出与实际输出的误差改变网络参数,样本信号是正向传播,误差为反向传播。

如图2所示为发明的字数识别过程,具体步骤为:首先要对测试样本进行二值化处理,方便对样本的字符进行提取;然后再提取测试样本的特征,特征向量为Y,将特征向量Y映射到训练好的核空间(Y);然后再求出核空间(Y)在每类样本子空间的重构识别误差;最后确定待识别字符属于重构识别误差最小的那个类别。

如图3所示为本发明的字符识别的训练学习过程,具体步骤为:首先利用训练样本进行样本训练,并在训练过程中不断地更新输入层与隐含层的连接权重为Wih以及隐含层与输出层的连接权重为Who;再将输出结果和设定的正确结果进行比较,若比较的结果未达到误差范围内,则更新连接权重Wih以及Who,若比较的结果达到误差范围内,则保持当前的连接权重,并以此建立神经网络模型;再提取输入字符图片的特征,再进入SVM学习并分类。

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