掌桥专利:专业的专利平台
掌桥专利
首页

手势识别方法、系统、介质及设备

文献发布时间:2023-06-19 11:32:36


手势识别方法、系统、介质及设备

技术领域

本发明属于视觉识别技术领域,尤其涉及一种手势识别方法、系统、介质及设备。

背景技术

手势识别技术已经普遍应用于各种智能终端中,通过手势能够对智能终端如手机进行控制完成相应的功能操作,可以实现智能终端更为灵活自然的操作过程,能够有效提升操作过程的简便性,并进一步提升用户体验。

传统的手势识别方法往往采用人工提取特征的方法进行手势检测,这个过程需要设计复杂的数据处理规则,并且此过程的泛化性、鲁棒性等方面的性能会比较差。例如使用直方图对肤色进行检测从而分割手部的方法,很容易将人脸等位置误检为手部。同时传统的手势识别方法也很难通过RGB(Red、Green、Blue)图片(三原色图片)对手部的各个关键点进行精准定位,也就难以实现细粒度控制。采用先进的基于深度学习深度神经网络进行手势识别的方法就能够将手势识别的性能有效提升。

但是,由于手势的种类是多种多样的,甚至可以定义无数种类型。在使用深度神经网络对手势识别模型进行训练时,常规的方法是每需要识别一种手势时,就需要采集并标注此种手势的图片,对手势识别模型进行训练,而这个标注过程是需要耗费大量的时间和人力成本的。

发明内容

为了解决现有技术中的上述问题,即为了解决如何准确且高效地对训练手势识别模型的手势图像进行标注,以提高手势识别模型的训练效率与准确性的技术问题,本发明提供了一种手势识别方法,包括:

获取在不同场景下不同类别手势的视频;

针对每类手势,从每类手势对应的每个场景下的视频中分别采集多帧图像,根据每帧所述图像中关于手势的图像特征与所述手势的类别生成每帧所述图像的图像标签,以及根据每帧所述图像以及相应的图像标签构建每类手势的手势识别训练集;

采用每类手势的手势识别训练集对分类识别模型进行训练,以获取手势分类识别模型;

采用所述手势分类识别模型对待检测图像进行手势识别。

在上述手势识别方法的一个可选技术方案中,在“根据每帧所述图像中关于手势的图像特征与所述手势的类别生成每帧所述图像的图像标签”的步骤之前,所述手势识别方法还包括:

将所述采集的多帧图像输入至手部关键点检测模型,分别获得每帧所述图像中每个手部的手部关键点的位置信息;

将所述手部关键点的位置信息作为所述关于手势的图像特征;

或者,在“根据每帧所述图像中关于手势的图像特征与所述手势的类别生成每帧所述图像的图像标签”的步骤之前,所述方法还包括:

采用手部形状检测模型分别对每帧所述图像中的每个手部进行手部边缘检测,以获取每个手部的形状特征;

将所述手部的形状特征作为所述关于手势的图像特征。

在上述手势识别方法的一个可选技术方案中,“从每类手势对应的每个场景下的视频中分别采集多帧图像”的步骤具体为:

按照预设的时间间隔对每个场景下的视频分别进行多次图像采集,获得每个场景下的视频对应的多帧图像。

在上述手势识别方法的一个可选技术方案中,所述手势分类识别模型为基于YOLO模型构建的分类识别模型或者所述手势分类识别模型为基于SSD模型构建的分类识别模型或者所述手势分类识别模型为基于Faster-RCNN模型构建的分类识别模型;

并且/或者,所述手部关键点检测模型为基于SRHandNet构建的检测模型或者所述手部关键点检测模型为基于openPose模型构建的检测模型。

本发明还提供了一种手势识别系统,包括:

视频获取模块,其用于获取在不同场景下不同类别手势的视频;

训练集获取模块,其用于针对每类手势,从每类手势对应的每个场景下的视频中分别采集多帧图像,根据每帧所述图像中关于手势的图像特征与所述手势的类别生成每帧所述图像的图像标签,以及根据每帧所述图像以及相应的图像标签构建每类手势的手势识别训练集;

模型训练模块,其用于采用每类手势的手势识别训练集对分类识别模型进行训练,以获取手势分类识别模型;

手势识别模块,其用于采用所述手势分类识别模型对待检测图像进行手势识别。

在上述手势识别系统的一个可选技术方案中,所述训练集获取模块包括第一图像特征获取子模块和/或第二图像特征获取子模块;

所述第一图像特征获取子模块包括:

关键点获取单元,其用于将所述采集的多帧图像输入至手部关键点检测模型,分别获得每帧所述图像中每个手部的手部关键点的位置信息;

图像特征获取单元,其用于将所述手部关键点的位置信息作为所述关于手势的图像特征;

所述第二图像特征获取子模块包括:

手部形状检测单元,其用于采用手部形状检测模型分别对每帧所述图像中的每个手部进行手部边缘检测,以获取每个手部的形状特征;

图像特征获取单元,其用于将所述手部的形状特征作为所述关于手势的图像特征。

在上述手势识别系统的一个可选技术方案中,所述训练集获取模块包括图像采集子模块,所述图像采集子模块用于按照预设的时间间隔对每个场景下的视频分别进行多次图像采集,获得每个场景下的视频对应的多帧图像。

在上述手势识别系统的一个可选技术方案中,所述手势分类识别模型为基于YOLO模型构建的分类识别模型或者所述手势分类识别模型为基于SSD模型构建的分类识别模型或者所述手势分类识别模型为基于Faster-RCNN模型构建的分类识别模型;

并且/或者,所述手部关键点检测模型为基于SRHandNet构建的检测模型或者所述手部关键点检测模型为基于openPose模型构建的检测模型。

本发明还提供了一种计算机可读存储介质,所述存储介质中存储有多条程序代码,所述程序代码适用于由处理器加载并运行以执行上述手势识别方法的技术方案中任一项所述的手势识别方法。

本发明还提供了一种计算机设备,包括处理器和存储器,所述存储器适用于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述手势识别方法的技术方案中任一项所述的手势识别方法。

本领域人员能够理解的是,在本发明的技术方案中,手势识别方法包括:获取在不同场景下不同类别手势的视频;针对每类手势,从每类手势对应的每个场景下的视频中分别采集多帧图像,根据每帧图像中关于手势的图像特征与手势的类别生成每帧图像的图像标签,以及根据每帧图像以及相应的图像标签构建每类手势的手势识别训练集;采用每类手势的手势识别训练集对分类识别模型进行训练,以获取手势分类识别模型;采用手势分类识别模型对待检测图像进行手势识别。

通过上述设置方式,使得本发明的手势识别方法能够采集不同场景下的各个手势类别的手势视频,并从手势视频中抽帧(采集视频中一帧或多帧图像),获得每个场景下的多帧手势图像,即能够快速得到大量已知准确手势类别的手势图像;获取这些手势图像的图像特征,并将图像特征与手势的类别结合生成图像标签,根据获取的图像以及图像标签构建相应类别的手势识别训练集,这种设置方法能够减轻对训练手势识别模型的手势图像进行图像标注的工作量,提高图像标注的效率与准确率。进一步,应用手势识别训练集,对分类识别模型进行训练,获得手势分类识别模型,由于手势训练集中包含有已知准确的手势类别的手势图像,结合手势的图像标签,能够对分类识别模型进行有效训练,也能够提高分类识别模型的训练效率并提高手势分类识别模型的准确性;将手势分类识别模型应用于实际的手势识别过程中,具有更高的鲁棒性。

附图说明

参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。其中:

图1为根据本发明一个实施例的手势识别方法的主要步骤流程示意图;

图2为根据本发明一个实施例的手势识别系统的主要结构框图;

图3为根据本发明的一个实施例的手势图像。

具体实施方式

下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。

下面参照图1对根据本发明的一个实施例手势识别方法进行描述,在本实施例中手势识别方法可以包括下列步骤:

步骤S100,获取在不同场景下不同类别手势的视频。

具体地,首先采集一部分人的摆拍某种类别的手势的一定数量的视频,这些视频中可以有一个人或者多个人,也可以是在不同场景下拍摄的,如在卧室、客厅、厨房、住宅小区、公园等,手势在视频中的位置、手势与镜头之间的距离、视频的背景都可以变换,但是同一类别手势的视频中仅包括一个类别的手势。

在一种可能的实施方式中,不同类别手势的视频可以使用手机摄像头、外置摄像头等拍摄设备进行视频采集。

步骤S200,针对每类手势,从每类手势对应的每个场景下的视频中分别采集多帧图像,根据每帧图像中关于手势的图像特征与手势的类别生成每帧图像的图像标签,以及根据每帧图像以及相应的图像标签构建每类手势的手势识别训练集。

步骤S200,进一步包括:

步骤S210,按照预设的时间间隔对每个场景下的视频分别进行多次图像采集,获得每个场景下的视频对应的多帧图像。

具体地,将步骤S100获取的视频按照预设的时间间隔进行抽帧,获得每个场景下的视频对应的多帧图像。

在一种可能的实施方式中,预设的时间间隔为0.2s。本领域技术人员可以根据实际需要对预设的时间间隔进行设置。

步骤S220,将采集的多帧图像输入至手部关键点检测模型,分别获得每帧图像中每个手部的手部关键点的位置信息。

具体地,应用手部关键点检测模型,获取每帧图像上的手部关键点的位置信息。手部关键点指的是手部的骨关节点,通过手部关键点以及手部关键点之间的几何关系能够获得手部的位置以及手部的状态。需要说明的是,本领域技术人员可以根据实际需求,灵活设置手部关键点的数量。例如,在一个例子中,手部关键点可以包含21个手部关键点,21个手部关键点的位置如图3所示,21个手部关键点为手部主要骨关节的位置。手部关键点的位置信息可以通过下列方式确定:利用手部关键点检测模型进行手部关键点检测后得到的每个手部关键点各自对应的检测框,将每个检测框在图像中的位置分别作为每个手部关键点的位置信息。具体而言,可以将手部关键点检测模块得到检测框的位置直接作为手部关键点的位置信息,也可以先对图像中所有检测框进行等比例缩放处理,将处理后的检测框的位置作为手部关键点的位置信息。

在一种可能的实施方式中,手部关键点检测模型可以为基于OpenPose模型构建的检测模型。OpenPose为基于卷积神经网络和监督学习的人体姿态识别模型,能够对二维多人的21个手部关键点进行识别。其特点是,运算速度与图像中的人数无关,鲁棒性好,精度高,能够对大量图像实现自动识别过程。

在一种可能的实施方式中,手部关键点检测模型可以为基于SRHandNet模型构建的检测模型。SRHandNet模型是针对给定的彩色图像同时回归手部兴趣区域和手部关键点的信息,并迭代地将手部的兴趣区域作为反馈信息的检测模型,以通过单个编码器/解码器网络体系结构提升手部关键点估计的性能。

步骤S230,将手部关键点的位置信息作为关于手势的图像特征。

具体地,将手部关键点作为手势的图像特征,可以更精准的获取手部所在区域,识别的精度高,能够实现图像中多人的手部关键点识别,也能够避免因为遮挡造成的错误识别的问题,同时避免了手动标注的过程,能够实现对手势图像准确高效的自动标注。

在本实施例中,可以采用数据处理技术领域中常规的数据标签设置方法,根据手部关键点的位置信息以及相应的手势的类别,生成图像的图像标签。例如,在一个实施方式中,可以将每帧图像中的手部关键点的位置信息与相应的手势的类别进行特征融合,生成每帧图像的图像标签,并将同一类别的图像以及相应的图像标签构建成统一类别的手势识别训练集。在一种可能的实施例中,可以应用concat函数进行系列特征融合的方式,实现手部关键点和手势的类别融合。在另一种可能的实施例中,也可以应用add函数,进行并行策略,将手部关键点和手势的类别信息进行组合,形成复合向量,作为手势图像的图像标签。需要说明的是,concat函数和add函数均是计算机数据处理技术领域中常规的数据处理函数,为了描述简洁,在此不再赘述。

在另一种可能的实施方式中,步骤S220为,采用手部形状检测模型分别对每帧图像中的每个手部进行手部边缘检测,以获取每个手部的形状特征;步骤S230为,将手部的形状特征作为关于手势的图像特征。

具体地,可以应用YOLO模型等人体检测模型对每帧图像中的手部的形状进行检测,并依据模型算法将手部的边缘框出,以获得手部的形状特征,并将手部的形状特征作为手势图像的图像特征。其中,在一个实施方式中,可以将手部的形状检测模型对手部进行手部边缘检测得到的边缘数据作为手部的形状特征。需要说明的是,本实施方式中的手部的形状检测模型是采用图像检测技术领域中常规的边缘检测算法构建的手部的形状检测模型,为了描述简洁,在此不再对边缘检测算法的具体工作原理和过程进行赘述。进一步,可以将每帧图像中的手部的形状特征与相应的手势类别进行特征融合,生成每帧图像的图像标签,将同一类别的图像以及相应的图像标签构建成同一类别的手势识别训练集。直接对手部的形状进行检测,直观性更高,适应性更强,且运算过程的速度比较快,但是在实际应用中,需要考虑光线,场景以及身体其他部位的颜色对于识别结果的影响。本领域相关技术人员可以根据实际应用进行选择。

步骤S300,采用每类手势的手势识别训练集对分类识别模型进行训练,以获取手势分类识别模型。

具体地,将每类手势的手势识别训练集送入到分类识别模型中,对模型进行训练,分类识别模型根据手势识别训练集生成预测函数,并执行预测过程,预测完成后,分类识别模型会通过损失函数进行损失(Loss)计算,并依据损失(Loss)进行参数更新,进一步应用于手势识别训练集生成新的预测函数,循环此过程,以使损失(Loss)达到最小。

在一种可能的实施方式中,分类识别模型可以为YOLO、SSD、Faster-RCNN及各种衍生模型。

步骤S400,采用手势分类识别模型对待检测图像进行手势识别。

具体地,将待检测的图像输入至手势分类识别模型中,能够实现对图像中的手势进行检测并分类,手势分类识别模型能够输出图像中手部的所在区域的坐标以及手势的类别信息。

根据上述步骤S100至步骤S400所述的手势识别方法实施可知,根据本发明实施例的手势识别方法能够自动标注手势图像,并结合手势的类别,获得手势训练集,节约了标注过程中所需要的人力和时间。由于手势训练集中包含了大量被正确标注的手势图像,因而使用该手势训练集能够有效训练手势分类识别模型,从而使手势分类识别模型能够从静止图像和视频中检测和识别指定的手势,实现端到端的手势识别,具有强泛化性和强鲁棒性。

进一步,本发明还提供了一种手势识别系统。

参阅附图2,图2是根据本发明的一个实施例的手势识别系统的主要结构框图。如图2所示,在本实施例中手势识别系统可以包括视频获取模块、训练集获取模块、模型训练模块和手势识别模块。具体而言,视频获取模块,其用于获取在不同场景下不同类别手势的视频;训练集获取模块,其用于针对每类手势,从每类手势对应的每个场景下的视频中分别采集多帧图像,根据每帧图像中关于手势的图像特征与手势的类别生成每帧图像的图像标签,以及根据每帧图像以及相应的图像标签构建每类手势的手势识别训练集;模型训练模块,其用于采用每类手势的手势识别训练集对分类识别模型进行训练,以获取手势分类识别模型;手势识别模块,其用于采用手势分类识别模型对待检测图像进行手势识别。一个实施方式中,具体实现功能的描述可以参见步骤S100至步骤S400所述。

在一个实施方式中,训练集获取模块可以包括关键点获取单元和图像特征获取单元。在本实施方式中,关键点获取单元,其用于将采集的多帧图像输入至手部关键点检测模型,分别获得每帧图像中每个手部的手部关键点的位置信息;图像特征获取单元,其用于将手部关键点的位置信息作为关于手势的图像特征。

在一个实施方式中,训练集获取模块可以包括手部形状检测单元和图像特征获取单元。在本实施方式中,手部形状检测单元,其用于采用手部形状检测模型分别对每帧图像中的每个手部进行手部边缘检测,以获取每个手部的形状特征;图像特征获取单元,其用于将手部的形状特征作为关于手势的图像特征。

在一个实施方式中,训练集获取模块包括图像采集子模块。在本实施方式中,图像采集子模块,其用于按照预设的时间间隔对每个场景下的视频分别进行多次图像采集,获得每个场景下的视频对应的多帧图像。

在一个实施方式中,手势分类识别模型为基于YOLO模型构建的分类识别模型或者手势分类识别模型为基于SSD模型构建的分类识别模型或者手势分类识别模型为基于Faster-RCNN模型构建的分类识别模型。

在一个实施方式中,手部关键点检测模型为基于SRHandNet构建的检测模型或者手部关键点检测模型为基于openPose模型构建的检测模型。

上述手势识别系统以用于执行图1所示的手势识别方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,手势识别系统的具体工作过程及有关说明,可以参考手势识别方法的实施例所描述的内容,此处不再赘述。

特别地,该手势识别方法的输入设备更为便捷,可以使用笔记本电脑的摄像头,智能手机摄像头等。另外该手势识别方法在图像采集和手势识别过程中,对于人手不做其他附加设备的要求(如手套等),使得计算机与人之间的交互过程更加自然。同时由于本发明的方案的数据成本较低,能够支持大量各种种类的手势识别。本发明的手势识别方法能够应用于终端设备、服务器等电子设备中实现多种种类和状态的手势识别过程。

本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述手势识别方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述手势识别方法实施例的程序,该程序可以由处理器加载并运行以实现上述手势识别方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。

进一步,本发明还提供了一种计算机设备。在根据本发明的一个计算机设备实施例中,计算机设备可以包括处理器和存储装置,存储装置可以被配置成存储执行上述手势识别方法实施例的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述手势识别方法实施例的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以是包括各种电子设备形成的设备。

进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。

本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。

至此,已经结合附图所示的一个实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

相关技术
  • 手势识别方法、手势识别装置、手势识别系统及存储介质
  • 手势识别方法、手势控制方法、装置、介质与终端设备
技术分类

06120112965047