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

手势的运动轨迹生成方法、装置、设备以及存储介质

文献发布时间:2023-06-19 09:47:53


手势的运动轨迹生成方法、装置、设备以及存储介质

技术领域

本申请属于计算机技术领域,尤其涉及一种手势的运动轨迹生成方法、装置、设备以及存储介质。

背景技术

随着智能交互技术的发展,手势控制技术越来越多的被应用于各个领域,如车载系统、智能家居、虚拟现实(Virtual Reality,VR)内容交互等领域。

在手势控制技术中,可以通过如下方案来生成手势运动轨迹:首先,通过测量系统测量手势在多个时刻的位置坐标;然后,根据手势在多个时刻的位置坐标,生成手势的运动轨迹。

但是,由于测量系统测量得到的手势位置坐标与手势的实际位置坐标之间有一定差距,如此,生成的手势运动轨迹与手势的实际运动轨迹不符,导致生成的手势运动轨迹无法准确地反映手势运动的真实情况。

发明内容

本申请实施例提供一种手势的运动轨迹生成方法、装置、设备以及存储介质,能够解决生成的手势运动轨迹与手势的实际运动轨迹不符,导致生成的手势运动轨迹无法准确地反映手势运动的真实情况的技术问题。

一方面,本申请实施例提供一种手势的运动轨迹生成方法,包括:

获取手势在连续的M个时刻分别对应的第一位置坐标,每个所述时刻对应的第一位置坐标是对所述手势在所述时刻的位置进行测量得到,每个所述时刻对应的第一位置坐标包括N维的第一坐标值,M和N分别为大于1的整数;

对于每个所述时刻的第一位置坐标中每一维的第一坐标值,对所述每一维的第一坐标值分别进行去噪处理,得到每个所述时刻对应的第二位置坐标,每个所述时刻对应的第二位置坐标包括N维的第二坐标值;

根据所述M个时刻分别对应的第二位置坐标,生成所述手势的运动轨迹。

另一方面,本申请实施例提供了一种手势的运动轨迹生成装置,包括:

获取模块,用于获取手势在连续的M个时刻分别对应的第一位置坐标,每个所述时刻对应的第一位置坐标是对所述手势在所述时刻的位置进行测量得到,每个所述时刻对应的第一位置坐标包括N维的第一坐标值,M和N分别为大于1的整数;

处理模块,用于对于每个所述时刻的第一位置坐标中每一维的第一坐标值,对所述每一维的第一坐标值分别进行去噪处理,得到每个所述时刻对应的第二位置坐标,每个所述时刻对应的第二位置坐标包括N维的第二坐标值;

生成模块,用于根据所述M个时刻分别对应的第二位置坐标,生成所述手势的运动轨迹。

再一方面,本申请实施例提供了一种手势的运动轨迹生成设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;

所述处理器执行所述计算机程序指令时实现所述的手势的运动轨迹生成方法。

再一方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现所述的手势的运动轨迹生成方法。

本申请实施例的手势的运动轨迹生成方法、装置、设备以及存储介质,首先,获取手势在M个时刻分别对应的第一位置坐标,第一位置坐标是测量得到的手势在各个时刻的位置坐标。由于测量得到的每个时刻的第一位置坐标中每一维的第一坐标值具有噪声,对于每个时刻的第一位置坐标中每一维的第一坐标值,对每一维的第一坐标值分别进行去噪处理,得到每个时刻对应的第二位置坐标。由此,第二位置坐标更加接近手势的实际位置坐标,生成的手势运动轨迹更加平滑,更能准确地反映手势运动的真实情况。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请提供的手势的运动轨迹生成方法的一个实施例的流程示意图;

图2是本申请提供的手势的运动轨迹生成方法的另一个实施例的流程示意图;

图3是本申请提供的获取滤波增益的一个实施例的流程示意图;

图4是本申请提供的手势的运动轨迹生成方法的又一个实施例的流程示意图;

图5是本申请提供的测量坐标值与去噪处理之后的坐标值之间的对比图;

图6是本申请提供的手势的运动轨迹生成装置的一个实施例的结构示意图;

图7是本申请提供的一种手势的运动轨迹生成设备的一个实施例的硬件结构示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

正如背景技术中提到的,在手势控制技术中,通过测量系统测量手势在多个时刻的位置坐标,来生成手势的运动轨迹。但是,由于手势运动的多变性以及测量系统本身存在误差等原因,导致测量得到的手势位置坐标值是有噪声的,即测量系统测量得到的手势位置坐标与手势的实际位置坐标不符。如此,生成的手势运动轨迹无法准确地反映手势运动的真实情况。

为了解决上述技术问题,本申请实施例提供了一种手势的运动轨迹生成方法、装置、设备以及存储介质。下面首先对本申请实施例所提供的手势的运动轨迹生成方法进行介绍。

图1是本申请提供的手势的运动轨迹生成方法的一个实施例的流程示意图。如图1所示,手势的运动轨迹生成方法包括:

S102,获取手势在连续的M个时刻分别对应的第一位置坐标,每个时刻对应的第一位置坐标是对手势在该时刻的位置进行测量得到,每个时刻对应的第一位置坐标包括N维的第一坐标值,M和N分别为大于1的整数;

S104,对于每个时刻的第一位置坐标中每一维的第一坐标值,对每一维的第一坐标值分别进行去噪处理,得到每个时刻对应的第二位置坐标,每个时刻对应的第二位置坐标包括N维的第二坐标值;

S106,根据M个时刻分别对应的第二位置坐标,生成手势的运动轨迹。

下面对上述的各个步骤进行说明。

在S102中,M个时刻为同一个时间段内的时刻。在手势运动的过程中,可以通过测量系统对手势在M个时刻的位置分别进行测量,得到手势在每个时刻的第一位置坐标。比如,测量系统每隔2毫秒对手势的位置进行测量,得到手势在M个时刻的第一位置坐标。

作为一个示例,测量系统可以为电荷耦合器件(Charge Coupled Device,CCD)自动识别系统、红外自动识别系统或者声波自动识别系统。

下面对第一位置坐标包括N维的第一坐标值进行示例性地说明。

作为一个示例,N可以为2,即每个时刻对应的第一位置坐标包括二维的第一坐标值。比如,每个时刻对应的第一位置坐标包括X轴对应的坐标值和Y轴对应的坐标值。

作为另一个示例,N可以为3,即每个时刻对应的第一位置坐标包括三维的第一坐标值。比如,每个时刻对应的第一位置坐标包括X轴对应的坐标值、Y轴对应的坐标值和Z轴对应的坐标值。

在S104中,由于每个时刻的第一位置坐标中具有噪声,导致第一位置坐标无法准确地反映手势的位置。因此,针对每个时刻的第一位置坐标,对第一位置坐标中每一维的第一坐标值分别进行去噪处理,得到第二位置坐标。由于第二位置坐标是去除噪声的位置坐标,因此,第二位置坐标能够更加准确地反映出手势的位置。

下面具体说明如何对每一维的第一坐标值分别进行去噪处理。

对于第1个时刻的第一位置坐标中每一维的第一坐标值,可以根据每一维对应的预设数值和第一个时刻每一维的第一坐标值,得到第一个时刻每一维的第二坐标值,由此,得到第一个时刻对应的第二位置坐标。

对于非第1个时刻的第一位置坐标中每一维的第一坐标值,可以根据上一个时刻每一维的第二坐标值和本时刻每一维的第一坐标值,得到本时刻每一维的第二坐标值,由此,得到本时刻对应的第二位置坐标。

作为一个示例,可以通过对每一维的第一坐标值分别进行卡尔曼(Kalman)滤波处理,来实现对每一维的第一坐标值进行去噪处理。

在S106中,根据M个时刻分别对应的第二位置坐标,将各个第二位置坐标对应的点连成线,形成手势的运动轨迹。

在本申请实施例中,首先,获取手势在M个时刻分别对应的第一位置坐标,第一位置坐标是测量得到的手势在各个时刻的位置坐标。由于测量得到的每个时刻的第一位置坐标中每一维的第一坐标值具有噪声,对于每个时刻的第一位置坐标中每一维的第一坐标值,对每一维的第一坐标值分别进行去噪处理,得到每个时刻对应的第二位置坐标。由此,第二位置坐标更加接近手势的实际位置坐标,生成的手势运动轨迹更加平滑,更能准确地反映手势运动的真实情况。

在本申请的一个或多个实施例中,如图2所示,S104可以包括:

S1042,对于第k个时刻,获取第k个时刻手势在目标维度的第三坐标值,以及获取第k个时刻对应的滤波增益;其中,目标维度为N维中的任意一个维度,k∈[1,M]中的任意一个整数;在k=1的情况下,第1个时刻手势在目标维度的第三坐标值是根据目标维度对应的预设数值得到;在k>1的情况下,第k个时刻手势在目标维度的第三坐标值是根据第k-1个时刻手势在目标维度的第二坐标值得到;

S1044,根据第k个时刻手势在目标维度的第一坐标值、第k个时刻手势在目标维度的第三坐标值以及滤波增益,确定第k个时刻手势在目标维度的第二坐标值。

下面对S1042中的获取第k个时刻手势在目标维度的第三坐标值进行示例性说明。

作为一个示例,获取第k个时刻手势在目标维度的第三坐标值,可以包括:

在k=1的情况下,将目标维度对应的预设数值确定为第1个时刻手势在目标维度的第三坐标值;

在k>1的情况下,将第k-1个时刻手势在目标维度的第二坐标值确定为第k个时刻手势在目标维度的第三坐标值。

需要说明的是,第k个时刻手势在目标维度的第三坐标值是首次对第k个时刻手势在目标维度的坐标值进行估计得到,第k-1个时刻手势在目标维度的第二坐标值是第二次对第k-1个时刻手势在目标维度的坐标值进行估计得到。

下面以目标维度为X轴对应的维度为例,说明如何获取第k个时刻手势在目标维度的第三坐标值。

在k=1的情况下,取X轴对应的初始坐标值作为第1个时刻手势在目标维度的第三坐标值。

在k>1的情况下,通过首次对第k个时刻手势在X轴上的坐标值进行估计,得到第k个时刻手势在目标维度的第三坐标值,具体的计算公式可以为如下的公式(1):

下面对S1042中的获取第k个时刻对应的滤波增益进行示例性说明。

图3是本申请提供的获取滤波增益的一个实施例的流程示意图。如图3所示,获取第k个时刻对应的滤波增益,可以包括:

S10422,获取第一方差,其中,在k=1的情况下,第一方差为目标维度对应的预设方差,在k>1的情况下,第一方差为第k-1个时刻手势在目标维度的第二坐标值的方差;

S10424,根据第一方差以及手势运动幅度,确定第三坐标值的第二方差,手势运动幅度为在一个测量周期内手势在目标维度的运动幅度;

S10426,根据第二方差以及测量方差,确定第k个时刻对应的滤波增益,测量方差为测量系统的预设测量方差,测量系统为测量第一位置坐标的系统。

在S10424中,第k个时刻手势在目标维度的第三坐标值为第一方差与手势运动幅度之间的和。手势运动幅度可以根据经验选取,并可以通过仿真进行优化。或者,手势运动幅度可以通过实验来获取。

在S10426中,首先计算第二方差与测量方差的和,得到目标数值,然后,计算第二方差与目标数值的比值,得到滤波增益。其中,测量方差可以从测量系统的出厂说明书上获取得到,或者,测量方差可以通过实验获取得到。

下面继续以目标维度为X轴对应的维度为例,说明如何获取第k个时刻对应的滤波增益。

首先通过如下的公式(2)计算第k个时刻手势在X轴上的第三坐标值:

P

在k=1的情况下,P

在计算第k个时刻手势在X轴上的第三坐标值之后,可以通过如下的公式(3)计算第k个时刻对应的滤波增益:

H

H

下面对S1044进行示例性说明。

S1044可以包括:

计算第k个时刻手势在目标维度的第一坐标值与第k个时刻手势在目标维度的第三坐标值之间的第二差值;

将第二差值与滤波增益之间的乘积,与第k个时刻手势在目标维度的第三坐标值进行相加,得到第k个时刻手势在目标维度的第二坐标值。

下面继续以目标维度为X轴对应的维度为例,说明如何得到第k个时刻手势在X轴上的第二坐标值。

可以通过如下的公式(4)得到第k个时刻手势在X轴上的第二坐标值:

在本申请实施例中,对于第k个时刻手势在目标维度的第一坐标值,对第一位置坐标进行卡尔曼滤波处理,得到第k个时刻手势在目标维度的第二坐标值。由于第二位置坐标是经过卡尔曼滤波处理的位置坐标,因此,第二位置坐标能够更加准确地反映出手势的位置,生成的手势运动轨迹更加平滑,更能准确地反映手势运动的真实情况。

在本申请的一个或多个实施例中,根据第二方差以及测量方差,确定第k个时刻对应的滤波增益之后,手势的运动轨迹生成方法还可以包括:

计算预定数值与第k个时刻对应的滤波增益之间的第一差值;

将第一差值与第二方差的乘积确定为第k个时刻手势在目标维度的第二坐标值的方差。

下面继续以目标维度为X轴对应的维度为例,说明如何得到第k个时刻手势在X轴上的第二坐标值的方差。

可以通过如下的公式(5)得到第k个时刻手势在X轴上的第二坐标值的方差:

P

P

在本申请实施例中,通过计算第k个时刻手势在目标维度的第二坐标值的方差,以便于下一个计算第k+1个时刻手势在目标维度的第二坐标值。

在本申请的一个或多个实施例中,对第k个时刻手势在目标维度的第一坐标值进行I次去噪处理,I为大于1的整数;

在对第k个时刻手势在目标维度的第一坐标值进行第i次去噪处理之前,手势的运动轨迹生成方法还可以包括:

将第k个时刻手势在目标维度的第一坐标值更新为第i-1次去噪处理得到的第k个时刻手势在目标维度的第二坐标值,i∈[2,I]中的任意一个整数。

作为一个示例,I为2或者3。

在本申请实施例中,通过对测量得到的第一坐标值进行多次去噪处理,能够在保持手势运动轨迹的原始趋势的情况下,使得手势运动轨迹更加平滑。

下面通过一个示例说明上述的手势的运动轨迹生成方法。

图4是本申请提供的手势的运动轨迹生成方法的又一个实施例的流程示意图。如图4所示,手势的运动轨迹生成方法包括:

S202,获取手势在连续的M个时刻分别对应的第一位置坐标,每个时刻对应的第一位置坐标是对手势在该时刻的位置进行测量得到;

S204,把每个第一位置坐标拆分为X轴上的测量坐标值、Y轴上的测量坐标值以及Z轴上的测量坐标值,其中,拆分得到的X轴上的测量坐标值、Y轴上的测量坐标值以及Z轴上的测量坐标值即为上述的第一坐标值;

下面通过S206至S212来首次对第k个时刻手势在X轴上的测量坐标值进行去噪处理,首次去噪处理中需要对第k个时刻手势在X轴上的坐标值进行两次估计,下面通过S206至S212进行具体说明。

手势的运动轨迹生成方法还包括:

S206,对于第k个时刻,首次对第k个时刻手势在X轴上的坐标值进行估计,得到第k个时刻手势在X轴上的首次估计坐标值(即上述的第三坐标值),以用于S212中的第二次对第k个时刻手势在X轴上的坐标值进行估计;其中,在k=1的情况下,第1个时刻手势在X轴上的首次估计坐标值为X轴对应的预设数值,在k>1的情况下,第k个时刻手势在X轴上的首次估计坐标值为首次对第k-1个时刻手势在X轴上的测量坐标值进行去噪处理时,第k-1个时刻手势在X轴上的第二次估计坐标值;

S208,计算第k个时刻手势在X轴上的首次估计坐标值的方差(即上述的第二方差);比如,该方差通过上述的公式(2)计算得到;

S210,根据第k个时刻手势在X轴上的首次估计坐标值的方差以及测量方差,计算滤波增益,比如,该滤波增益可以通过上述的公式(3)计算得到;

S212,根据第k个时刻手势在X轴上的测量坐标值、S206得到的首次估计坐标值以及S210得到的滤波增益,第二次对第k个时刻手势在X轴上的坐标值进行估计,得到第k个时刻手势在X轴上的第二次估计坐标值(即上述的第二坐标值),比如,该第二次估计坐标值可以通过上述的公式(4)计算得到;在此之后,更新k=k+1,该第二次估计坐标值可以用于对下一个时刻手势在X轴上的测量坐标值进行首次去噪处理;

S214,计算第k个时刻手势在X轴上的第二次估计坐标值的方差,该方差可以通过上述的公式(5)计算得到,在此之后,更新k=k+1,该方差可以用于对下一个时刻手势在X轴上的测量坐标值进行首次去噪处理;

S216,将第k个时刻手势在X轴上的测量坐标值由测量得到的值更新为第二次估计坐标值,以进行第二次去噪处理。

上述的S206至S216是首次对第k个时刻手势在X轴上的测量坐标值进行去噪处理,下面通过S218至S224来说明第二次对第k个时刻手势在X轴上的测量坐标值进行去噪处理。第二次的去噪处理也需要对第k个时刻手势在X轴上的坐标值进行两次估计,下面通过S218至S224进行具体说明。

手势的运动轨迹生成方法还包括:

S218,在第二次进行去噪处理的过程中,首次对第k个时刻手势在X轴上的坐标值进行估计,得到第k个时刻手势在X轴上的首次估计坐标值(即上述的第三坐标值),以用于S224中的第二次对第k个时刻手势在X轴上的坐标值进行估计;其中,在k=1的情况下,第1个时刻手势在X轴上的首次估计坐标值为X轴对应的预设数值,在k>1的情况下,第k个时刻手势在X轴上的首次估计坐标值为第二次对第k-1个时刻手势在X轴上的测量坐标值进行去噪处理时,第k-1个时刻手势在X轴上的第二次估计坐标值;

需要说明的是,S218至S224中提到的首次估计和第二次估计指在第二次进行去噪处理的过程中的首次估计和第二次估计。

S220,计算第k个时刻手势在X轴上的首次估计坐标值的方差(即上述的第二方差);比如,该方差通过上述的公式(2)计算得到,;

S222,根据第k个时刻手势在X轴上的首次估计坐标值的方差以及测量方差,计算滤波增益,比如,该滤波增益可以通过上述的公式(3)计算得到;

S224,根据S216中更新之后的第k个时刻手势在X轴上的测量坐标值、S218得到的首次估计坐标值以及S222得到的滤波增益,第二次对第k个时刻手势在X轴上的坐标值进行估计,得到第k个时刻手势在X轴上的第二次估计坐标值(即上述的第二坐标值),比如,该第二次估计坐标值可以通过上述的公式(4)计算得到;在此之后,更新k=k+1,该第二次估计坐标值可以用于对下一个时刻手势在X轴上的测量坐标值进行第二次去噪处理;

S226,根据S224中得到第k个时刻手势在X轴上的第二次估计坐标值,计算第k个时刻手势在X轴上的第二次估计坐标值的方差;在此之后,更新k=k+1,该方差可以用于对下一个时刻手势在X轴上的测量坐标值进行第二次去噪处理;

S206至S226是对第k个时刻X轴上的测量坐标值进行两次去噪处理的过程,类似于S206至S226,对第k个时刻Y轴上的测量坐标值进行两次去噪处理,以及对第k个时刻Z轴上的测量坐标值进行两次去噪处理。由此,实现了对第k个时刻对应的第一位置坐标进行两次去噪处理。然后,对每个时刻对应的第一位置坐标分别进行两次去噪处理。

手势的运动轨迹生成方法还包括:

S228,在对每个时刻对应的第一位置坐标分别进行两次去噪处理之后,根据每个时刻在两次去噪处理之后的第二次估计坐标值,生成手势的运动轨迹。

以上是本申请提供的手势的运动轨迹生成方法的一个示例,基于上述示例,下面通过一个例子说明本申请提供的手势的运动轨迹生成方法。

已知手势在X轴上的一组测量坐标值{99.67,99.77,99.72,99.36,99.60,99.22,99.03,98.82,99.04,98.63,98.79,98.56,98.33,98.71,98.63,98.48,98.21,98.08,98.26,98.44,97.90,98.10,97.70,97.88,98.00,98.23,98.30,98.32,98.20,98.16,97.83,98.21,98.42,98.55,98.28,98.08,98.42,98.54,98.70,98.72,99.12,99.16,98.77,98.95,99.49,99.61,99.67,99.52,100.05,99.97}。

基于上述一组测量坐标值,可以使用本申请提供的手势的运动轨迹生成方法对此组测量坐标值进行处理。其中,通过X={x

手势的运动轨迹生成方法包括:

S302,首先对k

S304,求出k

P

S306,计算出k

S308,利用上述的公式(4)第二次对k

S310,利用上述的公式(5)计算k

P

S312,将k

S314,类似于对k

图5是本申请提供的测量坐标值与去噪处理之后的坐标值之间的对比图。如图5所示,原始的测量坐标值形成的曲线不够平滑,而经过去噪处理之后,去噪处理之后的坐标值形成的曲线更平滑,使得基于去噪处理之后的坐标值生成的手势运动轨迹能够更好的反应手势运动的真实情况。

与本申请提供的手势的运动轨迹生成方法对应地,本申请提供一种手势的运动轨迹生成装置。

图6是本申请提供的手势的运动轨迹生成装置的一个实施例的结构示意图。

如图6所示,手势的运动轨迹生成装置300包括:

获取模块302,用于获取手势在连续的M个时刻分别对应的第一位置坐标,每个时刻对应的第一位置坐标是对手势在该时刻的位置进行测量得到,每个时刻对应的第一位置坐标包括N维的第一坐标值,M和N分别为大于1的整数;

处理模块304,用于对于每个时刻的第一位置坐标中每一维的第一坐标值,对每一维的第一坐标值分别进行去噪处理,得到每个时刻对应的第二位置坐标,每个时刻的第二位置坐标包括N维的第二坐标值;

生成模块306,用于根据M个时刻分别对应的第二位置坐标,生成手势的运动轨迹。

在本申请实施例中,首先,获取手势在M个时刻分别对应的第一位置坐标,第一位置坐标是测量得到的手势在各个时刻的位置坐标。由于测量得到的每个时刻的第一位置坐标中每一维的第一坐标值具有噪声,对于每个时刻的第一位置坐标中每一维的第一坐标值,对每一维的第一坐标值分别进行去噪处理,得到每个时刻对应的第二位置坐标。由此,第二位置坐标更加接近手势的实际位置坐标,生成的手势运动轨迹更加平滑,更能准确地反映手势运动的真实情况。

在本申请的一个或多个实施例中,处理模块304可以包括:

第一获取单元,用于对于第k个时刻,获取第k个时刻手势在目标维度的第三坐标值,以及获取第k个时刻对应的滤波增益;其中,目标维度为N维中的任意一个维度,k∈[1,M]中的任意一个整数;在k=1的情况下,第1个时刻手势在目标维度的第三坐标值是根据目标维度对应的预设数值得到;在k>1的情况下,第k个时刻手势在目标维度的第三坐标值是根据第k-1个时刻手势在目标维度的第二坐标值得到;

第一确定单元,用于根据第k个时刻手势在目标维度的第一坐标值、第k个时刻手势在目标维度的第三坐标值以及滤波增益,确定第k个时刻手势在目标维度的第二坐标值。

在本申请实施例中,对于第k个时刻手势在目标维度的第一坐标值,对第一位置坐标进行卡尔曼滤波处理,得到第k个时刻手势在目标维度的第二坐标值。由于第二位置坐标是经过卡尔曼滤波处理的位置坐标,因此,第二位置坐标能够更加准确地反映出手势的位置,生成的手势运动轨迹更加平滑,更能准确地反映手势运动的真实情况。

在本申请的一个或多个实施例中,第一获取单元可以包括:

第一确定子单元,用于在k=1的情况下,将目标维度对应的预设数值确定为第1个时刻手势在目标维度的第三坐标值;

第二确定子单元,用于在k>1的情况下,将第k-1个时刻手势在目标维度的第二坐标值确定为第k个时刻手势在目标维度的第三坐标值。

在本申请的一个或多个实施例中,第一获取单元可以包括:

第一获取子单元,用于获取第一方差,其中,在k=1的情况下,第一方差为目标维度对应的预设方差,在k>1的情况下,第一方差为第k-1个时刻手势在目标维度的第二坐标值的方差;

第三确定子单元,用于根据第一方差以及手势运动幅度,确定第三坐标值的第二方差,手势运动幅度为在一个测量周期内手势在目标维度的运动幅度;

第四确定子单元,用于根据第二方差以及测量方差,确定第k个时刻对应的滤波增益,测量方差为测量系统的预设测量方差,测量系统为测量第一位置坐标的系统。

在本申请的一个或多个实施例中,手势的运动轨迹生成装置300还可以包括:

第一计算模块,用于计算预定数值与第k个时刻对应的滤波增益之间的第一差值;

第二计算模块,用于将第一差值与第二方差的乘积确定为第k个时刻手势在目标维度的第二坐标值的方差。

在本申请实施例中,通过计算第k个时刻手势在目标维度的第二坐标值的方差,以便于下一个计算第k+1个时刻手势在目标维度的第二坐标值。

在本申请的一个或多个实施例中,第一确定单元可以包括:

第一计算子单元,用于计算第k个时刻手势在目标维度的第一坐标值与第k个时刻手势在目标维度的第三坐标值之间的第二差值;

第二计算子单元,用于将第二差值与滤波增益之间的乘积,与第k个时刻手势在目标维度的第三坐标值进行相加,得到第k个时刻手势在目标维度的第二坐标值。

在本申请的一个或多个实施例中,对第k个时刻手势在目标维度的第一坐标值进行I次去噪处理,I为大于1的整数;手势的运动轨迹生成装置300还可以包括:

更新模块,用于将第k个时刻手势在目标维度的第一坐标值更新为第i-1次去噪处理得到的第k个时刻手势在目标维度的第二坐标值,i∈[2,I]中的任意一个整数。

在本申请实施例中,通过对测量得到的第一坐标值进行多次去噪处理,能够在保持手势运动轨迹的原始趋势的情况下,使得手势运动轨迹更加平滑。

本申请还提供一种手势的运动轨迹生成设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述任意一项的手势的运动轨迹生成方法。

图7是本申请提供的一种手势的运动轨迹生成设备的一个实施例的硬件结构示意图。

如图7所示,手势的运动轨迹生成设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种手势的运动轨迹生成方法。

在一个示例中,手势的运动轨迹生成设备还可包括通信接口403和总线410。其中,如图7所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线410包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的手势的运动轨迹生成方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种手势的运动轨迹生成方法。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

相关技术
  • 手势的运动轨迹生成方法、装置、设备以及存储介质
  • 轨迹生成方法及轨迹生成装置、机器人设备、存储介质
技术分类

06120112301102