数字识别报告.doc.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于位置修正的单像素点贝叶斯公式数字识别 钱学森创新拓展班 王思齐 姚林伸 研究背景 当今社会科技日新月异,手写输入技术已经越来越成熟地运用在人们生活的各个领域。大屏触控手机、平板电脑、各种触摸显示器,都可以发现手写识别的影子。同时,手写输入作为触屏时代的一项基本功能,也在触屏功能的实现中占有举足轻重的地位。 研究目的 本课题的研究目的是;以概率论中的贝叶斯公式为基础,在事先输入一定数量的模板作为训练的前提下,识别手写输入的0~9的数字。 原理简介 在绝大多数情况下,人两次手写输入的数字不可能完全一样,因此,不能简单地使用整个数字的模式匹配来进行手写的识别,所以在此我们采用了对于每一个像素点进行操作和比对的方法进行识别。同时,由于人手写输入的随意性,在一张纸(或者同一个手写屏幕上),所写的数字的相对位置可能存在差异,所以需要在识别时对数字的位置进行修正以方便比对。下面进行具体的介绍: (1)单点识别:现在假设手写输入屏(在此,我们用Windows下画图软件的一张单色位图来模拟它)的像素为个,通过在这张位图上进行数字书写,借助于matlab的imread函数可以将一张位图转化0-1矩阵存储在一个矩阵中或者输入Excel文档。现在我们先进行训练,输入个模板。现在假设输入数字模板得到的矩阵为。现在对于该矩阵的每一个像素点进行研究。记的第行,第列的像素为(,)。很容易知道,当每次输入一个数字时,该位图的一部分像素被涂黑,从而使数字显示出来,同时,矩阵中相应的元素的数值也由0变为1(实际上,在位图中黑色为1,白色为0,但是为了方便,我们在matlab中编写了一个reverse函数用于将白黑的数字颠倒,更加符合人们的认知习惯),所以当被涂黑时我们设其等于1,否则等于0。我们记像素点在输入的数字为()的情况下被涂黑为事件。输入的第个模板的元素的取值为()。所以我们可以求得在输入的数字为时,的先验概率的计算公式(注意,在输入不同数字的模板时相应的取值可能不同): 由于人每次都可能输入十个数字中的一个,所以不妨设输入数字的概率为,()。所以,由贝叶斯公式,当,即第行,第列的像素为被涂黑时,输入的数字是的后验概率可以用下面的公式计算: 由上面的公式,我们便可以求出每一个像素点对于每一个数字的贝叶斯概率(,,)。另外需要说明的是,对于位图边缘的很多点,其,此时上式无意义。考虑到其对于识别一个数字没有贡献,并且简便起见,我们设这种情况下。我们可以将所有的对于相同的数字的所有的像素点的贝叶斯概率合起来我们便得到一个贝叶斯概率的矩阵,也就是我们识别数字的标准模板,即: 在输入一个要求识别的数字()时,我们可以同样求得其0-1矩阵,并找出其被涂黑的矩阵元素集合。由上面可以知道,中的每一个元素对于一个特定的数字都有一个贝叶斯概率,所以我们可以如下定义这个输入的数是一个数的概率:记当集合的元素被涂黑时,这个输入的数字为为事件。定义概率为: 上式中,所对应的元素为集合中的元素,并且为集合中元素个个数,即求一个这些点的贝叶斯概率的平均值。之后,我们将计算所得的()从小到大排序,理论上来说,得到的最大的所对应的即我们认为识别出来的数字。但是在实际操作中,由于用户书写习惯的不同,可能会造成商量的误识别现象。为了进一步保证准确性,我们将排序后最大的两位输出,供用户选择(通过实验,输出两位已经能够满足用户的需要)。 (2)位置修正:前面已经提到了应该对输入的数字进行位置的修正,来减小误差。我们采取的位置修正办法是先计算得到输入的数字的中心位置,再将其与整个位图的中心点位置进行比对,求出两个中心之间的便宜量后对整个数字进行平移,将其修正至理论的中心位置。具体的计算方法如下: 先通过循环遍历,寻找出输入的数字矩阵被涂黑的元素的横坐标的最大值和最小值,以及纵坐标的最大值和最小值,之后按下面的方法求出其中心的坐标(,)和位图中心的坐标(,)(ceil表示取不小于一个数的最小整数): , , , , 由上可以得到修正的便宜量,: , , 由上,将其平移相应的偏移量即可完成修正。 实验结果展示 实验测试输入Matlab输出结果实验测试输入Matlab输出结果           观察以上的测试实验输入,除了3和5的输入是由第二输出得到的正确识别结果,其余数字的正确识别结果都是由第一输出得到,由此可见基于贝叶斯??理编写的数字识别算法的识别精度在一定条件下还是比较高的。

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档