一种基于3d卷积神经网络的动态手势识别方法
技术领域
1.本发明涉及机器视觉领域,具体为一种基于3d卷积神经网络的动态手势识别方法。
背景技术:
2.随着机器学习和深度学习的不断发展,动态手势识别成为计算机视觉、物联网和人工智能等领域的研究热点,对智慧医疗、智能家居等行业有重要作用。
3.动态手势识别方法主要有:基于手工提取特征的动态手势识别方法和基于深度神经网络学习特征的动态手势识别方法。基于手工提取特征的动态手势识别方法根据不同场景的要求提取相应的特征,最终利用分类器将分类结果输出,但是受环境的影响较大,且需要人工提取手势动作图像特征,工作量大,耗费时间;基于深度神经网络学习特征的动态手势识别方法从数据中自动学习目标特征,输入一段视频,通过神经网络完成对视频中动态手势特征的提取,避免了手工提取特的过程。
4.现有基于深度学习的动态手势识别方法中所设计的神经网络结构复杂,容易产生梯度爆炸以及梯度消失的问题;同时,现存网络往往注重高层的语义信息的利用,对浅层特征信息挖掘利用不够。
5.为解决上述问题,本发明提出一种基于3d卷积神经网络的动态手势识别方法,利用公开的动态手势数据集来训练和测试所设计的神经网络;针对目前神经网络结构复杂,相邻卷积层的特征信息缺乏关联性,易产生梯度爆炸或者梯度消失,以及对浅层特征信息挖掘利用不够的问题,在r(2+1)d-18网络的基础上增加一个跳残差结构,以及将r(2+1)d-18网络的浅层特征与深层特征相融合,提高手势识别精度。
技术实现要素:
6.1、本发明的目的
7.本发明为了提高识别精度,提供了一种基于卷积神经网络的手势识别方法。
8.2、本发明所采用的技术方案
9.本发明提出的一种基于卷积神经网络的动态手势识别网络方法,通过以下步骤实现:
10.(1)对公开的动态手势数据集进行预处理:
11.(1-1)帧截取:对公开动态手势数据集的每一个动作视频以原始的帧速率进行帧采样,确保一个动作视频提取出的动作图像不少于16帧;
12.(1-2)数据标定:动态手势数据集的动作一共为n类,标签分别标记为1到n,动态手势视频一共有m个;其中m1个视频进行帧提取后的动作图像作为训练数据,剩余的m2个视频进行帧提取后的动作图像作为测试数据;
13.(1-3)图像裁剪与数据增强:将尺寸不一的动作图像统一裁剪成尺寸为112x112的图像,然后进行随机水平或垂直翻转,将动作图像的rgb数据进行平均归一化;
14.(2)将r(2+1)d-18网络增加跳残差结构:
15.增加跳残差结构:r(2+1)d-18网络结构包括一个时空卷积层,四个残差层,一个平均池化层以及一个全连接层,其中,每个残差层包含两个残差块,每个残差块包含两个时空卷积层;将以上结构中的第一个时空卷积层和第三个残差层之间增加一个跳残差结构;
16.(3)将r(2+1)d-18网络提取的浅层特征与深层特征相融合:
17.(3-1)提取第一个残差层的特征:在r(2+1)d-18网络中的第一个残差层后新增一个分支,连接一个时空卷积层,一个批归一化层,一个平均池化层,一个全连接层,提取浅层特征;
18.(3-2)提取第二个残差层的特征:在r(2+1)d-18网络中的第二个残差层后新增一个分支,连接一个时空卷积层,一个批归一化层,一个平均池化层,一个全连接层,提取浅层特征;
19.(3-3)将浅层特征与深层特征融合:将上述第一个残差层后新增分支中的全连接层的输出特征与第二个残差层后新增分支中的全连接层的输出特征与原r(2+1)d-18网络中的全连接层的输出特征进行加权融合;
20.(4)对改造后的r(2+1)d-18网络进行训练和测试:
21.对动态手势数据集进行训练,剖析整个网络训练的损失函数,若不收敛则不断迭代更新网络参数调整网络结构,重新对网络进行训练,若整个网络趋于收敛则得到改造的r(2+1)d-18动态手势识别网络模型,对动态手势识别网络模型进行测试,得到分类的准确率,通过比较和评价得到动态手势的分类结果,实现对动态手势的分类,最后进行分析和总结。
22.优选的,所述的步骤(1)将r(2+1)d-18网络增加跳残差结构:
23.input(3,16,112,112)层连接spatiotemporalconv(64,16,56,56)层,spatiotemporalconv(64,16,56,56)层连接reslayer1(64,16,56,56)层,reslayer1(64,16,56,56)层连接reslayer2(128,8,28,28)层,reslayer2(128,8,28,28)层连接reslayer3(256,4,14,14)层,reslayer3(256,4,14,14)层连接reslayer4(512,2,7,7)层,reslayer4(512,2,7,7)层连接adaptiveavgpool3d(512,1,1,1)层,adaptiveavgpool3d(512,1,1,1)层连接linear(512,num_classes)层,num_classes为手势动作的种类数;其中在spatiotemporalconv(64,16,56,56)层之后添加一个跳残差结构,跳残差结构包括:spatiotemporalconv(512,2,7,7)和batchnorm3d(512,2,7,7)。
24.优选的,所述的步骤(1)将r(2+1)d-18网络提取的浅层特征与深层特征相融合:
25.在reslayer1(64,16,56,56)层之后添加第一个浅层特征提取层,包括:spatiotemporalconv(1,512,4,14,14),batchnorm3d(1,512,4,14,14),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;在reslayer2(128,8,28,28)层之后添加第二个浅层特征提取层,包括:spatiotemporalconv(1,512,2,7,7),batchnorm3d(1,512,2,7,7),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;将第一个浅层特征提取层的输出,第二个浅层特征提取层的输出和原r(2+1)d网络的输出特征相加。
26.优选的,动态手势分类的结果包括:动态手势数据集jester中的10类动作,包括:顺时针转动手、逆时针转动手、滑动两个手指向上、滑动两个手指向下、用两根手指缩小、用
两根手指放大、向左滑动两个手指、向右滑动两个手指、向左轻扫、向右轻扫。
27.3、本发明的有益效果
28.(1)本发明利用公开的动态手势数据集来训练和测试所设计的神经网络;将r(2+1)d-18网络增加跳残差结构,解决网络产生梯度爆炸或梯度消失的问题;
29.(2)将r(2+1)d-18网络提取的浅层特征与深层特征相融合,加深对浅层特征的挖掘,提高识别精度。
附图说明
30.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
31.图1为本发明的整体算法流程图;
32.图2为本发明的增加跳残差网络结构图;
33.图3为本发明的特征融合网络结构图;
34.图4为本发明的实验方法流程图;
具体实施方式
35.在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。
36.在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的部分,而省略了与本发明关系不大的其他细节。
37.具体实施方式一:
38.本实施方式的一种基于3d卷积神经网络的动态手势识别方法,结合图1,所述方法包括以下步骤:
39.步骤一、对公开的动态手势数据集进行预处理;
40.步骤二、将r(2+1)d-18网络增加跳残差结构;
41.步骤三、将r(2+1)d-18网络提取的浅层特征与深层特征相融合;
42.步骤四、对改造后的r(2+1)d-18网络进行训练和测试。
43.具体实施方式二:
44.与具体实施方式一不同的是,本实施方式的一种基于3d卷积神经网络的动态手势识别方法,结合图2,所述的步骤二中将r(2+1)d-18网络增加跳残差结构的具体方法为:
45.input(3,16,112,112)层连接spatiotemporalconv(64,16,56,56)层,spatiotemporalconv(64,16,56,56)层连接reslayer1(64,16,56,56)层,reslayer1(64,16,56,56)层连接reslayer2(128,8,28,28)层,reslayer2(128,8,28,28)层连接reslayer3(256,4,14,14)层,reslayer3(256,4,14,14)层连接reslayer4(512,2,7,7)层,reslayer4
(512,2,7,7)层连接adaptiveavgpool3d(512,1,1,1)层,adaptiveavgpool3d(512,1,1,1)层连接linear(512,num_classes)层,num_classes为手势动作的种类数;其中在spatiotemporalconv(64,16,56,56)层之后添加一个跳残差结构,跳残差结构包括:spatiotemporalconv(512,2,7,7)和batchnorm3d(512,2,7,7)。
46.具体实施方式三:
47.与具体实施方式一,二不同的是,本实施方式的一种基于3d卷积神经网络的动态手势识别方法,结合图3,所述的步骤三中将r(2+1)d-18网络提取的浅层特征与深层特征相融合的具体方法为:
48.在reslayer1(64,16,56,56)层之后添加第一个浅层特征提取层,包括:spatiotemporalconv(1,512,4,14,14),batchnorm3d(1,512,4,14,14),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;在reslayer2(128,8,28,28)层之后添加第二个浅层特征提取层,包括:spatiotemporalconv(1,512,2,7,7),batchnorm3d(1,512,2,7,7),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;将第一个浅层特征提取层的输出,第二个浅层特征提取层的输出和原r(2+1)d网络的输出特征相加。
49.具体实施方式四:
50.与具体实施方式一,二,三不同的是,本实施方式的一种基于3d卷积神经网络的动态手势识别方法,结合图4,所述的步骤四中训练及测试网络的具体流程为:
51.对公开的动态手势数据集进行训练,剖析整个网络训练的损失函数,若不收敛则不断迭代更新网络参数调整网络结构,重新对网络进行训练,若整个网络趋于收敛则得到动态手势识别网络模型,对得到的网络模型进行测试得到分类的准确率,通过比较和评价得到对动态手势的分类结果,最终进行分析和总结。
技术特征:
1.一种基于3d卷积神经网络的动态手势识别方法,其特征在于:所述方法通过以下步骤实现:(1)对公开的动态手势数据集进行预处理:(1-1)帧截取:对公开动态手势数据集的每一个动作视频以原始的帧速率进行帧采样,确保一个动作视频提取出的动作图像不少于16帧;(1-2)数据标定:动态手势数据集的动作一共为n类,标签分别标记为1到n,动态手势视频一共有m个;其中m1个视频进行帧提取后的动作图像作为训练数据,剩余的m2个视频进行帧提取后的动作图像作为测试数据;(1-3)图像裁剪与数据增强:将尺寸不一的动作图像统一裁剪成尺寸为112x112的图像,然后进行随机水平或垂直翻转,将动作图像的rgb数据进行平均归一化;(2)将r(2+1)d-18网络增加跳残差结构:增加跳残差结构:r(2+1)d-18网络结构包括一个时空卷积层,四个残差层,一个平均池化层以及一个全连接层,其中,每个残差层包含两个残差块,每个残差块包含两个时空卷积层;将以上结构中的第一个时空卷积层和第三个残差层之间增加一个跳残差结构;(3)将r(2+1)d-18网络提取的浅层特征与深层特征相融合:(3-1)提取第一个残差层的特征:在r(2+1)d-18网络中的第一个残差层后新增一个分支,连接一个时空卷积层,一个批归一化层,一个平均池化层,一个全连接层,提取浅层特征;(3-2)提取第二个残差层的特征:在r(2+1)d-18网络中的第二个残差层后新增一个分支,连接一个时空卷积层,一个批归一化层,一个平均池化层,一个全连接层,提取浅层特征;(3-3)将浅层特征与深层特征融合:将上述第一个残差层后新增分支中的全连接层的输出特征与第二个残差层后新增分支中的全连接层的输出特征与原r(2+1)d-18网络中的全连接层的输出特征进行加权融合;(4)对改造后的r(2+1)d-18网络进行训练和测试:对动态手势数据集进行训练,剖析整个网络训练的损失函数,若不收敛则不断迭代更新网络参数调整网络结构,重新对网络进行训练,若整个网络趋于收敛则得到改造的r(2+1)d-18动态手势识别网络模型,对动态手势识别网络模型进行测试,得到分类的准确率,通过比较和评价得到动态手势的分类结果,实现对动态手势的分类,最后进行分析和总结。2.根据权利要求1所述一种基于3d卷积神经网络的动态手势识别方法,其特征在于:将r(2+1)d-18网络增加跳残差结构,将r(2+1)d-18网络提取的浅层特征与深层特征相融合,将动态手势数据集中的图像输入到网络模型中,一个训练批次送入16帧手势动作图像,改造的r(2+1)d-18网络将浅层特征与深层特征融合,最后经过softmax分类器处理后,得到动态手势的相对概率,预测动态手势。3.根据权利要求1所述一种基于3d卷积神经网络的动态手势识别方法,其特征在于:所述网络结构为:在原r(2+1)d-18网络中增加跳残差结构,input(3,16,112,112)层连接spatiotemporalconv(64,16,56,56)层,spatiotemporalconv(64,16,56,56)层连接reslayer1(64,16,56,56)层,reslayer1(64,16,56,56)层连接reslayer2(128,8,28,28)层,reslayer2(128,8,28,28)层连接reslayer3(256,4,14,14)层,reslayer3(256,4,14,
14)层连接reslayer4(512,2,7,7)层,reslayer4(512,2,7,7)层连接adaptiveavgpool3d(512,1,1,1)层,adaptiveavgpool3d(512,1,1,1)层连接linear(512,num_classes)层,num_classes为手势动作的种类数;其中在spatiotemporalconv(64,16,56,56)层之后添加一个跳残差结构,跳残差结构包括:spatiotemporalconv(512,2,7,7)和batchnorm3d(512,2,7,7)。4.根据权利要求1所述一种基于3d卷积神经网络的动态手势识别方法,其特征在于:所述网络结构为:在原r(2+1)d-18网络中将浅层特征与深层特征融合,在reslayer1(64,16,56,56)层之后添加第一个浅层特征提取层,包括:spatiotemporalconv(1,512,4,14,14),batchnorm3d(1,512,4,14,14),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;在reslayer2(128,8,28,28)层之后添加第二个浅层特征提取层,包括:spatiotemporalconv(1,512,2,7,7),batchnorm3d(1,512,2,7,7),adaptiveavg(1,512,1,1,1)层和linear(512,num_classes)层,num_classes为手势动作的种类数;将第一个浅层特征提取层的输出,第二个浅层特征提取层的输出和原r(2+1)d网络的输出特征相加。5.根据权利要求1所述一种基于3d卷积神经网络的动态手势识别方法,其特征在于:动态手势为公开数据集jester中的10类动作,包括:顺时针转动手、逆时针转动手、滑动两个手指向上、滑动两个手指向下、用两根手指缩小、用两根手指放大、向左滑动两个手指、向右滑动两个手指、向左轻扫、向右轻扫。
技术总结
本发明公开了一种基于3D卷积神经网络的动态手势识别方法。其方案是:(1)对公开的动态手势数据集进行预处理;(2)将R(2+1)D-18网络增加跳残差结构;(3)将R(2+1)D-18网络提取的浅层特征与深层特征相融合;(4)对改造的R(2+1)D-18网络进行训练和测试。本发明解决了现有动态手势识别网络中相邻卷积层的特征信息缺乏关联性的问题以及对浅层特征信息挖掘利用不够的问题,提高了动态手势分类准确率,实现了对动态手势的识别,可应用于人机交互、虚拟现实等领域,为人们带来便利。为人们带来便利。为人们带来便利。
技术研发人员:刘杰 王月 王鹏
受保护的技术使用者:哈尔滨理工大学
技术研发日:2021.12.03
技术公布日:2022/3/8