一种计算颠球个数的方法与流程

文档序号:16787407发布日期:2019-02-01 19:28阅读:741来源:国知局
一种计算颠球个数的方法与流程

本发明涉及大数据处理技术领域,具体涉及一种计算颠球个数的方法。



背景技术:

在球类运动领域大数据处理过程中,最为关键的步骤则是对于颠球个数的判定。现有的技术中采用的主要方法是:利用可知的加速度传感器,可量测重心倾斜、上下左右晃动、以及空间中的移动变化;陀螺仪传感器,利用科里奥利力原理造成的物理作用力,可量测在各轴角速度变量;磁力传感器,可量测磁力变化或相对于地球磁力的感应变化,可辨别空间方向变化。将3轴加速度传感器、3轴陀螺仪传感器及3轴地磁传感器集成在一个封装中,可实现9个自由度的检测即为9轴惯性传感器。基于传感器的数据采集进行处理,从而实现对颠球个数的计算。然而,而传感器的电子机械本身带有一定的杂讯,伴随温度的变化也会引响量测值。例如陀螺仪传感器,伴随杂讯的累加,会造成更大的误差,但也可藉由磁力传感器的数据作实时的校正得到更精确的角速度变化值;当角加速度变化时,也会影响传感器的量测数据,若根据九轴惯性运动传感器的数据还原运动轨迹在空间坐标的相对位移,得到的误差将会非常大。

且由于只依据时间跟传感器的数据变化当作判断条件将不能有效精准的计算,传感器的数值在球受到冲击时反应的数值变化差异很大,加上球内部结构造成的缓冲效应带给传感器的数值反应的不规律性,使得找出特征值将不能用简单的模式判断即作出计算。且球体收到的踢击状态根据不同踢击角度和力度具有很大的区别,同样落地特征也具有强落地和弱落地状态,对球体产生完全不同的形变,如何通过传感器捕捉到如此细微的变化数据,并精准地计算出相应特征值,是提高颠球计数的精准度所需要解决的重要技术问题。



技术实现要素:

为此,需要提供一种更为精细化地对颠球进行预测和判断的算法,从而提高颠球个数计算的准确性。

为实现上述目的,本发明提供了一种计算颠球个数的方法,实时接收传感器获得的数据,当接收的数据达到符合触球弹跳动作的最大时间,计算弹跳特征值,判断弹跳特征值是否符合预设的触球弹跳条件;如果是,则计算特征值,判断是否为踢击特征或落地特征;如果是,则判断是否为踢击特征;如果是,则判断上一个强特征是否为强踢击特征;如果是,则判定此次弹跳包含之前所有特征皆为强踢击特征。

进一步的,当弹跳特征值不符合预设的触球弹跳条件,判断是否处于颠球过程,如果已开始颠球或已完成一次颠球,则结束颠球计数;如果未开始颠球或未完成一次颠球,则等待下一次弹跳动作发生。

进一步的,当计算特征值后,判定为不是踢击或落地特征,则结束判定流程。

进一步的,当判断上一个强特征不是强踢击特征时,则将此次弹跳前后n笔传感器接收到的加速度及角速度值带入神经网络计算,归类为是否为弱落地特征或是弱踢击特征,并结束判定流程。

进一步的,当判断为不是踢击特征时,则判断为落地特征,并往前查看上一个强特征是否为强落地特征,如果是,则判定此次为弹跳强落地特征,并结束判定流程。

更进一步的,若往前查看上一个强特征不是落地特征,则将此次弹跳前后n笔传感器收到的加速度及角速度值带入神经网络计算,归类为是否为弱落地特征或是弱踢击特征,并结束判定流程。

优选地,对弹跳特征值中的球的加速度进行计算,弹跳特征值具体为:

其中,tst为触球开始时刻,ted为触球结束时刻,di_a(n)、di_a(n-k)分别是加速度a(n)、a(n-k)关于时间t(n)、t(n-k)的i阶导数,分别表示第n次、第n-k次的基于传感器获得的加速度的加速度变化率,t(n)是di_a(n)的发生时刻,t(n-k)是di_a(n-k)的发生时刻;k=1,2,3,……。

作为优选,加速度a(n)的i阶导数di_a(n)具体为:

作为优选,对加速度变化率进行过滤,当加速度变化率小于预设的变化率阀值时,当前加速度变化率计零,反之为原值。

作为优选,首次触球弹跳条件为feature(n)大于预设的弹跳阀值,并且腾空后的t(n+i)时刻的加速度变化率均为零,其中,i=1,2,3,……;当触球使球腾空后,弹跳特征值满足首次触球弹跳条件,则第一次颠球成功并计数。

进一步的,计算特征值,判断是否为踢击特征或落地特征,具体步骤如下:

步骤a:接收传感器在两次弹跳发生之间的加速度值及角速度值,其加速度值及角速度值的采集频率为100hz;

步骤b:获取其中最大角速度值及最小角速度值,判断两者的差异是否大于第一角速度阈值,以及最小角速度值是否低于第二角速度阈值,若是,则判定此次弹跳为强落地特征,进入步骤c;

步骤c:获取在此次弹跳前后n笔数值,获取其中最大角速度值和最小角速度值,判断两者的差异是否大于第一角速度阈值,若是,则判定此次弹跳为弱落地特征,进入步骤d;

步骤d:在步骤a中,获取其中最大加速度数值以及两次弹跳之前的最接近一次弹跳最大的加速度数值,判断两者的差异是否大于第一加速度阈值,以及此次最大角速度值是否高于第一角速度阈值,若是,则判定此次弹跳为强踢击特征,进入步骤e,

步骤e:判断此次弹跳距离上次弹跳时间是否大于第一时间阈值,若是,则判定此次弹跳为强落地特征值,结束特征值判断。

进一步的,则将此次弹跳前后两次弹跳之间p笔传感器收到的加速度及角速度值带入神经网络计算,归类为是否为弱落地特征或是弱踢击特征。前后两次弹跳之间p笔传感器收到的加速度及角速度值具体如下:

前一笔弹跳时最大加速度,

前一笔弹跳时最小角加速度,

前一笔弹跳时最大角加速度,

前一笔弹跳时姿态,

前一笔腾空时最小角加速度,

前一笔腾空时最大角加速度,

前一笔腾空时最小加速度,

前一笔腾空时最大加速度,

前一笔前后弹跳的时间,

后一笔弹跳时最大加速度,

后一笔弹跳时最小角加速度,

后一笔弹跳时最大角加速度,

后一笔弹跳时姿态,

后一笔腾空时最小角加速度,

后一笔腾空时最大角加速度,

后一笔腾空时最小加速度,

后一笔腾空时最大加速度,

后一笔前后弹跳的时间,

其中姿态的表现方式采取为四元数,其计算方式如下:

qt=[qw,t,qx,t,qy,t,qz,t],

ωt=[0,ωx,t,ωy,t,ωz,t],

qt为在时间t时的四元数,qw,t为qt的标量值,qx,t,qy,t与qz,t为qt的矢量值,ωx,t,ωy,t与ωz,t分别为在时间t时的三轴角速度,δt时间t与时间(t-1)之间的差距,为在时间t时四元数的变化率,qa×qb为四元数的乘法操作并定义为:

以上总共p笔数据为神经网路的输入资料,p為24。利用反向传播算法迭代的计算出最佳权重值:

wmi,nj(k)=wmi,nj(k-1)-△wmi,nj(k),

其中:k为迭代次数并设定最高迭代次数为50,μ为动量常数并设定为0.5,α为学习速率并设定为0.01,e为损失函数并设定为平方损失函数。

隐藏层(hiddenlayer)中的神经元设置为10个,其根据(eq1)输出为

批标准化层(batchnormalizationlayer)中根据(eq2)输出为y1,y2,...y10,其中参数m设定为5,输出方式为:

通过激活函数为s函数(eq3):后输出为

最后由根据(eq4)的公式算出两个结果yo跟yj:

由yo跟yj得出的结果为落地跟踢击的机率,如果yo小于0.5,则表示落地不成立;yj小于0.5,则表示踢击不成立。

区别于现有技术,本发明具有如下有益效果:

本发明以这种更适应与自我学习的方式对球的加速度及角速度数值变化算出落地反弹及踢击后反弹计数。针对球受到冲击时反应的数值变化本发明以机器学习方式,分别对两种落地反弹及踢击后反弹收集上万笔数据,针对两种特征值做模式训练,在算法上的计算则以训练好的神经网络对数值变化做出归纳判断可得出强特征及弱特征,若是弱特征的反弹则近一步透过条件判断最终得出强特征落地或是踢击。本发明提高了颠球个数计算的效率及准确率。

附图说明

图1为本发明方法流程示意图。

图2为本发明弹跳特征值判断方法流程示意图。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图1和图2,本实施例为实现上述目的,本发明提供了一种计算颠球个数的方法,包括以下步骤:

s1,实时接收传感器获得的数据,计算加速度、加速度变化率;

s2,当接收的数据达到符合触球弹跳动作的最大时间范围,确定球发生弹跳动作;

s3,计算弹跳特征值,判断是否符合预设的触球弹跳条件,如果是,则进入步骤s4,如果否,则进入结束判断步骤;

s4,当球发生弹跳动作时,计算特征值,判断是否为踢击或是落地特征,如果是,则进入步骤s5,如果否,则进入结束判断步骤;

s5,当判断出符合踢击特征条件时,则判断是否为踢击特征,如果是,则进入6),如果否,则进入s8;

s6,当判断出是踢击特征时,则往前查看上一个强特征是否为强踢击特征(sj),如果是则判断此次弹跳包含之前所有特征皆为强踢击特征(sj),如果否,则进入s7;

s7,将此次弹跳前后n笔传感器收到的加速度及角速度数值带入神经网络计算,归类为是否为弱落地特征(wb)或是弱踢击特征(wj)并结束判断步骤;

s8,当判断出是落地特征时,则往前查看上一个强特征是否为强落地特征(sb),如果是则判断此次弹跳强落地特征(sb)并结束判断步骤,如果否,则进入s9;

s9,将此次弹跳前后n笔传感器收到的加速度及角速度数值带入神经网络计算,归类为是否为弱落地特征(wb)或是弱踢击特征(wj)并结束判断步骤。

本实施例中,所述步骤s4至步骤6中,通过弹跳特征值来判定球体是否为踢击或者落地特征的具体方法如下:

步骤a:接收传感器在两次弹跳发生之间的加速度值及角速度值,其加速度值及角速度值的采集频率是100hz。

步骤b:获取其中最大角速度值及最小角速度值,判断两者的差异是否大于某阈值300dps(1秒300度),以及最小角速度值是否低于某阈值(mg)300dps(1秒300度),若是,则判定此次弹跳为强落地特征(sb),进入步骤c;

步骤c:获取在此次弹跳前后n笔数值,n为4,获取其中最大角速度值和最小角速度值,判断两者的差异是否大于某阈值(dpg)300dps(1秒300度),若是,则判定此次弹跳为弱落地特征(wb),进入步骤d;

步骤d:在步骤s1中,获取其中最大加速度数值(cma)以及前一次弹跳最大的加速度数值(pma),所述前一次为两次弹跳之前的最接近一次,判断两者的差异是否大于某阈值6g,以及此次最大角速度值是否高于某阈值(ma),若是,则判定此次弹跳为强踢击特征(sj),进入步骤e,

步骤e:判断此次弹跳距离上次弹跳时间是否大于某阈值(dt),0.08秒,若是,则判定此次弹跳为强落地特征值(sb),结束特征值判断。

本实施例中,所述步骤s3中,判断符合预设的触球弹跳条件具体为什么条件?

本实施例中,所述步骤s4中只判定强踢击与强落地,强梯级的判定为,以两次弹跳间,前一个的腾空时间t1与后一个t2,当t2-t1>0.08秒,而且t2>0.2秒,则判断是强踢击特征;当两次弹跳间,前一个与后一个的角加速度相差300dps,而后一个的角加速度小于150dps时,即可判定强落地特征。

本实施例中,所述步骤s6当前所侦测到的特征即为强特征。

本实施例中,将前后n笔传感器收到的加速度及角速度值带入神经网络计算,其具体计算公式请公开,用于证明如何归类。

本实施例中,所述步骤s8中,当两次弹跳间,前一个与后一个的角加速度相差300dps,而后一个的角加速度小于150dps时,即可判定强落地特征。

本实施例中,所述步骤s9中,将前后n笔传感器收到的加速度及角速度值带入神经网络计算,其具体计算公式请公开,用于证明如何归类。

优选地,对弹跳特征值中的球的加速度进行计算,弹跳特征值具体为:

其中,tst为触球开始时刻,ted为触球结束时刻,di_a(n)、di_a(n-k)分别是加速度a(n)、a(n-k)关于时间t(n)、t(n-k)的i阶导数,分别表示第n次、第n-k次的基于传感器获得的加速度的加速度变化率,t(n)是di_a(n)的发生时刻,t(n-k)是di_a(n-k)的发生时刻;k=1,2,3,……。

作为优选,加速度a(n)的i阶导数di_a(n)具体为:

作为优选,对加速度变化率进行过滤,当加速度变化率小于预设的变化率阀值时,当前加速度变化率计零,反之为原值。

作为优选,首次触球弹跳条件为feature(n)大于预设的弹跳阀值,并且腾空后的t(n+i)时刻的加速度变化率均为零,其中,i=1,2,3,……;当触球使球腾空后,弹跳特征值满足首次触球弹跳条件,则第一次颠球成功并计数。

进一步的,则将此次弹跳前后两次弹跳之间p笔传感器收到的加速度及角速度值带入神经网络计算,归类为是否为弱落地特征或是弱踢击特征。前后两次弹跳之间p笔传感器收到的加速度及角速度值具体如下:

前一笔弹跳时最大加速度,

前一笔弹跳时最小角加速度,

前一笔弹跳时最大角加速度,

前一笔弹跳时姿态,

前一笔腾空时最小角加速度,

前一笔腾空时最大角加速度,

前一笔腾空时最小加速度,

前一笔腾空时最大加速度,

前一笔前后弹跳的时间,

后一笔弹跳时最大加速度,

后一笔弹跳时最小角加速度,

后一笔弹跳时最大角加速度,

后一笔弹跳时姿态,

后一笔腾空时最小角加速度,

后一笔腾空时最大角加速度,

后一笔腾空时最小加速度,

后一笔腾空时最大加速度,

后一笔前后弹跳的时间,

其中姿态的表现方式采取为四元数,其计算方式如下:

qt=[qw,t,qx,t,qy,t,qz,t],

ωt=[0,ωx,t,ωy,t,ωz,t],

qt为在时间t时的四元数,qw,t为qt的标量值,qx,t,qy,t与qz,t为qt的矢量值,ωx,t,ωy,t与ωz,t分别为在时间t时的三轴角速度,δt为时间t与时间(t-1)之间的差距,为在时间t时四元数的变化率,qa×qb为四元数的乘法操作并定义为:

以上总共p笔数据为神经网路的输入资料,p為24。利用反向传播算法迭代的计算出最佳权重值:

wmi,nj(k)=wmi,nj(k-1)-△wmi,nj(k),

其中:k为迭代次数并设定最高迭代次数为50,μ为动量常数并设定为0.5,α为学习速率并设定为0.01,e为损失函数并设定为平方损失函数。

隐藏层(hiddenlayer)中的神经元设置为10个,其根据(eq1)输出为

批标准化层(batchnormalizationlayer)中根据(eq2)输出为y1,y2,...y10,其中参数m設定为5,输出方式为:

通过激活函数为s函数(eq3):后输出为

最后由根据(eq4)的公式算出两个结果yo跟yj:

由yo跟yj得出的结果为落地跟踢击的机率,如果yo小于0.5,则表示落地不成立;yj小于0.5,则表示踢击不成立。

本发明基于球的加速度及角速度数值变化计算出球对于落地与踢击后反弹的相异特征值。判断落地弹跳或是踢击后反弹特征值在于计算加速度及角速度在腾空前后的数值变化并与前几次预测判断将引响后续预测。本发明通过神经网络学习办法,结合判断条件预测颠球判断,本发明的判断将弹跳特征值分成落地反弹及踢击后反弹,其特征判断在于,对弹跳特征的球的加速度及角速度进行计算,并将两种特征值再细分为强特征与弱特征,分别为强落地特征(sb)、弱落地特征(wb)、强踢击特征(sj)、与弱踢击特征(wj)。当强特征被判断出,即可确认计数是否为落地反或踢击;当弱特征被判断出时,无法即刻确认计数,只能当作一种判断依据,与后续的数值结合计算最后得出强特征判断。

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

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1