版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南商务职业技术学院毕业设计
目录
1引言............................................................................................................................1
1.1项目背景......................................................................................................1
1.2开发环境与工具..........................................................................................1
1.2.1Python简介..........................................................................................1
1.2.2Keras简介............................................................................................2
1.2.3PyCharm简介........................................................................................2
1.2.4VGG网络结构........................................................................................2
1.2.5Python第三方库简介..........................................................................4
2需求分析....................................................................................................................5
2.1可行性需求分析..............................................................................................5
2.2数据可视化技术..............................................................................................5
3数据采集....................................................................................................................6
3.1数据集采集功能分析..................................................................................6
3.2数据集需求分析..........................................................................................6
3.3数据集获取分析..........................................................................................7
3.4编程实现......................................................................................................7
4数据集处理................................................................................................................7
4.1数据预处理..................................................................................................7
4.2切分训练集和测试集..................................................................................8
5模型构建及保存........................................................................................................9
5.1模型构建......................................................................................................9
5.1.1构建数据生成器...................................................................................9
5.1.2数据可视化...........................................................................................9
5.2模型编译....................................................................................................10
5.2.1优化器设置.........................................................................................11
5.2.2损失函数设置.....................................................................................12
5.3VGG16模型拟合.............................................................................................12
I
湖南商务职业技术学院毕业设计
5.3.1模型拟合.............................................................................................12
5.3.2Batch_size设置................................................................................12
5.3.3模型保存.............................................................................................13
5.4模型部署....................................................................................................13
5.4.1系统前端设计.....................................................................................13
6小结..........................................................................................................................14
参考资料.........................................................................................................................16
II
湖南商务职业技术学院毕业设计
基于深度学习VGG模型的手势识别方法设计
1引言
近年来人工智能服务,人与机器的交互方式在不断变化。比如,鼠标键盘
的交互方式在某些领域被语音识别交互和触屏交互。然后如果通过肢体语言进
行和机器的交互会使效率得到巨大的提升。随着科技的发展,对手势识别技术
的研究已经成为热口课题,基于手势识别技术的应用也开始渗透到人们生活的
方方面面,这是一项技术走向成热的标志。同时,手势识别技术无论是在手势
样本的采集,还是手势设计上都有自己的优势,手势识别的深入研究有着很重
要的意义。
1.1项目背景
在过去几十年中,计算机技术飞速发展,在各行各业中,计算机都给人们
带来便捷,人们己经与计算机密不可分,其中,人与计算机的信息交互是必不
可缺的一步。人机交互最常见模式是依赖于简单的机械装置,即键盘和鼠标,
真他的还有诸如触摸屏等。尽管上述交互方式广泛存在于人们的日常生活中并
被熟练使用,我们还是不禁要想,是否还有更自然,更符合人类习惯的人机交
互方式,其中一种主流趋势就是手势识别技术。
本项目是针对通过手势和机器交互大大提升工作效率,让手势取代传统的
敲击键盘或点击鼠标作为输入来控制自己的计算机,能够使人与机器之间的交
互湿得更加智能化、自然化,而且可将人们在日常生活中所获得的经验,直接
运用到交互活动中,能够充分提高虚拟世界中的可操作性,并且可在虚拟世界
中完成更加复杂的任务。
1.2开发环境与工具
1.2.1Python简介
Python是在20世纪80年代由GuidoRossum创造的。
随着时代的发展,计算机越来越强大编程语言的多样化Python逐渐走入大
众的视野,在2005至2012年,谷歌公司大量应用Python进行程序设计,引起
广泛关注,从而大大促进了python的发展。
在2012年云计算的兴起,其中最主要的OpenStack框架由Python开发,
1
湖南商务职业技术学院毕业设计
使得Python的热度得到空前的高涨。在2014年AI兴起,在AI中大量关键算
法都是由python开发,因为python中含有非常好的第三方库特别适合用于算
法设计,其次则是入门低、开发效率较高,因此又进一步促使python的火爆。
2017年python正式走进大众视野,走进学科教育。
现如今已经发展成为一门广泛使用的高级编程语言。它可应用于网络爬虫、
机器学习、数据分析和可视化等多种领域。它的优点是开源(免费)、丰富的
库、简单易上手、支持跨平台而且可移植性较强。
1.2.2Keras简介
Kears是一个用python编写的高级深度学习程序库,它支持
TensorFlow,CNTk或者二者结合作为后端运行,能够实现CPU和GPU的无缝切换。
Kears对于初学者来说门槛比较低,很容易上手。它的开发重点是支持快速的实
验开发,并能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
Kears在代码的结构上是由面向对象方法编写的,完全模块化并且具有可拓
展性。Kears提供了多种引擎,比如Theano和TensorFlow这两种引擎,Kears
的开发者需要的是专注于模型的建立。Kears支持现代人工智能领域的主流算法,
这其中就包括了馈结构以及递归结构的神经网络。Kears所提供的AIP一致的简
介,能大大减少应用下用户的工作量,与此同Kears时还提供具有实践意义的
bug反馈功能。
1.2.3PyCharm简介
PyCharm是一款PythonIDE,其带有一整套可以帮助用户在使用Python语
言开发时提高其效率的工具,比如,调试、语法高亮、Project管理、代码跳
转、智能提示、自动完成、单元测试、版本控制等等。此外,该IDE提供了一
些高级功能,以用于支持Django框架下的专业Web开发。
1.2.4VGG网络结构
“VGG”代表了牛津大学的OxfordVisualGeometryGroup,是由DeepMind
公司共同研发的一种深度卷积神经网络。
VGG模型在2014年ILSVRC竞赛获得第二名,虽然输给了GoogLeNet,但是
VGG模型在多个迁移学习任务中的表现中要优于GoogLeNet。在从图像中提取
CNN特征,VGG模型是首选的算法。它的缺点则是参数过多,需要大量的存储空
间。
2
湖南商务职业技术学院毕业设计
VGG流传最为广泛的两种结构是VGG16和VGG19,两者并没有本质上的区别,
只是网络深度不同,分别是16层和19层。
图1-1VGG的概述图
如图1-1所示,VGG包含了5组卷积操作。每组卷积后进行一个2*2的最大
池化操作,最后是三个全连接层。
多种VGG网络设计都很统一,都有相同的224*224*3的input+5个maxpool
层+3层fc全连接层。
输入层:输入为224*224*3三通道的图像。
第一组卷积层:输入为224*224*3,经过64个kernelsize为3*3*3的卷
积后得到了shape为224*224*64的卷积层
第二层池化层:输入为224*224*64,经过的减半池化后得到尺寸为
112*112*64的池化层
第三层卷积层:输入为112*112*64,经过128个3*3*64的卷积后得到
112*112*128的卷积层。
3
湖南商务职业技术学院毕业设计
第四层池化层:输入为112*112*128,经过减半池化后得到尺寸为
56*56*128的池化层。
第五层卷积层:输入为56*56*128,经256个3*3*128的卷积后得到56×
56*256的卷积层。
第六层池化层:输入为56*56*256,经过池化后得到28*28*256的池化层。
第七层卷积层:输入为28*28*256,经过512个3*3*256的卷积后得到
28*28*512的卷积层。
第八层池化层:输入为28*28*512,经过池化后得到14*14*512的池化层。
第九层卷积层:输入尺寸为14*14*512,经过512个3*3*512的卷积,得到
14*14*512的卷积层
第十层池化层:输入为14*14*512,经过池化后得到7*7*512的池化层。
全连接:最后三个连接层的神经元分别为4096,4096,1000,最后全连接
层启用的softmax输出1000个分类
VGG网络结构如图1-2。
图1-2VGG网络结构图
1.2.5Python第三方库简介
Requests:requests是基于python开发的用于处理HTTP请求的第三方,
它最大的有点在于程序编写过程更加接近正常URL访问过程。Requests与
urllib标准库相比,它不仅使用方便,而且节约大量的工作。
BeautifulSoup:BeautifulSoup主要功能是从网页爬取数据,它提供一些
简单的python函数用于处理导航、搜索、修改分析树等功能。XML和HTML的解
析库,可以对XML和HTML格式进行解析,从中提取相关信息;还可以对所提供
的任何格式进行相关的数据爬取,而且对它进行树形解析。
matplotlib:Matplotlib是一个Python的2D绘图库,其中包括折线图、
条形图、扇形图、散点图、直方图等。
statsmodels:统计建模。
4
湖南商务职业技术学院毕业设计
wordcloud、scipy、jieba:生成中文词云的。
pylab:设置画图能显示中文。
pyecharts:绘图。
2需求分析
2.1可行性需求分析
1.技术可行性
Python编程语言通俗易懂、是一种动态的面对对象的脚本语言。这让它对
于爬虫领域有着巨大的优势,是当前爬虫的首选语言。本项目便是利用python
采集数据,通过python第三方库进行数据分析、与数据可视化的展示。Tableau
是一款对人操作十分友好的软件,利用它对数据可视化进行展示和分析也十分
便捷。
2.项目可行性
手势识别技术的发展有着优秀的前景,通过手势识别可以与各种智能设备
交互效率提升巨大。甚至可以说手势识别会成为VR,AR头显示的主流交互方
式。
2.2数据可视化技术
数据可视化技术采用的是python第三方库matplotlib,matplotlib是Python
科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,
基本能够满足各种场景下的数据可视化需求。但功能丰富从另一方面来说也意
味着概念、方法、参数繁多,让许多新手望而却步。
matplotlib设计原则就是追求对每一个图表细节的完全控制,所以matplotlib
源码中各种对象很多,甚至各对象间相互应用,错综复杂,对同一个对象的设
置经常可以调用不同的方法来实现,这是matplotlib入门难的原因之一。
matplotlib其实提供了两类接口实现作图。第一类基于状态的接口,就是上
文中提到的pyplot进行作图,这类接口对matplotlib中更加底层的对象进行封装,
以仿MATLAB作图风格的方式让作图更加简单方便。至于为什么叫基于状态,
pyplot所有作图动作都是默认在当前出于激活的元素上进行,要切换到其他元素
作图,就要使另一元素激活。第二类接口是基于对象的接口,这种方法是使用
你想对象的方法来作图,认为图形中每一个元素都是一种对象,通过调用更加
5
湖南商务职业技术学院毕业设计
底层对象来实现作图。这种方法代码量更多,但是让用户对matplotlib图形的构
成有了更深的认识,也让用户对图形的每一个元素有更强的掌控力。项目的可
视化代码如图2-1所示。
图2-1数据可视化技术代码
3数据采集
3.1数据集采集功能分析
此次项目的数据集部分来源于摄像头拍摄获得,另外通过爬虫在网站上获
取。本次爬取百度网,主要获得了各种简单手势图片,在爬取的各种手势图片
中,选取较为简单的几种作为本次项目的数据集。
3.2数据集需求分析
打开谷歌浏览器,在搜索栏中输入关键字:手势图片,观察图3-1,其中URL
为:/sucai/***************/.html。翻页观察网址变
化,发现URL最末端的数字变化。
6
湖南商务职业技术学院毕业设计
图3-1图片网络页面
3.3数据集获取分析
选择开发者工具,打开开发者工具,按快捷键ctrl+shitf+c,呼出定位鼠标,
选择一张图片,在右侧的开发者工具栏中观察所选图片所在网页结构,找到<img
src=*****>的位置,方便后续对爬取的网页数据进行解析获取到该图片的地,
从而实现图片爬取操作。
图3-2图片网络页面
3.4编程实现
导入所需要用到的库如图3-3
图3-3导入所需要库页面
由于对于网页的维护,各大网站都有对爬虫的拦截,所需我们需要设置请
求头伪装成浏览器访问服务器,定义img_data存放所有通过爬虫获取到的图片。
4数据集处理
4.1数据预处理
爬虫获取的数据,并非一定是完整而正确的,一般来说通过网络爬虫在网
络上获取的文字信息大多数会出现数据缺失的情况,或者出现数据中产生无效
值的情况,相对于文字信息来说,图片信息则不会有以上的情况,但也并非能
直接进行使用,这就需要按情况而论。
7
湖南商务职业技术学院毕业设计
在网络上获取的图片大小不一,而且许多获取到的手势图片并不是我们所
需要的,而本次项目训练模型需要用到的图片尺寸大小都要一致,所以需要对
图片进行归一化处理,使得所有图片满足本次项目用到模型的需求。
如图4-1所示完成了对图片的操作后,分出各种手势图片存放于对应的文
件夹:
图4-1导入所需库页面
4.2切分训练集和测试集
本次项目采用的数据主要是手势图片,通过之前的操作已经完成了图片的
爬取和分类操作。通过代码对所需图片类的图片随机进行选择,将其划分为test
(测试集)train(训练集)如图4-2所示
训练集:用于模型训练,在训练过程中更新模型参数。
测试集:对最终筛选出来模型的泛化能力进行评价。
图4-2测试集训练集页面
8
湖南商务职业技术学院毕业设计
5模型构建及保存
5.1模型构建
5.1.1构建数据生成器
数据生成器(generator):数据生成器是一个随机读取文件的过程,随着
数据的增多,特别是图片,数据生成器的作用是输入的数据太大,无法一次放
入内存中的时候,就需要一个batch的读取。
代码实现,首先导入Keras包如图5-1所示。
图5-1导入Keras包
编写数据生成器如5-2所示。
图5-2构建数据生成器
过程描述:每次从设置文件夹中取出batch_size张图片进行处理。对其中
的每张图片按照data_gen中的定义都除以255并实现全部五种增强操作,然后
大小变为(IMSIZE,IMSIZE)。
5.1.2数据可视化
通过构建数据生成器的操作后最好进行一个数据可视化,将图片属于显示
出来一部分。数据可视化需要用到最关键的包是matplotlib包,上文有过相关
介绍,这里不在赘述。代码实现后的效果图如图5-3所示:
9
湖南商务职业技术学院毕业设计
图5-3数据可视化页面
5.2模型编译
本次采用的模型是深度学习这门课程中所学过的VGG16,在模型构建完成后
可以通过model.summary()获取VGG16的模型概要表,如图5-4所示。
10
湖南商务职业技术学院毕业设计
图5-4VGG16的模型概要表
5.2.1优化器设置
如图5-5所示优化器采用的是Adam。
11
湖南商务职业技术学院毕业设计
图5-5优化器设置
5.2.2损失函数设置
损失函数设置为categorical_crossentropy。
图5-6损失函数器设置
5.3VGG16模型拟合
5.3.1模型拟合
本次模型编译主要采用的是model_pile方法,由于对于手势识
别,实际上是对多种相同类型不同图片的手势进行分类训练,所以这是属于一
个分类问题,所以我们需要采用的损失函数为categorical_crossentropy,采
用Adam优化算法,需要监控预测精度,所以定义metrics为accuracy。
本次模型拟合主要采用的是model_vgg16.fit方法,在此过程中出现过一
些误差,经过查错发现是epochs和batch_size设置的问题,根据自身电脑内
存情况设置,设置太小会导致结果不够精确,设置太大则直接内存报错导致运
行失败。代码实现如图5-7所示。
图5-7模型编译和模型拟合
5.3.2Batch_size设置
如图5-8所示,Batch_size设置如下。
12
湖南商务职业技术学院毕业设计
图5-8batch_seize设置
5.3.3模型保存
在保存模型之前需要进行模型测试,选择几张符合要求的手势图片进行测
试,最后再将模型保存完成最后的操作。代码实现如图5-9所示。
图5-9模型保存
5.4模型部署
5.4.1系统前端设计
使用python编写的手势识别系统前端,可通过加载图片或者打开摄像头实
现手势获取操作。
13
湖南商务职业技术学院毕业设计
图5-10前端界面
6小结
时代发展迅速,随着计算机科技的提高,人工智能与大数据时代到来了。
运用海量数据通过深度学习与强化学习不断优化的算法大数据技术将与人工智
能技术更紧密地结合,手势识别是人工智能范畴中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度雪花啤酒智能家居产品代理合作合同范本3篇
- 2025年度个人养老保险补充合同范本2篇
- 2025年度个人信用担保服务协议3篇
- 2025年度个性化个人家政服务合同范本(定制服务)4篇
- 异地书店买卖合同(2篇)
- 高端钛锅:烹饪艺术革新科技与健康的融合 头豹词条报告系列
- 2024年中级经济师考试题库及答案(网校专用) (一)
- 2025年度智能门窗定制服务合同4篇
- 2024年中级经济师考试题库【考试直接用】
- 遮光式计数器课程设计
- 湖北省黄石市阳新县2024-2025学年八年级上学期数学期末考试题 含答案
- 硝化棉是天然纤维素硝化棉制造行业分析报告
- 央视网2025亚冬会营销方案
- 《无砟轨道施工与组织》 课件 第十讲双块式无砟轨道施工工艺
- 江苏省南京市、盐城市2023-2024学年高三上学期期末调研测试+英语+ 含答案
- 2024新版《药品管理法》培训课件
- 《阻燃材料与技术》课件 第7讲 阻燃橡胶材料
- 国家开放大学学生成绩单
- 船员外包服务投标方案
- 沉积相及微相划分教学课件
- 移动商务内容运营(吴洪贵)任务五 引发用户共鸣外部条件的把控
评论
0/150
提交评论