设计 任务书 文档 开题 答辩 说明书 格式 模板 外文 翻译 范文 资料 作品 文献 课程 实习 指导 调研 下载 网络教育 计算机 网站 网页 小程序 商城 购物 订餐 电影 安卓 Android Html Html5 SSM SSH Python 爬虫 大数据 管理系统 图书 校园网 考试 选题 网络安全 推荐系统 机械 模具 夹具 自动化 数控 车床 汽车 故障 诊断 电机 建模 机械手 去壳机 千斤顶 变速器 减速器 图纸 电气 变电站 电子 Stm32 单片机 物联网 监控 密码锁 Plc 组态 控制 智能 Matlab 土木 建筑 结构 框架 教学楼 住宅楼 造价 施工 办公楼 给水 排水 桥梁 刚构桥 水利 重力坝 水库 采矿 环境 化工 固废 工厂 视觉传达 室内设计 产品设计 电子商务 物流 盈利 案例 分析 评估 报告 营销 报销 会计
 首 页 机械毕业设计 电子电气毕业设计 计算机毕业设计 土木工程毕业设计 视觉传达毕业设计 理工论文 文科论文 毕设资料 帮助中心 设计流程 
垫片
您现在所在的位置:首页 >>毕设资料 >> 文章内容
                 
垫片
   我们提供全套毕业设计和毕业论文服务,联系微信号:biyezuopin QQ:2922748026   
基于BP神经网络的手写数字识别系统设计 答辩稿
文章来源:www.biyezuopin.vip   发布者:毕业作品网站  

一、研究背景及意义

数字识别已经应用到了生活中的点滴,如停车场停车按车牌号计费,交通电子眼抓拍违章,大规模数据统计,文件电子化存储等。

阿拉伯数字作为一种全球通用的符号,跨越了国家、文化以及民族的界限,在我们的身边应用非常广泛。数字的类别数目适当,仅有10类,方便对研究方法进行评估和测试。通过研究基于深度学习的手写数字识别方法有助于对深度学习的理解,具有很大的理论实践价值。手写数字识别的方法经验还可以推广应用到其它字符识别问题上,如英文字母的识别。

本文设计将训练好的BP神经网络模型与摄像头相结合,实现对摄像头画面中出现的数字实时识别。

二、数字识别研究现状

早期的研究人员在数字识别[1]这一方向已经取得了不错的成果,如使用K-邻近分类方法,SVM分类方法,Boosting分类方法等。但这些方法多少都会有不足之处,例如K-邻近方法在预测时需要将所有的训练数据集加载至内存,然后用待测数字图片与训练集作对应像素点差的和,最后得出的差值最小的则为预测结果。显然这样的方法在正常的图片准确度上并不可靠,对于待测手写数字的要求也很高。目前识别率最好的模型应该还属基于深度学习的CNN,最典型的例子LeNet-5,美国最早将其商用到识别银行支票上得手写数字[2]。可见基于深度学习的手写数字识别在准确率上是相当可靠。

三、研究内容

本文以学习基于深度学习的手写数字识别算法的过程为线索,由简入深,从最基础的感知器到BP神经网络,学习和理解深度学习的相关基本概念、模型建立以及训练过程。最后通过使用深度学习框架Keras以MNIST作为训练数据集训练出高识别率的模型并将其与OpenCV技术结合应用到摄像头上实现实时识别数字,使用合理的模型结构,在测试集上识别准确率达到99%以上,在与摄像头结合实际应用中的识别效果达到90%以上。


五、实验过程与结果

5.1获取MNIST数据

MNIST手写数据集的获取方式有很多种,主要可以从深度学习框架Pytorch或Tensorflow中下载,也可以通过手动下载的方式获取。通过学习框架下载的方式可以快速获得已经分好类别的训练集和测试集,训练数据和标签数据。

本文使用Pytorch深度学习框架进行数据的下载,具体的下载方式为:

图4-1 获取MNIST数据

5.2构建BP神经网络

BP神经网络指的是反向传播网络,即误差反向传播的多层前馈网络。因此在本实验中搭建了使用全连接层的BP神经网络和基于CNN的BP神经网络。其中使用全连接层的BP神经网络由输入层、隐藏层、和输出层构成。其中输入层的维度是,隐藏层由两层构成,他们的维度分别是,输出层的维度是[]。输出层的10代表分类的个数,并且必须要满足大于等于标签中的分类个数,否则会报错。

图4-2 全连接层的BP神经网络

5.3训练构建的BP神经网络

对所构建的两种神经网络分别进行训练可以得到他们在训练集上损失函数和准确度随迭代次数的变化情况如下所示。

图4-4 全连接层BP网络训练集的损失函数和准确率变化图

图4-5 基于CNN的BP网络训练集损失函数和准确率变化图

其中,全连接层BP网络在经过25代训练之后的准确率可以达到97.86%,而基于CNN的网络在同样25代训练之后的准确率可以达到98.85%。

5.4测试BP网络

在模型训练的同时可以使用测试集进行测试来考察测试集准确度和损失的变化情况。也可以在保存模型之后再选择部分数据进行测试,考察准确度并进行可视化。

在使用两种模型结构进行训练和测试后可以得到如下的表格:

表1 BP网络的损失函数和准确率(训练25代)

Train Loss

Train Accuracy

Test Loss

Test Accuracy

全连接层BP

0.07437

97.86%

0.09634

97.12%

CNN_BP

0.03358

98.95%

0.03146

98.97%

测试集的损失函数和准确率变化情况如下图所示:

图4=6 全连接层BP网络测试集的损失函数和准确率变化图

图4-7 基于CNN的BP网络测试集损失函数和准确率变化图

因此可以得到网络准确率和损失函数总的变化图像为:

图4-8 神经网络损失函数和准确率随迭代次数变化图(左:全连接 右:CNN)

训练完毕后对测试集的结果进行测试可以得到:

图4-9 测试结果可视化

由测试结果可以发现,模型基本上可以准确识别大部分的手写数字,只有个别的数字由于特征不是非常明显甚至兼有其他数字的特征,因此被错误识别。总的来说,模型的训练效果还是不错的。

六、结果分析与实验结论

通过实验可以发现,使用BP网络进行训练识别手写数字在一开始基本是随机识别,但是在对整个数据集进行多次训练之后,在训练集和测试集上的准确率都能达到较高的水准并且可以看到,在前几次迭代训练的结果中,损失函数下降的非常快,准确率也快速上升。

此外,两种模型测试集上的损失函数总体上一直在下降,没有出现上升而准确率总体上一直在上升没有出现下降。因此模型并没有出现过拟合的现象,还可以继续迭代进行训练。

对比两种模型可以看到,基于CNN的BP网络的准确率均高于全连接层的BP神经网络,有较好的训练效果。但是CNN训练的时间相较于全连接层较长,在数据较多时可能略显吃力。


参考文献

[1] 陈浩翔.手写数字深度特征学习与识别.计算机技术与发展26.7(2016):19-23.

[2] 张晓.手写数字识别的前景与难点.数码世界1(2016):69-70.

[3] Andrew Ng.Machine Learning[OL].2016.3.https://www.coursera.org/learn/machine-learning/

[4] 尹宝才,王文通,王立春.深度学习研究综述[J].北京工业大学学报, 2015(1):48-59.

[5] 郭丽丽,丁世飞.深度学习研究进展[J]. 计算机科学, 2015,42(5):28-33.

[6] 吴岸城.神经网络与深度学习[M].北京:电子工业出版社,2016.6

[7] The MNIST Database of Handwritten Digits[DB].http://yann.lecun.com/exdb/MNIST/

[8] 赵永科.深度学习21天实战Caffe[M].北京:电子工业出版社,2016.7

[9] 李丹."基于LeNet-5的BP神经网络改进算法."计算机时代8(2016):4-6.

[10] Peter Harrington.Machine Learning in Action[M].Manning Publications,2012-4-19

[11] Andrew Ng,Jiquan Ngiam,Chuan Yu Foo,Yifan Mai,Caroline Suen.UFLDL教程[OL].2016.3.http://deeplearning.stanford.edu/wiki/index.php/UFLDL_Tutorial

[12] Fei-Fei Li,Andrej Karpathy.CS231n Convolutional Neural Networks for Visual Recognition[OL].2016.1.http://cs231n.stanford.edu/

[13] 吴忠,朱国龙,黄葛峰,等.基于图像识别技术的手写数字识别方法[J]. 计算机技术与发展,2011,21(12):48-51.

[14] 余凯,贾磊,陈雨强,等.深度学习的昨天, 今天和明天[J]. 计算机研究与发展, 2013,50(9):1799-1804.

[15] 孙志军, 薛磊, 许阳明, 等. 深度学习研究综述[J]. 计算机应用研究, 2012, 29(8):2806-2810.

[16] LeCun Y, Bengio Y, Hinton G. Deep learning[J].Nature,2015,521(7553):436-444.

[17] Krizhevsky A,Sutskever I,Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems.2012:1097-1105.

  全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026     返回首页 如转载请注明来源于www.biyezuopin.vip  

                 

打印本页 | 关闭窗口
本类最新文章
台式数控等离子切割机机械结构设计 台式数控等离子切割机机械结构设计 台式数控等离子切割机机械结构设计
基于PLC的罐装加工过程为全自动 基于Python电影推荐系统设计 基于西门子S7-200PLC四层
| 关于我们 | 友情链接 | 毕业设计招聘 |

Email:biyeshejiba@163.com 微信号:biyezuopin QQ:2922748026  
本站毕业设计毕业论文资料均属原创者所有,仅供学习交流之用,请勿转载并做其他非法用途.如有侵犯您的版权有损您的利益,请联系我们会立即改正或删除有关内容!