一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

手势识别方法、装置、计算机可读存储介质及终端设备与流程

2021-10-23 02:08:00 来源:中国专利 TAG:终端设备 手势 图像处理 识别 装置


1.本技术属于图像处理技术领域,尤其涉及一种手势识别方法、装置、计算机可读存储介质及终端设备。


背景技术:

2.手势识别可分为静态手势识别和动态手势识别两类。静态手势识别处理单帧图像,动态手势识别与静态手势识别不同,处理的不是单帧图像而是视频流。现有技术中可以采用深度学习方法来进行动态手势识别,例如,可以采用时空图卷积网络来进行动态手势识别。但深度学习方法对算力要求极高,不适合在低算力的移动端设备中使用。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种手势识别方法、装置、计算机可读存储介质及终端设备,以解决现有技术中采用深度学习方法来进行动态手势识别,对算力要求极高,不适合在低算力的移动端设备中使用的问题。
4.本技术实施例的第一方面提供了一种手势识别方法,可以包括:
5.实时获取预设的摄像装置采集的视频流;
6.在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息;
7.对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列;
8.使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。
9.进一步地,所述静态手势信息包括静态手势类别和手部质心位置,所述在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息,包括:
10.若当前为近距离识别模式,则使用预设的神经网络分类器对目标视频帧进行手部识别,得到手部在所述目标视频帧中的静态手势类别,所述目标视频帧为所述视频流的任意一个视频帧;
11.通过对所述目标视频帧的图像学处理,计算得到所述目标视频帧中的手部质心位置。
12.进一步地,所述通过对所述目标视频帧的图像学处理,计算得到所述目标视频帧中的手部质心位置,包括:
13.通过对所述目标视频帧的图像预处理,得到所述目标视频帧中的手部掩码图像;
14.对所述手部掩码图像进行二值化处理,得到二值化手部图像;
15.在所述二值化手部图像中进行轮廓提取,并从提取到的轮廓中选取面积最大的轮廓作为手部轮廓;
16.对所述手部轮廓进行距离变换,计算得到所述目标视频帧中的手部质心位置。
17.进一步地,所述通过对所述目标视频帧的图像预处理,得到所述目标视频帧中的手部掩码图像,包括:
18.使用高斯滤波对所述目标视频帧进行平滑处理,得到平滑图像;
19.将所述平滑图像从rgb颜色空间转换至hsv颜色空间,得到空间转换图像;
20.使用预设的椭圆肤色模型对所述空间转换图像进行特征提取,得到特征图像;
21.通过形态学开闭处理滤除掉所述特征图像中的杂质区域,得到所述手部掩码图像。
22.进一步地,所述静态手势信息包括静态手势类别和手部质心位置,所述在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息,包括:
23.若当前为远距离识别模式,则使用预设的神经网络目标检测器对所述视频流的各个视频帧分别进行手部识别,确定识别出的各个手部在各个视频帧中的静态手势类别和手部质心位置;
24.确定各个手部在各个视频帧中的匹配关系,并建立与各个手部分别对应的跟踪器。
25.进一步地,所述确定各个手部在各个视频帧中的匹配关系,并建立与各个手部分别对应的跟踪器,包括:
26.根据当前视频帧中的手部检测框,使用卡尔曼滤波器计算下一视频帧中的预测检测框,并根据所述预测检测框确定下一视频帧中的手部检测框;
27.对当前视频帧中的手部检测框与下一视频帧中的手部检测框进行匈牙利匹配,确定各个手部在当前视频帧和下一视频帧中的匹配关系;
28.若同一手部在连续若干个视频帧中均匹配成功,则建立与该手部对应的跟踪器。
29.进一步地,所述使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别,包括:
30.对当前滑动窗口内的编码信息序列进行关键帧检测,若检测到的关键帧符合预设的模式特征,则确定与该编码信息序列对应的动态手势类别;
31.控制滑动窗口在编码信息序列中向后滑动一帧,并重新进行动态手势类别的确定过程,直至手势识别进程结束为止。
32.本技术实施例的第二方面提供了一种手势识别装置,可以包括:
33.视频流获取模块,用于实时获取预设的摄像装置采集的视频流;
34.静态手势识别模块,用于在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息;
35.信息编码模块,用于对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列;
36.滑动检测模块,用于使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。
37.进一步地,所述静态手势信息包括静态手势类别和手部质心位置,所述静态手势识别模块可以包括:
38.手势类别确定子模块,用于若当前为近距离识别模式,则使用预设的神经网络分
类器对目标视频帧进行手部识别,得到手部在所述目标视频帧中的静态手势类别,所述目标视频帧为所述视频流的任意一个视频帧;
39.质心位置计算子模块,用于通过对所述目标视频帧的图像学处理,计算得到所述目标视频帧中的手部质心位置。
40.进一步地,所述质心位置计算子模块可以包括:
41.图像预处理单元,用于通过对所述目标视频帧的图像预处理,得到所述目标视频帧中的手部掩码图像;
42.二值化处理单元,用于对所述手部掩码图像进行二值化处理,得到二值化手部图像;
43.手部轮廓选取单元,用于在所述二值化手部图像中进行轮廓提取,并从提取到的轮廓中选取面积最大的轮廓作为手部轮廓;
44.质心位置计算单元,用于对所述手部轮廓进行距离变换,计算得到所述目标视频帧中的手部质心位置。
45.进一步地,所述图像预处理单元可以包括:
46.平滑处理子单元,用于使用高斯滤波对所述目标视频帧进行平滑处理,得到平滑图像;
47.颜色空间转换子单元,用于将所述平滑图像从rgb颜色空间转换至hsv颜色空间,得到空间转换图像;
48.特征提取子单元,用于使用预设的椭圆肤色模型对所述空间转换图像进行特征提取,得到特征图像;
49.开闭处理子单元,用于通过形态学开闭处理滤除掉所述特征图像中的杂质区域,得到所述手部掩码图像。
50.进一步地,所述静态手势识别模块还可以包括:
51.目标检测子模块,用于若当前为远距离识别模式,则使用预设的神经网络目标检测器对所述视频流的各个视频帧分别进行手部识别,确定识别出的各个手部在各个视频帧中的静态手势类别和手部质心位置;
52.匹配子模块,用于确定各个手部在各个视频帧中的匹配关系,并建立与各个手部分别对应的跟踪器。
53.进一步地,所述匹配子模块可以包括:
54.卡尔曼滤波单元,用于根据当前视频帧中的手部检测框,使用卡尔曼滤波器计算下一视频帧中的预测检测框,并根据所述预测检测框确定下一视频帧中的手部检测框;
55.匹配关系确定单元,用于对当前视频帧中的手部检测框与下一视频帧中的手部检测框进行匈牙利匹配,确定各个手部在当前视频帧和下一视频帧中的匹配关系;
56.跟踪器建立单元,用于若同一手部在连续若干个视频帧中均匹配成功,则建立与该手部对应的跟踪器。
57.进一步地,所述滑动检测模块可以包括:
58.动态手势类别确定子模块,用于对当前滑动窗口内的编码信息序列进行关键帧检测,若检测到的关键帧符合预设的模式特征,则确定与该编码信息序列对应的动态手势类别;
59.滑动子模块,用于控制滑动窗口在编码信息序列中向后滑动一帧,并重新进行动态手势类别的确定过程,直至手势识别进程结束为止。
60.本技术实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种手势识别方法的步骤。
61.本技术实施例的第四方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种手势识别方法的步骤。
62.本技术实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述任一种手势识别方法的步骤。
63.本技术实施例与现有技术相比存在的有益效果是:本技术实施例实时获取预设的摄像装置采集的视频流;在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息;对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列;使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。本技术实施例将静态手势识别和动态手势识别有机地融合在同一过程中,基于对静态手势信息编码得到的编码信息序列,通过滑动窗口的滑动检测来完成对动态手势的识别。该过程无需进行复杂的网络运算,极大降低了对于算力的要求,更加适合在低算力的移动端设备中使用。
附图说明
64.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
65.图1为本技术实施例中一种手势识别方法的一个实施例流程图;
66.图2为近距离识别模式下进行手部识别,并确定静态手势信息的示意流程图;
67.图3为通过对目标视频帧的图像学处理,计算得到目标视频帧中的手部质心位置的示意流程图;
68.图4为远距离识别模式下进行手部识别,并确定静态手势信息的示意流程图;
69.图5为对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列的示意图;
70.图6为本技术实施例中一种手势识别装置的一个实施例结构图;
71.图7为本技术实施例中一种终端设备的示意框图。
具体实施方式
72.为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护
的范围。
73.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
74.还应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
75.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
76.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0077]
另外,在本技术的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0078]
请参阅图1,本技术实施例中一种手势识别方法的一个实施例可以包括:
[0079]
步骤s101、实时获取预设的摄像装置采集的视频流。
[0080]
在本技术实施例中,所述摄像装置可以是单个的摄像头,也可以是由若干个摄像头组成的摄像头阵列。根据具体的使用场景,所述摄像装置可以内置于终端设备中,也可以作为外设装置独立于所述终端设备。
[0081]
一般地,所述摄像装置采集的原始数据可以为rgb视频流,其中的各个视频帧均由红色通道(r)、绿色通道(g)、蓝色通道(b)构成。
[0082]
步骤s102、在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息。
[0083]
在本技术实施例中,所述静态手势信息可以包括静态手势类别和手部质心位置。
[0084]
在进行手势识别的过程中时,本技术实施例可以针对不同的场景采取对应的识别模式,例如,在目标距离所述摄像装置较近的情况下,可以采用近距离识别模式,而在目标距离所述摄像装置较远的情况下,可以采用远距离识别模式。以下将对这两种识别模式下的具体手势识别过程分别进行详细说明。
[0085]
以所述视频流的任意一个视频帧(此处将其记为目标视频帧)为例,在近距离识别模式下,步骤s102具体可以包括如图2所示的过程:
[0086]
步骤s1021、使用预设的神经网络分类器对目标视频帧进行手部识别,得到手部在所述目标视频帧中的静态手势类别。
[0087]
近距离识别模式下,手部在图像中占比较大,是显著性目标,因此可直接输入到神经网络分类器中进行处理。
[0088]
本技术实施例中所使用的神经网络分类器可以包括卷积层和softmax层,其中,卷积层用于提取特征,sofmax层用于最终的类别回归。为适应移动端轻量化设计原则,本技术实施例中优选采用小分辨率输入,例如可以设置输入到所述神经网络分类器中的视频帧图像尺寸为224像素
×
224像素,当然,也可以根据实际情况设置其它的输入尺寸,本技术实施
例对此不作具体限定。进一步地,考虑到静态手势的类别有限,并不需要过多的通道数,因此,为进一步减小计算量,本技术实施例中优选将每个卷积层的通道数减半。所述神经网络分类器的输出为每个静态手势类别的概率,在使用时取其中最大概率的类别即可。
[0089]
步骤s1022、通过对所述目标视频帧的图像学处理,计算得到所述目标视频帧中的手部质心位置。
[0090]
如图3所示,步骤s1022具体可以包括如下过程:
[0091]
步骤s10221、通过对所述目标视频帧的图像预处理,得到所述目标视频帧中的手部掩码图像。
[0092]
由于所述目标视频帧中一般会包含杂乱背景,因此可以通过对其进行预处理,提取出其中的手部掩码(mask)图像。具体地,可以首先使用高斯滤波对所述目标视频帧进行平滑处理,得到平滑图像。考虑到肤色模型有ycrcb和hsv两种颜色空间,而hsv颜色空间更加适用于黄种人的皮肤,因此在本技术实施例中优选将所述平滑图像从rgb颜色空间转换至hsv颜色空间,得到空间转换图像。接着,使用预设的椭圆肤色模型对所述空间转换图像进行特征提取,得到特征图像,最后通过形态学开闭处理滤除掉所述特征图像中的杂质区域,得到所述手部掩码图像。
[0093]
步骤s10222、对所述手部掩码图像进行二值化处理,得到二值化手部图像。
[0094]
二值化指的是将图像转换成只有黑白两色的图像。在本技术实施例中可以预先确定一个阈值(即二值化阈值),如果所述手部掩码图像上的像素大于该阈值则为白色,否则为黑色。
[0095]
步骤s10223、在所述二值化手部图像中进行轮廓提取,并从提取到的轮廓中选取面积最大的轮廓作为手部轮廓。
[0096]
由于各种可能存在的干扰,提取到的轮廓可能不止一个,考虑到在近距离识别模式下,手部在图像中占比较大,因此可以将其中面积最大的轮廓作为手部轮廓。
[0097]
步骤s10224、对所述手部轮廓进行距离变换,计算得到所述目标视频帧中的手部质心位置。
[0098]
在本技术实施例中,可以根据实际情况选择基于欧几里德距离的距离变换、基于曼哈顿距离的距离变换、基于象棋格距离的距离变换以及其它的距离变换算法来计算得到所述手部质心位置。
[0099]
在远距离识别模式下,步骤s102具体可以包括如图4所示的过程:
[0100]
步骤s1023、使用预设的神经网络目标检测器对所述视频流的各个视频帧分别进行手部识别,确定识别出的各个手部在各个视频帧中的静态手势类别和手部质心位置。
[0101]
在远距离识别模式下,一个视频帧中极有可能出现多个手部,因此需要通过神经网络目标检测器获取视频帧中所有手部出现的区域,经过非极大值抑制(non maximum suppression,nms)和置信度过滤后,神经网络目标检测器会输出最终的每个手部的检测框(bounding boxes),计算获得每个检测框的图像中心坐标作为对应手部的质心位置。经过神经网络目标检测器,每个识别出的手部均带有类别标签,对其静态手势类别进行标示。例如,静态手势a的类别标签为1,静态手势b的类别标签为2,以此类推,特殊地,对于无法判定类别的静态手势,其类别标签为0。
[0102]
步骤s1024、确定各个手部在各个视频帧中的匹配关系,并建立与各个手部分别对
应的跟踪器。
[0103]
为确定识别出的不同手部在各个视频帧帧之间的对应关系,在本技术实施例中可以采用多目标跟踪方法给与每一个识别出的手部一个唯一的标识(id)。具体地,首先初始化卡尔曼滤波器,根据当前视频帧中的手部检测框,使用卡尔曼滤波器计算下一视频帧中的预测检测框,并根据所述预测检测框确定下一视频帧中的手部检测框。然后,对当前视频帧中的手部检测框与下一视频帧中的手部检测框进行匈牙利匹配,确定各个手部在当前视频帧和下一视频帧中的匹配关系,其中,匹配过程的代价矩阵由当前视频帧中的手部检测框与下一视频帧中的手部检测框的交并比(intersection-over-union,iou)组成。若同一手部在连续若干个视频帧(具体数值可以根据实际情况设置,优选为3个视频帧)中均匹配成功,则建立与该手部对应的跟踪器(tracker),而若同一手部在连续若干个视频帧(具体数值可以根据实际情况设置,优选为5个视频帧)中均未匹配成功,则清除这一手部识别结果。通过这一过程,使得每个手部都有了自己唯一的id,为后续的动态手势识别打下了基础。
[0104]
步骤s103、对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列。
[0105]
如图5所示,对于任意一个识别出的手部而言,其在视频流中的每一个视频帧中的静态手势信息均可以被编码为质心位置 类别标签的形式。各个视频帧的编码信息依次排列所形成的序列即为所述编码信息序列。
[0106]
步骤s104、使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。
[0107]
动态手势可以分为基于手型变化的手势和基于轨迹的手势。例如,握拳这个动作即为一种基于手型变化的手势,挥手这个动作即为一种基于轨迹的手势。基于手型变化的动态手势对手的轨迹不关注,可以仅关注视频流中的关键帧序列。其中,关键帧为类别标签不为0的视频帧,视频流中能代表一个手势动作的视频帧序列即为关键帧序列,比如握拳这个动作的关键帧为五指张开和拳头这两个手势,并且顺序不能改变,所以这个动态手势的关键帧序列即为五指张开和拳头这两个静态手势组成的序列。基于轨迹的动态手势即关注手型也关注轨迹。
[0108]
在本技术实施例中,所述滑动窗口的长度可以根据实际情况进行设置,优选地,可以将其设置为60,即每次在连续的60个视频帧的编码信息序列中进行动态手势识别。
[0109]
具体地,可以对当前滑动窗口内的编码信息序列进行关键帧检测,若检测到的关键帧符合预设的模式特征,则确定与该编码信息序列对应的动态手势类别。例如,若在当前的滑动窗口内先后检测到了五指张开这一手势的关键帧和拳头这一手势的关键帧,符合了握拳的模式特征,则可以确定其为握拳这一动态手势。其中,若一个关键帧中的手势连续三帧被正确检出并被成功跟踪,则此关键帧被确认,否则,将其视为伪关键帧;当一个动作的最后一个关键帧被确认后,表示这个动作完成;当一个动作的前几个关键帧被确认后,后面的关键帧长时间没有被确认,则前几个关键帧被清除,不会无限期的等待。
[0110]
特殊地,对于基于轨迹的手势,还可以间隔固定帧求运动向量,根据求得的运动向量是否符合预设的运动模式特征,来最终确定其动态手势类别,例如,对于挥手这一动态手势而言,运动向量应当符合持续向左,再持续向右这样的反复交替的运动模式特征。
[0111]
接着,控制滑动窗口在编码信息序列中向后滑动一帧,并重新进行动态手势类别的确定过程,直至手势识别进程结束为止。
[0112]
这样的滑动检测具有以下优势:可以保证视频流被完整处理,不会遗漏视频帧;采用编码的数据进行滑窗,是对图像帧关键数据的最小存储,内存空间占用小,计算复杂度较低;滑窗可有效限制动作完成时间,避免无限期等待;动态滑窗中视频帧访问便捷,可根据视频帧进入的先后顺序进行标号;根据携带的质心位置信息,可对轨迹进行细化,如可以间隔固定帧求运动向量。
[0113]
综上所述,本技术实施例实时获取预设的摄像装置采集的视频流;在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息;对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列;使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。本技术实施例将静态手势识别和动态手势识别有机地融合在同一过程中,基于对静态手势信息编码得到的编码信息序列,通过滑动窗口的滑动检测来完成对动态手势的识别。该过程无需进行复杂的网络运算,极大降低了对于算力的要求,更加适合在低算力的移动端设备中使用。
[0114]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0115]
对应于上文实施例所述的一种手势识别方法,图6示出了本技术实施例提供的一种手势识别装置的一个实施例结构图。
[0116]
本实施例中,一种手势识别装置可以包括:
[0117]
视频流获取模块601,用于实时获取预设的摄像装置采集的视频流;
[0118]
静态手势识别模块602,用于在所述视频流中进行手部识别,并确定识别出的手部在所述视频流的各个视频帧中的静态手势信息;
[0119]
信息编码模块603,用于对各个视频帧中的静态手势信息依次进行信息编码,得到手部的编码信息序列;
[0120]
滑动检测模块604,用于使用预设的滑动窗口对所述编码信息序列进行滑动检测,确定每个手部的动态手势类别。
[0121]
进一步地,所述静态手势信息包括静态手势类别和手部质心位置,所述静态手势识别模块可以包括:
[0122]
手势类别确定子模块,用于若当前为近距离识别模式,则使用预设的神经网络分类器对目标视频帧进行手部识别,得到手部在所述目标视频帧中的静态手势类别,所述目标视频帧为所述视频流的任意一个视频帧;
[0123]
质心位置计算子模块,用于通过对所述目标视频帧的图像学处理,计算得到所述目标视频帧中的手部质心位置。
[0124]
进一步地,所述质心位置计算子模块可以包括:
[0125]
图像预处理单元,用于通过对所述目标视频帧的图像预处理,得到所述目标视频帧中的手部掩码图像;
[0126]
二值化处理单元,用于对所述手部掩码图像进行二值化处理,得到二值化手部图像;
[0127]
手部轮廓选取单元,用于在所述二值化手部图像中进行轮廓提取,并从提取到的轮廓中选取面积最大的轮廓作为手部轮廓;
[0128]
质心位置计算单元,用于对所述手部轮廓进行距离变换,计算得到所述目标视频帧中的手部质心位置。
[0129]
进一步地,所述图像预处理单元可以包括:
[0130]
平滑处理子单元,用于使用高斯滤波对所述目标视频帧进行平滑处理,得到平滑图像;
[0131]
颜色空间转换子单元,用于将所述平滑图像从rgb颜色空间转换至hsv颜色空间,得到空间转换图像;
[0132]
特征提取子单元,用于使用预设的椭圆肤色模型对所述空间转换图像进行特征提取,得到特征图像;
[0133]
开闭处理子单元,用于通过形态学开闭处理滤除掉所述特征图像中的杂质区域,得到所述手部掩码图像。
[0134]
进一步地,所述静态手势识别模块还可以包括:
[0135]
目标检测子模块,用于若当前为远距离识别模式,则使用预设的神经网络目标检测器对所述视频流的各个视频帧分别进行手部识别,确定识别出的各个手部在各个视频帧中的静态手势类别和手部质心位置;
[0136]
匹配子模块,用于确定各个手部在各个视频帧中的匹配关系,并建立与各个手部分别对应的跟踪器。
[0137]
进一步地,所述匹配子模块可以包括:
[0138]
卡尔曼滤波单元,用于根据当前视频帧中的手部检测框,使用卡尔曼滤波器计算下一视频帧中的预测检测框,并根据所述预测检测框确定下一视频帧中的手部检测框;
[0139]
匹配关系确定单元,用于对当前视频帧中的手部检测框与下一视频帧中的手部检测框进行匈牙利匹配,确定各个手部在当前视频帧和下一视频帧中的匹配关系;
[0140]
跟踪器建立单元,用于若同一手部在连续若干个视频帧中均匹配成功,则建立与该手部对应的跟踪器。
[0141]
进一步地,所述滑动检测模块可以包括:
[0142]
动态手势类别确定子模块,用于对当前滑动窗口内的编码信息序列进行关键帧检测,若检测到的关键帧符合预设的模式特征,则确定与该编码信息序列对应的动态手势类别;
[0143]
滑动子模块,用于控制滑动窗口在编码信息序列中向后滑动一帧,并重新进行动态手势类别的确定过程,直至手势识别进程结束为止。
[0144]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0145]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0146]
图7示出了本技术实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0147]
如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储
器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个手势识别方法实施例中的步骤,例如图1所示的步骤s101至步骤s104。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至模块604的功能。
[0148]
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。
[0149]
所述终端设备7可以是手机、平板电脑、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备7还可以包括输入输出设备、网络接入设备、总线等。
[0150]
所述处理器70可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0151]
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备7所需的其它程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
[0152]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0153]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0154]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0155]
在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0156]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0157]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0158]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0159]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜