本发明属于图像分类
技术领域:
,是一种通过数据集扩展且基于卷积神经网络模型的汉字分类方法。
背景技术:
:脱机手写汉字的识别问题一直是模式识别研究领域的难点之一。尽管近几十年来开展了很多相关的研究,但脱机手写汉字识别问题仍然有很多困难需要克服。这些困难主要来自以下几个方面:大规模的汉字类别(仅是GB2312-80的一级字库就有3755种汉字)、错综复杂的汉字结构、大量相似的汉字以及由于不同书写习惯导致的汉字旋转或形变。一些非限定性手写汉字之间的区别很小,例如“士”、“土”和“干”,“大”、“火”和“太”,“已”、“己”和“巳”等,这使得脱机手写汉字识别任务更具有挑战性。脱机手写汉字的识别问题,至今没有很好的解决方案。为了解决这些问题,许多识别模型和方法已被提出,包括特征提取、分类、识别以及后续处理等。其中,最具潜力的方法是深度学习和卷积神经网络模型,它可以将优化特征提取和分类相结合,且能获得比传统的模式识别方法更优异的性能。卷积神经网络就被YanLecun等提出并进行实验验证,最早应用在手写数字识别上,在MINST上取得了0.9%的错误率。卷积神经网络在手写汉字识别问题上也能取得比传统的机器学习方法更优异的表现。多尺度梯度(Multi-scalegradient)和深度神经网络(deepneuralnetwork)在2015年时由WeishenPan等人提出,其可以有效地识别脱机汉字字符。XinLiu等人提出的结合汉字字符传统的八方向特征(eight-directionfeatures)来训练CNNs能有效识别联机汉字字符。然而,CNNs模型依赖于大量的训练样本来学习有效的特征,没有足够多的训练样本常常无法获得令人满意的识别性能。为了解决训练样本稀缺导致CNNs模型识别性能不佳的问题,本发明提出了一种基于样本集扩展和CNNs的手写汉字识别方法,其基本思想是通过增加有效训练样本的数量来扩大训练样本的规模,从而提高模型的识别性能。一些产生新的训练样本的方法已被研究,且它们当中大多数是针对手写数字识别问题的。例如,PatriceY.Simard等人探索了使用弹性形变的方法来扩展训练样本集从而提高了对数字字符的识别准确率。高学等人使用随机弹性形变的方法扩展训练样本集从而提高了对汉字字符的识别准确率。以上方法对数据集样本数量级要求高,需要大量的数据来训练网络模型,对于小数量级样本并没有很好地效果。而且方法复杂,对于不同数据集,模型效果有一定差别,没有很好地普适性。因此,对于小样本脱机手写汉字的分类,目前还没有较为识别能力很强的方法。技术实现要素:本发明的目的在于克服现有技术存着的上述不足,提供一种基于卷积神经网络模型的脱机手写汉字识别方法。本发明的目的通过如下技术方案实现。一种基于形变方法进行数据扩展的脱机手写汉字识别方法,其包括按顺序进行的下列步骤:1)在linux系统上搭建卷积神经网络的caffe深度学习框架平台;2)准备数据集(HCL2000数据集下的一级汉字):通过弹性形变,错切,小角度范围旋转等方法扩展后训练数据集,并准备带有标签的测试数据集。测试集为带有标签的脱机手写汉字。3)利用上述数据集在caffe平台上训练卷积神经网络模型,得到测试结果,实现对汉字的更好性能的识别;进一步地,在步骤2)中,训练数据集从HCL2000一级手写汉字数据集中处理后所得,处理方法为分类通过弹性形变,错切,小角度范围旋转获得一定数量的样本,将样本输入到模型中,在训练过程中,通过弹性形变模型可以学习到更多的字体笔画、骨架等特征;通过错切,小角度范围旋转可以模仿出人写字偏斜的情况,从而学习到一些歪斜,旋转的汉字特征;测试集为随机从HCL2000数据集中取出的未使用过的样本,并带有标签;卷积神经网络模型采用本发明发明人自创的网络模型。与现有技术相比,本发明提供的基于卷积神经网络模型的脱机手写汉字分类方法具有的优点和积极效果是:(1)采用目前分类效果出色的卷积神经网络模型,分类性能高;(2)通过弹性形变,错切,小角度范围旋转来扩展训练数据集;通过弹性形变模型可以学习到更多的字体笔画、骨架等特征;通过错切,小角度范围旋转可以模仿出人写字偏斜的情况,从而学习到一些歪斜,旋转的汉字特征;以提高卷积神经网络模型对旋转字体识别的鲁棒性;(3)实验基于GPU的并行计算,训练和测试速度远远高于CPU的运算速度。附图说明图1为卷积神经网络拓扑结构。图2为不同强度的高斯白噪声处理图片效果图。图3a为实例中的初始图像;图3b施加形变后的效果图;图3c对图3b实施滤波后的形变效果图。图4为使用不同标准偏差α的高斯核和不同的缩放因子α的弹性变形结果图。图5为旋转变换几何关系图。图6为小范围旋转角度下的旋转图像。图7为初始图、对应的水平错切图像和对应的垂直错变图像。图8为一些未经过处理的相似手写汉字图。图9为通过标准差σ=4,σ=20分别处理后的弹性形变效果图。图10为对样本进行范围内的随机旋转的效果图。图11为通过错切处理后的汉字图。具体实施方式以下结合附图和实例对本发明的具体实施作进一步说明,但本发明的实施和保护不限于此,需指出的,以下若有未特别详细说明之处,均是本领域技术人员可参照现有技术实现的。卷积神经网络由输入层、隐含层和输出层组成,隐含层则主要包括卷积层、最大化池采样层和全连接层组成。(1)卷积层。卷积层用于视觉接受域中提取基本视觉特征,也被称为特征映射,操作单元也被称作神经元。(2)最大采样层。因为图像具有一种“静态性”的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图像,可以从不同位置的特征进行聚合统计,统计特征不仅可以降低维度,同时还会改善结果,不容易过拟合。这里采用最大池化,取池化区域的最大值作为下一层的输入。(3)全连接层。经过卷积层和池化层之后,将提取出来的特征再进行组合,最后得到了每个字所具有的独一无二的特征。在权重参数初始化的选择上,采用Xavier策略,这是由Xavier等人在2010年提出的一种归一化初始化策略,该策略使网络在训练过程中可以保持激活差异和背向梯度方差,使网络收敛得非常快。该策略由式给出:这里的U指的是均匀分布,分别为当前层和下一层的神经元的数量。此外,在网络训练参数调整上,为提高网络的鲁棒性和加快网络收敛,设定以下网络参数:(1)学习率。学习率将随着迭代次数的增加逐渐减小。采用以下更新策略:其中,为基础学习速率,、为设定的参数,iter为迭代次数,实验中取,,。(2)神经网络激活函数。采用RELU非线性激励函数代替以往的sigmoid函数。(3)误差函数增加了动量项和规则化项。动量项是基于物理学中的牛顿定律,当误差曲面进入了“平坦区”后,网络可以更快地收敛。正则项则是为了避免网络过拟合而引进的一个正则化系数,也称为权重衰减系数。网络的最后一层,即全连接层,其设计是与网络的分类任务相关联的。输出层的神经元数量被设为所需分类的类别数目。在本实例中,采用了softmax分类器,交叉熵误差由式给出。对于个类别的分类任务,令为第个样本的交叉熵误差值,而分类判别规则由式给出,其中是一个独立于类别的常数。对于,若有,则为最小值,那么即被分为第类。在搭建完网络之后,接下来对样本进行弹性形变处理。卷积神经网络能够对局部视野的进行卷积。因此对脱机手写汉字训练样本进行弹性形变可以获得更多的局部特征信息。图像的形变实际上是通过坐标变换域、作用到原图像上的每个像素点来实现的,这种作用可用式来表达:其中表示形变后的图像像素点的灰度值,表示原图像像素点的灰度值(一般地,由于、均有可能为负数使得像素的新坐标的值超出给定的图像范围,因此假定超出原图像的像素点的灰度值均为255),、分别表示原图像像素点在水平方向和竖直方向上的偏移量。一般地,和均为非整数,因此在计算灰度值时插值操作是必须的,最简单有效的插值方法是双线性插值。假设坐标变换域是随机的,即,,这里的指的是由均匀分布产生的一个随机数,其大小在到之间,是一个控制图像的形变强度的因子,称为形变强度因子,那么根据式将此随机变换域作用到原样本(图3a)上。该形变结果显示,样本的笔画信息将被严重破坏。因此,为了能够保留一定的样本笔画信息,对随机变换域作平滑处理是必须的;而最简单有效的处理办法是对随机变换域进行高斯低通滤波,即把随机变换域、分别与大小为、均值为0、标准差为σ的高斯核进行卷积。将经过高斯低通滤波后得到新的变换域根据式作用到原样本(图3a)上,得到的结果如图3c所示。本实例中,随机变换域/();高斯低通滤波采用空域中大小为、均值为0、标准差的高斯低通滤波核。图4给出了几种不同形变强度因子α和不同标准差σ的高斯滤波器下的样本形变效果。由图2可以看出,当高斯滤波器标准差σ越小时,形变后样本的笔画信息丢失越严重,像给样本加了随机噪声一样;当高斯低通滤波器的标准差σ越大时,得到的变换域就越平滑,形变后样本的笔画信息被保留得越多。接下来通过仿射变换处理样本。由于人们的书写习惯各异,在现实生活中的手写汉字会存在一定的倾斜情况。因此,对原始样本图像进行小角度的旋转和错切变换,这样可以仿真这种倾斜书写的情况。在几何上,两个向量空间之间的一个仿射变换可以由一个线性变换和一个平移组成。对于二维空间,仿射变换可以用矩阵的形式表示:其中大小为的矩阵和列向量都是仿射变换的系数,和分别表示原二维线性空间的基向量和经仿射变换后的二维线性空间的基向量。对样本作仿射变换得到新的样本可以通过式将转换系数作用到图像上的每一个像素点来实现。这种作用关系由式给出。其中表示变换后图像坐标为的像素点的灰度值,表示原图像坐标为的像素值(由于和的值都有可能超出给定图像且为非整数,因此假定超出给定图像大小的像素点的灰度值均为255并在专利中应用双线性插值的方法)。常见的仿射变换有平移、缩放、旋转、错切变换(水平方向上和竖直方向上)等。本实例采用了对样本作旋转和错切变换(水平方向上和竖直方向上)的方法来扩展样本集。对样本进行小范围角度旋转处理,如图5所示,以点为轴心逆时针旋转,假定点在原二维空间中的坐标为,则由几何关系可以得到点在新的二维空间中的坐标的取值分别为:因此,旋转变换系数分别为:,对图像中的每一个像素都通过和来计算新的坐标取值,然后根据式计算每一个像素点的新的灰度值,即可得到旋转图像。改变中的参数可以改变以图像中心为轴心图像逆时针旋转的角度。图6中展示了几种随机旋转角度下的旋转图像,上方是五个原图像,下方是对应的随机角度旋转图像。接下来,分别对样本图像作水平方向上和竖直方向上的错切变换。水平方向上和竖直方向上的错切变换转换系数分别由式和给出:,;,.对于水平错切变换,保持方向上的值不变,根据式来计算方向上的坐标值。同理竖直错切变换的实现根据式来得到。改变中的参数的大小可以改变错切变换的强度。图7展示了一些错切的手写汉字样本图像。,,。本实例采用了HCL2000的手写汉字样本数据库,HCL2000是北京邮电大学发布的一个大规模的脱机手写体汉字识别样本库。数据库中包含3755个常用的简化汉字,分别由1000个不同的人书写。通过随机选取,选取了十组相似汉字,每组汉字包括十个相似字,每个汉字总共300个,对于每个字,选取其中225个字作为训练集,75个作为测试集。为了减少网络的层数,采用最近邻内插的算法将64×64的图片大小调整为28×28,除此之外,为了避免由于字体处于边缘而导致网络提取特征的可能会丢失部分特征,在调整大小后的图片四周添加2个像素的空白,变成32×32的大小。实验一:原始训练样本集在CNN模型上的识别能力研究在实验一中,用未经任何形变处理的十组相似汉字样本作为训练集来测试提出的卷积神经网络训练模型,调整网络参数,最终得到如表1所示的结果:Table.1ResultsoftheRecognitionAbilitytoInitialSamples组别01020304050607080910平均值正确率0.9420.9450.8620.9520.8630.9420.9470.9230.9100.9400.9226实验结果表明,十组的汉字的识别准确率都比较高,平均正确率达到92.26%,说明了该卷积神经网络模型的有效性和可靠性;但存在部分样本的识别准确率不高的情况,观察这十组相似汉字样本发现,汉字识别的准确率受到汉字本身的相似性的影响。实验二:添加经弹性形变和小幅度旋转处理的训练样本集在CNN模型上的泛化能力研究实验二中,对训练样本进行弹性变换处理、内的旋转处理后添加到训练样本集中,其中经弹性形变处理和旋转处理的样本数量都是原始样本数量的5倍。重新训练网络模型,最终得到的实验结果如表2所示:表2对训练集添加旋转和弹性形变之后,识别未知汉字的结果与实验一的结果相比较,十组相似手写汉字的识别正确率有所提高,平均识别正确率达到94.05%,比没有添加处理过的样本训练得到的模型的平均正确率提高了1.8%。但仍存在部分样本的识别准确率改善不大的情况。实验三:添加经弹性形变、小幅度旋转和错切变换处理的训练样本集在CNN模型上的泛化能力研究在实验二的基础上,给训练样本集添加错切变换(包括水平方向上的和竖直方向上的)后的训练样本后(其中弹性形变处理、小幅度旋转处理、错切变换处理的训练样本数量均为未处理的训练样本数量的5倍,即扩展后的训练样本集规模是原来的15倍),然后对网络进行重新训练与测试,得到的实验结果如表3所示:Table.3经弹性形变、小幅度旋转和错切变换处理的训练样本集训练模型测试未知汉字的结果组别01020304050607080910平均值正确率0.9620.9800.9150.9700.9150.9650.9620.9480.9100.9700.9497与实验二的结果相比较,十组相似手写汉字的识别正确率都有相应的提高,平均识别正确率达到了94.97%,比没有添加处理过的样本训练得到的模型的平均正确率提高了2.71%,错误率下降了35.01%,这证明了本发明提出的方法的有效性。通过对实验结果的分析比较,可以得出结论:通过弹性形变、小幅度旋转和错切变换处理训练样本来扩展原训练样本集的方法能有效提高识别模型的泛化能力,使模型的识别正确率达到95%。可以认为,本发明提出的通过添加经线性变换(旋转和错切变换)和非线性变换(弹性形变)处理的训练样本能更有效地识别相似手写汉字,极大地提高了模型的识别泛化能力。证明了本发明的方法行之有效。当前第1页1 2 3