一种基于图像特征的手写数字识别方法与流程

文档序号:18621937发布日期:2019-09-06 22:34阅读:403来源:国知局
一种基于图像特征的手写数字识别方法与流程

本发明涉及图像信息的分析与识别方法,尤其涉及一种基于图像特征的手写数字识别方法。



背景技术:

手写数字识别技术是模式识别研究的主要领域之一。近年来,随着手写识别技术的发展,对文档中的数字的识别已经达到了不错的识别率,并且很多已经得到了商业应用。由于当今的经济发展,金融市场发展日益加快,票据业务发展很快,例如个人凭证,支票,发票,进账单等票据都需要处理大量信息,如果这些信息全依赖人工输入,无疑会浪费大量人力物力,会造成成本高、效率低等问题。所以,手写数字识别显得非常有必要。目前已有的手写数字识别的方法主要是两种,分别为基于邻近算法的数字识别方法和基于支持向量机的数字识别方法。

基于邻近算法的数字识别方法主要是在文本分类上有着极好的分类效果,包括信息检索、信息过滤等任务。但邻近算法仍然存在不足,主要表现为对于高维文本向量样本规模较大时,算法的时间和空间复杂度较高,当新的待分类样本到来时,每次都要计算其与所有训练样本的距离(或相似度),这就大大降低了算法的效率。

基于支持向量机的数字识别方法是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。支持向量机在解决小样本数据上相比传统的模型有明显较高的正确率,但是它依然存在不足,主要表现为特征提取难度大,特征提取的好坏直接影响着系统的性能。

在实际运用中,这两种方法的都存在一定的不足,往往表现为模型的抗噪声能力差,容易提取到一些冗余特征,当手写数字像素较低或图像模糊时,识别正确率较低。因此,目前现有的手写数字的识别技术难以满足当前手写数字识别的需求。



技术实现要素:

发明目的:针对现有技术存在的不足,本发明目的是提供一种基于图像特征的手写数字识别方法,对于一些低像素和清晰度较低的手写数字,可以实现较高准确度的识别,进而以可视化界面展示其分析和识别过程,有效满足了当前对手写数字识别的要求。

技术方案:一种基于图像特征的手写数字识别方法,包括以下步骤:

(1)对图像进行预处理操作;

(2)构建网络模型,设计网络的输入区域、卷积区域、池化区域和输出区域,对预处理后的手写数字图像数据集进行训练,得到用于手写数字识别的网络模型;

(3)构建可视化系统界面,展示导入手写数字图像、预处理和识别数字的过程。所述可视化系统包括图像导入模块,预处理模块和手写数字识别模块;其中,所述图像导入模块用于获取手写数字图片,预处理模块对手写数字图像进行预处理并展示,手写数字识别模块利用训练好的手写数字识别网络模型,识别手写数字并输出该数字和识别的时长。

进一步的,所述步骤(1)具体包括如下内容:

(1.1)对导入的原始手写数字图像进行去噪处理;

(1.2)对图像进行整形,再对图像进行灰度化处理,即

y=0.3r+0.59g+0.11b

其中,y是处理后的数值,r、g和b分别是图像色度的三个分量;

(1.3)进行像素矩阵的数值归一化,将像素值范围从0~255之间缩放到0~1之间。

进一步的,步骤(2)具体包括如下内容:

(2.1)确定该预测网络模型的输入区域和输出区域,预处理后的图像数据为m2个像素点,将其转化为m×m的矩阵作为网络的输入;网络的输出为0~9共10个数字,每个数字对应一个目标向量,因此,网络的输出区域设置为10个网络节点;

(2.2)确定中间区域;所述中间区域包括两层增强图像特征的卷积区域和对应的两个降采样区域;从输入区域到第一个卷积区域使用32个卷积滤波器,得出32个特征映射,经过降采样后,第二个卷积区域包含64个特征映射,且每一个都与上一层的每个映射相连。还可以通过逐渐增加或减少滤波器数目反复试验,对比训练结果,确定一个最佳中间区域的网络结构。

(2.3)使用线性整流函数作为响应函数,使用误差梯度下降的方法作为训练的算法来调节各区域的权值和阈值,进而使训练误差均方值最小化,逼近网络模型的目标输出值。

所述步骤(2.3)包括:

(2.3.1)前向传播阶段,即将数据集的一个样本(xp,yp)输入到该网络模型中,通过逐个区域的变换,最后计算出相应的实际输出op;本阶段使用平方误差代价函数来衡量误差:

设类别为c类,共有n个训练样本,则误差en为:

其中,表示第n个样本的目标输出的第k维,表示第n个样本的实际输出的第k维;将第n个样本的误差en表示为:

(2.3.2)反向传播的阶段,即将实际输出op与相应的目标输出yp之间的误差,按照误差极小化的原则反向传播误差并调整相应的权值。

本阶段中:

定义神经元的基的灵敏度为:

其中,e表示正向传播中实际输出值和期望输出值之间的误差,u表示输入,b表示神经元的基,第i层的灵敏度表示为:

其中,运算符表示矩阵每个元素相乘,“t”运算符表示矩阵转置,f为响应函数;

使用梯度下降法调节网络模型中卷积区域和下采样区域权值参数。

具体的,采用如下公式调节所述下采样区域的权值参数:

其中,表示第j个下采样区域第i个神经元的权值,down函数表示下采样函数,表示第j个下采样区域第i个神经元的偏置,表示第j个下采样区域第i-1个神经元的权值,表示第j个下采样区域第i个神经元的基,f为该层的激活函数。

采用如下公式调节所述卷积区域的权值参数:

其中,表示第j个卷积区域第i个神经元的灵敏度,表示第j个卷积区域第i+1个神经元的偏置,表示第j个卷积区域第i个神经元的输入,表示第j个卷积区域第i+1个神经元的输出,up函数为上采样函数,f为该层的激活函数。

有益效果:和现有技术相比,本发明具有如下显著进步:1、本发明基于原始图像进行去燥和去冗余特征的操作,具有较快的识别速度和较好的识别准确性:2、本发明基于数字图像特征构建用于识别的网络模型的结构和参数,具有较高的准确性,有较好的识别效果;3、本发明采用图形化界面展现分析和识别数字的过程。

附图说明

图1是本发明中基于图像特征的手写数字识别方法工作流程图;

图2是本发明中建立用于手写数字识别的网络模型的工作流程图;

图3是本发明中建立的手写数字识别系统界面示意图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程进行充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明基于原始的手写数字图像进行图像的灰度化、去噪、归一化等预处理操作,从而方便在建立识别网络模型时能够较快地提取图像的关键特征。将大量的手写数字图像数据作为训练集,训练一个用于数字识别的网络模型,建立一个基于此模型的手写数字分析识别系统,从而解决目前手写数字识别准确率较低等问题。

如图1所示,一种基于图像特征的手写数字识别方法,包括如下步骤:

(1)图像预处理

对导入的原始手写数字图像进行去噪处理,接着对图像整形,将其重整为28×28像素大小,再对图像进行灰度化处理,即

y=0.3r+0.59g+0.11b

其中,y是处理后的数值,r、g和b分别是图像色度的三个分量。最后进行像素矩阵的数值归一化,将像素值范围从0~255之间缩放到0~1之间。这一系列的图像预处理之后,更加凸显了手写数字的特征,有利于之后的特征分析。

(2)手写数字识别网络模型的建立

该模块基于预处理后的手写数字图像数据集,构建网络模型,设计网络的输入区域、卷积区域、池化区域和输出区域,并进行训练,最终训练出用于手写数字识别的网络模型。

具体的,用于手写数字识别的网络模型的构造方法为:

步骤1,确定该预测网络模型的输入区域和输出区域,预处理后的图像数据为784个像素点,将其转化为28×28的矩阵作为网络的输入。网络的输出为0~9共10个数字,每个数字对应一个目标向量,因此,网络的输出区域设置为10个网络节点。

步骤2,确定中间区域,它是连接网络输入区域和输出区域的重要桥梁,决定着整个网络的结构和性能。中间区域包括两层增强图像特征的卷积区域和对应的两个降采样区域。从输入区域到第一个卷积区域使用32个卷积滤波器,得出32个特征映射,经过降采样后,第二个卷积区域包含64个特征映射,且每一个都与上一层的每个映射相连。在训练的在过程中也可通过逐渐增加或减少滤波器数目反复试验,对比训练结果,从而确定一个最佳中间区域的网络结构。

步骤3,确定响应函数和训练算法,使用线性整流函数作为响应函数,发挥其良好的可微性和非线性映射能力,使用误差梯度下降的方法作为训练的算法来调节各区域的权值和阈值,进而使训练误差均方值最小化,最终逼近网络模型的目标输出值。

网络构造完毕后便可以使用预处理后的图像数据对网络进行训练,主要分为两个阶段:第一阶段是前向传播阶段,即将数据集的一个样本(xp,yp)输入到该网络模型中,通过逐个区域的变换,最后计算出相应的实际输出op;第二个阶段是后向传播的阶段,即将实际输出op与相应的目标输出yp之间的误差,按照误差极小化的原则反向传播误差并调整相应的权值。

参见图2,具体的,该训练的方法为:

步骤1,前向传播阶段使用平方误差代价函数来衡量误差,设类别为c类,共有n个训练样本,则误差en为:

其中,表示第n个样本的目标输出的第k维,表示第n个样本的实际输出的第k维。由于全部训练样本的误差只是将每个训练样本的误差加到一起,因此第n个样本的误差en可表示为:

步骤2,反向传播阶段引入一个概念,即基的灵敏度,它代表反向传播的误差,它是误差对基b的变化率,表示为:

其中,e表示误差,u表示输入,b表示神经元的基,因此第i层的灵敏度可以表示为:

其中,运算符表示矩阵每个元素相乘,“t”运算符表示矩阵转置,f为响应函数,之后便可以运用δ规则进行权值的更新了。

步骤3,下采样区域的权值更新,down函数表示下采样函数,对输入特征图的n×n领域中的像素做求和运算,每个特征图都对应着不同的偏置β和神经元的基b,f为激活函数,x为权值,计算公式如下:

步骤4,卷积区域的权值更新,输入的特征图与一个可以训练的卷积核进行卷积计算,再加上一个偏置项,最后通过一个激活函数就得到了输出特征图,其中,输入特征图可以有不同的组合方式。先求得卷积区域i上的每个神经元的基的灵敏度δi,上采样在下采样区域中对应的灵敏度map,经过上采样之后的灵敏度map大小就与卷积区域i的特征图大小一致了,j为下采样区域索引,up函数为上采样函数,计算公式表示为:

(3)可视化系统的构建

可视化系统包括三个逻辑独立的功能模块:图像导入模块,预处理模块和手写数字识别模块。在图像导入模块中,可以选择读取pc端使用画板书写的数字图片,也可以连接移动设备传输拍摄的手写数字图片。在预处理模块中,对导入的原始手写数字图像进行去噪处理,接着对图像整形,将其重整为28×28像素大小,再对图像进行灰度化、归一化处理并展示。在手写数字识别模块中,利用训练好的手写数字识别网络模型,识别手写数字并输出该数字和识别的时长。该图形化软件的示意图如图3所示。

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