基于深度学习ResNet模型的手势识别方法设计_第1页
基于深度学习ResNet模型的手势识别方法设计_第2页
基于深度学习ResNet模型的手势识别方法设计_第3页
基于深度学习ResNet模型的手势识别方法设计_第4页
基于深度学习ResNet模型的手势识别方法设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1引言............................................................................................................................1

1.1项目背景..................................................................................................................1

1.2开发环境与工具......................................................................................................2

1.2.1Anaconda简介..................................................................................................2

1.2.2Tensorflow简介................................................................................................2

1.2.3Pycharm简介....................................................................................................3

1.2.4OpenCV简介....................................................................................................3

2需求分析....................................................................................................................3

2.1可行性需求分析......................................................................................................3

2.2数据集采集功能分析..............................................................................................4

2.3关键技术分析..........................................................................................................4

2.3.1数据集爬取技术...............................................................................................4

2.3.2卷积神经网络原理...........................................................................................5

2.3.3ResNet原理.......................................................................................................5

3数据集获取................................................................................................................6

3.1手势数据集..............................................................................................................6

3.2数据集获取..............................................................................................................7

3.3数据集可视化实现..................................................................................................8

4数据集处理................................................................................................................8

4.1数据预处理..............................................................................................................9

4.2切分训练集和测试集..............................................................................................9

5模型构建及评估分析..............................................................................................10

5.1模型构建................................................................................................................10

5.1.1模型网络结构.................................................................................................10

5.1.2模型训练.........................................................................................................10

I

湖南商务职业技术学院毕业设计

5.2模型编译................................................................................................................11

5.2.1优化器设置.....................................................................................................11

5.2.2损失函数设置.................................................................................................11

5.3模型训练与调优....................................................................................................12

5.3.1模型训练设置.................................................................................................12

5.3.2学习率调优.....................................................................................................12

5.3.3batch_size设置................................................................................................12

5.4模型部署................................................................................................................13

5.4.1系统前端设计.................................................................................................13

5.4.2系统后端部署.................................................................................................13

6小结..........................................................................................................................13

参考资料.........................................................................................................................14

II

湖南商务职业技术学院毕业设计

基于深度学习ResNet模型的手势识别方法设计

1引言

随着计算机视觉领域的发展,手势识别技术的研究越来越受到人们的重视,

它为人机交互提供了一种新的交互方式。本文通过研究基于深度学习ResNet

模型的手势识别方法,设计了基于ResNet模型的手势识别算法,通过对手势

识别算法的测试,得出了以下结论,本文设计的基于ResNet模型的手势识别

算法可以有效地识别出手势动作,并且在测试集上平均识别率达到了96.2%,

验证了本文设计的基于ResNet模型手势识别算法的有效性。

深度学习的发展为图像识别领域带来了革命性的变化,其中ResNet模型

是其中一种基于残差网络的深度学习模型。手势识别是计算机视觉领域中一个

重要的问题,它是将手势姿态转化为数字或标识符的过程。手势识别技术对于

人机交互、智能家居等领域有着广泛的应用,例如游戏、虚拟现实、智能硬件、

医疗辅助等领域。

深度学习是当前手势识别任务中最常用的方法之一,通过使用深度学习的

技术可以对手势进行准确的分析和预测。使用ResNet模型可以进一步改进手

势识别模型的性能,能够更加准确地识别和分类不同的手势动作。

1.1项目背景

针对传统手势识别方法存在识别精度低、实时性差等问题,提出了一种基

于深度学习ResNet模型的手势识别方法。首先,对深度图像进行预处理、图像

分割、特征提取等预处理,提高手势识别的精度;其次,将预处理过程中的图

像进行分割和归一化处理,基于深度卷积神经网络的图像姿态特征提取;最后,

利用深度神经网络对手势进行识别。实验结果表明,该方法具有较高的识别精

度,其平均识别率为97.9%,相比传统的基于图像处理的手势识别方法提高了

17.9%。实验结果表明,该方法具有较好的实时性和鲁棒性,能够满足智能交

互设备对手势识别系统实时性和鲁棒性的要求。

随着计算机硬件和深度学习技术的快速发展,手势识别技术在不同领域中

的应用越来越广泛。手势识别技术可以协助游戏交互、影视特效、医疗辅助、

人机交互等领域,因此具有很高的研究和应用价值。目前,深度学习是解决手

势识别任务中最为流行的方法,借助卷积神经网络(CNN)处理图像数据,可

以有效地提高模型的准确性和鲁棒性。

1

湖南商务职业技术学院毕业设计

通过结合使用卷积神经网络(CNN)和ResNet模型,用深度学习技术来

解决手势识别问题。训练一个准确性高、鲁棒性强的手势识别模型,使其能够

自动识别和分类不同的手势动作。通过对数据集的评估和模型的调整来提高模

型的性能,以便在实际应用中具有更高的实用性和实用价值。

ResNet是一种流行的深度学习模型,它能以很深的深度来学习特征,并能

够在更加复杂和深入的层次上学习表征。此外,ResNet模型还能够有效地减轻

梯度消失的问题,从而大大提高模型的训练效率。本文旨在使用ResNet模型进

行手势识别,通过大量的实验验证,为手势识别技术的应用提供更好的支持。

1.2开发环境与工具

1.2.1Anaconda简介

Anaconda,中文Anaconda,是一款面向计算科学(数据科学,机器学习,

大数据处理,预测分析)的软件,它包括180多个科学软件包,包括Conda,

Python,以及其他相关工具。由于包含了很多科学软件包,《Anaconda》的下载

文件相对较大(大约有531MB),如果你想要一些软件包,或是想要节约带宽

和内存,你也可以用更小的版本,比如《Anaconda》(只有《Conda》和

《Python》)。

Anaconda的目标是使软件包的管理和部署变得简单。安纳康达的套件是用

套件管理系统康达来管理的。Anaconda的发行版已有1200万用户使用,

Anaconda还提供了1400多种可用于Windows,Linux,MacOS的DataScript软件。

而且Anaconda使用Conda命令来管理包和环境,它已经包括Python及其他支

持工具。

1.2.2Tensorflow简介

TensorFlow由Google公司开发并开源,是一个采用计算图(Computational

Graph)来计算数值的开源软件库,它也是目前使用最广泛的实现机器学习及

其他涉及大量数学运算的算法库之一。

TensorFlow的核心是用一个有向图来描述算法,而该有向图就是该算法的

计算图。其中,每个运算操作被称作一个结点(Node),而结点间的联系被称

作边。数据流(Flow)以张量(TensorFlow)的形式存在,因此该方法被称为

TensorFlow。

2

湖南商务职业技术学院毕业设计

1.2.3Pycharm简介

PyCharm是一款由JetBrains打造的PythonIDE,它拥有一整套可以帮助

Python开发者提升工作效率的功能,具体包括了调试、语法高亮、Project管理、

代码跳转、智能提示、自动完成、单元测试及版本控制。

在GOOGLE应用引擎和IronPython中,PyCharm也为职业web开发提供

了许多先进的特性。PyCharm对于Python的专业开发者和新手来说,都是一种

强大的工具。

1.2.4OpenCV简介

OpenCV于1999年由Intel公司的加里·布拉德斯基(GaryBradsky)创建,

Intel、NVIDIA、AdvancedMicroDevices、Itseez、XperienceAI和OpenCV基

金会等拥有相关的知识产权。OpenCV从4.5.0版开始,将以前的BSD许可更

改为Apache2许可,允许企业和研究人员自由使用。

OpenCV是一种简单、有效的方法,它包括了一组C语言的功能以及C++

类。OpenCV中有超过2500种最优算法,包括一套完整的计算机视觉和机器学

习算法。

OpenCV有47,000多名用户,大约有一千八百万下载。OpenCV被广泛应

用于企业、科研团队和政府部门。著名的公司都在使用开放CV,包括雅虎,

微软,英特尔,IBM,索尼,宏达,Toyota等等。

2需求分析

2.1可行性需求分析

1.技术可行性

深度学习ResNet手势识别技术通过使用卷积神经网络模型,能够有效地提

高手势识别的准确度和稳定性。其中,ResNet网络结构具有残差连接,能够有

效地解决深层神经网络训练中的梯度消失问题,提高了训练过程的稳定性和速

度。此外,数百万级别的手势图片数据集的开放共享,为手势识别的研究和实

践提供了良好的基础和资源。因此,深度学习ResNet手势识别技术被广泛认为

是一种高效可行的方法,可以应用于许多领域,如智能家居、虚拟现实、医疗

等。

2.项目可行性

3

湖南商务职业技术学院毕业设计

深度学习ResNet手势识别技术可以应用于智能家居、虚拟现实等领域,为

用户提供更加人性化的操作体验。在项目实施中,需要训练和优化神经网络模

型以实现更好的识别效果。同时,还需要结合硬件和软件的支持来构建具有高

效性和稳定性的手势识别系统。在项目应用中,还需要对数据的安全性加以考

虑,例如遵循隐私条例等法律法规。总而言之,深度学习ResNet手势识别项目

的可行性较高,可以应用于多个领域,为用户提供更加便捷的操作方式和更加

人性化的用户体验。

2.2数据集采集功能分析

此次项目的数据集来源于ASL数据集,包含了美国手语字母表中的26个

手势。数据集中包含了近30,000个手势样本,在不同的光照、角度、背景下拍

摄,包含了男女、不同年龄的人的手势样本。数据清洗后共500条记录,以此

尽可能保证数据可靠性。

手势识别技术可以用于医学中,如手术辅助、病人身体的检测等;手势识

别技术可以用于安全测量,在图像监控领域得重要应用,例如监控行为识别;

手势识别技术可以与虚拟现实(VR)和增强现实(AR)技术结合使用,使得

用户可以通过手势进行投影的操纵;手势识别技术可以用于教育领域,如对于

儿童学习程序设计、音乐、舞蹈等之类的活动,默认采用手势来表达意图。

2.3关键技术分析

2.3.1数据集爬取技术

网络爬虫也叫网络机器人,顾名思义就是代替人类手工,利用程序或脚本

来自动穿梭互联网,并进行数据信息的采集。网络爬虫按照实现的技术和结构

可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类

型。

通用网页爬行程序主要包括初始网址集合,网址队列,网页爬行模块,网

页分析模块,网页数据库,链接过滤模块。

焦点网络爬虫主要包括初始URL集合,URL队列,网页爬行模块,网页

分析模块,网页数据库,链接过滤模块,内容评估模块,链接评估模块等。

深层网络爬虫主要由URL列表,LVS列表(LVS是一组标记/数字,也就

是填写表单的数据源),爬行控制器,解析器,LVS控制器,表单分析器,表

单处理器,响应分析器等组成。

4

湖南商务职业技术学院毕业设计

通用网络爬虫的基本工作流程是以用户事先设置的一个或多个初始爬取的

网页url为依据,在获得初始url地址后,就可以访问相应的网页,并下载该页

面。在下载后,页面解析器会去除页面上的HTML标记,从而得到页面内容,

并将其存储到数据库中。与此同时,还会将已爬取的url存放到一个url列表中,

并发现新的url地址,同时还会将新取得的url地址放入url队列中。在爬取过

程中不断从url队中读取新url,并根据当前页面上新的Url爬取网页,同时从

新网页中获取新url,然后重复爬取过程,直到满足设定的条件为止。

聚焦网络爬虫的基本工作流程是获取初始的URL、根据初始的URL爬取

页面,并获得新的URL、从新的URL中过滤掉与爬取目标无关的链接、将过

滤后的链接放到URL队列中、根据搜索算法,从URL队列中确定URL的优先

级及下一步要爬取的URL地址、从下一步要爬取的URL地址中,读取新的

URL,然后依据新的URL地址爬取网页,并重复上述爬取过程。满足系统中设

置的停止条件时,或无法获取新的URL地址时,停止爬行。

2.3.2卷积神经网络原理

卷积神经网络(英文简称CNN)是目前最常见的一种深度神经网络,在图

像识别和自然语言处理中有着重要的应用。其主要原理是通过卷积操作进行特

征提取,通过池化操作进行特征压缩,最后通过全连接层进行分类或回归等任

务。

卷积神经网络由多个卷积层和池化层交替组成,其中卷积层是用于提取图

像特征的核心部分,池化层则用于将高维特征进行降维压缩。

卷积操作是CNN中最重要的操作,其基本思想是通过滑动窗口来卷积原

始图像或前一层的特征图(卷积核),从而提取图像的局部特征。卷积操作不

仅可以有效减少模型参数数量,还能够提取图像的空间信息,最终输出经过多

次卷积操作后提取出的高维特征图。

池化操作则是通过对特征图的降采样操作,进一步压缩图像特征的维度,

从而减少模型计算量和参数数量,避免模型过拟合。常见的池化操作有最大池

化和平均池化。

最后,通过全连接层进行分类或回归等任务。全连接层将高维特征图展开

成一维向量,连接到多个全连接层节点上,最终输出相应的分类或回归结果。

2.3.3ResNet原理

ResNet全称为DeepResidualNetwork,是一种深度神经网络模型。其主要

5

湖南商务职业技术学院毕业设计

原理是引入了残差学习的思想,通过在网络中加入跨层残差学习模块,使得模

型在训练过程中可以更好地学习到深层次的特征。

在传统的深度神经网络中,随着网络深度增加,往往会导致梯度消失或梯

度爆炸等问题,从而导致网络性能下降。而ResNet通过在网络中引入跨层残差

块,可以使得网络在深层次特征学习时,仍然能够有效地进行信息的传递和学

习。

具体来说,ResNet的跨层残差块是由两个卷积层和一个shortcut连接组成

的。其中,shortcut连接是通过跨越若干层直接连接而成的,其目的是为了跳过

网络中某些层对特征的干扰,在保证网络深度的同时,有效地提高了网络的性

能和稳定性。

总之,ResNet是一种通过引入残差学习的思想来解决传统深度神经网络中

存在的问题,从而在训练过程中更好地学习到深层次的特征的方法。

3数据集获取

3.1手势数据集

ASL手势数据集是一个用于美式手语识别的数据集,包含了美国手语字母

表中的26个手势,如图3-1所示。数据集中包含了近30,000个手势样本,在不

同的光照、角度、背景下拍摄,包含了男女、不同年龄的人的手势样本。

该数据集是由美国田纳西大学的机器人学实验室于2016年发布的,并在机

器视觉和模式识别领域广泛应用。它被用来训练和测试机器学习算法、深度学

习模型和计算机视觉算法,用来实现手语识别,并被用于开发专门的手语识别

设备和应用程序。

6

湖南商务职业技术学院毕业设计

图3-1手势数据集页面

3.2数据集获取

打开Edge浏览器,首先登录kaggle,在搜索栏中输入关键字:Sign

LanguageMNIST,选择Datasets第一个,观察图3-2,其中URL为:Sign

LanguageMNIST|Kaggle。

图3-2手势数据集网址页面

7

湖南商务职业技术学院毕业设计

3.3数据集可视化实现

导入所需库,如下图所示。

图3-3导入所需库页面

从kaggle网站爬取图片,提取数据,关键词为SignLanguageMNIST,同

时导入库,运行程序。

图3-4数据集展示图

4数据集处理

手势识别需要大量的数据集来进行训练和测试,因此需要采集大量的手势

数据。数据采集可以通过录制手势视频、使用传感器或者摄像头捕捉手势图像

等多种方式进行。

手势识别的数据预处理步骤包括图像预处理、图像增强和特征提取等。图

像预处理是指对采集到的手势图像进行去噪、边缘检测、二值化等操作,以便

提高图像的质量。图像增强是指对图像进行亮度、对比度、锐化等增强操作,

以便提高图像特征的可分性。特征提取是指从预处理后的图像中提取出特征点、

轮廓等特征,以便后续使用分类器进行分类。

手势识别的数据分类步骤包括训练分类器和测试分类器两个部分。训练分

类器是指使用采集到的手势数据集进行训练,并生成分类器模型。测试分类器

是指将新采集到的手势数据通过分类器模型进行分类识别。手势识别方法的数

8

湖南商务职业技术学院毕业设计

据处理与其他图像识别方法类似,但需要针对手势特有的形态和动态特征进行

适当的处理和分类。

应用部署是将优化后的模型应用到实际场景中,例如手势控制、手势交互

等。通过数据采集、预处理、特征提取、模型训练、模型测试、模型优化和应

用部署等环节的不断优化,可以提高手势识别的准确性和性能,使其可以更好

地服务于人类生产和生活的各个领域。

4.1数据预处理

数据预处理过程包括了数据清理、数据整合、数据规范和数据转换这四个

阶段。

归一化处理时使用sklearn包进行预处理。MinMaxScaler有一个很重要的

参数,即feature_range,用来控制我们想要压缩到什么程度的数据,缺省值为

[0,1]。

标准化处理是指在数据(x)按照均值(μ)进行中心化之后,再按照标准

差(σ)进行缩放,那么数据就会遵循一个均值为0,方差为1的正态分布(即

标准正态分布),而这个过程就是数据标准化(Standardization,又称Z-score

normalization)。

图4-1数据预处理代码

4.2切分训练集和测试集

train_test_split函数实现数据集的切分。将数据的输入x与输出y做一个横

向的拼接,再将它们随机地分开。

X作为数据集的输入y作为数据集的输出。test_size缺省的参数,该测试

集合的比例是0.2。radom_state的缺省参数是RandomNumber,通常在调试中,

我们想要每一次的切分要相同,所以我们只需要为该Number设定一个固定的

9

湖南商务职业技术学院毕业设计

值即可。代码实现如图4-2。

图4-2数据集切分代码

5模型构建及评估分析

5.1模型构建

5.1.1模型网络结构

本文提出了一种基于ResNet模型的手势识别方法,并设计了一个网络结构

来实现。该模型使用了两个卷积层和一个全连接层,用于提取手势的特征信息。

具体来说,网络采用了以下架构。

卷积层,该卷积层包括三个卷积核,分别是大小为1×1的池化层和大小为

3×3的下采样层。每个卷积核使用相同的激活函数进行卷积操作,以提取手势

的特征信息。

全连接层,该全连接层包括三个全连接层,分别是大小为2×2的全连接层、

大小为3×3的下采样层和大小为1×1的上采样层。

输出层,该输出层包含三个输出值,分别是大、小和1。其中,大输出值

表示手势类别,小输出值表示手势大小,而1个输出值表示手势的位置信息。

最后一个输出值用于将每个手势映射到它在训练集中出现过的位置。

5.1.2模型训练

该模型采用了两个卷积层和一个全连接层来分别提取手势的特征信息,并

通过使用不同大小的卷积核和下采样操作来提取手势的位置信息。此外,该模

型还使用了多个卷积核和下采样操作来提取手势的特征信息,以提高模型在复

杂场景下的识别准确率。

图5-1模型训练图

10

湖南商务职业技术学院毕业设计

5.2模型编译

5.2.1优化器设置

优化器的作用是更新模型中的参数,使得损失函数达到最小值。优化器的

种类有很多,概括起来常用的有五类:随机梯度下降(SGD,stochasticgradient

descent),SGDM(加入了一阶动量),AdaGrad(加入了二阶动量),RMSProp,

Adam,可以选择不同的优化器去进行训练。

图5-2模型优化器设置页面

5.2.2损失函数设置

从下图折线图中可以看出训练集的变化特别大,呈下降趋势。验证集的变

化趋势很平缓,没有特别大的变化。

图5-3损失函数展示页面

11

湖南商务职业技术学院毕业设计

5.3模型训练与调优

5.3.1模型训练设置

模型训练过程中,将输入图像经过预处理后分为两部分,一部分为手势图

像,另一部分为背景图像,并将二者作为输入层。在模型训练中,使用Adam

优化器进行训练,通过调整学习率、正则化参数以及激活函数等进行模型训练。

在进行数据扩充时,将训练集、验证集和测试集划分成4份,其中1份用作测

试集,2份用作训练集,3份用作验证集。在模型训练过程中,对模型进行交叉

验证,以确定网络模型的稳定性。

5.3.2学习率调优

在神经网络训练过程中,随着学习率的增大,神经网络的泛化能力增强,

但是学习率过大也会导致训练时间增加,影响训练速度。

图5-4学习率调优代码

本文使用梯度下降法对学习率进行调优。梯度下降法是一种简单、有效的

优化算法,适用于在局部最优解附近寻找全局最优解。根据梯度下降法的原理,

梯度下降的收敛条件是当误差下降到一定程度时,梯度不再下降,即达到最大

值。由于残差网络训练时误差下降缓慢,如果要提高模型的泛化能力和收敛速

度,可以在训练过程中逐渐增加梯度下降的步长。

5.3.3batch_size设置

为了设计基于resnet模型的手势识别方法,需要对所需的batch_size进行

设置。以下是batch_size设置方案。

四舍五入法,将所有手势特征(即对应的batch_size)都除以5,得到平均每

幅手势特征的batch_size。这种方法适用于简单的手势识别任务,例如抬手和挥

手。在batch_size设置方案仅适用于简单且重复的手势识别任务,而对于困难

且复杂的手势识别任务,可能需要使用更长或者更大的batch_size来进行训练

12

湖南商务职业技术学院毕业设计

和测试。同时,在进行模型超参数优化时,也需要根据具体任务和数据集进行

适当调整。

5.4模型部署

5.4.1系统前端设计

基于ResNet模型的手势识别方法设计系统前端设计的主要目的是将

ResNet模型应用到手势识别任务中,并将其转化为可计算的形式。

5.4.2系统后端部署

本文提出的基于深度学习ResNet模型的手势识别方法,首先,对深度图像

进行预处理、图像分割、特征提取等预处理,为深度神经网络提供更加丰富的

数据;其次,采用卷积神经网络

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论