# 基于 TensorFlow 框架的手写数字识别系统
**摘要**
时下人工智能蔚然成风,作为新型生产要素,在各个领域都极大地推动了经济发展,预示着社会经济将取得巨大增长和和人类潜能将得到深度开发。实现人工智能的手段即为机器学习,而机器学习领域中的一个重要问题就是手写字符的识别。手写数字识别的应用包括邮件分拣,银行支票处理,表格数据输入等。问题的核心在于开发能够识别手写数字的有效算法的能力,并且用户通过该方式提交扫描仪,平板电脑和其他数字设备来完成手写数字的识别。但因个人手写数字特征的千差万别,造成了现有手写数字识别系统的识别准确率普遍较低。
本文旨在通过使用 Google 研发的 Tensorflow 人工智能框架,分别搭建 Softmax 回归模型和卷积神经网络模型,并比较两者的识别率高低。本系统使用的手写数字数据集是 MNIST 数据集,该数据集分为三部分:55000 行训练数据集、10000 行测试数据集、以及 5000 行的验证数据集。每个测试集的图像的长和宽各为 28 个像素点,测试集的标签表示该图像是哪个数字。经过搭建、训练、使用两个模型,Softmax 回归模型和卷积神经网络模型对手写数字的识别率分别为 91.92% 和 99.13%,卷积神经网络的识别率已经达到了可以实际应用的程度。本文为人工智能的手写数字识别的发展提供了一定的理论价值和科研依据。
**关键词**:机器学习,手写数字识别,TensorFlow,Softmax,CNN
***详细介绍请看文档论文***
# 一、绪论
## 1.1 课题研究背景及意义
自从 AlphaZero 击败人类顶尖围棋高手后,人们关于人工智能的讨论就喋喋不休,从而出现了人工智能有益论和人工智能有害论两派。有许多人人认为人工智能会使一大批人失去他们所从事的行业,无情的被机器人取代。而更多人则认为,人工智能可以帮助我们创造更多的财富,创造更美好的明天。而目前我所能接触到的人工智能技术,都为人类的发展做出了极大的贡献,人类不能因噎废食。例如在图像识别领域,使用 Google 的 TensorFlow 人工智能框架可以很方便的搭建一个卷积神经网络,并且立即投入使用。
手写数字识别重大研究价值意义在于人机交互方向,提高人机交互的流畅性、方便性以及似人性。在于数字信息自动处理领域,提高处理效率,节省物力财力,加快信息传输,创造出无数的财富。手写体是人类在交流中使用的最常见的标准和常规媒介。即使引入了诸如键盘,声音命令等新技术,它也是一种有效且高效的信息记录方式。通常,手写识别系统是一种用于识别人类手写的任何语言的机制,无论是扫描的手写图像或者在电子设备上使用手写笔进行实时手写,也可以分别称为离线和在线手写[1]。此外,该系统的应用可分为数字,字符和英文字母三种。它广泛用于许多应用,如语言翻译,银行支票和关键字定位。手写数字识别系统的理论价值如下:
阿拉伯数字官方符号,被世界各国通用,且应用于生活的方方面面。因此研究手写数字识别具有很高的应用价值。
相较于汉字、英文单词等常用字符,数字识别的类型数较小,有助于做深入分析以及验证一些新的理论。
虽然人们已经对模式识别的手写数字领域进行了相当长时间的研究,但是手写数字识别系统仍然有很多不足,在某些情况下,还无法与人类的识别能力相提并论,人工智能还有很长的路要走。
手写数字识别与许多领域都有关联性,尤其是中英文拼音的识别。事实上,很多研究人员就是同时研究这两者的,由于相似性较强,结合在一起研究更易取得研究成果。
银行、表格、证券是手写数字识别可以大放异彩的又一个领域。随着我国经济的迅速发展,无时无刻不产生大量的账单、支票、税务报表等等手写数据[3]。与上面提到的统计报表[4]处理相比,在这个领域的应用难度更大,因为对识别的精度要求更高,处理的表格种类更多等,这样对识别及预处理的核心算法要求也大大提高了。如果在这个方向上都能做到机器自动识别的话,就能够取得巨大的经济效益。
## 1.2 研究状况
模式识别是二十世纪五十年代初迅速蓬勃发展起来的一门学科。模式识别研究的是如何用机器来实现高等动物对事物的学习、判断和识别能力,因而受到了国内外众多科研人员的关注,成为人工智能研究的一个重要方面。一个模式识别系统的基本功能是对系统所要处理的模式归属于哪一类做出判断,从该系统的模式输入到系统做出判别之间,主要包括数据检测、图像预处理、特征值的提取和分类四大环节。
字符识别又是模式识别领域中的一个极受关注的问题。问题本身的难度使之成为一个兼具趣味和挑战性的课题;另一方面,因为字符识别不是一项单独的应用技术,其中包含的模式识别领域中其他分支都会遇到的一些基本和共性的问题。
从 19 世纪九十年代末期到目前为止,世界各国的科学家发表了很多关于 MNIST 手写数字识别的文章。从新闻上也可以经常看到这个领域的研究进展。而识别率和识别速度是衡量识别方法优劣的两个关键指标。可以看出,在线性分类器,KNN,SVM,NN 和 CNN 中,目前识别率最高的模型是 CNN。且针对 MNIST 数据集,没有特征提取方面的最优解。直接用 LeNet-5 结构的 CNN,就能得到比较好的结果。
## 1.3 研究内容
本课题主要实现了两种手写数字识别模型:Softmax 回归模型核卷积神经网络模型,并运用 Flask 框架展示在网页当中,Softmax 回归模型和卷积神经网络模型对手写数字的识别率分别为 91.92% 和 99.13%。本文的研究内容可总结如下所示:
- 搭建 TensorFlow 框架,配置 Python 环境,下载 MNIST 手写数字数据集。
- 学习 Softmax 回归算法,实现 Softmax 回归模型,并进行训练和评估。
- 学习卷积神经网络的基本原理,搭建共计七层的卷积神经网络模型,不断优化模型参数,训练 CNN 模型,并进行评估。
- 运用 Flask 框架,通过网页交互,将输入的数据传入后台处理,并返回两个模型的识别结果,最终显示在网页中。
## 1.4 研究方法
实验研究表明,若手写体数字没有限制,几乎可以肯定没有一劳永逸的方法能同时达到 90% 以上的识别率和较快的识别速度。因此,这方面的研究向着更复杂更综合的方向发展。例如人工智能中的专家系统、人工神经网络已经开始应用于手写体数字识别的研究当中。在手写数字识别的发展中,神经网络和多种专家系统的结合是值得探究的方向。模式特征的不同,其决策方式也会不同。可将模式识别的方法大致分为 5 大类[8]。这五类方法各有各自的特点,各有各自的适用条件,最后都能实现手写数字的识别。这五类方法分别为:
- 句法结构方法
- 统计模式法
- 逻辑特征法
- 模糊模式方法
- 神经网络方法
# 二、相关技术介绍
本章介绍了本课题所使用的相关技术,并介绍了相关技术的工作原理、优缺点等。相关技术包括 TensorFlow 框架、Python 语言、Tkinter 相关控件及特性以及 MNIST 数据集等。
## 2.1 TensorFlow 框架
### 2.1.1 TensorFlow 框架介绍
TensorFlow 是一个用于机器学习的端到端开源�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
大学毕业设计题目,手写数字识别 需安装Python3.X 64bit相关版本、Tensorflow 1.x相关版本 IDE建议使用Pycharm 打开main.py,运行即可。 文旨在通过使用 Google 研发的 Tensorflow 人工智能框架,分别搭建 Softmax 回归模型和卷积神经网络模型,并比较两者的识别率高低。本系统使用的手写数字数据集是 MNIST 数据集,该数据集分为三部分:55000 行训练数据集、10000 行测试数据集、以及 5000 行的验证数据集。每个测试集的图像的长和宽各为 28 个像素点,测试集的标签表示该图像是哪个数字。经过搭建、训练、使用两个模型,Softmax 回归模型和卷积神经网络模型对手写数字的识别率分别为 91.92% 和 99.13%,卷积神经网络的识别率已经达到了可以实际应用的程度。本文为人工智能的手写数字识别的发展提供了一定的理论价值和科研依据。 关键词:机器学习,手写数字识别,TensorFlow,Softmax,CNN
资源推荐
资源详情
资源评论
收起资源包目录
100012586-基于Python实现手写数字识别.zip (37个子文件)
handwriting-digits-recognition
毕业设计_外文翻译_宋启迪.doc 60KB
LICENSE 1KB
Handwriting_digits_Recognition_SQD
main.py 2KB
宋启迪.docx 1.59MB
templates
index.html 2KB
__pycache__
main.cpython-37.pyc 2KB
static
js
main.js 6KB
jquery.min.js 82KB
css
bootstrap.min.css 133KB
mnist
data
regression.ckpt.index 170B
convolutional.ckpt.index 353B
regression.ckpt.data-00000-of-00001 31KB
convolutional.ckpt.data-00000-of-00001 12.49MB
convolutional.py 2KB
regression.py 1KB
model.py 3KB
MNIST_data
t10k-images-idx3-ubyte.gz 1.57MB
train-labels-idx1-ubyte.gz 28KB
train-images-idx3-ubyte.gz 9.45MB
t10k-labels-idx1-ubyte.gz 4KB
__pycache__
model.cpython-39.pyc 2KB
__init__.cpython-37.pyc 159B
model.cpython-37.pyc 2KB
毕业设计_开题报告_宋启迪.docx 54KB
胡闯闯_硕士论文.pdf 1.53MB
img
1-bc4ea80fb188a3d5ee07dee0b1a82517.png 53KB
2-f064a1c16999f0d28466cc64d1ae437b.png 30KB
7-08a008b3e95fd0127107463cafbba628.png 42KB
6-fbda1f554e9f681802a20ae0eb829537.png 67KB
3-367b8e2c3075efd947e42dc3ddf081cc.png 17KB
5-895c44b69972aebf80c388534c56d1a1.png 43KB
8-637cb96bb510117a171b583767c9eeaa.png 55KB
4-b4c46aacfc60ce56feb533a23b96e4e3.png 15KB
毕业设计_任务书_宋启迪.docx 45KB
毕业设计_论文正文_宋启迪.docx 1.59MB
README.md 26KB
毕业设计_论文正文_宋启迪.pdf 2.03MB
共 37 条
- 1
神仙别闹
- 粉丝: 2674
- 资源: 7640
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页