手写数字识别的研究和实现【字数:12215】
目录
1引言 1
1.1课题的开发背景 1
1.2课题的研究目的和意义 1
1.3课题的实现目标 2
1.4 论文结构 2
2开发环境 3
2.1开发环境介绍 3
2.1.1 Pycharm 3
2.1.2 Android studio 3
2.1.3 Python 3
2.1.4 JDK 3
2.2 开发环境的搭建 4
2.2.1软件获取与安装 4
2.2.2软件获取地址 4
2.2.3 软件安装过程 4
3系统分析 5
3.1神经网络技术分析 5
3.2系统需求分析 9
3.2.1 性能需求分析 9
3.3可行性分析 9
4系统设计 11
4.1设计思想 11
4.2 系统环境 11
4.3系统架构 11
4.4 功能模块设计 12
4.5系统数据流图 12
4.6项目结构 13
5 系统实现 15
5.1 MNIST数据集的训练过程 15
5.1.1下载数据集 15
5.1.2定义模型 16
5.1.3训练模型 19 *景先生毕设|www.jxszl.com +Q: &351916072&
5.1.4 评估模型 20
5.2 服务器端接口的编写 21
5.3 安卓软件的开发 22
5.4实验小结 25
6 系统测试 26
6.1功能测试 26
6.2 验证模型效果 26
6.3测试结果总结 28
7 系统开发的影响分析 29
7.1对社会人文的影响 29
7.2对环境的影响 29
7.3对法律的影响 29
8.总结与展望 30
8.1工作总结 30
8.2 课题展望 30
参考文献 31
致谢 32
1引言
1.1课题的开发背景
创新是引领发展的第一动力,我们所处的时代越来越数字化、信息化,对于数字识别的要求也越来越高。向电脑输入票据信息,或者录入个人身份证信息时,人工输入费时费力,稍有误差将会带来很大的麻烦[1]。
手写数字识别是属于字符识别的一个范畴,最早可以追溯到五十年代。深度学习技术是推动人工智能发展的核心力量,深度学习在图像识别的研究中有着很大的影响。其实对于深度学习的研究并不是最近几年才兴起的,从1943年,许多研究者就已经开始研究神经网络技术了。最初研究的手写数字识别是从联机识别,主要研究特征值的提取[2]。随后脱机识别也逐渐兴起,脱机识别是数字识别的一种方法,它主要是将写有阿拉伯数字的图片直接输入到电脑而不通过键盘键入方式,也不通过手写设备,然后再由计算机自动识别。现在,随着TensorFlow深度学习框架的提出,研究者对于手写数字识别有了深层次的研究,更多的优化算法的提出,极大地提高了手写数字识别的准确率[3]。
本课题主要是采取图片上传方式,再用计算机程序将计算机无法理解的图片中的数字,转化为计算机可以理解的文本格式,手写识别成为了最便捷的将图片上的阿拉伯数字输入电脑的方法。每个人都有自己的手写风格,在不同的环境下写出的字也可能不一样,从而给手写数字识别带来难度。手写数字识别的应用与扩展性成为研究的热潮。
1.2课题的研究目的和意义
从计算机发明开始,人们就希望能够在它的帮助下完成重复冗杂的工作。计算机的普及使得人们的生活越来越便捷,快节奏的生活让人们不满足于手动输入繁琐的数据信息。会计是一个热门行业,而会计每天都需要输入大量的支票、发票、进账单等。手动输入费时费力,而如果可以直接拍照,再由计算机输出将会使得报表的统计更加快速。脱机手写数字识别的研究提高了工作效率[4]。然而这也带来了正确率的问题,很多时候哪怕是小数点后面的数字也会带来大影响。所以手写数字识别的精准率成为了研究的热门。由于手机、平板等移动工具的普及,所以本项目最终的运行环境是安卓平台,这样使得项目开发更具意义。
1.3课题的实现目标
完成手写数字识别首先需要搭建并训练模型,让计算机学会识别数字,需要经过不停的训练,需要让它学习。一个小孩学习09的数字到能够准确辨识也许只需要半天,但是计算机首先需要对接收到的图片进行预处理,提取出主要的特征,然后在记忆中搜寻,根据由训练所得来的知识来进行判断。当然,由于手写数字的不规范性,准确率达不到100%。研究所要完成的就是尽可能地提高模型的准确率。以下是课题研究的目标:
1、利用python语言,运用TensorFlow框架,完成卷积神经网络模型的搭建。
2、通过对比不同模型的准确率,不断优化训练模型,直至达到预期的准确率。
3、进行安卓App的开发,完成客户端和服务器端的通信。实现用户通过上传照片,计算机接收照片,自动处理、分析返回预测值给用户。
原文链接:http://www.jxszl.com/jsj/jsjkxyjs/82869.html