基于视觉的滑动手势识别方法、系统及相关设备转让专利

申请号 : CN202311671571.3

文献号 : CN117373135B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王淼军郝冬宁王伟达陈芳

申请人 : 湖北星纪魅族集团有限公司

摘要 :

本申请涉及一种基于视觉的滑动手势识别方法,包括:获取具有时序顺序的多个手掌视频图像;在所述多个手掌视频图像中出现大拇指滑动手势的情况下,识别大拇指的滑动轨迹是否从多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域;如果识别出大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动至滑动动作终止区域,确定大拇指完成一次滑动手势,并且还可以进一步确定大拇指的滑动方向。本申请还涉及一种可穿戴设备、移动终端、系统以及一种计算机可读存储介质。根据本申请实施例,大拇指滑动手势减小了操作幅度,使操作在摄像头视野范围内,进而保证操作灵敏度。

权利要求 :

1.一种基于视觉的滑动手势识别方法,其特征在于,包括:获取具有时序顺序的多个手掌视频图像;

在所述多个手掌视频图像中出现大拇指滑动手势的情况下,识别大拇指的滑动轨迹是否从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域;

如果识别出大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动至滑动动作终止区域,确定大拇指完成一次滑动手势;

其中,以大拇指指尖处的关键点作为滑动动作的动点,以除大拇指外其余四个手指中的任一个手指的任一手指关节处的关键点作为滑动动作起始区域以及滑动动作终止区域的中心点,所述滑动动作起始区域为一个以该中心点为圆心的圆形区域,所述滑动动作终止区域为一个以该中心点为圆心的圆环区域,且该圆环区域的外圆半径和内圆半径均大于滑动动作起始区域的半径。

2.根据权利要求1所述的方法,其特征在于,通过如下方式确定所述多个手掌视频图像中是否出现大拇指滑动手势:从所述多个手掌视频图像中提取手势信息;

根据所述多个手掌视频图像中的手势信息检测是否出现横向或竖向放置且手掌展平的手势;

如果检测到横向或竖向放置且手掌展平的手势,确定所述手势是大拇指滑动手势;

如果没有检测到手掌横向放置或手掌竖向放置或手掌展平的手势,确定所述手势不是大拇指滑动手势。

3.根据权利要求2所述的方法,其特征在于,还包括:根据所述多个手掌视频图像中的手势信息确定大拇指的滑动方向。

4.根据权利要求2‑3任一项所述的方法,其特征在于,所述手势信息至少包括手掌上21个关键点的位置坐标,所述手掌上21个关键点包括5个手指上的3个手指关节处和5个手指上的1个手指尖处共计20个关键点以及手腕中心处的1个关键点。

5.根据权利要求4所述的方法,其特征在于,所述根据所述多个手掌视频图像中的手势信息检测是否出现横向或竖向放置的手势,包括:针对所述多个手掌视频图像中的第i个手掌视频图像,从所述第i个手掌视频图像的手势信息中选取一个手指上不相邻的任意两个关键点的位置坐标,并根据选取的两个关键点的位置坐标计算选取的两个关键点之间的向量,计算所述向量与横向X轴正方向或竖向Y轴正方向的夹角,i≥1;

如果所述夹角大于预先定义的第一夹角配置参数,确定未检测出横向或竖向放置的手势,并重置i=i+1,返回上一步骤;

如果所述夹角小于或等于预先定义的第一夹角配置参数,确定检测出横向或竖向放置的手势。

6.根据权利要求4所述的方法,其特征在于,所述根据所述多个手掌视频图像中的手势信息检测是否出现手掌展平的手势,包括:针对所述多个手掌视频图像中的第i个手掌视频图像,从所述第i个手掌视频图像的手势信息中选取除大拇指外的其余四个手指上的至少部分关键点的位置坐标,并根据选取的关键点的位置坐标确定各关键点之间的位置关系是否全部符合手掌展平时对应的位置关系,i≥1;

如果至少两个关键点之间的位置关系不符合手掌展平时对应的位置关系,确定未检测出手掌展平的手势,并重置i=i+1,返回上一步骤;

如果各关键点之间的位置关系全部符合手掌展平时对应的位置关系,确定检测出手掌展平时的手势。

7.根据权利要求1所述的方法,其特征在于,所述识别大拇指的滑动轨迹是否从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,包括:计算滑动动作起始区域的半径r1以及滑动动作终止区域的内圆半径r2和外圆半径r3,其中,r1<r2<r3;

针对多个手掌视频图像中的第i个手掌视频图像,以大拇指指尖处的关键点作为动点,根据所述中心点和所述动点的位置坐标计算所述中心点和所述动点之间的距离L,i≥1;

如果L>r3,设置滑动状态为释放状态,并重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;

如果L≤r1,设置滑动状态为准备状态,并重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;

如果r1<L<r3,且当前的滑动状态不是准备状态,则重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;

如果r1<L<r2,且当前的滑动状态为准备状态,则重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;

如果r2≤L≤r3,且当前的滑动状态为准备状态,判定大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,设置滑动状态为执行状态。

8.根据权利要求7所述的方法,其特征在于,所述计算滑动动作终止区域的内圆半径和外圆半径,包括:分别计算所述中心点到上下左右四个相邻关键点的距离;

选取最小距离值作为滑动动作终止区域的外圆半径;

基于所述外圆半径及第一预设比值参数,计算滑动动作终止区域的内圆半径,其中,为所述内圆半径与所述外圆半径的比值,且。

9.根据权利要求8所述的方法,其特征在于,所述计算滑动动作起始区域的半径,包括:基于所述外圆半径以及第二预设比值参数,计算滑动动作起始区域的半径,其中,为滑动动作起始区域的半径与所述外圆半径的比值,且。

10.根据权利要求7‑9中任一项所述的方法,其特征在于,所述根据所述多个手掌视频图像中的手势信息确定大拇指的滑动方向,包括:分别计算所述中心点与所述动点之间的向量与横向X轴夹角及与竖向Y轴的夹角β;

如果小于或等于预先定义的第二夹角配置参数,确定滑动方向为向左或向右;

如果β小于或等于预先定义的第二夹角配置参数,确定滑动方向为向上或向下;

根据上述初步确定的滑动方向以及所述动点的坐标确定最终的滑动方向。

11.根据权利要求4所述的方法,其特征在于,所述手势信息还包括左右手标志位。

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:在从所述多个手掌视频图像中提取手势信息之后,根据所述左右手标志位判断执行滑动手势的操作手是否为预先设置的操作手;

如果执行滑动手势的操作手不是预先设置的操作手,根据所述多个手掌视频图像获得预先设置的操作手的手势信息。

13.根据权利要求12所述的方法,其特征在于,所述根据所述多个手掌视频图像获得预先设置的操作手的手势信息,包括:将获取的所述多个手掌视频图像进行镜像反转处理,从镜像反转后的所述多个手掌视频图像中提取手势信息;

或者,

将从所述多个手掌视频图像中提取出的手势信息进行镜像映射处理。

14.一种可穿戴设备,其特征在于,包括:

图像采集器,配置为采集具有时序顺序的多个手掌视频图像;

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑13中任一项所述的方法。

15.一种移动终端,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑13中任一项所述的方法。

16.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1‑13中任一项所述的方法。

17.一种基于视觉的滑动手势识别系统,其特征在于,包括可穿戴设备以及与所述可穿戴设备进行无线通信的移动终端;其中,所述可穿戴设备,配置为采集具有时序顺序的多个手掌视频图像,并将所述多个手掌视频图像发送给所述移动终端;

所述移动终端包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;

其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑13中任一项所述的方法。

说明书 :

基于视觉的滑动手势识别方法、系统及相关设备

技术领域

[0001] 本申请涉及计算机视觉技术领域,特别涉及基于视觉的滑动手势识别方法、系统、及相关设备。

背景技术

[0002] 随着计算机视觉的发展,基于计算机视觉的应用逐步进入人们视野。在传统人机交互中,常见的交互方式有:基于触碰的物理交互方式(如,按键、触摸屏)、基于语音识别的交互方式、基于外部采集设备的交互方式(如,传感器手套)、基于外接设备的交互方式(如,外接手柄、外接移动电话、外接个人计算机等)以及基于视觉的姿态类交互方式等(如,肢体、手势等能传递信息的姿态)。
[0003] 在智能设备的应用中,交互方式直接影响着用户的感官体验,因此要求交互方式尽可能的简单、快捷。可穿戴设备(如,智能眼镜)作为智能设备的一种,在外观设计上也追求轻便、舒适,对于可穿戴设备来说,如果使用基于触碰的物理交互方式,交互中可供使用的物理操控区域很小,以智能眼镜为例,物理操控区域仅包含眼镜侧面的小触控板、开关机及音量调节按钮,且人在穿戴状态下,手指还要放在眼镜上进行操作,容易产生疲劳,因此,传统的基于物理触碰的交互方式在可穿戴设备上并不适用。基于语音的交互方式虽然在一定程度上提供了便捷性,但是语音的交互方式对使用场景有一定的要求,例如,对环境噪声的要求,且容易在交互过程汇中泄露用户隐私。而如果使用外部采集设备的交互方式或外接设备的交互方式,则影响了可穿戴设备的轻便性,针对可穿戴设备的操作需要在外部采集设备或外接设备上进行。基于视觉的姿态类交互方式,只需借助可穿戴设备的摄像头进行姿态信息的采集,解读姿态的含义,并执行相应的动作即可,相比于其他交互方式,更加简单、快捷。

发明内容

[0004] 根据本申请的第一个方面,提供了一种基于视觉的滑动手势识别方法,所述方法包括:
[0005] 获取具有时序顺序的多个手掌视频图像;
[0006] 在所述多个手掌视频图像中出现大拇指滑动手势的情况下,识别大拇指的滑动轨迹是否从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域;
[0007] 如果识别出大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动至滑动动作终止区域,确定大拇指完成一次滑动手势。
[0008] 在一些实施例中,通过如下方式确定所述多个手掌视频图像中是否出现大拇指滑动手势:
[0009] 从所述多个手掌视频图像中提取手势信息;
[0010] 根据所述多个手掌视频图像中的手势信息检测是否出现横向或竖向放置且手掌展平的手势;
[0011] 如果检测到横向或竖向放置且手掌展平的手势,确定所述手势是大拇指滑动手势;
[0012] 如果没有检测到手掌横向放置或手掌竖向放置或手掌展平的手势,确定所述手势不是大拇指滑动手势。
[0013] 在一些实施例中,上述滑动手势识别还包括:根据所述多个手掌视频图像中的手势信息确定大拇指的滑动方向。
[0014] 在一些实施例中,所述手势信息至少包括手掌上21个关键点的位置坐标,所述手掌上21个关键点包括5个手指上的3个手指关节处和1个手指尖处共计20个关键点以及手腕中心处的1个关键点。
[0015] 在一些实施例中,所述根据所述多个手掌视频图像中的手势信息检测是否出现横向或竖向放置的手势,包括:
[0016] 针对所述多个手掌视频图像中的第i个手掌视频图像,从所述第i个手掌视频图像的手势信息中选取一个手指上不相邻的任意两个关键点的位置坐标,并根据选取的两个关键点的位置坐标计算选取的两个关键点之间的向量,计算所述向量与横向X轴正方向或竖向Y轴正方向的夹角,i≥1;
[0017] 如果所述夹角大于预先定义的第一夹角配置参数,确定未检测出横向或竖向放置的手势,并重置i=i+1,返回上一步骤;
[0018] 如果所述夹角小于或等于预先定义的第一夹角配置参数,确定检测出横向或竖向放置的手势。
[0019] 在一些实施例中,所述根据所述多个手掌视频图像中的手势信息检测是否出现手掌展平的手势,包括:
[0020] 针对所述多个手掌视频图像中的第i个手掌视频图像,从所述第i个手掌视频图像的手势信息中选取除大拇指外的其余四个手指上的至少部分关键点的位置坐标,并根据选取的关键点的位置坐标确定各关键点之间的位置关系是否全部符合手掌展平时对应的位置关系,i≥1;
[0021] 如果至少两个关键点之间的位置关系不符合手掌展平时对应的位置关系,确定未检测出手掌展平的手势,并重置i=i+1,返回上一步骤;
[0022] 如果各关键点之间的位置关系全部符合手掌展平时对应的位置关系,确定检测出手掌展平时的手势。
[0023] 在一些实施例中,所述滑动动作起始区域为以除大拇指外其余四个手指中的任一个手指的任一手指关节处的关键点作为中心点的圆形区域,所述滑动动作终止区域为与所述滑动动作起始区域同心的圆环区域,且外圆半径和内圆半径均大于滑动动作起始区域的半径。
[0024] 在一些实施例中,所述识别大拇指的滑动轨迹是否从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,包括:
[0025] 计算滑动动作起始区域的半径r1以及滑动动作终止区域的内圆半径r2和外圆半径r3,其中,r1<r2<r3;
[0026] 针对多个手掌视频图像中的第i个手掌视频图像,以大拇指指尖处的关键点作为动点,根据所述中心点和所述动点的位置坐标计算所述中心点和所述动点之间的距离L,i≥1;
[0027] 如果L>r3,设置滑动状态为释放状态,并重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;
[0028] 如果L≤r1,设置滑动状态为准备状态,并重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;
[0029] 如果r1<L<r3,且当前的滑动状态不是准备状态,则重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;
[0030] 如果r1<L<r2,且当前的滑动状态为准备状态, 则重置i=i+1,返回从所述多个手掌视频图像中提取手势信息的步骤;
[0031] 如果r2≤L≤r3,且当前的滑动状态为准备状态,判定大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,设置滑动状态为执行状态。
[0032] 在一些实施例中,所述计算滑动动作终止区域的内圆半径和外圆半径,包括:
[0033] 分别计算所述中心点到上下左右四个相邻关键点的距离;
[0034] 选取最小距离值作为滑动动作终止区域的外圆半径;
[0035] 基于所述外圆半径及第一预设比值参数 ,计算滑动动作终止区域的内圆半径,其中, 为所述内圆半径与所述外圆半径的比值,且 。
[0036] 在一些实施例中,所述计算滑动动作起始区域的半径,包括:
[0037] 基于所述外圆半径以及第二预设比值参数 ,计算滑动动作起始区域的半径,其中, 为滑动动作起始区域的半径与所述外圆半径的比值,且 。
[0038] 在一些实施例中,所述根据所述多个手掌视频图像中的手势信息确定大拇指的滑动方向,包括:
[0039] 分别计算所述中心点与所述动点之间的向量 与横向X轴夹角 及与竖向Y轴的夹角β;
[0040] 如果 小于或等于预先定义的第二夹角配置参数,确定滑动方向为向左或向右;
[0041] 如果β小于或等于预先定义的第二夹角配置参数,确定滑动方向为向上或向下;
[0042] 根据上述初步确定的滑动方向以及所述动点的坐标确定最终的滑动方向。
[0043] 在一些实施例中,所述手势信息还包括左右手标志位。
[0044] 在一些实施例中,所述方法还包括:
[0045] 在根据所述多个手掌视频图像中的手势信息检测所述多个手掌视频图像中是否出现大拇指滑动手势之前,根据所述左右手标志位判断执行滑动手势的操作手是否为预先设置的操作手;
[0046] 如果执行滑动手势的操作手不是预先设置的操作手,根据所述多个手掌视频图像获得预先设置的操作手的手势信息。
[0047] 在一些实施例中,所述根据所述多个手掌视频图像获得预先设置的操作手的手势信息,包括:
[0048] 将获取的所述多个手掌视频图像进行镜像反转处理,从镜像反转后的所述多个手掌视频图像中提取手势信息;
[0049] 或者,
[0050] 将从所述多个手掌视频图像中提取出的手势信息进行镜像映射处理。
[0051] 根据本申请的第二个方面,提供了一种可穿戴设备,包括:
[0052] 图像采集器,配置为采集具有时序顺序的多个手掌视频图像;
[0053] 至少一个处理器;以及
[0054] 与所述至少一个处理器通信连接的存储器;其中,
[0055] 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第一方面所述的方法。
[0056] 本剧本申请的第三个方面,提供了一种移动终端,包括:
[0057] 至少一个处理器;以及
[0058] 与所述至少一个处理器通信连接的存储器;其中,
[0059] 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第一方面所述的方法。
[0060] 根据本申请的第四个方面,提供了一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述第一方面所述的方法。
[0061] 根据本申请的第五个方面,提供了一种基于视觉的滑动手势识别系统,包括可穿戴设备以及与所述可穿戴设备进行无线通信的移动终端;其中,
[0062] 所述可穿戴设备,配置为采集具有时序顺序的多个手掌视频图像,并将所述多个手掌视频图像发送给所述移动终端;
[0063] 所述移动终端包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
[0064] 所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面所述的方法。

附图说明

[0065] 通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
[0066] 图1示出了现有技术中一种基于视觉的滑动手势识别示意图;
[0067] 图2示出了根据本申请一个实施例提供的一种基于视觉的滑动手势识别方法的流程图;
[0068] 图3示出了根据本申请手势信息中的21个关键点的分布示意图;
[0069] 图4示出了根据本申请的一个实施例提供的检测手掌是否处于横向或竖向放置状态的方法流程示意图;
[0070] 图5示出了根据本申请的一个实施例提供的检测手掌是否处于展平状态的方法流程示意图;
[0071] 图6示出了根据本申请的一个实施例提供的大拇指滑动手势建模示意图;
[0072] 图7示出了根据本申请的一个实施例提供的识别大拇指是否完成一次大拇指滑动手势的方法流程图;
[0073] 图8示出了根据本申请的一个实施例提供的大拇指滑动方向建模示意图;
[0074] 图9示出了根据本申请的一个实施例提供的基于视觉的大拇指滑动手势的流程示意图;
[0075] 图10示出了根据本申请一个实施例提供的可用于实现上述基于视觉的滑动手势识别方法的可穿戴设备的结构示意图;
[0076] 图11示出了根据本申请一个实施例提供的可用于实现上述基于视觉的滑动手势识别方法的移动终端的结构示意图;
[0077] 图12示出了根据本申请的一个实施例提供的基于视觉的滑动手势识别系统的结构示意图。

具体实施方式

[0078] 下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
[0079] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0080] 相比于其他交互方式,基于视觉的姿态类交互方式在操作上更加简单、快捷,用户感官体验也更好。因此,在智能设备,特别是可穿戴设备的应用中,基于视觉的姿态类交互方式也应用的越来越广泛。而在基于视觉的姿态类交互方式中,最常用的是手势交互,手势交互需要根据实际交互场景进行手势的定义,而手势的定义需从用户操作习惯出发,尽可能的直观、方便、快捷,降低用户的学习成本。滑动手势作为一种常用的手势交互方式,在许多场景中都会用到,例如菜单屏的翻页、负一屏的显示、轮播相册的选取、电子书的上下滚动及左右翻页等、抖音视频的切换以及聊天记录的滚动查看等。
[0081] 然而,在现有的基于视觉的手势交互中,常见的滑动手势被定义为手掌的移动,在滑动手势识别方式上是对移动的手掌进行滑动轨迹追踪,并根据手掌的滑动轨迹,进一步确定滑动手势的方向,参阅图1所示。通过此种方式,虽实现基于视觉的滑动手势识别,但在实际应用中,挥动手掌是一个大幅度动作,在智能眼镜等可穿戴设备上,由于摄像头广角限制及摄像距离的影响,手掌通常会挥出摄像头视野,影响滑动操作的灵敏度。
[0082] 针对现有方式中通过手掌的移动实现滑动手势交互的不足,本申请创造性地通过大拇指的移动实现滑动手势交互,并提出了一种基于视觉的滑动手势识别方法。图2示出了根据本申请一个实施例提供的一种基于视觉的滑动手势识别方法的流程图,本实施例可适用于可穿戴设备,或者与可穿戴设备进行无线通信的终端设备,其中,该可穿戴设备可以是智能眼镜或同智能眼镜一样适用于本申请交互方式的可穿戴设备,该终端设备可以是移动电话、平板电脑以及上位机等。如图2所示,该方法包括:
[0083] 步骤210:获取具有时序顺序的多个手掌视频图像。
[0084] 在步骤210中,可穿戴设备上设置有图像采集器,人在佩戴可穿戴设备后,手掌在活动(包括手掌上任意一个手指的活动)过程中的视频图像都可以通过佩戴在人体上的可穿戴设备的图像采集器采集,从而获取到具有时序顺序的多个手掌视频图像。
[0085] 在一种实施方式中,该可穿戴设备可以是智能眼镜,该图像采集器可以是位于智能眼镜上的2D摄像头。
[0086] 步骤220:在所述多个手掌视频图像中出现大拇指滑动手势的情况下,识别大拇指的滑动轨迹是否从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域。
[0087] 通常,在利用大拇指做滑动手势时,手掌都是展平的,并且手掌处于横向或竖向放置的状态。因此,可以将手掌的上述状态作为确定是否出现大拇指滑动手势的判断依据,而在确定出现了大拇指滑动手势后,后续才能继续识别大拇指滑动手势中的滑动轨迹及运动方向。
[0088] 在本申请的一个实施方式中,可以从上述步骤210中获取到的多个手掌视频图像中提取手势信息,并通过提取出的手势信息识别多个手掌视频图像中是否出现横向或竖向放置且手掌展平的手势,如果多个手掌视频图像中出现了横向或竖向放置且手掌展平的手势,则可以确定为多个手掌视频图像中出现了大拇指滑动手势,反之,如果多个手掌视频图像中没有出现手掌横向放置或没有出现手掌竖向放置或者没有出现手掌展平的手势,一并可以确定为多个手掌视频图像中没有出现大拇指滑动手势。
[0089] 在步骤220中,可以使用基于深度学习的手掌检测模型检测多个手掌视频图像中是否存在手势信息,并且只有在从手掌视频图像中检测出手势信息的情况下,才能基于手势信息进行后续滑动手势的逻辑判断。
[0090] 在一种实施方式中,手势信息至少包括手掌上21个关键点的位置坐标,其中,如图3所示,手掌上21个关键点分别分布在5个手指上的3个手指关节处和1个手指尖处(如图3所示的关键点1‑20)以及手腕中心处(如图3所示的关键点21)。
[0091] 当手势信息至少包括分布在手掌上的21个关键点的位置坐标时,如图3所示,可以基于21个关键点的坐标分布检测出大拇指滑动手势(即,手掌横向或竖向放置且手掌展平)。
[0092] 针对手掌横向或竖向放置的检测,在手掌横向或竖向放置时,可以认定手指也必然随手掌横向或竖向放置,基于该认定,选取一个手指上任意不相邻的两个关键点,并根据这两个关键点的位置坐标计算这两个关键点之间的向量,进而计算该向量与横向X轴正方向或竖向Y轴正方向的夹角,如果该夹角大于预先定义的第一夹角配置参数,确定未检测出手掌横向或竖向放置,反之,如果该夹角小于或等于预先定义的第一夹角配置参数,确定检测出手掌横向或竖向放置。
[0093] 其中,需要说明的是,考虑到中指位于5个手指的中间,即便手指间有些许间隙,但中指相对其他四个手指来说,其水平方向角度或竖直方向角度变动最小,因此,在一种优先实施方式中,可以选取中指上任意不相邻的两个关键点,例如,如图3所示,12号关键点和10号关键点、12号关键点和9号关键点、11号关键点和9号关键点。其中,12号关键点和9号关键点之间的距离最远,计算的角度误差也最小。进一步,可以优先选取12号关键点和9号关键点。
[0094] 下面以选取12号关键点和9号关键点为例进行详细说明,参阅图4所示,具体包括如下步骤:
[0095] 步骤410:针对多个手掌视频图像中的第i个手掌视频图像,从该第i个手掌视频图像的手势信息中选取12号关键点的位置坐标 及9号关键点的位置坐标 ,i≥1;
[0096] 步骤420:以12号关键点为起点,9号关键点为终点,计算起点到终点的向量 ,对应坐标为 ;
[0097] 步骤430:计算向量 与X轴正方向或者Y轴正方向的夹角,记为 ,rctan ;
[0098] 步骤440:比较夹角 与预先定义的夹角配置参数 的大小;
[0099] 步骤450:如果 大于 ,可以认为中指在水平方向或竖直方向上的倾斜角度不能接受,进而确定手掌未处于横向或竖向放置状态,并重置i=i+1,重新返回步骤410;
[0100] 步骤460:如果 小于或等于 ,可以认为中指在水平方向上或者竖直方向上的倾斜角度能接受,并确定手掌处于横向或竖向放置状态,结束本流程。
[0101] 其中,夹角配置参数 可以根据经验设定,例如, 。
[0102] 针对手掌展平的检测,在手掌展平时,手掌上除大拇指外的其他四个手指也会随之展平,不会出现弯折,可以设定四个手指上的各关键点之间也会具有固定的位置关系,例如,如图3所示,假设手掌横向放置,手掌展平时各关键点的位置关系为:8号关键点在7号关键点左边,12号关键点在11号关键点左边,16号关键点在15号关键点左边,20号关键点在19号关键点左边,7号关键点在6号关键点左边,11号关键点在10号关键点左边,15号关键点在14号关键点左边,19号关键点在18号关键点左边。基于该设定,可以选取除大拇指外的其余四个手指上的至少部分关键点的位置坐标,并根据选取的关键点的位置坐标确定各关键点之间的位置关系是否全部符合手掌展平时对应的位置关系,如果至少两个关键点之间的位置关系不符合手掌展平时对应的位置关系,确定未检测出手掌展平的手势,反之,如果各关键点之间的位置关系全部符合手掌展平时对应的位置关系,确定检测出手掌展平时的手势。
[0103] 其中,需要说明的是,可以选取除大拇指外的其他四个手指上的部分关键点的位置坐标,并作为检测出手掌是否展平的依据,也可以选取除大拇指外的其他四个手指上的全部关键点的位置坐标,作为检测出手掌是否展平的依据。实施时可以根据产品的具体需求对手掌展平姿态的检测依据进行选择。
[0104] 下面以选取除大拇指外的其他四个手指上的全部关键点为例进行详细说明,参阅图5所示,具体包括如下步骤:
[0105] 步骤510:针对所述多个手掌视频图像中的第i个手掌视频图像,从所述第i个手掌视频图像的手势信息中选取除大拇指外的其余四个手指上的全部关键点的位置坐标,i≥1;
[0106] 步骤520:根据选取的关键点的位置坐标,确定各关键点的位置关系是否全部符合手掌展平时对应的位置关系;
[0107] 如果手掌横向放置,手掌展平时各关键点的位置关系为:8号关键点在7号关键点左边,12号关键点在11号关键点左边,16号关键点在15号关键点左边,20号关键点在19号关键点左边,7号关键点在6号关键点左边,11号关键点在10号关键点左边,15号关键点在14号关键点左边,19号关键点在18号关键点左边。
[0108] 例如,以图3所示的参考坐标系为例,8号关键点的位置坐标为 ,7号关键点的位置坐标为 ,判断8号关键点是否在7号关键点左边,只需计算是否满足 即可。
[0109] 步骤530:如果至少两个关键点之间的位置关系不符合手掌展平时对应的位置关系,确定未检测出手掌展平的手势,重置i=i+1,并返回步骤510;
[0110] 步骤540:如果各关键点之间的位置关系全部符合手掌展平时对应的位置关系,确定检测出手掌展平时的手势,结束本流程。
[0111] 在依据上述方式确定出现大拇指滑动手势后,继续步骤230。
[0112] 步骤230:如果识别出大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,确定大拇指完成一次滑动手势。
[0113] 在大拇指滑动手势建模中,是以大拇指指尖处的关键点(4号关键点)作为滑动动作的动点,并以除大拇指外其余四个手指中的任一个手指的任一手指关节处的关键点作为滑动动作起始区域以及滑动动作终止区域的中心点。
[0114] 在本申请的一个实施方式中,可以设定滑动动作起始区域为一个以该中心点为圆心的圆形区域,并设定滑动动作终止区域为一个以该中心点为圆心的圆环区域,且该圆环区域的外圆半径和内圆半径均大于滑动动作起始区域的半径。
[0115] 其中,需要说明的是,考虑到中指位于其他四个手指的中间位置,中指的中间手指关节又位于中指的中间位置,以中指的中间手指关节处的关键点为滑动动作的起始点,更方便用户进行大拇指滑动手势操作,因此,在本申请的一个优选实施方式中,可以选取中指的中间手指关节处的关键点(10号关键点)作为滑动动作起始区域以及滑动动作终止区域的中心点,请参阅图6所示。
[0116] 基于上述大拇指滑动手势建模,一个大拇指滑动手势可以定义为:动点在滑动动作起始区域内就位,并从滑动动作起始区域开始滑动,直到滑动到滑动动作终止区域内。
[0117] 而同时考虑到现有的基于视觉的手掌滑动手势交互中,滑动手势持续向一个方向的移动会被误识别为多个滑动手势,并且也没有原点复归的概念,当需要在一个方向连续进行多个滑动手势时,在手掌折回过程中很容易误识别为反方向的滑动手势。因此,在本申请的大拇指滑动手势识别过程中,还需要进一步克服上述滑动手势误识别的问题。
[0118] 在本申请中,将大拇指滑动手势拆分为3个滑动状态,分别为【准备状态】、【执行状态】、以及【释放状态】。并且,只有在【准备状态】下,才能触发一次大拇指滑动手势的识别。根据本申请的大拇指滑动手势建模方案,当动点(大拇指指尖处的4号关键点)进入“滑动动作起始区域”时,大拇指滑动手势的滑动状态设置为【准备状态】。为防止误识别,在非必要情况下都会及时将大拇指滑动手势的滑动状态设置为【释放状态】,例如,在检测出大拇指滑动手势并执行完对应的滑动事件后,会将大拇指滑动手势的滑动状态设置为【释放状态】,再例如,当检测出动点出现在滑动动作终止区域之外时,也会将大拇指滑动手势的滑动状态设置为【释放状态】。另外,当从手掌视频图像中提取不出来手势信息,或者检测出的手势不是大拇指滑动手势时,也会将大拇指滑动手势的滑动状态设置为【释放状态】。
[0119] 请参阅图7所示,在本申请的一种实施方式中,在根据从第i个手掌视频图像中提取出的手势信息检测出第i个手掌视频图像中出现了大拇指滑动手势后,可以通过如下流程识别大拇指是否完成一次滑动手势,即,识别大拇指的滑动轨迹是否从滑动动作起始区域滑动到滑动动作终止区域,其中,大拇指滑动手势是以大拇指指尖处的关键点(即4号关键点)为动点,以中指的中间手指关节处的关键点(即10号关键点)为中心点,具体包括如下步骤:
[0120] 步骤710:计算滑动动作起始区域的半径r1以及滑动动作终止区域的内圆半径r2和外圆半径r3,其中,r1<r2<r3。
[0121] 步骤720: 针对第i个手掌视频图像,根据动点和中心点的位置坐标,计算第i个手掌视频图像中动点和中心点之间的距离L,其中,i≥1。
[0122] 在步骤720中,以中心点为起点,动点为终点,做向量 ,通过起点的位置坐标和终点的位置坐标求取向量 的坐标,并进一步计算向量 的模长,从而获得动点和中心点之间的距离 。
[0123] 步骤730:判断L是否大于滑动动作终止区域的外圆半径r3,如果是,说明动点在滑动动作终止区域外部,进入步骤740,如果否,进入步骤750。
[0124] 步骤740:设置滑动状态为释放状态,跳转到步骤7100。
[0125] 步骤750:判断L是否小于或等于滑动动作起始区域的半径r1,如果是,说明动点在滑动动作起始区域内部,进入步骤760,如果否,说明动点在滑动动作起始区域外部且未超出滑动动作终止区域,进入步骤770;
[0126] 步骤760:设置滑动状态为准备状态,跳转到步骤7100。
[0127] 步骤770:判断当前的状态是否为准备状态,如果是,说明动点是从滑动动作起始区域内部滑动出滑动动作起始区域外部,且未超出滑动动作终止区域,进入步骤780,如果否,说明动点动点不是从滑动动作起始区域内部滑动出滑动动作起始区域外部,且未超出滑动动作终止区域,跳转到步骤7100。
[0128] 步骤780:判断L是否大于或等于滑动动作终止区域的内圆半径r2且小于或等于滑动动作终止区域的外圆半径r3,如果是,说明大拇指的滑动轨迹是从所述多个手掌视频图像中的滑动动作起始区域滑动到滑动动作终止区域,进入步骤790,如果否,说明动点从滑动动作起始区域内部滑动出滑动动作起始区域外部,但还尚未滑入到滑动动作终止区域内,跳转到步骤7100。
[0129] 步骤790:设置滑动状态为执行状态,结束本流程。
[0130] 步骤7100:重置i=i+1,返回从第i个手掌视频图像中提取手势信息的步骤。
[0131] 当然,在上述方案中,正如前面所述,当从第i个手掌视频图像中提取不出来手势信息,或者根据从第i个手掌视频图像中提取出的手势信息检测出的手势不是大拇指滑动手势时,也会设置滑动状态为释放状态,并跳转到步骤7100。
[0132] 可以理解的,本申请的方案对大拇指滑动手势的状态进行了明确区分后,用户体验上并未增加用户的操作难度,因为是将大拇指指尖处的4号关键点作为大拇指滑动手势中的动点,用户的大拇指每次都能很容易地回到滑动动作起始区域内,从而重新将大拇指滑动手势的滑动状态设置为【准备状态】,对于用户体验而言,操作也更具有确定性。通过上述处理,当用户使用大拇指滑动手势时,如果直接从滑动动作终止区域外进入到滑动动作终止区域,由于大拇指滑动手势的当前滑动状态不是【准备状态】,就不会引起大拇指滑动手势的误识别。当用户完成一次大拇指滑动手势之后,大拇指滑动手势的滑动状态立即设置为【释放状态】,动点需重新进入滑动动作起始区域之后,大拇指滑动手势的滑动状态才能再次设置为【准备状态】,并再次触发大拇指滑动手势的识别,避免了持续滑动时所引起的误识别,同样,当需要在一个方向连续进行多个滑动操作时,避免了滑动手势反向折回时所引起的误识别。
[0133] 在依据上述方式确定大拇指完成一次滑动手势,还可以进一步根据多个手掌视频图像中的手势信息确定大拇指的滑动方向。进而才能根据滑动方向的不同执行与方向对应的滑动事件,例如,菜单屏的翻页、负一屏的显示、轮播相册的选取、电子书的上下滚动及左右翻页等、抖音视频的切换以及聊天记录的滚动查看等。
[0134] 在本申请的大拇指滑动手势建模中,定义大拇指的滑动方向包括向上、向下、向左和向右四个方向。因此,在本申请的一个实施方式中,可以以中心点为起点,动点为终点的向量 分别与横向X轴夹角 及与竖向Y轴的夹角β,如果 小于或等于第一预设夹角配置参数,说明大拇指的滑动方向更偏向于横向,确定滑动方向为向左或向右,如果β小于或等于第二预设夹角配置参数,说明大拇指的滑动方向更偏向于竖向,确定滑动方向为向上或向下,最后再进一步根据动点的坐标确定最终的滑动方向。
[0135] 其中,请参阅图8所示,一种可行的计算方式为:以中心点(10号关键点)为起点,沿横向X轴正方向做任一与X轴平行的非0向量,记为 ,向量坐标记为 ,可令, 和 分别为10号关键点的坐
标。然后计算 与 的夹角,记为 ,向量 与横向X轴夹角 (取锐角)为:
[0136]
[0137] 当满足 时,说明动点在 区域或 区域,即大拇指滑动方向为向左或向右,反之,如果不满足 ,向量 与竖向Y轴的夹角 为:
[0138]
[0139] 当满足 时,说明动点在 区域或 区域,即大拇指滑动方向为向上或向下。
[0140] 当满足 时,说明动点既不在 区域和 区域,也不在 区域和区域。下面为了进一步确定具体的滑动方向,需要计算动点所在的象限,具体可以通过比较中心点(10号关键点)和动点(4号关键点)的相互位置关系确定动点所在象限,其中,中心点坐标记为 ,动点坐标记为 ,比较结果分以下四种情况:
[0141] 当 且 ,动点在第一象限;
[0142] 当 且 ,动点在第二象限;
[0143] 当 且 ,动点在第三象限;
[0144] 当 且 ,动点在第四象限;
[0145] 最后根据动点所在区域及所在的象限,确定大拇指滑动手势的滑动方向,确定方式如表1:
[0146] 表1 大拇指滑动手势的滑动方向
[0147]
[0148] 在现有的手掌滑动手势识别中,手掌滑动轨迹的计算往往是以像素进行度量,不同摄像头参数导致捕获的手掌成像大小不一致,手掌离摄像头的远近也会影响手掌成像大小,不同人手掌大小本身也会存在差异,上述因素都将影响手掌成像大小,导致滑动轨迹估算不准确,进一步影响手势识别结果。
[0149] 为了解决此问题,在本申请中,大拇指滑动区域(包括滑动动作起始区域及滑动动作终止区域)的大小依据从图像中提取出的关键点结果自适应调整,减少了成像大小对大拇指滑动手势识别结果的影响。
[0150] 在本申请的一个实施方式中,滑动动作终止区域的内圆半径r2及外圆半径r3通过如下方式计算获得:分别计算中心点(关键点10)到上下左右四个相邻关键点(关键点6、9、11和14)的距离,其中,关键点10到关键点6的距离记为 ,关键点10到关键9的距离记为,关键点10到关键点14的距离记为 ,关键点10到关键点11的距离记为 ,单位均为像素;然后从 、 、 、 中选择最小距离值,作为滑动动作终止区域的外圆半径r3;最后基于外圆半径r3及第一预设比值参数 ,计算滑动动作终止区域的内圆半径r2,其中, 为内圆半径r2与外圆半径r3的比值,且 。
[0151] 在本申请的另一个实施方式中,滑动动作起始区域的半径通过如下方式计算获得:基于外圆半径r3以及第二预设比值参数 ,计算滑动动作起始区域的半径r1,其中,为滑动动作起始区域的半径r1与滑动动作终止区域的外圆半径r3的比值,且。
[0152] 可以理解的,在本申请的滑动区域建模中,是以10号关键点作为滑动区域的中心点,并选择自适应半径获得滑动区域,即滑动动作终止区域的外圆半径是自适应半径,该自适应半径选取与中心点相邻的6号关键点、9号关键点、14号关键点和11号关键点到达中心点最近的距离,单位为像素。并定义配置参数 和 ,将滑动区域分为滑动动作起始区域和滑动动作终止区域。进一步的,定义配置参数 ,将滑动动作终止区域细分为右、上、左、下四个滑动动作终止区域,以便确定滑动方向。
[0153] 在进行大拇指滑动手势识别时,还需要考虑捕获的手掌视频图像是左右手掌中哪个手掌的视频图像,因此,通过手掌检测模型,不仅可以从手掌视频图像中提取出手掌中21个关键点的位置坐标信息,还可以提取出左右手的信息。在本申请的一个实施方式中,手势信息还包括左右手标志位。通过左右手标志位可以确定是左右操作还是右手操作。
[0154] 而在大拇指滑动操作时,可以定义滑动操作为右手操作,如果检测出是左手操作,则需要根据获取的左手手掌视频图像获得右手手掌上的21个关键点的位置坐标信息,当然也可以定义滑动操作为左手操作,如果检测出是右手操作,同样需要根据获取的右手手掌视频图像获得左手手掌上的21个关键点的位置坐标信息。至于滑动操作到底是右手操作还是左手操作,可以由用户根据个人操作习惯进行自由设定,本申请对此不做限制。
[0155] 在根据获取的左手手掌视频图像(或右手手掌视频图像)获得右手手掌(或左手手掌)上的21个关键点的位置坐标信息时,可以利用左右手之间互为镜像的关系。因此,在本申请的一个实施方式中,可以将获取的多个手掌视频图像进行镜像反转处理,从镜像反转后的多个手掌视频图像中提取手掌上的21个关键点的位置坐标信息;或者,也可以将从获取的多个手掌视频图像中提取出的21个关键点的位置坐标信息直接进行镜像映射处理。
[0156] 例如,假设提取出的左手21个关键点中任一点的坐标为 ,其镜像映射为右手的对应坐标为 ,则计算方式如下:
[0157]
[0158] 其中, 为手掌视频图像的宽度(单位为像素)。
[0159] 在本申请实施例中,提供了基于视觉的大拇指滑动手势的识别方案,使用手势关键点进行局部滑动区域建模,使用大拇指指尖进行滑动控制,相比现有技术中的基于视觉的手掌滑动手势的识别,本申请的方案无需手势的大幅度摆动,方便用户操作,且在例如智能眼镜在内的一些低广角设备中同样适用,不会因为广角低而影响手势识别的灵敏度。
[0160] 另外,在本申请实施例中,使用坐标系的方式将滑动区域进行分割,不同滑动区域对应不同的滑动方向,滑动区域分为滑动动作起始区域以及滑动动作终止区域,只有当动点从滑动动作起始区域开始并滑动到滑动动作终止区域后才能识别为滑动动作,并触发执行后续的滑动事件,避免了使用中的误识别及相应的误触发。
[0161] 另外,在本申请实施例中,使用了原点复归的机制,即,将大拇指滑动手势动作拆分为3个状态:准备、执行及释放。只有在【准备状态】下,才能执行对应的滑动操作。相比现有技术中的基于视觉的手掌滑动手势识别,避免了在一个方向连续进行多个滑动手势时在折回过程中对反向滑动的误识别及相应的误触发。
[0162] 另外,在本申请实施例中,在使用关键点进行滑动区域建模时,滑动区域的大小根据手掌关键点的距离自适应,相比现有技术中的基于视觉的手掌滑动手势识别,进一步解决了因手掌图像成像大小导致的滑动轨迹估算不准确、手势识别结果准确性差的问题。
[0163] 并且,在本申请实施例中,是在状态转换满足的前提下,通过动点所在滑动区域进行滑动动作的定义,相比现有技术的中的基于视频序列的手掌手势识别,本申请可以在视频帧率较低的场景同样适用(例如需要进行网络视频图像采集识别的场景)。
[0164] 为了更清楚地理解本申请的技术方案,下面将详细阐述基于视觉的大拇指滑动手势识别整个过程,请参阅图9所示,包括如下步骤:
[0165] 步骤900:初始化滑动状态为释放状态;
[0166] 步骤910:从采集的具有时序顺序的多个手掌视频图像中提取一个手掌视频图像;
[0167] 步骤920:判断提取的该手掌视频图像中是否出现手势信息,如果是,进入步骤930,如果否,进入步骤9220;
[0168] 步骤930:根据提取的该手掌视频图像的手势信息判断执行滑动手势的操作手是否为预先设置的操作手,如果否,进入步骤940,如果是,进入步骤950;
[0169] 步骤940:根据提取的该手掌视频图像获得预先设置的操作手的手势信息;
[0170] 步骤950:根据操作手的手势信息检测该手掌视频图像中是否出现大拇指滑动手势,如果是,进入步骤960,如果否,进入步骤9220;
[0171] 步骤960:计算滑动动作终止区域的外圆半径r3;
[0172] 步骤970:计算滑动区域的中心点与滑动区域的动点的向量V的模长,记为L;
[0173] 步骤980:判断L是否大于r3,如果否,进入步骤990,如果是,进入步骤9220;
[0174] 步骤990:计算滑动动作起始区域的半径r1;
[0175] 步骤9100:判断L是否小于或等于r1,如果否,进入步骤9110,如果是,进入步骤9230;
[0176] 步骤9110:判断当前滑动状态是否为准备状态,如果是,进入步骤9120,如果否,进入步骤9240;
[0177] 步骤9120:计算滑动动作终止区域的内圆半径r2;
[0178] 步骤9130:判断L是否大于或等于r2且小于或等于r3,如果是,进入步骤9140,如果否,进入步骤9240;
[0179] 步骤9140:更新滑动状态为执行状态;
[0180] 步骤9150:计算向量V与横向X轴的夹角 ;
[0181] 步骤9160:判断夹角 是否小于或等于夹角配置参数θ,如果否,进入步骤9170,如果是,进入步骤9190;
[0182] 步骤9170:计算向量V与竖向Y轴的夹角β;
[0183] 步骤9180:判断β是否小于或等于夹角配置参数θ,如果是,进入步骤9190,如果否,进入步骤9240;
[0184] 步骤9190:计算动点坐标的象限;
[0185] 步骤9200:根据动点坐标的象限确定滑动方向;
[0186] 步骤9210:执行滑动事件;
[0187] 步骤9220:更新滑动状态为释放状态,进入步骤9240;
[0188] 步骤9230:更新滑动状态为准备状态,进入步骤9240;
[0189] 步骤9240:判断是否退出手势识别流程,如果是,结束流程,如果否,重新返回步骤910。
[0190] 上述步骤9210中,执行的滑动事件例如可以是菜单屏的翻页、负一屏的显示、轮播相册的选取、电子书的上下滚动及左右翻页等、抖音视频的切换以及聊天记录的滚动查看等。
[0191] 图10示出了根据本申请一个实施例提供的可用于实现上述基于视觉的滑动手势识别方法的可穿戴设备的结构示意图。
[0192] 参见图10,可穿戴设备1000包括图像采集器1010、存储器1020和处理器1030。
[0193] 图像采集器1010采集具有时序顺序的多个手掌视频图像;
[0194] 图像采集器1010例如可以是可穿戴设备上的摄像头。
[0195] 处理器1030可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1030可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1030可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
[0196] 存储器1020可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1030或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1020可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1020可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD‑ROM,双层DVD‑ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro‑SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0197] 存储器1020上存储有可执行代码,当可执行代码被处理器1030处理时,可以使处理器1030执行上文述及的基于视觉的滑动手势识别方法。
[0198] 图11示出了根据本申请一个实施例提供的可用于实现上述基于视觉的滑动手势识别方法的移动终端的结构示意图。
[0199] 参见图11,移动终端1100包括存储器1110和处理器1120。
[0200] 处理器1120可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1120可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1120可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
[0201] 存储器1110可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1120或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1110可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1110可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD‑ROM,双层DVD‑ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro‑SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0202] 存储器1110上存储有可执行代码,当可执行代码被处理器1120处理时,可以使处理器1120执行上文述及的基于视觉的滑动手势识别方法。
[0203] 图12示出了根据本申请一个实施例提供的基于视觉的滑动手势识别系统的结构示意图。
[0204] 参见图12,系统1200包括可穿戴设备1210以及与可穿戴设备1210进行无线通信的移动终端1220;
[0205] 可穿戴设备1210采集具有时序顺序的多个手掌视频图像,并将所述多个手掌视频图像发送给移动终端1220;
[0206] 移动终端1220包括存储器1221和处理器1222。
[0207] 处理器1222可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1222可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器1222可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
[0208] 存储器1221可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1222或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1221可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1221可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD‑ROM,双层DVD‑ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro‑SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
[0209] 存储器1221上存储有可执行代码,当可执行代码被处理器1222处理时,可以使处理器1222执行上文述及的基于视觉的滑动手势识别方法。
[0210] 上文中已经参考附图详细描述了根据本申请的基于视觉的滑动手势识别方法。
[0211] 此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中限定的上述各步骤的计算机程序代码指令。
[0212] 或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤。
[0213] 本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
[0214] 附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0215] 以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。