计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

基于BP算法的数字字符识别技术的研究(1)

2015-08-20 01:01
导读:计算机应用论文论文,基于BP算法的数字字符识别技术的研究(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例: 摘 要 本文描述了数字字符识别的过程和步骤。采用带有动量项
摘 要 本文描述了数字字符识别的过程和步骤。采用带有动量项和自适应学习率的反向传播算法的人工神经网络来训练、识别理想信号和含有噪声信号的数字字符。通过比较测试结果得出对同一网络使用理想信号又使用带有噪声的信号对网络进行训练可使系统具有更强的容错性。 关键词 神经网络;BP算法;有噪声的数字字符识别1 引言 数字识别技术是图像处理领域中的一个重要研究方向。是计算机应用领域中的热点之一。它又分为在线手写体识别和离线手写体识别。前者系统通过记录手写数字的抬笔、落笔、笔迹上各像素的空间位置,以及各笔段之间的时间关系等信息,对这些信息进行处理,在处理过程中,系统以一定的规则提取信息特征,再由识别模块将信息特征与识别库的特征进行比较、加以识别,最后转化为计算机所使用的文字代码。后者相对于前者没有笔划信息,因此难度更大、应用更广泛,如银行票据、工商报表、财务报表、统计报表等各种表格系统,是目前研究的一个重点,也是一个难点。本文将介绍如何用神经网络反向传播算法(BP算法)实现离线手写体数字的识别。2 BP算法实现手写数字的简单流程 利用BP算法实现数字识别的简单流程为“预处理“和“BP字符识别”具体如图1所示。图1 BP数字识别 数字识别的前提工作是将视觉图像转化为可由计算机处理的二值图像,即用给定阈值法把图像中的像素根据一定标准化为两种颜色。但二值化的图像在很多情况下字体模糊,或出现杂乱散布的白点或黑点,给识别造成一定的困难,可采用梯度锐化的方法对图像进行锐化,使模糊的图像变的清晰,同时可以对噪声起到一定的去除作用。 由于识别时只能根据每个数字字符的特征进行判断,所以对锐化后的二值图像还需分割成单个的字符,对字符进行细化。常用的脱壳算法,即从字符的边界逐层移去黑点,直到寻找到一个集合,此集合与其边界相重合(即厚度为1或2)。为了对任意字符的特征提取,还需要对数字字符进行规范化处理,即把字符的尺寸变换成统一大小,字符位置(旋转、平移)纠正。不少人认为把每个字符图像规一化为5×9像素二值图像是最理想的,因为图像的尺寸越小,识别速度就越高,网络训练也越快。而实际上,相对于要识别的字符图像,5×9像素图太小了。规一化后,图像信息丢失了很多,这时进行图像识别,准确率不高。实验证明,将字符图像规一化为10×18像素二值图像是现实中比较理想的。从被分割处理完毕的字符中,提取最能体现这个字符特点的特征向量,代入BP网络之中,对网络进行训练。然后提取出待识别的的样本中的特征向量代入到训练好的BP网络中,就可以对字符进行识别。常用的特征向量的提取方法有逐像素提取法、骨架特征提取法、垂直方向数据统计提取法等。本实验采用的是逐像素提取法。3 BP神经网络进行数字识别3.1 BP神经网络结构与描述 BP网络是一种单向传播的多层前向网络。网络除输入输出节点外,还有一层或多层的隐层节点,同层节点中没有任何耦合。输入信号从输入层节点依次传过各隐层节点,然后传到输出节点。每一层节点的输出只影响下一层节点的输出。其节点单元特性(传递函数)通常为Sigmnid型 ,其中,a为 Sigmnid的斜率参数,通过改变参数a,会获得不同斜率的Sigmnid函数。 BP算法的基本思想是:对于一个输入样本,经过权值、阈值和激活函数运算后,得到一个输出,然后让它与期望的样本进行比较,若有偏差,则从输出开始反向传播该偏差,进行权值、阈值调整,使网络输出逐渐与希望输出一致。由此,BP算法是基于最速下降法的,由于最速下降法的固有缺点:易陷入局部极小、收敛速度慢和引起振荡效应,本文在调整权值时使用了增加动量法,该方法加速了收敛速度,并在一定程度上减少了陷入局部极小的概率,但也不能完全克服上述缺点。为了加快收敛速度,还使用了自适应学习率。3.2 神经网络的设计和训练 将要识别的目标是从0到9的10个数字字符。每个字符被分成5×7的小块进行数字化,分别用一个向量来表示。1 0个含 35个元素的输入向量被定义为一个输入向量矩阵,向量代表某个字母,其相应有数据的位置值为 1,而其他位置值为0。共有两类这样的数据作为输入:一类是在理想的状态下的信号;另一类是用随机方式生成含有噪声的信号。对网络进行快速训练,学习速率初始值选在0、01——0、7之间。连接权值取(-1,1)之间的随机数,期望误差的初始值为(0,1)之间的随机数。 网络通过输出一个具有1 0个元素的输出向量来区分这些数字字符,例如字符1对应的向量,其第一个位置的元素值为 1,而随后位置的元素值都是0。确定好输入输出后可进行网络结构的设计。第1层为输入层,根据以上待识别的数据分析可确定神经网络输入层有3 5 个节点;第2层为隐含层,常规的确定方法是输入层接点的两倍,但依靠经验和尝试的方法来确定节点数目,通过对不同结构网络的误差测试确定本系统隐层结点为10个节点,参见表1。表1 不同隐含层对含有噪声的信号训练及测试误差表
上一篇:创设情境任务驱动 互助协作(1) 下一篇:没有了