论文部分内容阅读
【摘 要】手写体数字识别是多年来的研究热点,也是模式识别领域中最成功的应用之一。由于识别类型较少,在实际生活中有深远的应用需求,一直得到广泛的重视。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,可以很好地解决非线性问题,在函数逼近、模式识别和数据压缩等方面都有很广泛的应用。本文设计了一个3层BP神经网络的数字识别系统,实验结果表明,该系统对印刷体数字有较高的正确识别率,对手写体数字也能达到较好的识别效果。
【关键词】手写体,模式识别,BP神经网络,识别率
手写体数字识别是多年来的研究热点,也是模式识别领域中最成功的应用之一,主要是用于研究如何利用电子计算机来自动辨识手写体阿拉伯数字。它有着重大的实际意义和理论意义。例如票据的录入、人口普查、成绩单录入、邮政系统自动分拣等、,这些应用都是与我们的生活息息相关的,因此,一旦脱机手写体数字识别的研究满足使用需求并投入应用,将会产生巨大的社會效益。但是由于手写体数字的随意性很大,每个人的书写特点都不一样,同一个人在不同的环境下写出的字也不一样,因此,传统的识别方法很难达到较理想的识别率和可靠率。
近年来,BP神经网络技术取得了飞速的发展,它是一种前馈反向型神经网络,具有并行处理以及自组织和自学习等优点,被广泛的应用于模式识别领域。本文针对手写数字识别选用BP神经网络用于分割和识别,并取得了较好的识别效果。
1 BP神经网络
1986年,D.E.Rumelhart和J.L.McClellang提出了一种利用误差反向传播训练算法的神经网络,简称BP网络。是一种有隐含层的多层前馈网络,系统地解决了多层网络中隐含单元连接权的学习问题。BP学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络学习过程是一种误差边向后传播边修正权系数的过程。反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
图1 BP神经网络结构示意图
2 BP神经网络数字识别系统设计
设计BP网络的关键在于高效的特征提取方法、大量有代表性的样本及高效稳定速收敛的学习方法。BP网络的任务是要设计并训练出一个可行、高效的BP网络,以实现对0~9共10个数字的识别。数字识别系统主要分两个阶段,学习阶段和识别阶段。在学习阶段,主要是通过对样本数字提取出来的特征值按照预期的输出训练网络,确定网络的权值,以便在识别阶段使用。在识别阶段,将预处理后的字符再按某种特征提取方法取出字符的特征,将提取出来的特征值作为神经网络的输入进行识别,得出识别结果。即在识别阶段,主要经过预处理、特征提取和分类输出3个步骤实现对数字的识别。
手写体图像数据在没有进行一定的图像预处理和特征提取之前,不能立即应用到程序中进行神经网络训练和字符识别工作。从图像处理角度来说,手写体的字符识别对字符是不是有颜色是不关心的,而对此图像的清晰度是很关心的。所以在图像进行一系列的图像处理工作是很有必要的。图像的预处理是正确、有效提取图像特征的基础,有效的图像特征作为网络的输入值才能进行正确的神经网络训练和最终得到正确、有效的网络权重。图像预处理包括彩色图像的灰度化、灰度图像的二值化、梯度锐化、去离散噪声、中值滤波、倾斜度调整、图像分割以及归一化处理。
2.1特征提取
经过预处理,把原来大小不同、分布不规律的各字符变成大小一样、排列整齐的字符。下面要从预处理完的字符中提取最能体现这一个字符的特征向量,将提取出的训练样本中的特征向量代入BP网络中就可以对BP网络进行训练。提取出待识别的样本中特征向量代入训练好的BP网络中就可以进行识别。在这里采取逐像素特征提取法,方法是对图像进行逐行逐列扫描,当遇到黑色像素时,取其特征值为1,当遇到白色像素时,取其特征值为0。这样扫描结束后就形成一个维数与图像中像素点的个数相同的特征向量矩阵。
经过图像预处理之后,可以将最终提取到的字符特征送入BP网络进行训练和识别。在归一化整理中,字符高度和宽度分别为m、n,那么对于每个字符就有m*n维的特征。
2.2 BP网络设计
三个层的神经元数目的确定也是BP网络设计的关键。
首先,确定输入层的结点数。BP网络的输入层的结点个数为图像预处理后所输出的特征的维数。在归一化整理中,每个字符有m*n维的特征,在特征提取中,采用了逐像素特征提取法,即直接利用每个点的像素值来作为特征,这样对一个输入样本就有m*n个特征。本系统采用了8*16归一化,特征提取采用的是粗网格特征提取法。这样对于每一个输入样本就要128个特征,即输入层的节点数为128。
其次,确定隐层结点数。隐层节点的数目没有硬性规定,隐层神经元数目越多,BP网络识别越精确,但是训练时间也就越长。一般情况下,根据两个经验公式可以确定隐节点数,并根据实际情况做相应调整。
为隐层节点数,为输入层节点数,为输出层节点数,为1~10之间的常数。本文根据实际情况分析后,确定隐层节点数为12.
最后,确定输出层结点数。这里采用8421码对0~9这十个数字来进行编码。因此,可以得到输出层的维数为4,也就是输出层神经元数目为4。 在编程的过程如果采用(0,0,0,0)这样的目标输出向量时,BP网络将无法收敛,因为采取的激活函数的输出永远不可能达到0或者1,而只能是无限接近,所以有必要纠正目标输出向量,对其重新编码后,确定方案如下:
对0的编码:0.1,0.1,0.1,0.1;
对1的编码:0.1,0.1,0.1,0.9;
对2的编码:0.1,0.1,0.9,0.1;
…… ……
对9的编码:0.9,0.1,0.1,0.9。
2.3BP神经网络的学习和训练
首先利用大量的训练样本来训练网络,以得到以文件形式保存的权值。训练样本为精心选择的可以很好地反映样本可分特性的已知数据。将训练样本图片进行特征提取后,就可以送入BP网络进行训练。本文选用3层BP网络,其输入层有128个节点,隐层有12个节点,其输出层有4个节点。通过对数字样本进行训练,将学习的结果纳入到聚类源。
3 结果分析
将原始图像通过图像传感器转换成二维图像信号,通过预处理和特征提取得到了5个测试样本,通过BP神经网络学习和训练后,得到输出向量。对比识别结果发现,该网络对于印刷体的正确识别率能够达到96%,而对于不同的手写体的识别率最高也能达到93%以上。
4 结论
通过实验表明,基于BP神经网络的手写体数字识别方法具有较强的容错性和很好的自适应学习能力,是一种较好的识别方法。但也存在一定的缺陷,比如,基本的BP算法容易陷入局部极小和收敛缓慢等问题,因此这两个问题的解决将是本文以后需要改进的研究方向。
参考文献:
[1]王婷,江文辉,肖南峰.基于改进BP神经网络的数字识别.电子设计工程,2011.
[2]何松,戚建宇.基于改进BP神经网络的手写体数字识别.计算机科学,2011
[3]杨金伟,段会川. 基于BP神经网络的脱机手寫数字识别.信息技术与信息化,2008
[4]郑南宁,王龙,胡超,刘建勤. BP神经网络的改进极其用于手写数字识别的研究.西安交通大学学报,1992
[高校科研项目:内蒙古自治区高等学校科学研究项目“基于相关卷积运算的BP神经网络手写数字识别研究”(NJZC363)。
作者简介:马静(1982.12),女,山东济南人,讲师,主要从事智能控制方面的研究。
【关键词】手写体,模式识别,BP神经网络,识别率
手写体数字识别是多年来的研究热点,也是模式识别领域中最成功的应用之一,主要是用于研究如何利用电子计算机来自动辨识手写体阿拉伯数字。它有着重大的实际意义和理论意义。例如票据的录入、人口普查、成绩单录入、邮政系统自动分拣等、,这些应用都是与我们的生活息息相关的,因此,一旦脱机手写体数字识别的研究满足使用需求并投入应用,将会产生巨大的社會效益。但是由于手写体数字的随意性很大,每个人的书写特点都不一样,同一个人在不同的环境下写出的字也不一样,因此,传统的识别方法很难达到较理想的识别率和可靠率。
近年来,BP神经网络技术取得了飞速的发展,它是一种前馈反向型神经网络,具有并行处理以及自组织和自学习等优点,被广泛的应用于模式识别领域。本文针对手写数字识别选用BP神经网络用于分割和识别,并取得了较好的识别效果。
1 BP神经网络
1986年,D.E.Rumelhart和J.L.McClellang提出了一种利用误差反向传播训练算法的神经网络,简称BP网络。是一种有隐含层的多层前馈网络,系统地解决了多层网络中隐含单元连接权的学习问题。BP学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络学习过程是一种误差边向后传播边修正权系数的过程。反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。
BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
图1 BP神经网络结构示意图
2 BP神经网络数字识别系统设计
设计BP网络的关键在于高效的特征提取方法、大量有代表性的样本及高效稳定速收敛的学习方法。BP网络的任务是要设计并训练出一个可行、高效的BP网络,以实现对0~9共10个数字的识别。数字识别系统主要分两个阶段,学习阶段和识别阶段。在学习阶段,主要是通过对样本数字提取出来的特征值按照预期的输出训练网络,确定网络的权值,以便在识别阶段使用。在识别阶段,将预处理后的字符再按某种特征提取方法取出字符的特征,将提取出来的特征值作为神经网络的输入进行识别,得出识别结果。即在识别阶段,主要经过预处理、特征提取和分类输出3个步骤实现对数字的识别。
手写体图像数据在没有进行一定的图像预处理和特征提取之前,不能立即应用到程序中进行神经网络训练和字符识别工作。从图像处理角度来说,手写体的字符识别对字符是不是有颜色是不关心的,而对此图像的清晰度是很关心的。所以在图像进行一系列的图像处理工作是很有必要的。图像的预处理是正确、有效提取图像特征的基础,有效的图像特征作为网络的输入值才能进行正确的神经网络训练和最终得到正确、有效的网络权重。图像预处理包括彩色图像的灰度化、灰度图像的二值化、梯度锐化、去离散噪声、中值滤波、倾斜度调整、图像分割以及归一化处理。
2.1特征提取
经过预处理,把原来大小不同、分布不规律的各字符变成大小一样、排列整齐的字符。下面要从预处理完的字符中提取最能体现这一个字符的特征向量,将提取出的训练样本中的特征向量代入BP网络中就可以对BP网络进行训练。提取出待识别的样本中特征向量代入训练好的BP网络中就可以进行识别。在这里采取逐像素特征提取法,方法是对图像进行逐行逐列扫描,当遇到黑色像素时,取其特征值为1,当遇到白色像素时,取其特征值为0。这样扫描结束后就形成一个维数与图像中像素点的个数相同的特征向量矩阵。
经过图像预处理之后,可以将最终提取到的字符特征送入BP网络进行训练和识别。在归一化整理中,字符高度和宽度分别为m、n,那么对于每个字符就有m*n维的特征。
2.2 BP网络设计
三个层的神经元数目的确定也是BP网络设计的关键。
首先,确定输入层的结点数。BP网络的输入层的结点个数为图像预处理后所输出的特征的维数。在归一化整理中,每个字符有m*n维的特征,在特征提取中,采用了逐像素特征提取法,即直接利用每个点的像素值来作为特征,这样对一个输入样本就有m*n个特征。本系统采用了8*16归一化,特征提取采用的是粗网格特征提取法。这样对于每一个输入样本就要128个特征,即输入层的节点数为128。
其次,确定隐层结点数。隐层节点的数目没有硬性规定,隐层神经元数目越多,BP网络识别越精确,但是训练时间也就越长。一般情况下,根据两个经验公式可以确定隐节点数,并根据实际情况做相应调整。
为隐层节点数,为输入层节点数,为输出层节点数,为1~10之间的常数。本文根据实际情况分析后,确定隐层节点数为12.
最后,确定输出层结点数。这里采用8421码对0~9这十个数字来进行编码。因此,可以得到输出层的维数为4,也就是输出层神经元数目为4。 在编程的过程如果采用(0,0,0,0)这样的目标输出向量时,BP网络将无法收敛,因为采取的激活函数的输出永远不可能达到0或者1,而只能是无限接近,所以有必要纠正目标输出向量,对其重新编码后,确定方案如下:
对0的编码:0.1,0.1,0.1,0.1;
对1的编码:0.1,0.1,0.1,0.9;
对2的编码:0.1,0.1,0.9,0.1;
…… ……
对9的编码:0.9,0.1,0.1,0.9。
2.3BP神经网络的学习和训练
首先利用大量的训练样本来训练网络,以得到以文件形式保存的权值。训练样本为精心选择的可以很好地反映样本可分特性的已知数据。将训练样本图片进行特征提取后,就可以送入BP网络进行训练。本文选用3层BP网络,其输入层有128个节点,隐层有12个节点,其输出层有4个节点。通过对数字样本进行训练,将学习的结果纳入到聚类源。
3 结果分析
将原始图像通过图像传感器转换成二维图像信号,通过预处理和特征提取得到了5个测试样本,通过BP神经网络学习和训练后,得到输出向量。对比识别结果发现,该网络对于印刷体的正确识别率能够达到96%,而对于不同的手写体的识别率最高也能达到93%以上。
4 结论
通过实验表明,基于BP神经网络的手写体数字识别方法具有较强的容错性和很好的自适应学习能力,是一种较好的识别方法。但也存在一定的缺陷,比如,基本的BP算法容易陷入局部极小和收敛缓慢等问题,因此这两个问题的解决将是本文以后需要改进的研究方向。
参考文献:
[1]王婷,江文辉,肖南峰.基于改进BP神经网络的数字识别.电子设计工程,2011.
[2]何松,戚建宇.基于改进BP神经网络的手写体数字识别.计算机科学,2011
[3]杨金伟,段会川. 基于BP神经网络的脱机手寫数字识别.信息技术与信息化,2008
[4]郑南宁,王龙,胡超,刘建勤. BP神经网络的改进极其用于手写数字识别的研究.西安交通大学学报,1992
[高校科研项目:内蒙古自治区高等学校科学研究项目“基于相关卷积运算的BP神经网络手写数字识别研究”(NJZC363)。
作者简介:马静(1982.12),女,山东济南人,讲师,主要从事智能控制方面的研究。