一种手写字符的识别方法与流程

文档序号:23797470发布日期:2021-02-02 11:00阅读:206来源:国知局
一种手写字符的识别方法与流程

[0001]
本发明属于计算机视觉领域,特别涉及一种手写字符的识别方法,主要用于光学字符识别。


背景技术:

[0002]
手写字符识别是计算机视觉领域的基础研究内容,主要任务是识别从纸、照片或触摸屏等媒介得到的文字信息。随着机器学习的发展,大多数的光学字符识别采用人工神经网络的方法,取得了较好的识别效果。但是相较于标准印刷体字符的识别,由于手写体字符因人而异并存在许多变化,因此难以被机器识别正确,有些甚至难以被人工识别正确。
[0003]
为了提高对于手写字符的识别准确率,本发明提出先将复杂多变的手写体图像处理为易于识别的标准印刷体图像,随后利用简单的分类器对标准印刷体进行分类的识别方法。本发明利用u-net的网络结构来实现将手写体图像处理为标准印刷体图像的操作,u-net是由ronneberger在2015年提出一种含有多个下采样与上采样操作的u型全卷积神经网络,通常用于图像的语义分割。分类器无需对大量的手写体图像进行学习,仅需要学习将标准印刷体正确分类即可,因此可以选取简单分类器,大大减少了分类器的模型复杂度,并且提高了分类器的识别速度。最后通过将u-net与分类器级联的方式,实现对手写体图像的高效识别。


技术实现要素:

[0004]
本发明的目的是提供一种手写字符的识别方法,从而解决目前对于手写字符识别不够准确的问题。
[0005]
为了实现上述目的,所采用的技术方法如下:
[0006]
步骤1)、制作手写字符对应的印刷体标准图像。对于同一字符的不同手写体图像,制作对应字符的标准印刷体作为标准图像,随后对标准图像进行灰度化、二值化等操作,以便u-net进行学习;
[0007]
步骤2)、搭建u型全卷积神经网络,初始化网络参数,将步骤1)中制作的各字符标准图像作为期望输出训练u-net,从而实现将同一字符的不同手写体图像输入u-net,输出该字符的标准图像;
[0008]
步骤3)、搭建一个简单的分类器,将步骤1)中制作的各字符的单张标准图像作为训练数据,训练该分类器,使其能够对标准图像准确分类;
[0009]
步骤4)、将u-net与分类器级联,原始图像输入u-net后得到经过处理的标准图像,随后将其送入分类器得到分类结果。
[0010]
本发明提供的手写字符识别方法,先将手写体图像处理为易于识别的标准印刷体图像,随后分类器对标准印刷体图像进行分类,能够有效提高手写体识别的准确率。
附图说明
[0011]
图1为制作标准图像的示意图,即对于同一字符的不同手写体,制作标准印刷体作为对应字符的标准图像;
[0012]
图2为u型全卷积神经网络结构的示意图;
[0013]
图3为本发明对手写字符识别的流程示意图。
具体实施方式
[0014]
为了使本领域的技术人员更好地理解本申请的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
[0015]
根据本发明的实施方案,手写体样本来源于mnist数据集。
[0016]
步骤1:参见图1的示意图,对于数据集中的每类字符,制作该类字符的标准印刷体图像素材,并将其灰度化为单通道图像,随后将其二值化,最后处理其图像尺寸,使其与数据集中图像尺寸一致。通过上述操作生成各类字符的标准图像。
[0017]
步骤2.1:搭建u型全卷积神经网络。参见图2的示意图,u型全卷积神经网络共包含13个卷积层(convolutional layer),2个下采样层(down-sampling layer),2个上采样层(up-sampling layer),以及两次跨层连接。
[0018]
除最后一个卷积层外,其余卷积核大小(kernel size)均为3
×
3,滑动步长(stride)为1,边缘填充(padding)为1,激活函数为relu,公式如下:
[0019]
f(x)=max(0,x)
[0020]
其中x为节点的输入值,f(x)为节点的输入经过激活函数之后的输出值。
[0021]
卷积层与激活函数之间都加入批量归一化(batch normalization),公式如下:
[0022][0023]
其中x是卷积后的结果,μ和σ分别是数据的均值和方差,γ和β是两个可学习的参数,分别控制数据的缩放和平移。
[0024]
下采样层采用最大池化(max pooling)的方法,窗口大小均为2
×
2,滑动步长为2。上采样层采用双线性内插法放大特征图,放大比例为2。跨层连接采用拼接(concatenate)的方式,将前层与后层的特征图连接。
[0025]
步骤2.2:训练u-net。初始化网络参数,将手写体图像数据作为输入送入u-net,将步骤1中制作的标准图像作为期望输出,损失函数采用二分类交叉熵(binary cross entropy),公式如下:
[0026][0027]
其中是模型预测样本是正例的概率,y是样本标签,若样本为正例,取值为1,否则取值为0。
[0028]
步骤3.1:搭建一个简单的分类器,本实施例采用支持向量机(support vector machine,svm)作为分类器,采用径向基函数核(rbf kernel),正则化系数为1,超参数为0.5。
[0029]
步骤3.2:训练svm分类器。仅使用各字符的单张标准图像作为svm的输入进行训练,使得svm能够准确分类各字符的标准图像。
[0030]
步骤4:将u-net与分类器级联,参见图3的示意图。将手写体图像送入u-net,经过u-net处理为标准图像,随后经过将标准图像送入分类器得到分类结果。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1