基于bp神经网络的数字识别

  • 格式:doc
  • 大小:202.50 KB
  • 文档页数:11

I

模式识别作业

题 目 基于BP神经网络的数字识别

科 目 模式识别

II

基于BP神经网络的数字识别

摘 要

人工神经网络技术在现在取得了巨大的发展,它具有的高度非线性,使我们能表达一些至少是目前尚无法用计算理论表达清楚的外部世界模型;同时,神经网络所具有的自学习,自组织能力使我们能在与外部世界的交互作用下,实现无法用当前的计算理论表达清楚的功能;对于那些无法建立精确数学模型的系统,神经网络有着独特的优势。

本课题主要研究基于BP神经网络的方法来实现数字识别。首先对图像进行灰度化、二值化、平滑去噪、归一化、细化的预处理,以便于进行像素值的提取,对设计好的神经网络进行训练,对比训练的结果与期望的结构,并根据对比的结果对神经网络的一些权值进行修改,最终得到训练好的神经网络。并选择测试样本,进行仿真测试。

整个仿真实验中,对含数字的图片进行处理,其数字识别效果可在本课题中的MATLAB仿真实验中体现。

关键词:神经网络;灰度化;预处理;仿真测试

III

目 录

摘要 ............................................................. II

目录 ............................................................ III

1 背景介绍......................................................... 4

1.1研究背景..................................................... 4

1.2 数字识别的发展现状 .......................................... 4

1.3 本课题主要的研究内容 ........................................ 4

2 图像预处理........................................................ 5

2.1 彩色图像的灰度化 ............................................ 5

2.2 灰度图像的二值化 ............................................ 5

2.3 梯度锐化 .................................................... 5

2.4 去离散化噪声 ................................................ 5

2.3 归一化调整 .................................................. 5

3 模式识别.......................................................... 6

3.1 特征提取 .................................................... 6

3.2 BP神经网络.................................................. 6

3.2.1 BP算法的多层感知器 ..................................... 6

3.2.2 BP算法过程 ............................................. 7

3.3 BP神经网络的设计与训练...................................... 9

3.3.1 BP神经网络的设计方法 ................................... 9

3.3.2 BP神经网络仿真程序设计 ................................. 9

3.3.3 BP神经网络测试 ......................................... 9

4 仿真实验结果...................................................... 9

5 总结.............................................. 错误!未定义书签。

参考文献 ......................................................... 11

4

1.背景介绍

1.1.研究背景

为了解决计算机字符的自动识别、高速加工处理,使计算机达到真正智能化,人们对计算机识别进行了多年的研究,并取得了很大的进步。数字识别是字符识别的一个分支,一般通过特征匹配及特征判别的方法来进行处理,目前识别率还较低。因此,为了提高识别率,还要寻求新的方法和途径。

近年来,人工神经网络技术取得了巨大的发展,它所具有的优势:固有的并行结构和并行处理、知识的分布存储、容错性、自适应性、模式识别能力,为手写体数字识别开辟了新的途径。

数字识别作为模式识别的一个重要分支,在邮政、税务、交通、金融等行业的实践活动中有着及其广泛的应用。

数字识别作为模式识别领域的一个重要问题,也有着重要的理论价值。一方面,阿拉伯数字是世界各国通用的符号,因此,数字是一个重要枢纽。在符号识别领域,数字识别为这一领域提供了一个算法研究的平台。另一方面,数字的识别方法很容易推广到其它一些相关问题,特别是对英文字母的识别,但到目前为止机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题。

1.2.数字识别的发展现状

模式识别 (Pattern Recognition)是对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程。它是信息科学和人工智能的重要组成部分。而数字识别作为模式识别的一个分支。在日常生活和科研中具有十分重要的作用。数字识别的算法一般是采用以知识、神经网络、人工智能为基础的模板匹配法、轮廓多边形相关、傅立叶系数法等方法来进行识别的。以上方法识别效率高,但是实现较为复杂。

1.3.本课题主要的研究内容

MATLAB软件包含了被称为Toolbox的各类应用问题的求解工具。神经网络工具箱正是在MATLAB 环境下所开发出来的许多工具箱之一。设计者则可以根据自己的需要去调用工具箱中有关神经网络的设计与训练的程序,使自己能够从烦琐的编程中解脱出来,集中精力去思考和解决问题。人工神经网络(ANN)是理论化的人脑神经网络的模型,是模仿大脑神经网络结构和功能而建立起来的一种信息处理系统。神经网络的一个最主要的功能就是分类,,这个功能有助于机器的模式识别。本课题就是利用神经网络的分类功能,并借助于MATLAB软件的神经网络工具箱,采用具有自适应学习速率和附加动量因子的BP型神经网络,从而实现5

罗马数字的模式识别。

2.图像预处理

由于自然和人为因素影响,可能造成数字图像笔划缺损、噪声严重及几何形变等现象。故识别前必须对图像进行必要的预处理。图像处理流程如图1所示。

图1 图像预处理流程

2.1.彩色图像的灰度化

图像输入后一般都是256色彩色图像,因为256色位图调色板内容复杂,很多算法无法进行,所以要进行彩色图像的灰度化。灰度化后灰度图像的RGB值是相等的,只有亮度的不同,灰度值大的像素亮度也大,灰度值小的图像亮度暗,灰度值为255的像素为白色,灰度值为0的像素为黑色。

2.2.灰度图像的二值化

彩色图像灰度化后每像素只有一个值,即灰度值,二值化就是根据一定标准将图像分成黑白二色。因为本课题所做的是扫描图像,所以用给定阈值法,给定阈值为220。

2.3.梯度锐化

因为二值化后的图像字体模糊,所以有必要进行梯度锐化。梯度锐化同时对噪声也起一定的去除作用,在这里采取Roberts算子对图像锐化,可以让模糊的边缘变清楚,同时选用合适阈值可以减弱和消除细小的噪声。

2.4.去离散噪声

由于图像的扫描和传输过程可能夹带噪声,所以需要去离散噪声。具体方法是:扫描整个图像,当发现一个黑色像素就考察和它直接或间接相连的黑色像素有多少,如果大于一定值(具体数值视情况定),就可以认为它非离散点,否则就认为他是离散点,将其从图像中去掉。

2.5.归一化调整

因为扫描的字符大小存在差异而对同一尺寸的图像进行识别准确率高一些,所以要进行归一化调整。归一化方法是先得到原来字符的高度,并与系统要求的去除噪声 图像锐化

归一化 图像输入 灰度转化 二值化 6

高度比较,得出高度变换系数,然后根据这个系数得到变换后应有的宽度,得出高度、宽度后,把新图像里的点按照插值的方法映射到原图像,为了以后特征提取方便,进行BP网络训练时缩短训练时间,高和宽不宜设置过大。这里取高为m,宽为n。

3.模式识别

3.1.特征提取

经过预处理,把原来大小不同、分布不规律的各字符变成大小一样、排列整齐的字符。下面要从预处理完的字符中提取最能体现这一个字符的特征向量,将提取出的训练样本中的特征向量代入BP网络中就可以对BP网络进行训练。提取出待识别的样本中特征向量代入训练好的BP网络中就可以进行识别。在这里采取逐像素特征提取法,方法是对图像进行逐行逐列扫描,当遇到黑色像素时,取其特征值为1,当遇到白色像素时,取其特征值为0。这样扫描结束后就形成一个维数与图像中像素点的个数相同的特征向量矩阵。

3.2. BP神经网络

3.2.1. BP算法的多层感知器

采用BP算法的多层感知器是至今为止应用最广泛的神经网络,在多层感知器的应用中,一般习惯将单隐层感知器称为三层感知器,所谓三层包括了输入层、隐层和输出层。三层BP神经网络如图2所示。

图2 三层BP网 三层感知器中,输入向量为,隐层输出向量为,输出层输出向量为,期