一种手势识别方法、装置及存储介质与流程

文档序号:32386179发布日期:2022-11-30 06:19阅读:104来源:国知局
一种手势识别方法、装置及存储介质与流程

1.本技术涉及图像处理技术领域,尤其涉及一种手势识别方法、装置及存储介质。


背景技术:

2.随着科学技术的日益发展,手势识别的应用越来越广泛,已经成为人机交互领域的一个研究热点,例如,在家电领域,可以根据用户手势控制家电执行用户手势对应的指令;又例如,在交通领域,可以根据对交警的动作进行识别以获得对应的交通通行指令等。通常地,通过对图像进行处理识别而实现对图像中手势的识别。
3.相关技术中,手势识别的一种思路是构造手部关键点特征,并将手部关键点特征直接输入至手势分类模型中,得到手势识别结果。但是这种方式进行手势识别时,模型输入仅包括手部关键点特征,若连续多帧图像中手部关键点特征的变化较小,则难以识别出多帧图像对应的动态手势,因此手势识别的准确度较低。
4.此外,手势识别的另一种思路是从图像中获取人手关节序列,基于人手关节序列采用双分支网络获取人手关节之间的关联性,进而进行手势识别。通过这种方式进行手势识别时,由于采用双分支网络搭建网络模型的架构,因此在进行手势识别时需要大量的计算量。


技术实现要素:

5.本技术实施例提供一种手势识别方法、装置及存储介质,可以以较低的计算量实现较高准确性的手势识别。
6.第一方面,提供一种手势识别方法,该方法包括:获取多帧图像中每一帧图像的手部关键点特征信息;所述多帧图像根据对运动的手部进行拍摄得到;一帧图像的手部关键点特征信息包括该帧图像的手部关键点坐标以及手部关键点运动信息,一帧图像的手部关键点运动信息用于表征该帧图像的手部关键点坐标相对于该帧图像的前一帧图像中对应的手部关键点坐标的变化情况;将多帧图像中每一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果;其中,空间序列序号信息用于标记多帧图像中每一帧图像的手部关键点的序号,时间序列序号信息用于标记多帧图像中每一帧图像的空间信息对应的帧数。
7.本技术实施例提供的技术方案至少带来以下有益效果:将多帧图像的手部关键点特征信息、空间序列序号信息以及时间序列序号信息共同作为手势识别模型的输入,这样,相比于输入单一的手部关键点特征,这种多信息输入的方式引入了更多的多帧图像的源数据信息,因此可以提高手势识别的准确度。此外,本技术在构建手势识别模型时不需要构建复杂的双分支网络,因此可以降低手势识别过程中的计算量。
8.在一些实施例中,上述基于图卷积神经网络的手势识别模型包括基于图卷积神经网络的空间信息提取子模型、时序信息提取子模型以及分类子模型;上述将多帧图像中每
一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果,包括:将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵;每一帧图像的手部关键点邻接矩阵用于表征每一帧图像中任意两个手部关键点之间的连接关系;通过空间信息提取子模型的图卷积神经网络对每一帧图像的手部关键点邻接矩阵进行处理,得到多帧图像中每一帧图像的空间信息;将多帧图像中每一帧图像的空间信息以及时间序列序号信息输入至时序信息提取子模型,得到多帧图像的时序信息;多帧图像的时序信息用于表征多帧图像从第一帧图像到最后一帧图像的空间信息变化情况;将多帧图像的时序信息输入至分类子模型,得到手势识别结果。
9.应理解,上述手部关键点邻接矩阵是根据图卷积神经网络生成的邻接矩阵,因此相比于人工设计的邻接矩阵,这种由图卷积神经网络手部关键点邻接矩阵更适应于不同场景下的手势识别,泛化性强。此外,上述多帧图像中每一帧图像的空间信息包含了待识别的手势的相关信息,但是由于手势是一个动态连续的过程,因此需要通过时序信息提取子模型构建多帧图像之间的依赖关系,进而得到多帧图像的时序信息。进一步地,根据建立了依赖关系后的多帧图像的时序信息进行手势识别,以提高手势识别的准确性。
10.在一些实施例中,上述将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵,包括:对于多帧图像中每一帧图像,通过空间信息提取子模型将该帧图像的手部关键点特征信息以及空间序列序号信息进行融合处理,得到该帧图像的融合信息;将该帧图像的融合信息分别输入至空间信息提取子模型的第一卷积层和第二卷积层中,得到第一卷积层输出的该帧图像的融合信息的矩阵和第二卷积层输出的该帧图像的融合信息的矩阵;将第一卷积层输出的该帧图像的融合信息的矩阵转置后与第二卷积层输出的该帧图像的融合信息的矩阵相乘,得到该帧图像的手部关键点邻接矩阵。
11.在一些实施例中,上述将多帧图像中每一帧图像的空间信息以及时间序列序号信息输入至时序信息提取子模型,得到多帧图像的时序信息,包括:根据预设的时间序列序号信息,对多帧图像中每一帧图像对应的帧数进行标记;将标记帧数后的多帧图像的空间信息输入至所述时序信息提取子模型中的空间信息池化层,得到池化处理后的多帧图像的空间信息;将池化处理后的多帧图像的空间信息依次输入至第三卷积层和第四卷积层,进而通过第三卷积层和第四卷积层建立多帧图像中每帧图像之间的依赖关系,得到建立依赖关系后的多帧图像的空间信息;将建立依赖关系后的多帧图像的空间信息输入至所述时序信息提取子模型中的时间信息池化层,得到多帧图像的时序信息。
12.在一些实施例中,上述获取多帧图像中每一帧图像的手部关键点特征信息,包括:对于预设帧数的多帧图像中的每一帧图像,将该帧图像输入至回归模型,得到该帧图像的手部关键点坐标;若该帧图像不是多帧图像中的第一帧图像,则对于该帧图像的任一手部关键点坐标,根据该帧图像的手部关键点坐标相比于该帧图像的前一帧图像的该手部关键点坐标的变化量,确定该帧图像的该手部关键点对应的关键点运动信息;或者,若该帧图像是多帧图像中的第一帧图像,则该帧图像对应的关键点运动信息为预设的关键点运动信息。
13.在一些实施例中,上述方法还包括:在预设时间段内,对预设时间段内的待检测视频进行多次手势动作识别操作;手势动作识别操作用于获取待检测视频中的多帧图像中的手势识别结果;若在预设时间段内,进行多次手势动作识别操作所获得的多次手势识别结果不一致,则将多次手势识别结果中出现次数最多的手势识别结果确定为最终的手势识别结果。
14.应理解,在预设时间段内出现次数越多的手势识别结果,越有可能对应该预设时间段内真实的动态手势,因此,可以在多次手势识别结果不一致时将预设时间段内出现次数最多的手势识别结果确定为最终的手势识别结果,进而提高手势识别的准确性。
15.第二方面,提供一种手势识别装置,包括:获取模块,用于获取多帧图像中每一帧图像的手部关键点特征信息;所述多帧图像根据对运动的手部进行拍摄得到;一帧图像的手部关键点特征信息包括该帧图像的手部关键点坐标以及手部关键点运动信息,一帧图像的手部关键点运动信息用于表征该帧图像的手部关键点坐标相对于该帧图像的前一帧图像中对应的手部关键点坐标的变化情况;处理模块,用于将多帧图像中每一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果;其中,空间序列序号信息用于标记多帧图像中每一帧图像的手部关键点的序号,时间序列序号信息用于标记多帧图像中每一帧图像的空间信息对应的帧数。
16.在一些实施例中,上述处理模块,具体用于将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵;每一帧图像的手部关键点邻接矩阵用于表征每一帧图像中任意两个手部关键点之间的连接关系;通过空间信息提取子模型的图卷积神经网络对每一帧图像的手部关键点邻接矩阵进行处理,得到多帧图像中每一帧图像的空间信息;将多帧图像中每一帧图像的空间信息以及时间序列序号信息输入至时序信息提取子模型,得到多帧图像的时序信息;多帧图像的时序信息用于表征多帧图像从第一帧图像到最后一帧图像的空间信息变化情况;将多帧图像的时序信息输入至分类子模型,得到手势识别结果。
17.在一些实施例中,上述处理模块,具体用于对于多帧图像中每一帧图像,通过空间信息提取子模型将该帧图像的手部关键点特征信息以及空间序列序号信息进行融合处理,得到该帧图像的融合信息;将该帧图像的融合信息分别输入至空间信息提取子模型的第一卷积层和第二卷积层中,得到第一卷积层输出的该帧图像的融合信息的矩阵和第二卷积层输出的该帧图像的融合信息的矩阵;将第一卷积层输出的该帧图像的融合信息的矩阵转置后与第二卷积层输出的该帧图像的融合信息的矩阵相乘,得到该帧图像的手部关键点邻接矩阵。
18.在一些实施例中,上述处理模块,具体用于根据预设的时间序列序号信息,对多帧图像中每一帧图像对应的帧数进行标记;将标记帧数后的的多帧图像的空间信息输入至所述时序信息提取子模型中的空间信息池化层,得到池化处理后的多帧图像的空间信息;将池化处理后的多帧图像的空间信息依次输入至第三卷积层和第四卷积层,进而通过第三卷积层和第四卷积层建立多帧图像中每帧图像之间的依赖关系,得到建立依赖关系后的多帧图像的空间信息;将建立依赖关系后的多帧图像的空间信息输入至所述时序信息提取子模型中的时间信息池化层,得到多帧图像的时序信息。
19.在一些实施例中,上述获取模块,具体用于对于预设帧数的多帧图像中的每一帧图像,将该帧图像输入至回归模型,得到该帧图像的手部关键点坐标;若该帧图像不是多帧图像中的第一帧图像,则对于该帧图像的任一手部关键点坐标,根据该帧图像的手部关键点坐标相比于该帧图像的前一帧图像的该手部关键点坐标的变化量,确定该帧图像的该手部关键点对应的关键点运动信息;或者,若该帧图像是多帧图像中的第一帧图像,则该帧图像对应的关键点运动信息为预设的关键点运动信息。
20.在一些实施例中,上述处理模块,还用于在预设时间段内,对预设时间段内的待检测视频进行多次手势动作识别操作;手势动作识别操作用于获取待检测视频中的多帧图像中的手势识别结果;若在预设时间段内,进行多次手势动作识别操作所获得的多次手势识别结果不一致,则将多次手势识别结果中出现次数最多的手势识别结果确定为最终的手势识别结果。
21.第三方面,本技术实施例提供一种手势识别装置,包括:存储器和处理器;存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;其中,当处理器执行计算机指令时,使得手势识别装置执行如第一方面及其任一种可能的设计方式的手势识别方法。
22.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面以及可能的实现方式中提供的方法。
23.第五方面,本技术实施例提供一种包含计算机指令的计算机程序产品,当该计算机指令在计算机上运行时,使得计算机执行上述第一方面以及可能的实现方式中提供的方法。
24.需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与控制器的处理器封装在一起的,也可以与控制器的处理器单独封装,本技术对此不作限定。
25.本技术中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述。第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式的有益效果分析,此处不再赘述。
附图说明
26.图1为根据一些实施例的一种手势识别方法的流程示意图一;
27.图2为根据一些实施例的一种手部关键点的示意图;
28.图3为根据一些实施例的一种手势识别模型结果示意图;
29.图4为根据一些实施例的一种手势识别方法的流程示意图二;
30.图5为根据一些实施例的一种手部关键点拓扑结构的示意图;
31.图6为根据一些实施例的一种手势识别模型的训练方法的流程示意图;
32.图7为根据一些实施例的一种手势识别装置的结构示意图一;
33.图8为根据一些实施例的一种手势识别装置的结构示意图二。
具体实施方式
34.下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.需要说明的是,在本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
36.为了方便理解,首先对本技术涉及的相关概念进行简单介绍。
37.rgb:rgb色彩模式是一种常用的颜色标准,是通过对红(red)、绿(green)、蓝(blue)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色。
38.yuv:yuv图像色彩空间中,y表示亮度分量,u表示色调分量,v表示饱和度分量。
39.his:hsi(hue-saturation-intensity)图像色彩空间中,h表示色调分量,s表示亮度分量,i表示饱和度分量。
40.rgbd:含有rgb色彩空间信息和对应的深度图(depth map)信息的图像。记录了被摄区域的彩色成像和深度信息。
41.图卷积神经网络(graph convolutional networks,gcn):图卷积神经网络将卷积操作从传统数据推广到图数据,在构建许多其他复杂的图神经网络模型中发挥着核心作用。
42.以上是本技术实施例中所涉及到的部分概念的介绍,以下不再赘述。
43.如背景技术所述,手势识别已经成为人机交互领域的一个研究热点。通常地,通过对图像进行处理识别而实现对图像中手势的识别。相关技术中,手势识别的一种思路是构造手部关键点特征,并将手部关键点特征直接输入至手势分类模型中,得到手势识别结果。但是这种方式模型输入参数单一,因此手势识别的准确度较低。此外,手势识别的另一种思路是采用双分支网络获取人手关节之间的关联性,进而进行手势识别。但是由于这种方式采用双分支网络搭建网络模型的架构,因此在进行手势识别时需要大量的计算量。
44.对此,本技术实施例提供一种手势识别方法,该方法包括:获取多帧图像中每一帧图像的手部关键点特征信息;所述多帧图像根据对运动的手部进行拍摄得到;一帧图像的手部关键点特征信息包括该帧图像的手部关键点坐标以及手部关键点运动信息,一帧图像的手部关键点运动信息用于表征该帧图像的手部关键点坐标相对于该帧图像的前一帧图像中对应的手部关键点坐标的变化情况;将多帧图像中每一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果;其中,空间序列序号信息用于标记多帧图像中每一帧图像的手部关键点的序号,时间序列序号信息用于标记多帧图像中每一帧图像的空间信息
对应的帧数。
45.可以看出,本技术实施例提出的手势识别方法将多帧图像的手部关键点特征信息、空间序列序号信息以及时间序列序号信息共同作为手势识别模型的输入,这样,相比于输入单一的手部关键点特征,这种多信息输入的方式引入了更多的多帧图像的源数据信息,因此可以提高手势识别的准确度。此外,本技术在构建手势识别模型时不需要构建复杂的双分支网络,因此可以降低手势识别过程中的计算量。
46.需要说明的是,本技术提供的手势识别方法可以应用于任意手势识别场景。例如,在交通领域,可以对交警的指挥手势进行手势识别以获得对应的交通通行指令;又例如,在家电技术领域或车机交互领域,可以通过手势识别实现根据用户的手势设置家电或车辆指令;又例如,在社交场合,可以通过手势识别实现特殊人群的手语翻译。应理解,本技术实施例对手势识别方法的具体应用场景不作限制。
47.本技术实施例提供的手势识别方法可以由手势识别装置来执行。例如,该手势识别装置可以为服务器。又例如,该手势识别装置可以是具有图像处理功能的电子芯片,如gpu(graphics processing unit,图像处理单元)等;又例如,该手势识别装置可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等。可选地,该手势识别装置可以具有拍摄功能,以便实时获取待处理的视频或图像。可选地,该手势识别装置也可以具备存储功能,以便存储需要进行手势识别的图像或图像,或者存储手势识别结果。可选地,该手势识别装置还可以连接互联网,以便实现云手势识别。本技术对手势识别装置的具体形态不作特殊限制。下文中以手势识别装置为服务器进行举例说明。
48.为便于理解,以下结合附图对本技术提供的手势识别方法作具体介绍。
49.图1为本技术实施例提出的一种手势识别方法,应用于图像处理技术领域。如图1所示,该手势识别方法包括以下步骤s101至s102:
50.s101、获取多帧图像中每一帧图像的手部关键点特征信息。
51.其中,一帧图像的手部关键点特征信息包括该帧图像的手部关键点坐标以及手部关键点运动信息。一帧图像的手部关键点运动信息用于表征该帧图像的手部关键点坐标相对于该帧图像的前一帧图像中对应的手部关键点坐标的变化情况。
52.在一些实施例中,上述多帧图像可以是摄像装置实时拍摄的视频中的多帧图像,也可以是存储设备所存储的待识别的视频中的多帧图像。示例性地,在家电技术领域中,可以通过摄像装置实时拍摄用户的动作,从而根据实时拍摄的视频中的多帧图像进行手势识别。或者,在观看特殊人群的手语交流视频时,为便于识别手语含义,可以从存储设备中读取相关视频,从而对该相关视频中的多帧图像进行手势识别。
53.在一些实施例中,上述多帧图像可以是预设帧数的多帧图像。应理解,动态手势是一个时间上连续的动作,因此仅依赖于单帧图像不能准确地识别出动态手势。此外,由于一个手势的持续时间较短,因此在进行手势识别时,若采用过多帧数的图像,则会增大手势识别的运算量。因此,可以将多帧图像的帧数设置为预设的帧数。示例性地,预设帧数可以为10。需要说明的是,预设帧数的设置应该与手势识别方法的具体应用场景有关,若待识别的
手势作用时间较长,则预设帧数可以设置得较大,若待识别的手势作用时间较短,则预设帧数可以设置得较少,本技术对上述多帧图像的预设帧数不作限制。
54.在一些实施例中,上述获取多帧图像可以是连续时间内的多帧图像,也可以是按照时间顺序从待检测视频中周期提取的多帧图像。
55.示例性地,按照时间顺序从待检测视频中周期提取出多帧图像可以具体实现为:随着待检测视频的播放或拍摄,检测播放时间或拍摄时间是否达到图像帧提取周期的时间起点;其中,图像帧提取周期是基于对待检测视频中的帧数分析确定的,以连续若干帧数的图像帧为一个图像帧提取周期;若检测到播放时间或拍摄时间达到图像帧提取周期的时间起点,则提取出播放时间或拍摄时间达到图像帧提取周期的时间起点时所述待检测视频中的图像帧,直至提取的图像帧数量达到预设帧数。基于此,可以使得对待检测视频进行手势识别时不需要对待检测视频中的所有图像进行手势识别,而是根据图像帧提取周期跳帧识别,以节省手势识别的运算量。
56.在一些实施例中,在获取多帧图像进行手部关键点特征信息之前,还对多帧图像进行图像预处理,例如图像亮度变换、锐化、去摩尔纹或者去高斯噪声等操作,本技术对图像预处理的具体操作不作限制。
57.在一些实施例中,手部关键点用于将人体手部中的关键特征点定位出来。例如,如图2所示,为一种手部关键点的示意图。图2中的(a)示出了一种人体的手部图;对应的,图2中的(b)示出了图2中的(a)的手部对应的多个手部关键点,图2中的(b)中的每个黑色圆点对应一个手部关键点。可以看出,图2中的手部关键点定位出了手部的主要关节点。
58.在一些实施例中,手部关键点坐标可以是二维空间坐标。例如,当多帧图像的格式为rgb、yuv、或者hsi等格式时,将多帧图像中每一帧图像输入至二维关键点回归模型,获取多帧图像中每一帧图像中的二维的手部关键点坐标。
59.在另一些实施例中,手部关键点坐标可以是三维空间坐标。例如,当多帧图像的格式为rgbd等格式时,将多帧图像中每一帧图像输入至三维关键点回归模型,获取多帧图像中每一帧图像中的三维的手部关键点坐标。
60.在一些示例中,上述二维关键点回归模型和三维关键点回归模型可以是根据卷积神经网络构建的关键点回归模型。应理解,本技术对关键点回归模型的具体构建方法不作限制。
61.在一些实施例中,多帧图像中的每帧图像的关键点运动信息可以根据以下方式sa1至sa2确定:
62.sa1、对于多帧图像中的每一帧图像,若该帧图像不是多帧图像中的第一帧图像,则对于该帧图像的任一手部关键点坐标,根据该帧图像的手部关键点坐标相比于该帧图像的前一帧图像的该手部关键点坐标的变化量,确定该帧图像的该手部关键点对应的关键点运动信息。
63.示例性地,该帧图像的关键点运动信息满足以下关系:
[0064]vt
=p
t-p
t-1
[0065]
其中,v
t
表示第t帧图像的关键点运动信息,p
t
表示第t帧图像的关键点坐标,p
t-1
表示第t-1帧图像的关键点坐标,t为大于1的正整数。
[0066]
sa2、对于多帧图像中的每一帧图像,若该帧图像是多帧图像中的第一帧图像,则
该帧图像对应的关键点运动信息为预设的关键点运动信息。
[0067]
示例性地,该帧图像的关键点运动信息可以为与该帧图像的关键点坐标p1同型的全零矩阵。
[0068]
s102、将多帧图像中每一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果。
[0069]
其中,空间序列序号信息用于标记多帧图像中每一帧图像的手部关键点的序号,时间序列序号信息用于标记多帧图像中每一帧图像的空间信息对应的帧数。
[0070]
在一些实施例中,空间序列序号信息与关键点回归模型中所识别的手部关键点的总数量相关。示例性地,当手部关键点的总数量设置为21时,则空间序列序号为21*21的矩阵信息,空间序列序号对应的矩阵的每行信息对应一个手部关键点。
[0071]
在一些实施例中,时间序列序号信息与步骤s102中的多帧图像的总帧数相关。示例性地,当上述多帧图像的总帧数为10时,时间序列序号为10*10的矩阵信息,时间序列序号对应的矩阵的每行信息对应上述多帧图像中的一帧图像。
[0072]
在一些实施例中,如图3所示,上述基于图卷积神经网络的手势识别模型包括基于图卷积神经网络的空间信息提取子模型、时序信息提取子模型以及分类子模型。进一步地,如图4所示,上述步骤s102可以具体实现为以下步骤s1021至步骤s1023:
[0073]
s1021、将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵;通过空间信息提取子模型的图卷积神经网络对每一帧图像的手部关键点邻接矩阵进行处理,得到多帧图像中每一帧图像的空间信息。
[0074]
其中,每一帧图像的手部关键点邻接矩阵用于表征对应的该帧图像中任意两个手部关键点之间的连接关系,可以用于构造手部关键点拓扑结构。
[0075]
示例性地,图5中示出了一种手部关键点拓扑结构的示意图。参照图5,根据手部关键点邻接矩阵,可以将各个手部关键点(图5中的黑色圆点)相连,进而形成手部关键点拓扑结构。可以看出,手部关键点邻接矩阵包含了手部的形态信息,可以用于进一步进行手势识别。
[0076]
在一些示例中,仍参照图3,上述将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵可以具体实现为以下步骤:对于多帧图像中每一帧图像,通过空间信息提取子模型将该帧图像的手部关键点特征信息以及空间序列序号信息进行融合处理,得到该帧图像的融合信息;将该帧图像的融合信息分别输入至空间信息提取子模型的第一卷积层和第二卷积层中,得到第一卷积层输出的该帧图像的融合信息的矩阵和第二卷积层输出的该帧图像的融合信息的矩阵;将第一卷积层输出的该帧图像的融合信息的矩阵转置后与第二卷积层输出的该帧图像的融合信息的矩阵相乘,得到该帧图像的手部关键点邻接矩阵g。
[0077]
应理解,上述手部关键点邻接矩阵是根据图卷积神经网络生成的邻接矩阵,因此相比于人工设计的邻接矩阵,这种由图卷积神经网络手部关键点邻接矩阵更适应于不同场景下的手势识别,泛化性强。
[0078]
s1022、将多帧图像中每一帧图像的空间信息以及时间序列序号信息输入至时序
信息提取子模型,得到多帧图像的时序信息。
[0079]
其中,上述多帧图像的时序信息用于表征多帧图像从第一帧图像到最后一帧图像的空间信息变化情况。
[0080]
在一些示例中,仍参照图3,上述步骤s1022可以具体实现为以下步骤:根据预设的空间序列序号信息,对多帧图像中每一帧图像对应的帧数进行标记;将标记帧数后的多帧图像的空间信息输入至所述时序信息提取子模型中的空间信息池化层,得到池化处理后的多帧图像的空间信息;将池化处理后的多帧图像的空间信息依次输入至第三卷积层和第四卷积层,进而通过第三卷积层和第四卷积层建立多帧图像中每帧图像之间的依赖关系,得到建立依赖关系后的多帧图像的空间信息;将建立依赖关系后的多帧图像的空间信息输入至所述时序信息提取子模型中的时间信息池化层,得到多帧图像的时序信息。
[0081]
s1023、将多帧图像的时序信息输入至分类子模型,得到手势识别结果。
[0082]
其中,上述分类子模型可以基于决策树、支持向量机,或者随机森林等机器学习方法构建,也可以基于fc(全连接)层和softmax函数构建,本技术对此不作限制。
[0083]
应理解,上述多帧图像中每一帧图像的空间信息包含了待识别的手势的相关信息,但是由于手势是一个动态连续的过程,因此需要通过时序信息提取子模型构建多帧图像之间的依赖关系,进而得到多帧图像的时序信息。进一步地,根据建立了依赖关系后的多帧图像的时序信息进行手势识别,以提高手势识别的准确性。
[0084]
图1所提供的技术方案至少带来以下有益效果:将多帧图像的手部关键点特征信息、空间序列序号信息以及时间序列序号信息共同作为手势识别模型的输入,这样,相比于输入单一的手部关键点特征,这种多信息输入的方式引入了更多的多帧图像的源数据信息,因此可以提高手势识别的准确度。此外,本技术在构建手势识别模型时不需要构建复杂的双分支网络,因此可以降低手势识别过程中的计算量。
[0085]
在一些实施例中,如图6所示,上述手势识别模型按照以下步骤s1至步骤s5训练:
[0086]
s1、获取待训练的手势识别模型和样本集。
[0087]
其中,样本集包括多个训练样本,每一个训练样本包括多帧图像和多帧图像对应的手势类型标签。
[0088]
s2、对于样本集中的每个训练样本,将训练样本中的多帧图像输入至待训练的手势识别模型,得到训练样本中的多帧图像对应的手势类型识别结果。
[0089]
s3、根据训练样本中的多帧图像对应的手势类型识别结果和训练样本的手势类型标签,确定训练样本的损失值。
[0090]
在一些示例中,训练样本的损失值可以根据以下损失函数确定:
[0091][0092]
其中,x表示训练样本中的多帧图像识别出的手势类型对应的分类置信度。
[0093]
s4、根据训练样本的损失值,判断手势识别模型是否收敛。
[0094]
s5、若手势识别模型未收敛,按照梯度下降法对手势识别模型的参数进行更新,并重复上述步骤s2至步骤s5;或者,若手势识别模型收敛,则将当前的手势识别模型确定为训练完成的手势识别模型。
[0095]
基于此,可以根据反向传播算法对手势识别模型的参数进行更新,进而完成手势
识别模型的训练。
[0096]
在一些实施例中,可以预设多种手势,进而根据预设的多种手势对多帧图像进行手势识别,得到手势识别结果。其中,手势识别结果可以是多个置信度,每个置信度对应一种预设的手势。从多个置信度中选择最大的置信度对应的预设的手势作为手势识别的最终结果。
[0097]
在另一些实施例中,考虑到所检测到的手势的持续时长不固定,会因个人动作的快慢以及手势种类的不同等有所不同,因此可以根据用户需求设置合适的预设时间段进行手势识别。示例性地,在智能家居领域或车机交互领域,可以通过识别用户手势,控制智能家电或车载设备执行用户手势所对应的指令。此时,与指令相关的手势一般持续时间较短。因此,可以将预设时间段设置的较短。例如,将预设时间段设置为1秒。应理解,预设时间段的具体数值仅为示例,预设时间段的设置要根据具体的应用场景设置,本技术对此不作具体限制。
[0098]
进一步地,为提高手势识别的准确性,在预设时间段内,对预设时间段内的待检测视频进行多次手势动作识别操作,手势动作识别操作用于获取待检测视频中的多帧图像中的手势识别结果;若在预设时间段内,进行多次手势动作识别操作所获得的多次手势识别结果不一致,则将多次手势识别结果中出现次数最多的手势识别结果确定为最终的手势识别结果。
[0099]
在一些实施例中,服务器默认执行本技术所示的手势识别方法,以节省用户的选择时间。
[0100]
在另一些实施例中,服务器根据用户指示开启或关闭手势识别功能。具体地,若检测到用户指示开启手势识别功能的指令,则服务器执行本技术所示的手势识别方法;若检测到用户指示关闭手势识别功能的指令,则服务器执行本技术所示的手势识别方法。如此,可以适应性地满足用户在不同场景下的使用需求。
[0101]
在一些实施例中,当服务器开启手势识别功能后,若在预设时长内未检测到用户活动特征,则关闭手势识别功能;或者,当服务器关闭手势识别功能后,若在预设时长内检测到用户活动特征,则开启手势识别功能。
[0102]
示例性地,若预设时长为半小时,则当服务器开启手势识别功能后,若半小时内未检测到用户的手势操作,则关闭手势识别功能;或者,当服务器关闭手势识别功能后,若半小时内未检测到用户的手势操作,则关闭手势识别功能。
[0103]
在一些示例中,服务器包括红外检测模块,上述在预设时长内检测到用户活动特征,具体实现为:在预设时长内,服务器的红外检测模块检测到存在人体活动特征。
[0104]
可以看出,上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,本技术实施例提供了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0105]
如图7所示,本技术实施例提供了一种手势识别装置,用于执行图7所示的手势识
别方法。该手势识别装置300包括:获取模块301以及处理模块302。
[0106]
获取模块301,用于获取多帧图像中每一帧图像的手部关键点特征信息;所述多帧图像根据对运动的手部进行拍摄得到;一帧图像的手部关键点特征信息包括该帧图像的手部关键点坐标以及手部关键点运动信息,一帧图像的手部关键点运动信息用于表征该帧图像的手部关键点坐标相对于该帧图像的前一帧图像中对应的手部关键点坐标的变化情况。
[0107]
处理模块302,用于将多帧图像中每一帧图像的手部关键点特征信息、预设的空间序列序号信息以及预设的时间序列序号信息输入至基于图卷积神经网络的手势识别模型中,得到手势识别结果;其中,空间序列序号信息用于标记多帧图像中每一帧图像的手部关键点的序号,时间序列序号信息用于标记多帧图像中每一帧图像的空间信息对应的帧数。
[0108]
在一些实施例中,上述处理模块302,具体用于将多帧图像中每一帧图像的手部关键点特征信息以及预设的空间序列序号信息输入至空间信息提取子模型,得到每一帧图像的手部关键点邻接矩阵;每一帧图像的手部关键点邻接矩阵用于表征每一帧图像中任意两个手部关键点之间的连接关系;通过空间信息提取子模型的图卷积神经网络对每一帧图像的手部关键点邻接矩阵进行处理,得到多帧图像中每一帧图像的空间信息;将多帧图像中每一帧图像的空间信息以及时间序列序号信息输入至时序信息提取子模型,得到多帧图像的时序信息;多帧图像的时序信息用于表征多帧图像从第一帧图像到最后一帧图像的空间信息变化情况;将多帧图像的时序信息输入至分类子模型,得到手势识别结果。
[0109]
在一些实施例中,上述处理模块302,具体用于对于多帧图像中每一帧图像,通过空间信息提取子模型将该帧图像的手部关键点特征信息以及空间序列序号信息进行融合处理,得到该帧图像的融合信息;将该帧图像的融合信息分别输入至空间信息提取子模型的第一卷积层和第二卷积层中,得到第一卷积层输出的该帧图像的融合信息的矩阵和第二卷积层输出的该帧图像的融合信息的矩阵;将第一卷积层输出的该帧图像的融合信息的矩阵转置后与第二卷积层输出的该帧图像的融合信息的矩阵相乘,得到该帧图像的手部关键点邻接矩阵。
[0110]
在一些实施例中,上述处理模块302,具体用于根据预设的时间序列序号信息,对多帧图像中每一帧图像对应的帧数进行标记;将标记帧数后的的多帧图像的空间信息输入至所述时序信息提取子模型中的空间信息池化层,得到池化处理后的多帧图像的空间信息;将池化处理后的多帧图像的空间信息依次输入至第三卷积层和第四卷积层,进而通过第三卷积层和第四卷积层建立多帧图像中每帧图像之间的依赖关系,得到建立依赖关系后的多帧图像的空间信息;将建立依赖关系后的多帧图像的空间信息输入至所述时序信息提取子模型中的时间信息池化层,得到多帧图像的时序信息。
[0111]
在一些实施例中,上述获取模块301,具体用于对于预设帧数的多帧图像中的每一帧图像,将该帧图像输入至回归模型,得到该帧图像的手部关键点坐标;若该帧图像不是多帧图像中的第一帧图像,则对于该帧图像的任一手部关键点坐标,根据该帧图像的手部关键点坐标相比于该帧图像的前一帧图像的该手部关键点坐标的变化量,确定该帧图像的该手部关键点对应的关键点运动信息;或者,若该帧图像是多帧图像中的第一帧图像,则该帧图像对应的关键点运动信息为预设的关键点运动信息。
[0112]
在一些实施例中,上述处理模块302,还用于在预设时间段内,对预设时间段内的待检测视频进行多次手势动作识别操作;手势动作识别操作用于获取待检测视频中的多帧
图像中的手势识别结果;若在预设时间段内,进行多次手势动作识别操作所获得的多次手势识别结果不一致,则将多次手势识别结果中出现次数最多的手势识别结果确定为最终的手势识别结果。
[0113]
需要说明的是,图7中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,还可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0114]
在采用硬件的形式实现上述集成的模块的功能的情况下,本技术实施例提供了上述实施例中所涉及的手势识别装置的另一种可能的结构示意图。如图8所示,该手势识别装置400包括:处理器402,总线404。可选的,该手势识别装置还可以包括存储器401;可选地,该手势识别装置还可以包括通信接口403。
[0115]
处理器402,可以是实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器402可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器402也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0116]
通信接口403,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,wlan)等。
[0117]
存储器401,可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0118]
作为一种可能的实现方式,存储器401可以独立于处理器402存在,存储器401可以通过总线404与处理器402相连接,用于存储指令或者程序代码。处理器402调用并执行存储器401中存储的指令或程序代码时,能够实现本技术实施例提供的手势识别方法。
[0119]
另一种可能的实现方式中,存储器401也可以和处理器402集成在一起。
[0120]
总线404,可以是扩展工业标准结构(extended industry standard architecture,eisa)总线等。总线404可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0121]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将手势识别装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0122]
本技术实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机指令来指示相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的或内存。上述计算机可读存储介质也可以是上述基于手势识别装置的外
部存储设备,例如上述手势识别装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述手势识别装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述手势识别装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0123]
本技术实施例还提供一种计算机程序产品,该计算机产品包含计算机程序,当该计算机程序产品在计算机上运行时,使得该计算机执行上述实施例中所提供的任一项手势识别方法。
[0124]
尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0125]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
[0126]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1