基于人工神经网络的英文字母识别课件.ppt
基于人工神经网络的英文字母识别,作者:王磊指导老师:吴清,系统总体结构,BMP格式图片的四部分结构,位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,256色图像预处理图转灰色图,未处理前,处理后,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,灰度图2值化,该算法的关键就是在阈值的选取上,阈值的选取有很多种算法,该系统采用最简单的预先设置一个阈值220,即灰度值大于220时认为为白色,当小于220时就认为是黑色。,灰度为220,处理结果,二值化前,二值化后,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,梯度锐化处理,梯度锐化的目的及原理梯度锐化的方法,锐化处理的目的及原理,使边缘和轮廓线模糊的图像变得清晰,并使其细节清晰。图像的模糊实质是因为图像受到平均或者积分运算,为此对其进行逆运算如微分运算,梯度运算就可以使图像清晰。,梯度锐化处理,梯度锐化的目的及原理梯度锐化的方法,梯度锐化的方法,锐化滤波一般有两种方法:一直是空间域微分法,另一种是频域中的高频滤波法。在该系统中采用的是空间域微分法中的梯度算子。,梯度算子,其中:,强度:,梯度算法中的问题,由于图像在变化缓慢的地方梯度值会很小,这样容易把图像变灰。因此我设置了一个阈值,当梯度小于阈值的时候将该点设置为白色。该系统中阈值设置为2。,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,去除离散噪声,处理后,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,图像整体斜度调整,字母的有时候会因为各种原因发生一些倾斜,这种变化在某种意义上将对于识别系统是一种噪声,会对识别的结果有一定的影响。在进行识别之前可以进行斜度调整,这样对识别效果有一定的帮助。,图像整体斜度调整,在对图像进行整体斜度调整时,最主要的是求斜度,在本系统中,我采用如下算法:1.求黑色像素的平均高度2.通过公式:计算斜度,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,字符分割,分割前,分割后,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,尺寸标准归一化,归一化,图像预处理,256色图转灰色图灰度图2值化梯度锐化去除离散噪声图像整体斜度调整字符分割尺寸标准归一化紧缩重排,紧缩重排,小结,至此,我已将图像的预处理工作全部完成。接下来就到了该系统的核心部分 人工神经网络,BP神经网络,BP网络的训练BP网络的字母识别,BP网络的训练,x1,o1,x2,o2,om,xn,初始化权值,计数器,输出样本,计算各层输出:,计算输出误差,计算各层误差信号,调整各层权值,pP,Y,EEmin,N,N,结束,BP网络的训练,(1)初始化:对权值矩阵W,V赋随机数,将样本模式计数器p的训练次数置1,误差E置0,令学习率 为0-1内的小数,网络训练后,精度达到Emin为正小数(2)输入训练样本对,计算各层输出。当前样本xp,dp对向量组x,d进行赋值,利用式子:ok=f(netk)其中o为输出层 yi=f(neti)其中y为隐层,BP网络的训练,(3)计算网络输出误差:设共有p对训练样本,网络对不同的样本具有不同的 可将全部样本输出误差的平方 进行累加再开放,作为总输出误差。即,BP网络的训练,(4)计算各层误差信号计算:,BP网络的训练,(5)调整各层权值计算:,BP网络的训练,(6)检查是否对所有样本完成该轮训练,若pP,计数器p,q自增1,返回步骤(2),否则输出步骤(7)(7)检查网络总误差是否达到精度,当网络的总误差EEmin,训练结束,否则E置0,p置1,返回步骤(2)。至此,神经网络已经训练完成,最后将训练后的神经网络的相关参数进行保存.,BP网络的英文字母识别,结 论1,多层前向BP网络的优点:网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;,结 论2,多层前向BP网络的问题:BP算法的学习速度很慢网络训练失败的可能性较大难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题;,结束语,BP网络是基于多层感知器结构、采用最小误差准则、并反向传递误差以调整网络权值和偏置的这样的一种经典的人工神经网络。本文利用经典的BP网络模型,配合强大的VC开发环境,实现了基于人工神经网络的英文字母识别。,