本发明一般地涉及信息处理技术领域。具体而言,本发明涉及一种能够以高正确率检测特定动作如挥拍动作的方法和设备。
背景技术
随着信息技术的发展,传统的产品被赋予了更多的功能,提供了更好的体验。例如,球拍多配有传感器以获得使用球拍的运动员或业余爱好者的运动数据,这样的运动数据被记录和分析,以向使用者提供建议,帮助使用者提高水平、使得使用者享受乐趣。
从运动数据中准确地检测到挥拍动作是重要的。由于传感数据的噪声、运动数据的复杂性,挥拍动作的误检测、漏检测较为常见。
因此,本发明旨在以高正确率检测特定动作如挥拍动作,避免漏检和误检。
技术实现要素:
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的目的是提出一种能够准确高效地检测挥拍动作的方法和设备。
为了实现上述目的,根据本发明的一个方面,提供了一种检测特定动作的方法,该方法包括:将所收集的动作数据划分为多个具有预定时间长度的序列;确定每个序列的峰值;对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度;以及基于剩余峰值,确定代表特定动作的检测数据。
根据本发明的另一个方面,提供了一种检测特定动作的设备,该设备包括:划分装置,被配置为:将所收集的动作数据划分为多个具有预定时间长度的序列;确定装置,被配置为:确定每个序列的峰值;筛选装置,被配置为:对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度;以及检测装置,被配置为:基于剩余峰值,确定代表特定动作的检测数据。
另外,根据本发明的另一方面,还提供了一种存储介质。所述存储介质包括机器可读的程序代码,当在信息处理设备上执行所述程序代码时,所述程序代码使得所述信息处理设备执行根据本发明的上述方法。
此外,根据本发明的再一方面,还提供了一种程序产品。所述程序产品包括机器可执行的指令,当在信息处理设备上执行所述指令时,所述指令使得所述信息处理设备执行根据本发明的上述方法。
附图说明
参照下面结合附图对本发明的实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。附图中的部件只是为了示出本发明的原理。在附图中,相同的或类似的技术特征或部件将采用相同或类似的附图标记来表示。附图中:
图1示出了根据本发明的实施例的检测特定动作的方法的流程图;
图2示出了所收集的动作数据的示例;
图3示出了根据本发明的方法对图2所示的所收集的动作数据进行检测后得到的检测结果的示例;
图4示出了一种检测数据处理方法;
图5示出了根据本发明的实施例的检测特定动作的设备的结构方框图;
图6示出了可用于实施根据本发明的实施例的方法和设备的计算机的示意性框图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行详细描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。另外,还需要指出的是,在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。
下面将参照图1描述根据本发明的实施例的检测特定动作的方法的流程。
图1示出了根据本发明的实施例的检测特定动作的方法的流程图。如图1所示,该方法包括如下步骤:将所收集的动作数据划分为多个具有预定时间长度的序列(步骤s1);确定每个序列的峰值(步骤s2);对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度(步骤s3);以及基于剩余峰值,确定代表特定动作的检测数据(步骤s4)。
在步骤s1中,将所收集的动作数据划分为多个具有预定时间长度的序列。
从传感器收集动作数据是本领域技术人员熟知的技术,在此不再赘述。可以使用加速度传感器收集动作数据。当然,也可使用其他适合的传感器。
图2示出了所收集的动作数据的示例。横坐标为时间,纵坐标为加速度的模值。
加速度传感器具有x、y、z三轴加速度数据xt、yt、zt。同一时刻的三轴加速度数据构成一个三维向量dt=(xt,yt,zt)。t表示时间。
首先,需要将所收集的动作数据划分为时间上等长的序列。即,每个数据序列(每段动作数据)的时间长度一致。
该时间长度的选取可以根据本领域技术人员的经验指定。优选地,该时间长度小于特定动作的平均时间长度且大于传感器的采样间隔。在本文中,特定动作以挥拍动作为例。在本发明应用于其他动作的检测时,特定动作也可以是其他动作。
挥拍动作的平均时间长度可以通过统计的方式获得,预先记录在根据本发明的设备的存储器中、根据本发明的方法的程序中,也可以在根据本发明检测到挥拍动作之后,利用新获得的信息更新统计结果。
传感器的采样间隔根据传感器的配置参数而定。
通过以预定时间长度l划分所收集的动作数据,可以得到多个序列,每个序列具有预定时间长度l,包括数据(d1,d2,…,dl)。
在步骤s2中,确定每个序列的峰值。
针对每个序列,计算各个时刻的三轴加速度值的模值,然后,选择其中的最大模值dm作为峰值,如下公式所示。
dm=argmax(sqrt(xt*xt+yt*yt+zt*zt))
其中,argmax()表示取最大值,sqrt()表示取平方根。
可替换地,针对每个序列,计算各个时刻的三轴加速度值的绝对值之和,然后,选择其中的最大的绝对值之和作为峰值。
在步骤s2中,预定时间长度小于特定动作的平均时间长度,从而保证检出率,避免漏检。但是由于传感数据的噪声、运动数据的复杂性等原因,容易出现误检,有些峰值可能不是真正的挥拍动作对应的数据。
因此,在步骤s3中,对峰值数据进行筛选。
具体地,对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个。这里推断两个过于接近的峰值,至少有一个不是要检测的目标动作对应的数据,并且在从两个峰值中选择一个时,认为与要检测的目标动作对应的数据应该更大。
应注意的是,在进行操作“对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个”的时候,并非按时间顺序从第一个峰值开始到最后一个峰值仅执行一次,而是循环迭代地执行该操作,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度。循环迭代的优点是可以去除执行操作一次后仍存在的误检出峰值,进一步提高检测结果的正确率。
在步骤s4中,基于剩余峰值,确定代表特定动作的检测数据。
经过步骤s3的筛选后,剩余的峰值就是与要检测的目标动作对应的数据了。此时,将每个剩余峰值及其前后各1/2预定时间长度(l/2)的动作数据,确定为检测数据。图3示出了根据本发明的方法对图2所示的所收集的动作数据进行检测后得到的检测结果的示例。
至此,实现了以高正确率检测特定动作如挥拍动作的目的。
进一步地,还可以对检测数据分类和分析。
如图4所示,一种检测数据处理方法包括:将所述检测数据分类为多种类型(步骤s41);以及分析每种类型的检测数据(步骤s42)。
在步骤s41中,具体地,首先,将所述检测数据转换为频域数据,然后,提取频域特征,并基于频域特征,对所述检测数据进行分类。
例如,挥拍动作的检测数据可以分类为正手球、反手球、扣球等。分类的准则可以由本领域技术人员根据动作的特点灵活设计。
在步骤s42中,分析每种类型的检测数据。例如,计算每种类型的检测数据的能量。还可以根据每种挥拍数据所消耗的平均能量来估计挥拍人的耗能数据,并统计各类别运动的数据,根据统计数据确定球员是攻击型选手还是防守型选手。以上仅为示例,具体应用不限于此。
下面,将参照图5描述根据本发明的实施例的检测特定动作的设备。
图5示出了根据本发明的实施例的检测特定动作的设备的结构方框图。如图5所示,根据本发明的特定动作检测设备500包括:划分装置51,被配置为:将所收集的动作数据划分为多个具有预定时间长度的序列;确定装置52,被配置为:确定每个序列的峰值;筛选装置53,被配置为:对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度;以及检测装置54,被配置为:基于剩余峰值,确定代表特定动作的检测数据。
在一个实施例中,所述预定时间长度小于所述特定动作的平均时间长度。
在一个实施例中,所述动作数据收集自加速度传感器。
在一个实施例中,所述预定时间长度大于所述加速度传感器的采样间隔。
在一个实施例中,所述动作数据包括一组x、y、z轴方向的加速度;确定装置52被进一步配置为:针对每个序列,计算每组x、y、z轴方向的加速度的模值或绝对值之和;将所计算的模值或绝对值之和的最大值作为该序列的峰值。
在一个实施例中,检测装置53被进一步配置为:将每个剩余峰值及其前后各1/2预定时间长度的动作数据,确定为所述检测数据。
在一个实施例中,特定动作检测设备500还包括:分类装置,被配置为:将所述检测数据分类为多种类型;分析装置,被配置为:分析每种类型的检测数据。
在一个实施例中,分类装置被进一步配置为:将所述检测数据转换为频域数据;提取频域特征;基于频域特征,对所述检测数据进行分类。
在一个实施例中,分析装置被进一步配置为:计算每种类型的检测数据的能量。
由于在根据本发明的特定动作检测设备500中所包括的各个装置和单元中的处理分别与上面描述的特定动作检测方法中所包括的各个步骤中的处理类似,因此为了简洁起见,在此省略这些装置和单元的详细描述。
此外,这里尚需指出的是,上述设备中各个组成装置、单元可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图6所示的通用计算机600)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图6示出了可用于实施根据本发明的实施例的方法和设备的计算机的示意性框图。
在图6中,中央处理单元(cpu)601根据只读存储器(rom)602中存储的程序或从存储部分608加载到随机存取存储器(ram)603的程序执行各种处理。在ram603中,还根据需要存储当cpu601执行各种处理等等时所需的数据。cpu601、rom602和ram603经由总线604彼此连接。输入/输出接口605也连接到总线604。
下述部件连接到输入/输出接口605:输入部分606(包括键盘、鼠标等等)、输出部分607(包括显示器,比如阴极射线管(crt)、液晶显示器(lcd)等,和扬声器等)、存储部分608(包括硬盘等)、通信部分609(包括网络接口卡比如lan卡、调制解调器等)。通信部分609经由网络比如因特网执行通信处理。根据需要,驱动器610也可连接到输入/输出接口605。可拆卸介质611比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器610上,使得从中读出的计算机程序根据需要被安装到存储部分608中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质611安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图6所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质611。可拆卸介质611的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(cd-rom)和数字通用盘(dvd))、磁光盘(包含迷你盘(md)(注册商标))和半导体存储器。或者,存储介质可以是rom602、存储部分508中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明的实施例的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
附记
1.一种检测特定动作的方法,包括:
将所收集的动作数据划分为多个具有预定时间长度的序列;
确定每个序列的峰值;
对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度;以及
基于剩余峰值,确定代表特定动作的检测数据。
2.如附记1所述的方法,其中,所述预定时间长度小于所述特定动作的平均时间长度。
3.如附记2所述的方法,其中,所述动作数据收集自加速度传感器。
4.如附记3所述的方法,其中,所述预定时间长度大于所述加速度传感器的采样间隔。
5.如附记4所述的方法,其中,所述动作数据包括一组x、y、z轴方向的加速度;
确定每个序列的峰值包括:
针对每个序列,
计算每组x、y、z轴方向的加速度的模值或绝对值之和;
将所计算的模值或绝对值之和的最大值作为该序列的峰值。
6.如附记4所述的方法,其中,基于剩余峰值,确定代表特定动作的检测数据包括:
将每个剩余峰值及其前后各1/2预定时间长度的动作数据,确定为所述检测数据。
7.如附记1所述的方法,还包括:
将所述检测数据分类为多种类型;
分析每种类型的检测数据。
8.如附记7所述的方法,其中,
将所述检测数据分类为多种类型包括:
将所述检测数据转换为频域数据;
提取频域特征;
基于频域特征,对所述检测数据进行分类。
9.如附记7所述的方法,其中,分析每种类型的检测数据包括:计算每种类型的检测数据的能量。
10.一种检测特定动作的设备,包括:
划分装置,被配置为:将所收集的动作数据划分为多个具有预定时间长度的序列;
确定装置,被配置为:确定每个序列的峰值;
筛选装置,被配置为:对于彼此距离小于预定时间长度的两个相邻峰值,去除所述两个相邻峰值之中较小的一个,直至所有峰值中每两个相邻峰值之间的距离都大于或等于预定时间长度;以及
检测装置,被配置为:基于剩余峰值,确定代表特定动作的检测数据。
11.如附记10所述的设备,其中,所述预定时间长度小于所述特定动作的平均时间长度。
12.如附记11所述的设备,其中,所述动作数据收集自加速度传感器。
13.如附记12所述的设备,其中,所述预定时间长度大于所述加速度传感器的采样间隔。
14.如附记13所述的设备,其中,所述动作数据包括一组x、y、z轴方向的加速度;
确定装置被进一步配置为:
针对每个序列,
计算每组x、y、z轴方向的加速度的模值或绝对值之和;
将所计算的模值或绝对值之和的最大值作为该序列的峰值。
15.如附记13所述的设备,其中,检测装置被进一步配置为:将每个剩余峰值及其前后各1/2预定时间长度的动作数据,确定为所述检测数据。
16.如附记10所述的设备,还包括:
分类装置,被配置为:将所述检测数据分类为多种类型;
分析装置,被配置为:分析每种类型的检测数据。
17.如附记16所述的设备,其中,
分类装置被进一步配置为:
将所述检测数据转换为频域数据;
提取频域特征;
基于频域特征,对所述检测数据进行分类。
18.如附记16所述的设备,其中,分析装置被进一步配置为:计算每种类型的检测数据的能量。