地方性文化创意元素的提炼与应用研究 (3).docx
《地方性文化创意元素的提炼与应用研究 (3).docx》由会员分享,可在线阅读,更多相关《地方性文化创意元素的提炼与应用研究 (3).docx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本科毕业设计(论文) 基于TensorFlow的上课自动点名系统设计与实现 Design and Implementation of Class NamingSystem Based onTensorFlow 院 (系)计算机学院专 业软件工程系班 级16级软件工程6班学 号16210120614学生姓名魏禄涛指导教师马世登提交日期 年 月 日内容摘要第一次工业革命的蒸汽时代;第二次工业革命的电气时代;第三次工业革命的科技时代,这三次工业革命无疑每一次都是推动世界巨变的革命。如今工业革命也迎来了第四次革命,工业4.0智能化时代,我们的生活必将会因为工业4.0的推进而大大的改变。出于对学校上课点
2、名机制的麻烦与耗时,所有打算做一款“基于TensorFlow的自动点名系统”。本次设计的上课自动点名系统主要是用到TensorFlow计算框架,该计算框架可以很好地实现各种深度学习算法。而本次用到的深度学习算法是卷积神经网络,训练模型的程序建立了一个包含4个卷积层的神经网络。将收集的学生面部图片输入到训练程序,训练得到的结果建立模型,最后通过模型识别学生人脸,提取人脸相应的名字,达到点名的效果,这整个实现的过程主要用到opencv。最后用PyQt5制作用户交互界面,通过可视化的用户交互界面更容易操作,达到自动点名的效果。综上所述,本文研究与实现具有很高的实用性,对学校课堂质量有所提高。关键词:
3、TensorFlow opencv PyQt5 工业4.0智能化时代 上课自动点名系统 卷积神经网络AbstractThe steam age of the first industrial revolution, the electrical age of the second industrial revolution and the scientific and technological age of the third industrial revolution, each of which is undoubtedly a revolution that promotes grea
4、t changes in the world. Now the industrial revolution has also ushered in the fourth revolution. In the era of intelligent industry 4.0, our lives will be greatly changed by the promotion of industry 4.0.Due to the trouble and time-consuming of the school attendance mechanism, we plan to build an au
5、tomatic attendance system based on tensorflow, which can solve the attendance situation of teachers and achieve zero time-consuming attendance task.In this design, the automatic roll call system in class mainly uses tensorflow calculation framework, which can well implement various deep learning alg
6、orithms. The deep learning algorithm used this time is convolutional neural network. The program of training model establishes a neural network with four convolution layers. Input the collected students face pictures into the training program, and build the model based on the training results. Final
7、ly, recognize the students face through the model, extract the corresponding name of the face, and achieve the effect of roll call. The whole implementation process mainly uses OpenCV. At last, the user interface is made with pyqt5, which is easier to operate and achieve the effect of automatic roll
8、 call.To sum up, the research and implementation of this paper has a high practicality and improves the quality of the school classroom.Key Words: TensorFlow opencv PyQt5 Industry 4.0 intelligent Era Automatic roll call system in class CNN目 录1. 绪论12.开发工具和技术简介22.1设计目标22.2 研究方法22.3项目中涉及的技术32.3.1 Pytho
9、n32.3.2 TensorFlow32.3.3 OpenCV32.3.4 PyQt543.系统需求分析53.1需求规格53.1.1系统的构成部分53.1.2功能性需求73.1.3非功能性需求93.2开发环境的选择94.系统设计104.1总体设计104.1.1系统结构方案设计104.1.2总体结构方案设计104.2系统结构与程序的关系124.3接口设计134.3.1用户接口134.3.2外部接口134.3.3内部接口134.4功能模块设计144.4.1总体设计144.4.2功能模块设计144.5功能故障处理设计154.5.1出错信息154.5.2补救措施154.5.3系统维护设计155.系统实
10、现与测试165.1创建文件夹模块165.1.1功能说明165.1.2程序运行过程截图165.2人脸识别模块165.2.1功能说明165.2.2程序运行过程截图175.3数据准备模块175.3.1功能说明175.3.2程序运行过程截图185.4数据处理加载模块185.4.1功能说明185.4.2程序运行过程截图195.5数据训练模块195.5.1功能说明195.5.2程序运行过程截图195.6模型识别模块205.6.1功能说明205.6.2程序运行过程截图205.7识别成功处理模块215.7.1功能说明215.7.2程序运行过程截图215.8用户界面模块215.8.1功能说明215.8.2程序运
11、行过程截图226.总结与展望23参考文献24致谢25广东东软学院本科毕业设计(论文)1. 绪论现如今智能化时代已经悄悄的进入到我们生活,它将是又一次工业的大浪潮。我们的身边已经有各种各样的智能化服务和智能设备了。就如:早就已经运用到我们生活的人脸识别,在地铁站、高铁站、机场等,我们通过将身份证和车票放入信息提取槽,然后用一个摄像头通过对人脸信息的提取与身份证和车票提取的信息做比对,信息一致就可以检票通过;又比如:部分地区超市或商务中心都可能不在使用二维码支付,他们用到依然是人脸识别的人脸支付这项技术,只要通过获取人脸就能达到支付的效果,非常简单便利。除了这些比较普遍的智能化服务,智能设备也不少
12、。如:我们现在很多活动场所都非常实用的大疆无人机,航空航拍、农作物喷洒农药、电影拍摄、电力的检查等都可以用到无人机设备,既保证了工作的效果,又保证了工作人员的安全。这样给人们带来便利和生活质量的智能设备还有很多,智能化时代已经慢慢融入我们生活。刚开始自己想论文题目的时候,就觉得自己也要为工业4.0智能化时代做点贡献,智能化其实已经和我们生活息息相关了,去除这些智能化可能社会部分工作就不能执行下去了,道路人流将堵得水泄不通。出于对智能化时代的憧憬,以及学校上课点名的耗时与麻烦和对自己专业知识的考验,所以我想为自己的大学做出一点点贡献,更好的体现校园的智能化。而本论文就是为智能化时代做出些许贡献的
13、。让我们的课堂更加的智能化的论文,“上课自动点名系统”可以很好的解决上课老师的点名考勤情况,不会拖延大家的上课时间,达到零耗时的上课考勤任务,老师就不会因为考勤所消耗的时间,而烦恼上课时间的不足。从而提高学生和老师的课堂质量,保证了课堂80分钟的上课时间。2.开发工具和技术简介2.1设计目标能够通过学生照片识别判断出这个学生的名字,获取这个学生的名字,提交至点名成功列表。又或者是,通过摄像头或监控,实时抓取学生上课动态,从摄像头中识别出这个学生的名字,获取这个名字,提交至点名成功列表。2.2 研究方法本上课自动点名系统主要采用的技术是:Python、TensorFlow、opencv、pyqt
14、5,主要运行的系统环境:win10操作系统(配有python3.0以上版本、pyqt5、pycharm IDE开发工具、TensorFlow的环境、keras2.0版本、numpy、PIL、sklearn、pip),上课自动点名系统的设计思维是模块化,具体分为以下6大模块:1 数据集收集层:数据集收集层是上课自动点名系统实现的前提,它是为数据集输入层创建存储空间的层级。2 数据集输入层:数据集输入层是整个卷积神经网络的输入层级,通过摄像头对学生头像人脸进行采集,一个学生采集两百张图片作为训练数据集,将所有采集的图片作为输入层所要输入的数据。3 数据集训练层:数据集训练层是整个上课自动点名系统设
15、计的核心,有以下几个层组成:卷积层这个实验里用到的是2维卷积层,而这里的卷积层是一个(3,3)的核,核的大小、步长等决定了在上一层神经网络中的计算次数,以及输出,这层会将神经网络中的每个小块都更加的去深度分析,从而得到更加抽象匹配的特征。激活函数层对神经网络模型有着很好的学习、理解非线性的函数的作用。池化层这上课自动点名系统的作用是在不改变矩阵深度的情况下,缩短矩阵的大小。Dropout层是为了防止模型参数太多,样本太少,导致训练出来的模型容易出现过拟合现象。Flatten层用卷积层到Dense层的过渡,用于输入的降维,就是把三维数、五维数等,多维数的输入降维,变成一维。Dense层是给经过多
16、层卷积层和池化层的处理之后,通过Dense层给出最后的分类结果。Softmax层在这是为了得到当前样例相异种类的概率分布情况,并输出最终结果。机器通过数据输入层输入的数据,在数据训练层里训练。4 建立模型层:建立模型层和数据集训练层同时完成,在训练完数据之后就建立起学生的人脸识别模型,通过构建人脸识别的模型,来进行人脸的预测分类。5 结果输出层:实现上课自动点名系统的结果展示,建立的模型可以通过图片人脸的匹配或者短视频人脸的匹配,又或者摄像头人脸的匹配,获取人脸相对应的名字。将人脸用框框起来,并在旁边标注人名。6 交互界面层:使用PyQt5进行交互界面的制作,交互界面可以直接与用户对话,方便用
17、户的操作,使上课自动点名系统更加的容易上手,不需要任何专业知识就能够完成上课自动点名系统的操作。2.3项目中涉及的技术2.3.1 Python为什么用Python?简单的说一下,Python的好处。它一种效率极高的语言脚本处理语言,若要编写相同功能的代码,Python可能十行代码就搞定的事,而用其他编程语言可能要三十多行或者更多一百来行,所以程序代码行数会比其他语言少。它还是一门比较好上手的语言,代码更容易被初学者读懂,也相对容易调试和扩展,它的语法也是对创建整洁的代码更有帮助的。在人工智能领域,python已经是一门不可或缺的程序语言。2.3.2 TensorFlowTensorFlow是一
18、个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。现在在python中也是被打成包,大家调用tensorFlow包来实现数据流的编程。它是由两部分组成,一个是tensor,也被叫做张量;另一个是flow,也被叫做流。张量可以简单的说成多维的数组,而流它则是直接明了的表达多维数组之间的相互转化的计算过程。而上课自动点名系统主要用到卷积神经网络算法,TensorFlow则对卷积神经网络提供了非常好的支持,通过TensorFlow实现卷积层是非常方便
19、的。2.3.3 OpenCVopencv是生物学术语许可的一个计算机视觉库,具备跨平台的能力,可运用在各大操作系统上,如我们常用的Windows系统、Android系统、linux系统和Mac OS。Opencv是个效率高,并且是对环境依赖程度比较小,opencv的库一般是由c语言和c+语言的函数或者类构成。它在对图像处理和机器视觉方面都有很好的帮助,对Python来说也是提供了相应的接口,非常方便。上课自动点名系统在图像处理方面都是通过调用opencv库里的函数进行处理,包括:收集数据、清洗数据、处理数据、结果展示等。2.3.4 PyQt5 PyQt5是非常好用的UI设计软件。它可以通过手动
20、创建一个窗口,然后拖动功能控件到窗口相应的位置,就可以初步的设计好一个交互界面的原型,将设置好的界面保存,保存后是.ui文件,通过窗口指令:pyuic5 地址/文件.ui -o 地址/文件名.py,将.ui文件转换成.py格式的文件,最后用python语言修改.py文件就可以与系统代码绑定使用。2.4设备要求本系统对安装主机设备具有一定的要求,只有达到最低要求及其以上配置的主机才能实现良好的运行及操作,以及完善的环境配置,具体要求如下: 系统:64位win10系统,基于x64的处理器。 CPU:至少达到I5,最好能有i7。 内存:8 GB。 硬盘:2 T。 网卡:10/100 MB自适应。 p
21、ython环境 pycharm平台 安装和配置TensorFlow 安装sklearn 安装opencv 安装keras2.0 安装pyqt5 安装numpy3.系统需求分析3.1需求规格3.1.1系统的构成部分系统分为以下8个模块:1. 创建文件夹模块:创建文件夹模块是提供给用户创建存储文件夹的功能,它是用到pyqt5的QInputDialog控件实现界面可视化的。主要的核心部分还是内部代码函数,通过UI界面输入的学生姓名,传递相应路径,检查路径文件夹下有没有这个学生的姓名,如果没有就会新建一个以这个学生姓名为文件名的文件夹。2. 人脸识别模块:人脸识别模块是提供系统初步实现识别的一个模块,
22、它是用到opencv的VideoCapture和CascadeClassifier。VideoCapture参数可以用0代替,当为空的时候默认打开摄像头,而如果输入是路径就默认打开视频资源。CascadeClassifier则是人脸识别分类器,结合Opencv2(即C+API)就可以实现人脸识别的作用,但这只是单纯的识别出人脸,并不会认出这个人脸是谁的。3. 数据准备模块:数据准备模块是为训练模块提供数据的一个模块,它也同样用到opencv的VideoCapture和CascadeClassifier,中间还用到一些逻辑语句。用户可以通过数据准备功能模块,通过摄像头来截取自己的人脸数据,这里每
23、人截取200张照片。4. 数据处理加载模块:数据处理加载模块是为更准确高效的训练对数据进行的预处理,它主要用到opencv的copyMakeBorder和resize。通过对所有数据的统一设定处理,会大大提高训练准确性和效率,在上课自动点名系统中将照片resize成长和宽都是64大小的尺寸,而copyMakeBorder用来给照片添加边框的。加载则是通过指定路径读取数据。5. 数据训练模块:数据训练模板是系统最关键的部分,它用到卷积神经网络算法来训练,运用卷积神经网络的原因显而易见,近几年卷积神经网络的崛起,在大量数据的情况下,精确度已经超过了人类分辨。而上课自动点名系统则运用了四个卷积层的卷
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地方性文化创意元素的提炼与应用研究 3 地方性 文化 创意 元素 提炼 应用 研究
限制150内