一种基于卷积神经网络模型的旋转汉字识别方法与流程

文档序号:11134768阅读:4235来源:国知局
本发明属于图像分类
技术领域
,特别是一种基于卷积神经网络(CNN)模型的旋转汉字识别方法。
背景技术
:脱机手写汉字识别一直是模式识别领域的难点之一。如何增强脱机手写汉字的随机旋转单字识别能力有很强的现实意义。在日常生活中,传感器的特性和局限性等原因常导致一个模式识别系统的输入不够理想,对脱机汉字识别系统的输入常出现自然旋转,这将会导致识别系统的识别能力下降;对于大角度旋转的脱机汉字,几乎难以识别。脱机手写汉字的旋转问题,至今没有很好的解决方案。本发明针对GB2312—80一级字符集,对选取的所有脱机相似手写汉字图像进行随机角度旋转处理之后再进行识别。旋转脱机手写汉字识别的主要困难在于笔画顺序未知、角度难以确定、特别是大量相似汉字的存在以及不规则的书写变形。在旋转之后,脱机汉字将更难识别。因此,改善旋转汉字的识别性能具有很强的现实意义。近年来,为解决脱机旋转字符识别问题,人们提出了许多有效的方法:U.Pal等人为了解决多方位多尺度的印刷艺术英语字符的识别问题,提出了一种基于字符边界点的归一化信息的修正的二次判别函数(MQDF)识别方法,对旋转的英文字符可以有效识别。C.Singh等人提出了提出改变泽尼克矩的(ThemagnitudeofZernikemoments)单个实分量和虚分量的新方法,改变后的实分量和虚分量随后被用作不变图像描述符,这种方法对旋转字符识别有很好的识别性能。但是以上方法对数据集样本数量级要求高,需要大量的数据训练网络,对于低数量级样本并没有很好地效果。而且方法复杂,对于不同数据集效果有一定差别,没有很好地普适性。因此,对于随机旋转的汉字的分类,目前还没有较为普适有效的方法。技术实现要素:为了解决上述问题,本发明的目的在于提供一种基于卷积神经网络模型的旋转汉字识别方法,分类速度快的基于卷积神经网络的分类方法。本发明采用如下技术方案实现。一种基于卷积神经网络模型的旋转汉字识别方法,其包括按顺序进行的下列步骤:1)在linux系统上搭建卷积神经网络的caffe深度学习框架平台;2)准备数据集(HCL2000数据集下的一级汉字):训练数据集和带有标签的测试数据集。训练集为原始手写汉字以及将原始汉字任意角度旋转得到的样本共同加入训练集中,测试集为带有标签的任意角度旋转的手写汉字。3)利用上述数据集在caffe平台上训练卷积神经网络模型,得到测试结果,实现对任意角度旋转汉字的识别;进一步地,在步骤2)中,训练数据集是从HCL2000一级手写汉字数据集中处理后所得,处理方法为对数据集中汉字进行旋转,从而在训练过程中,模型可以学习到更多的旋转特征;测试集为对数据集中汉字任意角度随机旋转,并带有标签。与现有技术相比,本发明提供的基于卷积神经网络模型的旋转汉字分类方法具有的优点和积极效果是:(1)采用目前分类效果出色的多层卷积神经网络模型,分类准确率高;(2)通过对汉字图像进行任意角度旋转对样本集进行扩展,得到的模型可以学习到旋转样本的特征,以提高卷积神经网络模型对旋转字体识别的鲁棒性;(3)实验基于GPU的并行计算,训练和测试速度远远高于CPU的运算速度。附图说明图1为实例中卷积神经网络拓扑结构。图2为实例中旋转变换几何关系图。图3为实例中随机旋转角度下的旋转图像。图4为实例中未旋转样本与旋转样本共同训练模型对旋转样本识别能力曲线。具体实施方式以下结合附图和实例对本发明的具体实施作进一步说明,但本发明的实施和保护不限于此,以下若有未特别详细说明之处,均是本领域技术人员可参照现有技术实现的。如图1,卷积神经网络由输入层、隐含层和输出层组成,隐含层则主要包括卷积层、最大化池采样层和全连接层组成。(1)卷积层。卷积层用于视觉接受域中提取基本视觉特征,也被称为特征映射,操作单元也被称作神经元。(2)最大采样层。因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,可以从不同位置的特征进行聚合统计,统计特征不仅可以降低维度,同时还会改善结果,不容易过拟合。采用最大池化,取池化区域的最大值作为下一层的输入。(3)全连接层。经过卷积层和池化层之后,将提取出来的特征再进行组合,最后得到了每个字所具有的独一无二的特征。在权重参数初始化的选择上,采用Xavier策略,这是由Xavier等人在2010年提出的一种归一化初始化策略,该策略使网络在训练过程中可以保持激活差异和背向梯度方差,使网络收敛得非常快。该策略由式给出:这里的U指的是均匀分布,分别为当前层和下一层的神经元的数量。此外,在网络训练参数调整上,为提高网络的鲁棒性和加快网络收敛,设定以下网络参数:(1)学习率。学习率将随着迭代次数的增加逐渐减小。采用以下更新策略:其中,为基础学习速率,、为设定的参数,iter为迭代次数,实验中取,,。(2)神经网络激活函数。采用RELU非线性激励函数代替以往的sigmoid函数。(3)误差函数增加了动量项和规则化项。动量项是基于物理学中的牛顿定律,当误差曲面进入了“平坦区”后,网络可以更快地收敛。正则项则是为了避免网络过拟合而引进的一个正则化系数,也称为权重衰减系数。网络的最后一层,即全连接层,其设计是与网络的分类任务相关联的。输出层的神经元数量被设为所需分类的类别数目。在本实例中,采用了softmax分类器,交叉熵误差由式给出。对于个类别的分类任务,令为第个样本的交叉熵误差值,而分类判别规则由式给出,其中是一个独立于类别的常数。对于,若有,则为最小值,那么即被分为第类。在搭建完网络之后,接下来对样本进行旋转变换。旋转变换是仿射变换的操作方式之一,通过对原始样本进行旋转变换,并加入到训练集之中,可以使得模型学习到旋转的样本特征。因此,对原始样本进行旋转处理,并将旋转样本加入到训练集中训练模型。在几何上,两个向量空间之间的一个仿射变换可以由一个线性变换和一个平移组成。对于二维空间,仿射变换可以用矩阵的形式表示:其中大小为的矩阵和列向量都是仿射变换的系数,和分别表示原二维线性空间的基向量和经仿射变换后的二维线性空间的基向量。对样本作仿射变换得到新的样本可以通过式将转换系数作用到图像上的每一个像素点来实现。这种作用关系由式给出。其中表示变换后图像坐标为的像素点的灰度值,表示原图像坐标为的像素点的灰度值(由于和的值都有可能超出给定图像且为非整数,因此假定超出给定图像大小的像素点的灰度值均为255并在实验中应用双线性插值的方法)。常见的仿射变换有平移、缩放、旋转、错切变换(水平方向上和竖直方向上)等。本实例采用了对样本作旋转的方法来扩展样本集。常见的仿射变换有平移、缩放、旋转、错切变换(水平方向上和竖直方向上)等,而旋转是重要的仿射变换操作之一。如图2所示,以点为轴心逆时针旋转,假定点在原二维空间中的坐标为,则由几何关系可以得到点在新的二维空间中的坐标的取值分别为:因此,旋转变换系数分别为:,对图像中的每一个像素都通过和来计算新的坐标取值,然后根据式计算每一个像素点的新的灰度值,即可得到旋转图像。改变中的参数可以改变以图像中心为轴心图像逆时针旋转的角度。图3中展示了几种随机旋转角度下的旋转图像(上方是原图像,下方是对应的随机角度旋转图像)。最后对发明方法进行测试,本实例采用了HCL2000的手写汉字样本数据库,HCL2000是北京邮电大学发布的一个大规模的脱机手写体汉字识别样本库。数据库中包含3755个常用的简化汉字,分别由1000个不同的人书写。对于脱机手写汉字的识别能力,通过最有可能性的n个候选集方法,对脱机手写汉字已经有较高的识别能力。然而对于相似字,由于笔画相近,字体结构相仿,目前在汉字识别领域仍是一大挑战。因此,随机选取十组相似汉字,每组汉字包括十个相似字体,每个字体共300个原始样本。对于每个字体,选取其中225个样本作为训练集,75个作为测试集。为了降低维度并减小训练量,采用最近邻内插的算法将64*64的样本图像大小调整为28*28。除此之外,为了避免由于字体处于边缘而导致网络提取特征时可能会丢失部分特征,在调整大小后的图像四周添加2个空白像素(像素灰度值为255),最终得到的汉字样本图像大小为32*32。通过搭建的卷积神经网络训练模型,调整网络参数,最终得到表1所示的结果。表1原始样本识别能力实验结果通过实验测试可知,十组相似汉字的识别准确率平均值达到了92.26%,并且每组汉字的识别准确率都很高,证明了网络的合理性和有效性。但存在部分样本的识别准确率不高的情况,通过查看错误样本,发现汉字识别的准确率受到汉字本身的相似性的影响。例如“士”和“土”、“大”“太”和“火”等,由于无约束手写汉字中的书写变形的影响,将会导致这些相似字难以正确识别。在汉字旋转后,错误可能依然存在。此外“士”和“干”这类汉字可能会由于某字旋转后,变成另一个字体,而导致识别错误。采用上述原始样本识别能力实验训练出来的模型对旋转任意角度()的十组相似汉字分别进行分类测试,测试结果如表2。表2原有样本训练得出模型对旋转样本直接测试的结果组别01020304050607080910平均值准确率0.1900.1590.2420.1630.1500.1710.1930.1960.2170.1670.1848对本实验的测试准确率求均值可得旋转的相似汉字平均识别能力仅有18.48%,完全不足以应用。因此,采用原始样本训练出来的模型无法准确识别旋转汉字。首先通过对原始样本进行固定角度旋转,以字体的几何中心为旋转中心,每产生一个旋转样本。对于单个样本,在旋转角度的范围内可以得到36个旋转样本。然后将新产生的旋转样本加入到训练集中,训练网络模型。最后对随机角度旋转样本进行测试。接着,每产生一个旋转样本,与上述描述相同,用训练后的网络模型对随机旋转样本进行测试。采取01组的十个相似字进行实验,得到表3所示结果。表3每旋转得到的样本加入训练集对随机旋转样本的识别能力实验通过对原始样本进行随机旋转得到旋转样本,将旋转后的样本加入训练集,并改变旋转样本与原始样本的比例作为对照。将旋转后不同比例的样本以及原始样本共同作为训练集来训练网络。采取01组的十个相似字进行实验,得到如表4所示。表4未旋转样本与旋转样本共同训练模型对旋转样本识别能力如图4,实验结果表明,随着所加旋转样本的增加,旋转字体识别能力有所提升,同时当旋转样本比例达到30倍正常的样本之后,准确率将稳定在93%附近,接近于没有添加旋转样本的时候训练得到的网络所获得的准确度(94.2%)。在训练集中随机旋转样本与原始样本比例为50:1时,达到最好效果(0.939)。下面,对其余九组中进行同样比例的实验,取得如下相似的结果:表5训练集中加入50倍随机旋转样本时对随机旋转字体识别结果组别01020304050607080910平均值准确率0.9390.9420.8580.9530.8640.9490.9200.9130.9010.9470.9186实验结果证明,通过固定角度旋转产生样本,以及随机角度产生大量样本来训练模型均可以提高对旋转汉字的识别准确率。证明本发明提出的通过旋转原始样本产生一定数量旋转样本来训练模型可以有效地识别未知的旋转样本。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1