基于Kinect和CNN-LSTM的动态数字手势识别.pdf
《基于Kinect和CNN-LSTM的动态数字手势识别.pdf》由会员分享,可在线阅读,更多相关《基于Kinect和CNN-LSTM的动态数字手势识别.pdf(3页珍藏版)》请在咨信网上搜索。
1、数据传输中国宽带 2023 年 5 月-74-近年来手势交互已在智能家居、虚拟现实、医疗健康等领域得到了广泛的应用和关注1。相比于传统硬件设备,比如键盘、鼠标和触屏等,用户用手势交互时无须穿戴设备,使得交互更加自然、流畅、方便2-3。手势交互时,对手势的正确识别是很重要的。传统的手势识别方法,比如支持向量机(SVM)、决策树等,依赖于手工设计的特征和分类器,这些方法需要专家的知识储备和大量的试错。基于深度学习的方法可以自动提取特征并进行分类,避开了传统方法的苛刻要求。动态手势是用一段时间内的静态手势的集合来表述某一特定意义,其具有时空特性4。动态手势时序性和空间不确定性易造成识别困难5。动态手
2、势具有多样性和复杂性,能够表达丰富的语义,因此,动态手势识别是近年来的研究热点。陶丽君6等人引入隐马尔可夫模型(HMM)来改进动态手势轨迹的提取和分类,达到有很高的识别率。胡宗承7等人提出一种结合深度信息和三维手部骨架信息的多模态融合的动态手势识别算法 TF-MG,利用MobilenetV2 和 DeepGRU 提取对应特征再进行特征融合实现 14 种和 28 种手势的高精度分类。赵康8等人在(2+1)D 卷积结构的基础上提出了一种 3D深度可分离卷积的轻量型结构,融合注意力机制专注于对运动特征的提取,在计算成本和内存占用减少时取得了较好的识别精度和较高的识别速度。周旭峰9等人提出两类组合循环
3、神经网络(RNN)网络架构处理相应多流信号,可以有效区分基于 EMG信号的不同动作。手势的识别速度和精准度仍然是研究和应用的关键。因此,提出一种基于 Kinect 和 CNN-LSTM 的手势识别方法。首先利用 Kinect 深度传感器采集包括手指运动轨迹信息的手部姿态数据,自建书写数字 0 9 的手势数据库;然后将手指运动轨迹信息作为输入送到 3 层卷积、池化等 CNN 网络层中进行特征提取;为了更好地捕捉手势的动态变化和时序信息,再将提取的特征序列输入 LSTM 网络中;为了避免过拟合,拟采用数据增强和 dropout 技术;最后将特征序列输入分类器中实现手势的分类识别。一、数据采集Kin
4、ect 传感器包含一个彩色摄像头和两个 3D深度图像传感器,利用 TOF(Time of Flying)技术获取景深数据,生成深度图像,采集的图像信息是距离,可得到物体的三维坐标,因而对环境要求低,不受光照、阴影、物体遮挡等影响,鲁棒性好。数据采集实验通过 Kinect V2 采集 12 个人(包括 7 男 5 女)的(0 9)10 个阿拉伯数字的书写手势,每人每个数字重复书写 10 次,共采集 1200个数字书写手势。每个人均用右手隔空书写各种手势,Kinect 以每秒 30 帧的采样率捕捉人体每一帧的 25 个关节点的以传感器为坐标的三维坐标(x,y,z)。具体数据采集过程如下:1.将 K
5、inect V2 传感器放置实验人员的正前方2m 的位置,以确保 Kinect V2 能够完整地捕捉到人体手部动作的信息。2.使 用 Kinect 配 套 的 开 发 工 具 包,获 取Kinect 传感器的数据流。实验人员右手隔空书写数字。第一次握拳为启动信号,在 2s 计时后开始隔空书写数字,书写完后第二次握拳为结束信号。数据存储在2s计时后开始。系统第二次检测到右手握拳状态则停止存储数据,存储时舍弃末尾的 15 帧数据。3.通过编程,对数据流进行处理和分析,提取人体 25 个骨骼点的三维坐标信息。4.将提取的数据保存为 CSV 格式,作为后续实验的输入数据。数据采集完后,选择右手手指指尖
6、的三维时空轨迹点 dt=(x(t),y(t),z(t)作为 CNN 网络的输入。查看每个数字的书写时长,最长约为3S,因而将每一个样本的数据规整为100*3的格式,若数据长度不够则添加相应长度的 0 矩阵。二、CNN-LSTM 网络模型CNN(Convolutional Neural Network)是 一种前馈神经网络,以卷积核为滤波器对输入数据进行不同方向、不同大小的滤波操作。通过这样基于 Kinect 和 CNN-LSTM 的动态数字手势识别 刘凤琳苏博【摘要】手势交互的自然便捷使得其在人机交互、虚拟现实等领域得到广泛的应用和关注。本文提出一种基于 CNN-LSTM的手部姿态识别方法。首
7、先利用 Kinect 深度传感器获取包括手指运动轨迹信息的手部姿态,然后将手指运动轨迹信息输入 3 卷积中,CNN 网络通过卷积池化等操作进行特征提取,接着将特征序列输入 LSTM 层中以便更好地捕捉手势的动态变化和时序信息,再将特征输入分类器softmax 中进行 0 9 数字书写手势的分类。实验结果显示,五折和十折交叉验证时的数字书写手势(0 9)的识别率分别为 99.3%和 98.7%。【关键词】Kinect;CNN;LSTM;动态手势数据传输中国宽带 2023 年 5 月-75-基于 Kinect 和 CNN-LSTM 的动态数字手势识别 刘凤琳苏博的方式,CNN 网络通过卷积操作来捕
8、捉复杂和抽象的特征信息,并通过池化方法减少参数数量和计算量。即 CNN 网络通过多层卷积和池化实现特征提取,并通过反向传播算法更新参数,通过 Batch Normalization 层防止内部协变量偏移以加速网络收敛,然后通过全连接层实现对输入数据的分类和识别。卷积层的操作可以表示为式(1)。(1)其中,conv 为卷积函数,n 为卷积核数目,Xi为第i层卷积的输入,B1为偏值,f定义为激活函数。将 卷 积 层 的 输 出 特 征 送 入 批 量 归 一 化(BatchNormalization)网络层,通过计算样本均值、方差、样本数据标准化处理、平移缩放处理,进行去均值归一化,以额外学习参数
9、为代价部分解决协变漂移(covariate shift)现象,避免深度网络梯度消失,以加速深度神经网络的收敛速度。批量归一化的转换式如式(2)(5)所示。(2)(3)(4)(5)其 中,m 为 每 个 batch 的 大 小。x 为 Batch Normalization 层的输入。为一个很小的正数,它是为了防止方差为零引起的数值计算不稳定而引入的。为 Batch Normalization 层的输出。对批量归一化网络层的输出特征进行池化操作,以减小特征大小。池化通过设定池化窗口大小和步长来降低特征的大小,在不改变特征图的通道数和特征位置的前提下,达到减少计算量和参数数量的目的,降低过拟合风险
10、,从而提高模型的鲁棒性和泛化能力。将池化后的提取特征送到 LSTM(Long Short-Term Memory)网络层进行处理。LSTM 是 RNN 的变体,通过引入三个门控(新信息的输入控制 input gate、旧信息的遗忘控制 forget gate、输出信息的选择控制 output gate)来控制信息的流动。信息的流动由这三个门控通过sigmoid函数进行控制。因此,LSTM 层可以选择性记忆和遗忘信息,预防梯度消失和爆炸。最后,在全连接层将前一层所有神经元与当前层的所有神经元通过权重矩阵相连,即进行权值变换和激活,则可获得分类结果。全连接层的计算量大,为防止过拟合,一般会在第一层
11、全连接层后面加一层dropout层,随机地将一部分神经元的输出置零。全连接层的分类可以用式(6)表示。(6)式中,D 是完全连接层的输入特性;W 是相应的权重;B2 是偏差值。损失函数是用来衡量模型预测结果与真实结果之间的差异的函数。模型训练通过最小化损失函数来调整模型参数。与其他损失函数相比,交叉熵损失函数具有更快的收敛速度和更好的数值稳定性。交叉熵的值越小,实际输出与期望输出的距离越短,即实际输出越接近于期望输出,分类越正确。分类器对样本进行所属类别的预测,得到一个概率矩阵P,那么,交叉熵可以用式(7)来计算。(7)其中,Y 为样本类别,n 为样本数,k 为分类数,P 为样本概率。设计采用
12、 3 层卷积的 14 层的 CNN 网络,每层 网 络 层 依 次 为 Conv1D,BatchNormalization,MaxPool1D,Conv1D,BatchNormalization,MaxPool1D,Conv1D,BatchNormalization,MaxPool1D,LSTM,Flatten,Dense,Dropout,Dense。Conv1D 是一维卷积神经网络层,神经网络中采用 3 个卷积核大小为 3*3 的 Conv1D 卷积层。卷积核个数设为 2n,n 分别取 5、6、7,即卷积核个数分别为 32、64、128。每个卷积层后面都附加一个 BatchNormaliza
13、tion 层对每个 batch 进行去均值归一化,从而使神经网络的收敛加速。每个BatchNormalization 层后面都附加一个最大池化层,最大池化是留下池化窗口中的最大值,设计中选择大小为 2*2,步长为 2 池化窗口。全连接层的输入为一维矢量,因而增加 Flatten 层将中间层的输出展平。为加大网络中权重的调整力度,采用两个全连接层。为防止模型过度拟合,Dropout 层的dropout 参数设置为 0.4。神经网络中其他的激活函数都采用 ReLu,除了最后一个全连接层中的激活函数采用 Softmax。Softmax 激活函数将向量转换为概率分布,输出分类标签,从而实现动态手势的分
14、类。三、实验及结果实验使用的计算机配置为Intel(R)Core(TM)i9-10885H CPU、32.0 GB 安装内存、2.40 GHz 主频和 Windows10 操作系统。实验数据来自 Kinect V2摄像头,图像的分辨率设置为 640 p480 p,利用微软 M-crosoft Visual Studio 2019 作为开发平台,并结合微软官方 Kinect for Windows SDK 开发工具包。主要识别模型由 python 语言编写,使用的开发软件为 Spyder3.8,进行数字书写手势识别实验。文中要识别数字 0 9 共 10 种数字书写手势。节 1 中规整后的信号特征
15、送入节 2 中的 CNN 网络进行手势识别,实验采用五折和十折交叉验证法进行验证。实验中的动量(momentum)在所有情况下都设置为 0.9。学习率使用指数下降,epoch 在100 200 之间,每个 epoch 按照 0.1lr 计算。初始学习率设置为 lr=0.01。除第一层卷积层外,其余所有层设置 dropout=0.4 防止过拟合。实验的 batch size 设置为 64,所有实验中正则化参数 都设置为 0.01。在模型训练过程中,采用交叉熵作 1.将 Kinect V2 传感器放置实验人员的正前方 2m 的位置,以确保 Kinect V2 能够完整地捕捉到人体手部动作的信息。2
16、.使用 Kinect 配套的开发工具包,获取 Kinect 传感器的数据流。实验人员右手隔空书写数字。第一次握拳为启动信号,在 2s 计时后开始隔空书写数字,书写完后第二次握拳为结束信号。数据存储在 2s 计时后开始。系统第二次检测到右手握拳状态则停止存储数据,存储时舍弃末尾的 15 帧数据。3.通过编程,对数据流进行处理和分析,提取人体 25 个骨骼点的三维坐标信息。4.将提取的数据保存为 CSV 格式,作为后续实验的输入数据。数据采集完后,选择右手手指指尖的三维时空轨迹点 dt=(x(t),y(t),z(t)作为 CNN 网络的输入。查看每个数字的书写时长,最长约为 3S,因而将每一个样本
17、的数据规整为 100*3 的格式,若数据长度不够则添加相应长度的 0 矩阵。二、CNN-LSTM 网络模型 CNN(Convolutional Neural Network)是一种前馈神经网络,以卷积核为滤波器对输入数据进行不同方向、不同大小的滤波操作。通过这样的方式,CNN 网络通过卷积操作来捕捉复杂和抽象的特征信息,并通过池化方法减少参数数量和计算量。即 CNN 网络通过多层卷积和池化实现特征提取,并通过反向传播算法更新参数,通过 BatchNormalization 层防止内部协变量偏移以加速网络收敛,然后通过全连接层实现对输入数据的分类和识别。卷积层的操作可以表示为式(1)。),(11
18、BCXconvfFniiii (1)其中,conv 为卷积函数,n 为卷积核数目,Xi 为第 i 层卷积的输入,B1 为偏值,f 定义为激活函数。将卷积层的输出特征送入批量归一化(BatchNormalization)网络层,通过计算样本均值、方差、样本数据标准化处理、平移缩放处理,进行去均值归一化,以额外学习参数为代价部分解决协变漂移(covariate shift)现象,避免深度网络梯度消失,以加速深度神经网络的收敛速度。批量归一化的转换式如式(2)(5)所示。imixm11 (2)miixm122)(1 (3)2uxxii (4)iixy (5)其中,m 为每个 batch 的大小。x
19、为 BatchNormalization 层的输入。为一个很小的正数,它是为了防止方差为零引起的数值计算不稳定而引入的。iy为 BatchNormalization 层的输出。对批量归一化网络层的输出特征进行池化操作,以减小特征大小。池化通过设定池化窗口大小和步长来降低特征的大小,在不改变特征图的通道数和特征位置的前提下,达到减少 1.将 Kinect V2 传感器放置实验人员的正前方 2m 的位置,以确保 Kinect V2 能够完整地捕捉到人体手部动作的信息。2.使用 Kinect 配套的开发工具包,获取 Kinect 传感器的数据流。实验人员右手隔空书写数字。第一次握拳为启动信号,在 2
20、s 计时后开始隔空书写数字,书写完后第二次握拳为结束信号。数据存储在 2s 计时后开始。系统第二次检测到右手握拳状态则停止存储数据,存储时舍弃末尾的 15 帧数据。3.通过编程,对数据流进行处理和分析,提取人体 25 个骨骼点的三维坐标信息。4.将提取的数据保存为 CSV 格式,作为后续实验的输入数据。数据采集完后,选择右手手指指尖的三维时空轨迹点 dt=(x(t),y(t),z(t)作为 CNN 网络的输入。查看每个数字的书写时长,最长约为 3S,因而将每一个样本的数据规整为 100*3 的格式,若数据长度不够则添加相应长度的 0 矩阵。二、CNN-LSTM 网络模型 CNN(Convolu
21、tional Neural Network)是一种前馈神经网络,以卷积核为滤波器对输入数据进行不同方向、不同大小的滤波操作。通过这样的方式,CNN 网络通过卷积操作来捕捉复杂和抽象的特征信息,并通过池化方法减少参数数量和计算量。即 CNN 网络通过多层卷积和池化实现特征提取,并通过反向传播算法更新参数,通过 BatchNormalization 层防止内部协变量偏移以加速网络收敛,然后通过全连接层实现对输入数据的分类和识别。卷积层的操作可以表示为式(1)。),(11BCXconvfFniiii (1)其中,conv 为卷积函数,n 为卷积核数目,Xi 为第 i 层卷积的输入,B1 为偏值,f
22、定义为激活函数。将卷积层的输出特征送入批量归一化(BatchNormalization)网络层,通过计算样本均值、方差、样本数据标准化处理、平移缩放处理,进行去均值归一化,以额外学习参数为代价部分解决协变漂移(covariate shift)现象,避免深度网络梯度消失,以加速深度神经网络的收敛速度。批量归一化的转换式如式(2)(5)所示。imixm11 (2)miixm122)(1 (3)2uxxii (4)iixy (5)其中,m 为每个 batch 的大小。x 为 BatchNormalization 层的输入。为一个很小的正数,它是为了防止方差为零引起的数值计算不稳定而引入的。iy为 B
23、atchNormalization 层的输出。对批量归一化网络层的输出特征进行池化操作,以减小特征大小。池化通过设定池化窗口大小和步长来降低特征的大小,在不改变特征图的通道数和特征位置的前提下,达到减少 1.将 Kinect V2 传感器放置实验人员的正前方 2m 的位置,以确保 Kinect V2 能够完整地捕捉到人体手部动作的信息。2.使用 Kinect 配套的开发工具包,获取 Kinect 传感器的数据流。实验人员右手隔空书写数字。第一次握拳为启动信号,在 2s 计时后开始隔空书写数字,书写完后第二次握拳为结束信号。数据存储在 2s 计时后开始。系统第二次检测到右手握拳状态则停止存储数据
24、,存储时舍弃末尾的 15 帧数据。3.通过编程,对数据流进行处理和分析,提取人体 25 个骨骼点的三维坐标信息。4.将提取的数据保存为 CSV 格式,作为后续实验的输入数据。数据采集完后,选择右手手指指尖的三维时空轨迹点 dt=(x(t),y(t),z(t)作为 CNN 网络的输入。查看每个数字的书写时长,最长约为 3S,因而将每一个样本的数据规整为 100*3 的格式,若数据长度不够则添加相应长度的 0 矩阵。二、CNN-LSTM 网络模型 CNN(Convolutional Neural Network)是一种前馈神经网络,以卷积核为滤波器对输入数据进行不同方向、不同大小的滤波操作。通过这
25、样的方式,CNN 网络通过卷积操作来捕捉复杂和抽象的特征信息,并通过池化方法减少参数数量和计算量。即 CNN 网络通过多层卷积和池化实现特征提取,并通过反向传播算法更新参数,通过 BatchNormalization 层防止内部协变量偏移以加速网络收敛,然后通过全连接层实现对输入数据的分类和识别。卷积层的操作可以表示为式(1)。),(11BCXconvfFniiii (1)其中,conv 为卷积函数,n 为卷积核数目,Xi 为第 i 层卷积的输入,B1 为偏值,f 定义为激活函数。将卷积层的输出特征送入批量归一化(BatchNormalization)网络层,通过计算样本均值、方差、样本数据标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Kinect CNN LSTM 动态 数字 手势 识别
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。