一种手势识别方法、装置、电子设备及可读存储介质转让专利

申请号 : CN201910902165.0

文献号 : CN110414495B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郑敏鹏卢毅张凌寒

申请人 : 图谱未来(南京)人工智能研究院有限公司

摘要 :

本申请实施例提供一种手势识别方法、装置、电子设备及可读存储介质,通过对当前视频帧进行检测处理,得到当前视频帧的候选手势框,然后对候选手势框进行处理得到当前视频帧中的预测手势框,进而依据预测手势框在下一视频帧中进行提取得到下一视频帧的候选手势框。这样,通过本申请实施例所提供的方案,在得到下一视频帧的候选手势框时,不需要再对下一视频帧进行一次检测处理,这就降低了计算量,使得本申请的方案可以应用于计算性能较弱的设备中,可应用的场景更为丰富。

权利要求 :

1.一种手势识别方法,其特征在于,包括:

获取当前视频帧;

对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框;

在所述候选手势框不为空时,对所述当前视频帧的候选手势框进行跟踪处理,得到所述当前视频帧的手势跟踪框;所述手势跟踪框位于其所对应的所述候选手势框中,且所述候选手势框中的手势位置位于所述手势跟踪框内;

基于所述手势跟踪框在所述当前视频帧中的位置进行扩展得到预测手势框;

在所述当前视频帧的下一视频帧中提取所述预测手势框所在区域的内容得到所述下一视频帧的候选手势框;所述候选手势框用于进行手势分类识别处理,从而识别出所述候选手势框中的手势。

2.如权利要求1所述的手势识别方法,其特征在于,在对所述当前视频帧进行检测处理之前,还包括:确定满足预设的检测触发条件。

3.如权利要求2所述的手势识别方法,其特征在于,所述预设的检测触发条件包括:距离上一次对视频帧进行检测处理以获得候选手势框的时间间隔达到了预设时间间隔阈值。

4.如权利要求1所述的手势识别方法,其特征在于,对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框包括:对所述当前视频帧进行检测处理,得到所述当前视频帧中的各手势框,以及各所述手势框对应的第一置信度;

将各所述手势框对应的第一置信度与预设第一置信度阈值进行比较;

将所述第一置信度大于所述预设第一置信度阈值的手势框作为所述当前视频帧的候选手势框。

5.如权利要求4所述的手势识别方法,其特征在于,对所述当前视频帧进行检测处理,得到所述当前视频帧中的各手势框,以及各所述手势框对应的第一置信度包括:通过预设的手势检测模型对所述当前视频帧进行检测处理,输出所述当前视频帧中的各手势框,以及各所述手势框对应的权值;所述手势框对应的第一置信度为所述手势检测模型输出的所述手势框对应的权值。

6.如权利要求1所述的手势识别方法,其特征在于,对所述当前视频帧的候选手势框进行跟踪处理,得到所述当前视频帧的手势跟踪框包括:对所述当前视频帧的候选手势框进行跟踪处理,得到所述候选手势框的第二置信度和手势跟踪框;

将所述候选手势框的第二置信度与预设第二置信度阈值比较;

将所述第二置信度大于所述预设第二置信度阈值的候选手势框的手势跟踪框作为所述当前视频帧的手势跟踪框。

7.如权利要求6所述的手势识别方法,其特征在于,对所述当前视频帧的候选手势框进行跟踪处理,得到所述候选手势框的第二置信度和手势跟踪框包括:通过预设的手势跟踪模型对所述当前视频帧的候选手势框进行跟踪处理,输出所述候选手势框的第二置信度和手势跟踪框;所述候选手势框的第二置信度为所述手势跟踪模型输出的所述候选手势框的权值。

8.如权利要求6所述的手势识别方法,其特征在于,在将所述候选手势框的第二置信度与预设第二置信度阈值比较之后,还包括:若所述当前视频帧中,所有候选手势框的第二置信度均小于等于所述预设第二置信度阈值,则对所述当前视频帧的下一视频帧进行检测处理,得到所述下一视频帧的候选手势框。

9.一种手势识别装置,其特征在于,包括:获取模块、检测模块、处理模块和提取模块;

所述获取模块用于获取当前视频帧;

所述检测模块用于对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框;

所述处理模块用于在所述候选手势框不为空时,对所述当前视频帧的候选手势框进行跟踪处理,得到所述当前视频帧的手势跟踪框;所述手势跟踪框位于其所对应的所述候选手势框中,且所述候选手势框中的手势位置位于所述手势跟踪框内;基于所述手势跟踪框在所述当前视频帧中的位置进行扩展得到预测手势框;

所述提取模块用于在所述当前视频帧的下一视频帧中提取所述预测手势框所在区域的内容得到所述下一视频帧的候选手势框;所述候选手势框用于进行手势分类识别处理,从而识别出所述候选手势框中的手势。

10.一种电子设备,其特征在于,包括处理器、存储器及通信总线;

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行存储器中存储的一个或者多个程序,以实现如权利要求1至8中任一项所述的手势识别方法的步骤。

11.一种可读存储介质,其特征在于,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1至8中任一项所述的手势识别方法的步骤。

说明书 :

一种手势识别方法、装置、电子设备及可读存储介质

技术领域

[0001] 本申请涉及数据处理技术领域,具体而言,涉及一种手势识别方法、装置、电子设备及可读存储介质。

背景技术

[0002] 近年来,对于手势的检测处理成为计算机科学中的一个研究热点。通过对手势的检测处理,用户可以在不直接接触设备的情况下,通过产生的手势来控制电子设备。例如在虚拟现实的场景中,假设存在一个虚拟茶杯,通过对用户产生的拿起茶杯的手势进行检测处理,虚拟现实场景中的茶杯会呈现出被拿起的状态。
[0003] 目前,现有的手势检测处理方案大多都是利用一个深度学习模型,对视频流的每一帧都进行检测处理得到候选手势框。而由于需要对每一帧都进行检测处理,这就导致现有的手势检测处理方案对于设备的计算能力要求很高,局限性大,难以应用计算性能较弱的设备中。

发明内容

[0004] 本申请实施例的目的在于提供一种手势识别方法、装置、电子设备及可读存储介质,用以解决相关技术对于设备的计算能力要求很高,局限性大,难以应用计算性能较弱的设备中的问题。
[0005] 本申请实施例提供了一种手势识别方法,包括:获取当前视频帧;对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框;在所述候选手势框不为空时,对所述当前视频帧的候选手势框进行处理,得到所述当前视频帧中的预测手势框;在所述当前视频帧的下一视频帧中提取所述预测手势框所在区域的内容得到所述下一视频帧的候选手势框。
[0006] 在上述实现过程中,通过对当前视频帧进行检测处理,得到当前视频帧的候选手势框,进而对所述候选手势框进行处理,得到当前视频帧中的预测手势框,进而依据预测手势框在下一视频帧中进行提取得到下一视频帧的候选手势框。而应当理解的是,由于在实际应用中,相邻两视频帧之间的时间间隔很短,因此手势的位置变化是很小的,下一视频帧中的手势所在区域和当前视频帧的手势所在区域之间不会离得太远,根据候选手势框中的手势位置得到的预测手势框可以有效覆盖住下一视频帧中的手势。这样,通过本申请实施例所提供的方案,在得到下一视频帧的候选手势框时,不需要再对下一视频帧进行一次检测处理,而是依据当前视频帧的候选手势框中的手势位置得到下一视频帧的候选手势框。在手势检测处理过程中,运算量最大的过程就是对视频帧的检测处理过程。因此通过本申请的方案,对于下一视频帧不需要进行检测处理即可得到候选手势框,这就降低了计算量,不仅可以节约计算资源,可以使得本申请的方案可以应用于计算性能较弱的设备中,可应用的场景更为丰富,同时还提高了对候选手势框得确定效率,达到了快速实现手势识别的目的。
[0007] 进一步地,在所述对所述当前视频帧进行检测处理之前,还包括:确定满足预设的检测触发条件。
[0008] 在上述实现过程中,会判断是否满足预设的检测触发条件,进而在检测触发条件满足时,才对当前视频帧进行检测处理。这样即可以间隔性的实现对当前视频帧的检测,得到更为精准的当前视频帧的候选手势框,从而提升本申请方案的对于各视频帧的候选手势框的获取有效性,保证本申请方案的可靠性。
[0009] 进一步地,所述预设的检测触发条件包括:距离上一次对视频帧进行检测处理以获得候选手势框的时间间隔达到了预设时间间隔阈值。
[0010] 需要说明的是,在实际应用过程中,随着时间的推移,视频帧内的手势较之前的视频帧得以变多的情况(例如用户最初的5秒内仅用左手在进行手势操作,5秒后同时采用了左手和右手来进行手势操作)。那么,为了尽可能保证对于手势的识别的可靠性,可以设定在间隔一定时长后即重新对当前视频帧进行检测处理,从而再次精确定位出候选手势框,从而保证本申请方案的可靠性。
[0011] 进一步地,所述对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框包括:对所述当前视频帧进行检测处理,得到所述当前视频帧中的各手势框,以及各所述手势框对应的第一置信度;将各所述手势框对应的第一置信度与预设第一置信度阈值进行比较;将所述第一置信度大于所述预设第一置信度阈值的手势框作为所述当前视频帧的候选手势框。
[0012] 应当理解的是,在实际检测处理的过程中,会根据当前视频帧得到很多手势框,这些手势框中可能存在有部分手势框完全不包含手势,部分手势框包含部分手势,而只有少部分手势框包含有完整的手势。而在实际应用中,通常这些包含有完整的手势的手势框才是有意义的。因此,为了筛选出真正需要的手势框(即候选手势框),在上述实现过程中,通过得到各手势框对应的第一置信度,利用各手势框对应的第一置信度以及预设的第一置信度阈值来实现对手势框的筛选,保证了本申请的方案的可靠性。同时通过筛选也剔除了无用的手势框,使得本申请的方案数据处理量得以降低,使得本申请的方案可以应用于计算性能较弱的设备中。
[0013] 进一步地,所述对所述当前视频帧进行检测处理,得到所述当前视频帧中的各手势框,以及各所述手势框对应的第一置信度包括:通过预设的手势检测模型对所述当前视频帧进行检测处理,输出所述当前视频帧中的各手势框,以及各所述手势框对应的权值;所述手势框对应的第一置信度为所述手势检测模型输出的所述手势框对应的权值。
[0014] 在上述实现过程中,通过预先构建手势检测模型,进而依据手势检测模型来实现对当前视频帧的检测处理以及得到各视频帧的第一置信度,实现方式简单,可实现性高。
[0015] 进一步地,所述对所述当前视频帧的候选手势框进行处理,得到所述当前视频帧中的预测手势框包括:对所述当前视频帧的候选手势框进行跟踪处理,得到所述当前视频帧的手势跟踪框;所述手势跟踪框位于其所对应的所述候选手势框中,且所述候选手势框中的手势位置位于所述手势跟踪框内;基于所述手势跟踪框在所述当前视频帧中的位置进行扩展得到预测手势框。
[0016] 在上述实现过程中,通过对候选手势框进行跟踪处理,得到所述候选手势框的第二置信度和手势跟踪框,进而保留第二置信度大于预设第二置信度阈值的候选手势框的手势跟踪框作为当前视频帧的手势跟踪框,这样就剔除了跟踪处理过程中所产生的不可靠数据,保留了实际需要的数据,保证了本申请的方案的可靠性,同时也使得本申请的方案数据处理量得以降低,使得本申请的方案可以应用于计算性能较弱的设备中。
[0017] 进一步地,所述对所述当前视频帧的候选手势框进行跟踪处理,得到所述候选手势框的第二置信度和手势跟踪框包括:通过预设的手势跟踪模型对所述当前视频帧的候选手势框进行跟踪处理,输出所述候选手势框的第二置信度和手势跟踪框;所述候选手势框的第二置信度为所述手势跟踪模型输出的所述候选手势框的权值。
[0018] 在上述实现过程中,通过预先构建的手势跟踪模型来实现对所述当前视频帧的候选手势框的跟踪处理,从而得到各候选手势框的第二置信度和手势跟踪框,实现方式简单,可实现性高。
[0019] 进一步地,在所述将所述候选手势框的第二置信度与预设第二置信度阈值比较之后,还包括:若所述当前视频帧中,所有候选手势框的第二置信度均小于等于所述预设第二置信度阈值,则对所述当前视频帧的下一视频帧进行检测处理,得到所述下一视频帧的候选手势框。
[0020] 在上述实现过程中,在所有候选手势框的第二置信度均小于等于预设第二置信度阈值时,即表明当前视频帧的候选手势框都不可靠,此时可以对所述当前视频帧的下一视频帧进行检测处理,得到下一视频帧的候选手势框,进而保证方案的可靠性。
[0021] 本申请实施例还提供了一种手势识别装置,包括:获取模块、检测模块、处理模块和提取模块;所述获取模块用于获取当前视频帧;所述检测模块用于对所述当前视频帧进行检测处理,得到所述当前视频帧的候选手势框;所述处理模块用于在所述候选手势框不为空时,对所述当前视频帧的候选手势框进行处理,得到所述当前视频帧中的预测手势框;所述提取模块用于在所述当前视频帧的下一视频帧中提取所述预测手势框所在区域的内容得到所述下一视频帧的候选手势框。
[0022] 在上述实现结构中,通过对当前视频帧进行检测处理,得到当前视频帧的候选手势框,进而对所述候选手势框进行处理,得到当前视频帧中的预测手势框,进而依据预测手势框在下一视频帧中进行提取得到下一视频帧的候选手势框。而应当理解的是,由于在实际应用中,相邻两视频帧之间的时间间隔很短,因此手势的位置变化是很小的,下一视频帧中的手势所在区域和当前视频帧的手势所在区域之间不会离得太远,根据候选手势框中的手势位置得到的预测手势框可以有效覆盖住下一视频帧中的手势。这样,通过本申请实施例所提供的方案,在得到下一视频帧的候选手势框时,不需要再对下一视频帧进行一次检测处理,而是依据当前视频帧的候选手势框中的手势位置得到下一视频帧的候选手势框。而我们知道,在手势检测处理过程中,运算量最大的过程就是对视频帧的检测处理过程。因此通过本申请的方案,对于下一视频帧不需要进行检测处理即可得到候选手势框,这就降低了计算量,使得本申请的方案可以应用于计算性能较弱的设备中,可应用的场景更为丰富。
[0023] 本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个第一程序,以实现上述任意一种的手势识别方法的步骤。
[0024] 本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任意一种手势识别方法的步骤。

附图说明

[0025] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0026] 图1为本申请实施例提供的一种手势识别方法的基本流程示意图;
[0027] 图2为本申请实施例提供的一种视频帧的手势框划分示意图;
[0028] 图3为本申请实施例提供的一种有候选手势框得到预测手势框的变化示例图;
[0029] 图4为本申请实施例提供的一种较具体的手势检测处理过程的示意图;
[0030] 图5为本申请实施例提供的一种手势识别装置的结构示意图;
[0031] 图6为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0032] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0033] 实施例一
[0034] 请参看图1,图1为本申请实施例提供的一种手势识别方法的流程示意图,包括:
[0035] S101:获取当前视频帧。
[0036] 需要理解的是,在实际应用过程中,设备会获取用户的手势操作视频,此时设备可能是获取到一整段视频流,但也可能是实时获取到用户的手势操作视频的视频帧。在获取到一整段视频流时,设备会按照视频流中的视频帧先后顺序选取当前需要处理的那一个视频帧作为当前视频帧。作为一种示例,在刚刚获取到视频流时,可以选取视频流中的第一个视频帧作为当前视频帧进行检测处理。
[0037] S102:对当前视频帧进行检测处理,得到当前视频帧的候选手势框。
[0038] 应当理解的是,对于一个视频帧而言,用户手部所在位置往往仅占据了视频帧中的一小部分区域,而一个视频帧可以分割成很多个区域,即一个视频帧可以具有很多个手势框(在本申请实施例中,手势框可以部分重叠,例如参见图2所示。为了便于区分,相邻两手势框分别用虚线框和实线框来表征,且部分手势框未示出。但应当理解,在实际应用中手势框可以不外显出来。在本申请实施例中,手势框之间也可以设定为不能重叠),而实际起作用的则是具有用户手部信息的手势框(即包含有手势的手势框,例如图2中加粗的虚线框)。因此,在本申请实施例中,在对当前视频帧进行检测处理时,可以在得到各手势框的同时,也得到各手势框对应的第一置信度,进而将各手势框对应的第一置信度与预设第一置信度阈值进行比较,取第一置信度大于预设第一置信度阈值的手势框作为当前视频帧的候选手势框。
[0039] 为了实现上述对当前视频帧进行检测处理时,可以在得到各手势框的同时,也得到各手势框对应的第一置信度,在本申请的一种可行实施方式中,可以通过预先构建手势检测模型的方式来实现。即在本申请的一种可行实施方式中,可以预先构建一个手势检测模型,进而通过手势检测模型对当前视频帧进行检测处理,以输出当前视频帧中的各手势框,以及各手势框对应的权值。此时,各手势框对应的权值即为各手势框对应的第一置信度,其表征了各手势框中含有手势的概率。
[0040] 在一种可行示例中,工程师可以预先设立一个样本集,样本集中包含有手势位于不同位置的大量视频帧,在样本集中,每一个视频帧其所具有的候选手势框是已知的。工程师在设立好样本集后,可以通过深度神经网络等算法对样本集进行训练,即可得到一个手势检测模型。该模型在对一个视频帧进行处理后,即可输出该视频帧中的各手势框以及各手势框对应的权值,而各手势框对应的权值即表征手势框中含有手势的概率。在本示例中,可以设定权值在0到1之间,0表征手势框中含有手势的概率为0,1表征手势框中含有手势的概率为100%。而对于第一置信度阈值,可以由工程师根据实际需要进行设定,例如可以设定为0.7,在本申请实施例中不做限定。
[0041] 需要说明的是,上述方式构建的手势检测模型仅是本申请实施例中可以采用的一种手势检测模型,并不代表本申请实施例中仅可采用这一种手势检测模型。事实上,只要能实现对视频帧进行检测,输出手势框以及各手势框对应的第一置信度的模型均可被本申请所采用。
[0042] S103:在候选手势框不为空时,对当前视频帧的候选手势框进行处理,得到当前视频帧中的预测手势框。
[0043] 在本申请实施例中,为了得到预测手势框,可以对当前视频帧的候选手势框进行跟踪处理,得到当前视频帧的手势跟踪框。进而再基于手势跟踪框在当前视频帧中的位置进行扩展得到预测手势框。例如可以参见图3所示,本申请可以在候选手势框中处理得到手势跟踪框,再以手势跟踪框为中心进行扩展,得到一个预测手势框。
[0044] 在本申请实施例中,手势跟踪框应当位于其所对应的候选手势框中,且候选手势框中的手势位置位于手势跟踪框内,例如图3所示。在一种示例中,手势跟踪框可以是完全与手势外轮廓贴合的。但是在另一种示例中,手势跟踪框也可以不与手势外轮廓贴合的,而是为完全容纳有手势的,位于候选手势框内的一个框型区域,例如图3中所示的情况。
[0045] 在本申请实施例的一种示例中,预测手势框的形状、大小,可以与候选手势框的形状、大小相同,例如都为n*m的矩形区域。
[0046] 应当理解的是,在进行检测处理时,得到的手势跟踪框的准确性会直接影响得到的预测手势框的准确性。因此为了得到准确的、可靠的手势跟踪框,在本申请实施例的一种可行实施方式中,在对当前视频帧的候选手势框进行跟踪处理时,可以处理得到该候选手势框的第二置信度和手势跟踪框。
[0047] 在前文已经论述过可以取第一置信度大于预设第一置信度阈值的手势框作为当前视频帧的候选手势框,因此候选手势框可能不止一个。在本申请实施例中,会对各候选手势框分别进行跟踪处理,得到各候选手势框的第二置信度和手势跟踪框,进而将各候选手势框的第二置信度分别与预设第二置信度阈值比较,取第二置信度大于预设第二置信度阈值的候选手势框的手势跟踪框作为最终用来使用的当前视频帧的手势跟踪框。这样,即剔除了一些不可靠的手势跟踪框,保证了本申请的方案的可靠性,同时也使得本申请的方案数据处理量得以降低,使得本申请的方案可以应用于计算性能较弱的设备中。
[0048] 需要说明的是,在本申请实施例中,可以采用手势跟踪模型来实现对候选手势框的跟踪处理,例如可以采用Camshift(Continuously Adaptive Mean Shift algorithm,连续自适应均值漂移算法)跟踪模型,目标拟合椭圆跟踪模型等。还需要说明的是,在本申请实施例中,处理得到第一置信度和第二置信度的处理维度可以不一样。例如,检测当前视频帧得到各手势框对应的第一置信度时,可以是根据各手势框中物体与人手形状的相似度来确定第一置信度,而进行跟踪处理得到所处理的候选手势框的第二置信度时,可以是基于跟踪处理得到的候选手势框中手势的肤色与预设手部肤色、手势框中手势的形状与预设手势库中的手势形状的相似度来确定第二置信度,从而从不同的维度确定候选手势框,保证方案的可靠性。
[0049] 在本申请实施例中,在对候选手势框进行跟踪处理的同时,还可以对候选手势框进行手势分类识别处理,从而确定出候选手势框中的手势具体为哪种手势。同理,在进行手势分类识别处理后,可以选择第二置信度高于预设第二置信度阈值的候选手势框的手势识别结果作为当前视频帧的手势识别结果。
[0050] 需要理解的是,在本申请实施例中可以采用专门的手势分类模型来实现对候选手势框的手势分类识别处理,但是也可以采用一个手势分类与跟踪模型来同时实现对候选手势框的手势分类识别处理和跟踪处理。
[0051] 可选的,在本申请实施例中,若出现当前视频帧中,所有候选手势框的第二置信度均小于等于预设第二置信度阈值,即此时表明当前视频帧中的所有候选手势框都不可靠,那么可以重新获取当前视频帧的下一视频帧作为最新的当前视频帧并进行前述检测处理和跟踪处理等操作,从而使得方案可以有效的执行下去,保证方案的可靠性和有效性。
[0052] S104:在当前视频帧的下一视频帧中提取预测手势框所在区域的内容得到下一视频帧的候选手势框。
[0053] 应当理解的是,在实际应用中,相邻两视频帧之间的时间间隔很短,因此手势的位置变化是很小的,下一视频帧中的手势所在区域和当前视频帧的手势所在区域之间不会离得太远,根据候选手势框中的手势位置得到的预测手势框可以有效覆盖住下一视频帧中的手势。
[0054] 在本申请实施例中,在得到下一视频帧的候选手势框时,即可对候选手势框进行处理得到下一视频帧的预测手势框,从而得到再下一视频帧的候选手势框。这样不断重复下去即可不断得到各视频帧的候选手势框。这就减少了对视频帧的检测处理过程,降低了计算量,使得本申请的方案可以应用于计算性能较弱的设备中。
[0055] 在本申请实施例中,在对所述当前视频帧进行检测处理之前,还可以判断是否满足了预设的检测触发条件,进而在预设的检测触发条件被满足时,对当前视频帧进行检测处理,得到当前视频帧的候选手势框。在预设的检测触发条件未满足时,则采用通过预测手势框来预测得到候选手势框。
[0056] 应当理解的是,在实际应用过程中,用户的手势操作情况是复杂多变的,可能存在有增加手势的情况(例如之前用户仅采用一只手在进行手势操作,而后面又采用了两只手来进行手势操作的情况)。而需要理解的是,在增加了手势时,由于原来的预测手势框是仅根据原有的候选手势框来得到的,因此对于新增的手势而言很难预测到。因此为了保证方案的可靠性,在本申请实施例的一种可行示例中,预设的检测触发条件可以为:在距离上一次对视频帧进行检测处理以获得候选手势框的时间间隔达到了预设时间间隔阈值时,即进行对当前视频帧进行检测处理,得到当前视频帧的候选手势框的操作。也即,每间隔预设时间间隔阈值(例如2秒)时,即会重新对当前视频帧进行检测处理,从而再次精确定位出候选手势框。需要理解的是,当前视频帧是指当前时刻下的视频帧,随着时间的推移,当前视频帧会发生改变。
[0057] 在本申请实施例的另一种可行示例中,也可以设置在间隔一定数量的视频帧(例如20帧)后,即重新对当前视频帧进行检测处理,从而再次精确定位出候选手势框,从而保证本申请方案的可靠性。
[0058] 此外,在实际应用过程中,可能存在有某一视频帧中用户没有进行手势操作的情况(例如用户当前仅是站在摄像设备前,还未进行手势操作),对于此种视频帧进行检测处理后得到的候选手势框即为空,那么为了使得方案可以执行下去,因此在得到当前视频帧的候选手势框为空时,即认为当前视频帧中没有手势,可以对当前视频帧的下一视频帧进行检测处理,这样即保证了方案的有效性和可靠性。
[0059] 综上所述,本申请实施例提供一种手势识别方法,通过对当前视频帧进行检测处理,得到当前视频帧的候选手势框,进而对所述候选手势框进行处理,得到当前视频帧中的预测手势框,进而依据预测手势框在下一视频帧中进行提取得到下一视频帧的候选手势框。而应当理解的是,由于在实际应用中,相邻两视频帧之间的时间间隔很短,因此手势的位置变化是很小的,下一视频帧中的手势所在区域和当前视频帧的手势所在区域之间不会离得太远,根据候选手势框中的手势位置得到的预测手势框可以有效覆盖住下一视频帧中的手势。这样,通过本申请实施例所提供的手势识别方法,在得到下一视频帧的候选手势框时,不需要再对下一视频帧进行一次检测处理,而是依据当前视频帧的候选手势框中的手势位置得到下一视频帧的候选手势框。而在手势检测处理过程中,运算量最大的过程就是对视频帧的检测处理过程。因此通过本申请的手势识别方法,对于下一视频帧不需要进行检测处理即可得到候选手势框,这就降低了计算量,使得本申请的方案可以应用于计算性能较弱的设备中,可应用的场景更为丰富。
[0060] 实施例二:
[0061] 本实施例在实施例一的基础上,以一种通过预设的手势检测模型和手势分类与跟踪模型来实现手势检测处理的过程为例,为本申请做进一步示例说明。
[0062] 参见图4所示,手势检测处理过程包括:
[0063] S401:获取当前视频帧。
[0064] S402:运行手势检测模型对当前视频帧进行处理,输出候选手势框。
[0065] 在运行手势检测模型对当前视频帧进行处理时,手势检测模型对当前视频帧进行处理得到多个手势框,并得到各手势框对应的第一置信度,进而选取第一置信度大于预设第一置信度阈值的手势框作为候选手势框进行输出。
[0066] S403:判断输出的候选手势框是否为空;若是,则转至步骤S401;否则,转至步骤S404。
[0067] S404:运行手势分类与跟踪模型对候选手势框进行处理,输出候选手势框的手势类别、第二置信度和手势跟踪框。
[0068] 在本申请实施例中,手势检测模型和手势分类与跟踪模型可以基于深度学习技术训练得到。
[0069] S405:将各候选手势框的第二置信度与预设第二置信度进行比较,保留第二置信度大于预设第二置信度的候选手势框的手势类别和手势跟踪框。
[0070] S406:对保留的手势跟踪框进行扩展得到预测手势框,并在当前视频帧的下一视频帧中提取预测手势框所在区域的内容得到下一视频帧的候选手势框。转至步骤S404。
[0071] 需要注意的是,在本申请实施例中,会预先设定时间间隔阈值,在步骤S402输出候选手势框,同时开始计时。若输出的候选手势框不为空,且计时时间未达到时间间隔阈值,则不断执行步骤S404至S406;若输出的候选手势框为空,或计时时间达到时间间隔阈值,则重新执行步骤S401-S406。
[0072] 在本申请实施例中,可以预先设置好结束条件,从而在结束条件满足时,退出整个流程。在本申请实施例中,结束条件可以由工程师根据实际需要进行设定,比如可以设定为设备关闭,又比如可以设定为获取的视频流中的所有视频帧都被处理完毕等。
[0073] 本申请实施例通过将识别过程拆分,大大降低耗时较高的手势检测模型的运行帧率,使手势识别过程做到实时反馈,提高了整个手势识别过程的效果。相较于现有技术方案,降低了手势识别过程的计算量,使得本申请的方案可以应用于计算性能较弱的设备中,可应用的场景更为丰富。
[0074] 实施例三
[0075] 请参阅图5,图5示出了采用图1所示的手势识别方法一一对应的手势识别装置。应理解,图5的装置与上述图1的方法实施例对应,能够执行上述方法实施例涉及的各个部署步骤。图5的装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。图5的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块。具体地,图5的手势识别装置100包括:获取模块101、检测模块102、处理模块103和提取模块104。其中:
[0076] 获取模块101用于获取当前视频帧。
[0077] 检测模块102用于对当前视频帧进行检测处理,得到当前视频帧的候选手势框。
[0078] 处理模块用于在候选手势框不为空时,对当前视频帧的候选手势框进行处理,得到当前视频帧中的预测手势框。
[0079] 提取模块104用于在当前视频帧的下一视频帧中提取预测手势框所在区域的内容得到下一视频帧的候选手势框。
[0080] 在本申请实施例中,检测模块102还用于在对当前视频帧进行检测处理之前,确定满足预设的检测触发条件。
[0081] 在本申请实施例中,预设的检测触发条件包括:距离上一次对视频帧进行检测处理以获得候选手势框的时间间隔达到了预设时间间隔阈值。
[0082] 在本申请实施例中,检测模块102对当前视频帧进行检测处理,得到当前视频帧的候选手势框时,具体过程可以是对当前视频帧进行检测处理,得到当前视频帧中的各手势框,以及各手势框对应的第一置信度;将各手势框对应的第一置信度与预设第一置信度阈值进行比较;将第一置信度大于预设第一置信度阈值的手势框作为当前视频帧的候选手势框。
[0083] 在本申请实施例中,检测模块102对当前视频帧进行检测处理,得到当前视频帧中的各手势框,以及各手势框对应的第一置信度时,具体过程可以是通过预设的手势检测模型对当前视频帧进行检测处理,输出当前视频帧中的各手势框,以及各手势框对应的权值;手势框对应的第一置信度为手势检测模型输出的手势框对应的权值。
[0084] 在本申请实施例中,处理模块103对当前视频帧的候选手势框进行处理,得到当前视频帧中的预测手势框时,具体过程可以是对当前视频帧的候选手势框进行跟踪处理,得到当前视频帧的手势跟踪框;手势跟踪框位于其所对应的候选手势框中,且候选手势框中的手势位置位于手势跟踪框内;基于手势跟踪框在当前视频帧中的位置进行扩展得到预测手势框。
[0085] 在本申请实施例中,处理模块103对当前视频帧的候选手势框进行跟踪处理,得到当前视频帧的手势跟踪框时,具体过程可以是对当前视频帧的候选手势框进行跟踪处理,得到候选手势框的第二置信度和手势跟踪框;将候选手势框的第二置信度与预设第二置信度阈值比较;将第二置信度大于预设第二置信度阈值的候选手势框的手势跟踪框作为当前视频帧的手势跟踪框。
[0086] 在本申请实施例中,处理模块103对当前视频帧的候选手势框进行跟踪处理,得到候选手势框的第二置信度和手势跟踪框时,具体过程可以是通过预设的手势跟踪模型对当前视频帧的候选手势框进行跟踪处理,输出候选手势框的第二置信度和手势跟踪框;候选手势框的第二置信度为手势跟踪模型输出的候选手势框的权值。
[0087] 在本申请实施例中,若处理模块103在将候选手势框的第二置信度与预设第二置信度阈值比较之后,发现当前视频帧中,所有候选手势框的第二置信度均小于等于预设第二置信度阈值时,检测模块102还用于对当前视频帧的下一视频帧进行检测处理,得到下一视频帧的候选手势框。
[0088] 需要注意的是,本申请实施例提供的手势识别装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0089] 本申请实施例提供的手势识别装置,通过对当前视频帧进行检测处理,得到当前视频帧的候选手势框,进而对所述候选手势框进行处理,得到当前视频帧中的预测手势框,进而依据预测手势框在下一视频帧中进行提取得到下一视频帧的候选手势框。而应当理解的是,由于在实际应用中,相邻两视频帧之间的时间间隔很短,因此手势的位置变化是很小的,下一视频帧中的手势所在区域和当前视频帧的手势所在区域之间不会离得太远,根据候选手势框中的手势位置得到的预测手势框可以有效覆盖住下一视频帧中的手势。这样,通过本申请实施例所提供的手势识别装置,在得到下一视频帧的候选手势框时,不需要再对下一视频帧进行一次检测处理,而是依据当前视频帧的候选手势框中的手势位置得到下一视频帧的候选手势框。而我们知道,在手势检测处理过程中,运算量最大的过程就是对视频帧的检测处理过程。因此通过本申请的手势识别装置,对于下一视频帧不需要进行检测处理即可得到候选手势框,这就降低了计算量,使得本申请的势检测处理装置可以应用于计算性能较弱的设备中,可应用的场景更为丰富。
[0090] 实施例四
[0091] 本实施例提供了一种电子设备,参见图6所示,其包括处理器601、存储器602以及通信总线603。其中:
[0092] 通信总线603用于实现处理器601和存储器602之间的连接通信。
[0093] 处理器601用于执行存储器602中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的手势识别方法的各步骤。
[0094] 可以理解,图6所示的结构仅为示意,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。示例性的,本申请实施例会中的电子设备可以为虚拟现实处理设备等。
[0095] 本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、CF(Compact Flash,闪存)卡、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个部署步骤的一个或者多个程序,和/或实施例二中的手势识别方法的各步骤。在此不再赘述。
[0096] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0097] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0098] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分部署步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0099] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0100] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
[0101] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。