计算机模式识别课程论文手写数字的识别研究.doc

上传人:文库蛋蛋多 文档编号:2393071 上传时间:2023-02-17 格式:DOC 页数:12 大小:240KB
返回 下载 相关 举报
计算机模式识别课程论文手写数字的识别研究.doc_第1页
第1页 / 共12页
计算机模式识别课程论文手写数字的识别研究.doc_第2页
第2页 / 共12页
计算机模式识别课程论文手写数字的识别研究.doc_第3页
第3页 / 共12页
计算机模式识别课程论文手写数字的识别研究.doc_第4页
第4页 / 共12页
计算机模式识别课程论文手写数字的识别研究.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《计算机模式识别课程论文手写数字的识别研究.doc》由会员分享,可在线阅读,更多相关《计算机模式识别课程论文手写数字的识别研究.doc(12页珍藏版)》请在三一办公上搜索。

1、模式识别课程论文题目:手写数字的识别研究一、题目概述 数字识别处理的信息主要包括数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。作为模式识别的重要应用之一,手写数字的识别已经成为新的研究方向。手写数字识别技术是近年来研究的热点,具有广泛的应用前景,同时也是一个非常具有挑战性的课题。人工神经网络是当今智能控制领域最活跃的分支之一,它所具有的并行计算能力、容错能力、泛化能力,以及以任意精度逼近未知非线性对象的特点,使其为手写数字的识别提供了一种新的方法。手写数字识别 是光学字符识别技术的一个分

2、支,它研究的对象是如何利用计算机自动辨认人手写在纸张上的阿拉伯数字。在整个光学字符识别领域中,最为困难的就是脱机手写字符的识别。到目前为止,尽管人们在脱机手写英文、汉字识别的研究中己取得很多可喜成就,但距离实用还有一定距离。随着信息社会步伐的加快,对字符识别技术的需求越来越迫切,要求也越来越高了,从目前水平看,计算机离线文字识别技术离达到令人满意的使用要求还有相当距离。随着我国国民经济信息网络的推广,全国有大量的数据要输入计算机网络,邮件分拣系统与税务统计系统即为典型的数字识别系统l闷。而且在当今这个快节奏的现代生活中,与数字打交道的机会越来越多,数字识别面对的都是极其大量的数据报表等,其在精

3、度和速度方面都对识别要求提出了很大的挑战。设想在金融报表中,把300,000元认成800,000元,从字符上辨认只是一字之差,可对于金融业来说,这是绝对不允许的。二、模式识别与BP神经网络模式识别是人工智能领域应用的基础,它利用计算机和光学系统来识别计算机“看到”的图像信息,模拟人的视觉;用计算机和声音传感器来识别计算机接收到的声波信息,模拟人的听觉;用计算机通过压力、温度、气体、液体等传感器来识别计算机获得的各种特征信息,模拟人的触觉和嗅觉等功能。实际上人类在日常生活的每个环节,都从事着模式识别的活动,例如将手写的数字分到具体的数字类别中的手写数字识别;判断是否有汽车闯红灯、识别闯红灯的汽车

4、车牌号码的智能交通管理系统等。它由数据获取、预处理、特征提取、分类决策及分类器设计五部分组成。一般分为上下两部分,上半部分完成未知类别模式的分类:下半部分属于设计分类器的训练过程,利用样品进行训练,确定分类器的具体参数,完成分类器的设计。而分类决策在识别过程中起作用,对待识别的样品进行分类决策,其关键是解决如何用计算机对样品进行分类。神经网络的概念、原理和设计是受生物、特别是人脑神经系统的启发提出的. 神经网络由大量简单的处理单元来模拟真实人脑神经网络的机构和功能以及若干基本特性,是一个高度复杂的非线性自适应动态处理系统.BP网络是1986年由Rinehart和McCelland为首的科学家小

5、组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一. BP网络能学习和存贮大量的输入- 输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程. 它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小. BP神经网络模型拓扑结构包括输入( input) 、隐层( hide layer)和输出层(output layer) ,如图1所示:三、基于BP神经网络的手写数字识别3. 1输入向量与目标向量首先对手写数字图像进行预处理,包括二值化、去噪、倾斜校正、归一化和特征提取,生成BP神经网络的输入向量Alphabet和目标向

6、量Tar2get. 其中Alphabet选取40 10的矩阵,第1列到第10列代表09的数字. Target为10 10的单位矩阵,每个数字在其所排顺序位置输出1,其他位置输出0.3. 2BP神经网络的构建BP算法由数据流的前向计算(正向传播)和误差信号的反向传播两个过程构成. 正向传播时,传播方向为输入层隐层输出层,每层神经元的状态只影响下一层神经元. 若在输出层得不到期望的输出,则转向误差信号的反向传播流程. 通过这两个过程的交替进行,在权向量空间执行误差函数梯度下降策略,动态迭代搜索一组权向量,使网络误差函数达到最小值,从而完成信息提取和记忆过程.首先考虑正向传播,设输入层有n个节点,隐

7、层有p个节点,输出层有q个节点. 输入层与隐层之间的权值为vk i, 隐层与输出层之间的权值为w jk. 隐层的传递函数为f1 ( x) ,输出层的传递函数为f2 ( x) ,则隐层节点的输出为输出层节点的输出为通过式(1) 和(2) 可得BP神经网络完成n维到q维的映射. 其次考虑反向传播. 在反向传播中,需要对不理想的权值进行调整, B P神经网络的核心要务即在于调权. 定义误差函数, 设输入P个学习样本,用x1 , x2 , , xp 来表示. 第p个样本输入网络得到输出ypj ( j = 1, 2, , q) ,其误差为式中为期望输出. P个样本的全局误差为将式(3) 代入得输出层权值

8、的变化采用累计误差BP算法调整wjk 使全局误差E变小,即式(5) 中为学习率. 现定义误差信号为将式(3) 代入可得第一项为第二项为输出层传递函数f2 ( x) 的偏微分将式(7) 和(8) 代入可得误差信号为则输出层各神经元权值wjk 调整公式将式(9)代入可定义为在得到输出层权值调整公式后, 需要定义隐层权值vk i 调整公式根据输出层各神经元权值wjk 调整公式推导过程,可得vk i 为.四、BP算法的实现程序代码以VC+为手段,在BP神经网络的基础上进行编程以实现手写数字的识别,以下是部分实验代码:1. /MainFrm.cpp:implementationoftheCMainFra

9、meclass 2. /2005.1.1316:02BySuperman 3. 4. #includestdafx.h 5. #includeDSPLIT.h 6. 7. #includeMainFrm.h 8. #includeDynSplitView2.h 9. 10. #ifdef_DEBUG 11. #definenewDEBUG_NEW 12. #undefTHIS_FILE 13. staticcharTHIS_FILE=_FILE_;14. #endif 15. 16. / 17. /CMainFrame 18. 19. IMPLEMENT_DYNCREATE(CMainFram

10、e,CFrameWnd)20. 21. BEGIN_MESSAGE_MAP(CMainFrame,CFrameWnd)22. /AFX_MSG_MAP(CMainFrame) 23. ON_WM_CREATE()24. /AFX_MSG_MAP 25. END_MESSAGE_MAP()26. 27. staticUINTindicators=28. 29. ID_SEPARATOR,/statuslineindicator 30. ID_INDICATOR_CAPS,31. ID_INDICATOR_NUM,32. ID_INDICATOR_SCRL,33. ;34. 35. / 36. /

11、CMainFrameconstruction/destruction 37. 38. CMainFrame:CMainFrame()39. 40. /TODO:addmemberinitializationcodehere 41. 42. 43. 44. CMainFrame:CMainFrame()45. 46. 47. 48. intCMainFrame:OnCreate(LPCREATESTRUCTlpCreateStruct)49. 50. if(CFrameWnd:OnCreate(lpCreateStruct)=-1)51. return-1;52. 53. if(!m_wndTo

12、olBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP54. |CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)|55. !m_wndToolBar.LoadToolBar(IDR_MAINFRAME)56. 57. TRACE0(Failedtocreatetoolbarn);58. return-1;/failtocreate 59. 60. 61. if(!m_wndStatusBar.Create(this)|62. !m_wndStatusBar.Set

13、Indicators(indicators,63. sizeof(indicators)/sizeof(UINT)64. 65. TRACE0(Failedtocreatestatusbarn);66. return-1;/failtocreate 67. 68. 69. /TODO:Deletethesethreelinesifyoudontwantthetoolbarto 70. /bedockable 71. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);72. EnableDocking(CBRS_ALIGN_ANY);73. DockContr

14、olBar(&m_wndToolBar);74. 75. return0;76. 77. 78. BOOLCMainFrame:PreCreateWindow(CREATESTRUCT&cs)79. 80. if(!CFrameWnd:PreCreateWindow(cs)81. returnFALSE;82. /TODO:ModifytheWindowclassorstylesherebymodifying 83. /theCREATESTRUCTcs 84. 85. returnTRUE;86. 87. 88. / 89. /CMainFramediagnostics 90. 91. #i

15、fdef_DEBUG 92. voidCMainFrame:AssertValid()const93. 94. CFrameWnd:AssertValid();95. 96. 97. voidCMainFrame:Dump(CDumpContext&dc)const98. 99. CFrameWnd:Dump(dc);100. 101. 102. #endif/_DEBUG 103. 104. / 105. /CMainFramemessagehandlers 106. 107. 108. BOOLCMainFrame:OnCreateClient(LPCREATESTRUCTlpcs,CCr

16、eateContext*pContext)109. 110. /createasplitterwith1row,2columns 111. if(!m_wndSplitter.CreateStatic(this,1,2)112. 113. TRACE0(FailedtoSplitterwindown);114. returnFALSE;115. 116. 117. /addthefirstsplitterpane-thedefaultviewincolumn0 118. if(!m_wndSplitter.CreateView(0,0,119. pContext-m_pNewViewClass

17、,CSize(320,150),pContext)120. 121. TRACE0(Failedtocreatefirstpanen);122. returnFALSE;123. 124. 125. /addthesecondsplitterpane-aninputviewincolumn1 126. if(!m_wndSplitter.CreateView(0,1,127. RUNTIME_CLASS(CDynSplitView2),CSize(0,0),pContext)128. 129. TRACE0(Failedtocreatesecondpanen);130. returnFALSE

18、;131. 132. 133. /activatetheinputview 134. SetActiveView(CView*)m_wndSplitter.GetPane(0,0);135. 136. returnTRUE;137. 编程结束后,利用鼠标在屏幕上移动形成手写数字,由程序负责进行识别。下图为演示结果:五、结果与分析神经网络的训练过程是识别字符的基础, 十分重要,直接关系到识别率的高低. 输送训练样本至B P神经网络训练, 在梯度方向上反复调整权值使网络平方和误差最小. 为使网络对输入向量有一定鲁棒性,可先用无噪声的样本对网络进行训练,直到其平方和误差最小,再用含噪声的样本进行训练

19、,保证网络对噪声不敏感. 训练完毕, 把待识别数字送BP神经网络中进行仿真测试权值初始化为( - 1, 1) 之间的随机数, 期望误差为0. 01, 最大训练步数5000, 动量因子为0.95,隐层和输出层均采用“logsig”函数, 手写数字的识别结果如图2 ( a) ( e) 所示,以数字4为例给出处理过程对1000个手写数字(每个数字取100幅不同的图像) 进行识别,其识别结果如表1所示.六、结论针对传统的手写数字识别中识别率和可靠性不高的情况, 提出了将B P神经网络应用于数字识别,并通过实验,证实B P神经网络算法识别率较高,具备可行性.。随着国家信息化进程的加速,手写数字识别的应用

20、需求将越来越广泛,因此应当加强这方面的研究工作。应用系统的性能的关键与瓶颈仍然在于手写数字识别核心算法性能上,最终目标是研究零误识率和低拒识率的高速识别算法。在实际应用中,没有任何一种方法可以达到100%的识别正确, 我们要做的是充分发掘新的、更适宜实际问题的算法,以便能尽可能好地解决实际的手写识别问题,使该技术得到最大程度的应用。参考文献.(1) 张猛等. 手写体数字识别中图像预处理的研究 J . 微计算机信息, 2006 (2) Pandya A S, Macy R B. 神经网络模式识别及其实现M .徐勇,荆涛译. 北京:电子工业出版社, 1999.(3) 朱小燕等. 手写体字符识别研究 J . 模式识别与人工智能, 2000(4) 马少平等. 基于模糊方向线索特征的手写体汉字识别 J .清华大学学报, 1997 (5) 边肇祺 张学工模式识别,清华大学出版社(6) 蔡自兴,徐光祜 编著 人工智能及其应用 清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号