运动课程评分方法与系统与流程

文档序号:18476576发布日期:2019-08-20 21:10阅读:264来源:国知局
运动课程评分方法与系统与流程

本发明是有关于一种评分方法与系统,且特别是有关于一种用加速度感测器来评分的运动课程评分方法与系统。



背景技术:

随着近年来健身风气的兴起,越来越多人愿意尝试建立自己的运动习惯。并且,在现今信息发达的环境下,许多人会试图通过网络等资源来搜寻健身的相关教学影片,并通过模仿影片中的动作来进行运动。然而,由于一般人不见得能够通过模仿来正确地执行所需的动作,因此在达到运动效果之前,反而可能因做错动作而受伤。此外,在没有外人协助评估的情况下,一般的使用者也无从得知自己在运动的过程中是否有逐渐地进步,因此反而可能因得不到成就感而不愿意继续运动。

目前常见的运动动作判断系统有:利用多镜头摄影设备,以电脑视觉处理的技术,撷取使用者运动动作姿态以进行分析,这种系统其不论是软件的成本,或是数字内容的制作成本均较高,造成推广上的困难;一种常见的方式是利用穿戴的惯性感测器,其至少包含加速度计及磁力计,纪录运动时感测器在三维空间中的加速度和角速度的变化,从而计算出在空间中的运动轨迹,便可以进行记录与分析比对;另一种方式为采用穿戴的加速度计,单纯纪录运动时,装置在空间中的加速度的变化,在这样的系统中,数据采样的时序是重要的参考坐标,因此通常的应用范围是在以片段的运动采样、纪录、比对分析为主,较难适用于计算出连续的运动动作之间的动作相似率。



技术实现要素:

本发明的目的在于提供一种可以适当给予学员回馈的运动课程评分方法与系统。

本发明的实施例提出一种运动课程评分方法,适用于运动课程评分系统。此运动课程评分系统包括穿戴式加速度感测器。运动评分法包括:播放课程影片,并取得对应课程影片的教练运动数据,其中教练运动数据包括多个教练取样点,每一个教练取样点包括多个加速度值;通过穿戴式加速度感测器取得学员运动数据,其中学员运动数据包括多个学员取样点,每一个学员取样点包括多个加速度值;将教练运动数据分为多个教练片段,其中每一个教练片段是对应至学员运动数据中的多个学员片段,并且部分的学员片段是彼此部分地重叠;对于每一个教练片段,根据教练片段与对应的每一个学员片段执行动态时间扭曲(dynamictimewarping)演算法,以取得误差最小的学员片段并计算出运动分数;以及显示运动分数。

在一些实施例中,上述的运动课程评分方法还包括:对于每一个教练片段,根据教练片段的时间码往前延伸至第一取样点并往后延伸至第二取样点,并以第一取样间隔在学员运动数据上从第一取样点取样至第二取样点以取得学员片段。

在一些实施例中,上述的运动课程评分方法还包括:从学员片段中取得误差最小的第一学员片段与第二学员片段;以第二取样间隔在学员运动数据上从第一学员片段取样至第二学员片段以取得第三学员片段,其中第二取样间隔小于第一取样间隔;以及根据教练片段与第三学员片段执行动态时间扭曲演算法。

在一些实施例中,上述的运动课程评分方法还包括:如果第三学员片段的误差大于第一学员片段的误差与第二学员片段的误差,则设定第一学员片段与第二学员片段中误差较小的学员片段为误差最小的学员片段。

在一些实施例中,上述的上述根据教练片段与学员片段执行动态时间扭曲演算法的步骤包括:根据以下方程式(1)计算教练取样点与学员取样点之间的误差。

errori,j=c1×|xi-yj|+c2×|(xi+1-xj)-(yj+1-yj)|+c3×|(xi-xi-1)-(yj-yj-1)|…(1)

其中xi表示第i个教练取样点,yj表示第j个学员取样点,errori,j表示误差,c1、c2、c3为实数。

在一些实施例中,是根据以下方程式(2)计算出运动分数。

其中si为第i个教练片段所对应的运动分数,l为教练片段的长度,pathi为第i个教练片段与所对应的误差最小的学员片段之间的扭曲路径的长度。pi为实数,实数pi是负相关于第i个教练片段和所对应的误差最小的学员片段在时间上的偏移。

在一些实施例中,是根据以下方程式(3)、(4)计算出运动分数。

其中wj为第i个教练片段与所对应的误差最小的学员片段之间的扭曲路径的第j个元素所对应的误差,t为临界值,k为扭曲路径的长度。

在一些实施例中,上述的每一个学员取样点的加速度值包括x轴加速度、y轴加速度与z轴加速度,上述的运动评分方法还包括:改变x轴加速度或y轴加速度的正负号,并重新执行取得误差最小的学员片段的步骤,显示误差较小时所对应的该运动分数。

在一些实施例中,上述的显示运动分数的步骤包括:取得教练片段中连续的多个第一教练片段,并取得每一个第一教练片段的第一运动分数;以及显示第一运动分数的最大值。

以另外一个角度来说,本发明的实施例提出一种运动课程评分系统,包括穿戴式加速度感测器与智能型装置。智能型装置通过显示器播放课程影片,取得对应课程影片的教练运动数据,其中教练运动数据包括多个教练取样点,每一个教练取样点包括多个加速度值。智能型装置通过穿戴式加速度感测器取得学员运动数据,其中学员运动数据包括多个学员取样点,每一个学员取样点包括多个加速度值。智能型装置将教练运动数据分为多个教练片段,其中每一个教练片段是对应至学员运动数据中的多个学员片段,并且部分的学员片段是彼此部分地重叠。对于每一个教练片段,智能型装置根据教练片段与对应的每一个学员片段执行动态时间扭曲(dynamictimewarping)演算法,以取得误差最小的学员片段并计算出运动分数,并且通过显示器显示运动分数。

在上述的方法与系统中,可以有效地比对教练运动数据与学员运动数据,借此计算出适当的运动分数。

为让本发明的上述特征和优点能还明显易懂,下文特举实施例,并配合所附附图作详细说明如下。

附图说明

图1a是根据一实施例绘示运动课程评分系统的示意图。

图1b是根据一实施例绘示运动课程评分系统的整体流程图。

图2是根据一实施例绘示教练运动数据与学员运动数据的示意图。

图3是根据一实施例绘示动态时间扭曲演算法中寻找路径的示意图。

图4是根据一实施例绘示寻找误差最小的学员片段的示意图。

图5是根据一实施例绘示寻找误差最小的学员片段的流程图。

图6是根据一实施例绘示运动课程评分方法的流程图。

具体实施方式

关于本文中所使用的“第一”、“第二”、…等,并非特别指次序或顺位的意思,其仅为了区别以相同技术用语描述的元件或操作。

本发明提供一种结合智能型装置及云端应用服务的运动课程评分方法,其可在学员依据运动课程影片进行运动的同时,撷取学员在身体部位的运动数据,并将这些运动数据与教练的运动数据,依身体部位对身体部位的逐一进行比对,再据此以评估使用者的运动成果。借此,可令学员明确知道自己是否正确地执行所需的动作,进而改善运动效果以及提升运动意愿。

图1a是根据一实施例绘示运动课程评分系统的示意图。请参照图1a,运动课程评分系统100包括至少一个穿戴式加速度感测器110、显示器120与智能型装置130。

穿戴式加速度感测器110例如可以实际为一个运动手环,并由学员112穿戴,但在其他实施例中也可以实际为手表、绑带或其他可以穿戴在身上的装置。穿戴式加速度感测器110包括一个三轴重力感测器,用以量测x、y、z等三个轴上的加速度值。穿戴式加速度感测器110还包括无线通讯模块,例如蓝牙通讯模块、无线保真(wirelessfidelity,wifi)模块或其他合适的低功率无线传输模块。在一些实施例中,穿戴式加速度感测器110还可包括显示面板或其他任意的元件,本发明并不在此限。显示器120是用以拨放一个课程影片,在课程影片中有教练在示范动作。

智能型装置130包括处理器131、记忆体132与无线通讯模块133,记忆体132中储存有程序码,并由处理器131来执行。处理器131可为一个中央处理器、微处理器、微控制器、数字信号处理器、影像处理晶片、特殊应用集成电路等,本发明并不在此限。无线通讯模块133例如为蓝牙通讯模块、无线保真(wirelessfidelity,wifi)模块或其他合适的低功率无线传输模块,用以从穿戴式加速度感测器110接收加速度值。

图1b是根据一实施例绘示运动课程评分系统100的整体流程图。请参照图1a与图1b,首先须制作课程影片,在步骤151中,拍摄课程影片,同时纪录教练运动数据。在一些实施例中,可先通过多台摄影机来拍摄教练的动作,这些摄影机是架设在不同的位置与角度,根据这些拍摄的影片可以产生课程影片。特别的是,在拍摄的过程中教练也带着一个或多个穿戴式加速度感测器110,穿戴式加速度感测器110所感测到的加速度值也都会记录下来成为教练运动数据。具体来说,教练运动数据包括多个教练取样点,每一个教练取样点包括x、y、z等三个加速度值。

在步骤152中,进行课程影片的后制,根据时间码来同步教练运动数据与课程影片。上述的时间码例如为

动画与电视工程师协会(societyofmotionpictureandtelevisionengineers,smpte)所制定的时间码,但在其他实施例中也可以采用任意格式的时间码,本发明并不在此限。据此,通过此时间码可以得到每一个教练取样点是对应置课程影片中的哪一段影片或哪一张影像。举例来说,如果穿戴式加速度感测器110的取样频率为25hz,则一段1分钟的影片所对应的教练运动数据会有60x25=1500个教练取样点。然而,本发明并不限制取样频率为多少。接下来,课程影片与教练运动数据绘储存在云端数据库140中。

当使用者要开始运动时,处理器131可以从云端数据库140中取得课程影片与教练运动数据并通过显示器120拨放课程影片。同时,在步骤153中,处理器131会通过穿戴式加速度感测器110取得学员运动数据(例如通过无线通讯模块)。具体来说,学员运动数据包括多个学员取样点,每一个学员取样点包括多个加速度值。在一些实施例中,处理器131会在课程影片开始拨放前就开始从穿戴式加速度感测器110接收加速度值,但这些加速度值会被舍弃,直到课程影片开始拨放时才会储存加速度值以做为学员运动数据。如此一来,所取得的学员运动数据会对应至课程影片,例如可得知每一个学员取样点是对应至课程影片中的哪一张画面。

在步骤154中,在运动中止或结束时(课程影片结束时),收集取得的学员运动数据。由于在步骤153中已经得知学员运动数据与课程影片之间的对应关系,并且根据smpte时间码可取得课程影片与教练运动数据之间的对应关系,因此根据课程影片的画面编号便可以取得对应的学员运动数据与教练运动数据。换言之,根据画面编号可以得知每一个学员取样点是对应于那一个教练取样点。

在步骤155中,将教练运动数据分为多个教练片段,计算每一个教练片段的运动分数。最后在步骤156中显示运动分数121,借此学员112可以明确知道自己是否正确地执行所需的动作,进而改善运动效果以及提升运动意愿。在一些实施例中,运动分数是由处理器131所计算,但在其他实施例中运动分数也可以由云端上的伺服器、或者是其他电子装置来计算。例如,在图1a中,智能型装置130可连线至云端上的计算模块141,此计算模块141可以是伺服器、虚拟机器、或是提供计算服务的网络应用程式,本发明并不在此限。处理器131可以将教练运动数据与学员运动数据传送至计算模块141,由计算模块141计算出运动分数以后回传给处理器131。以下将详细说明运动分数的计算。

请参照图2,图2是根据一实施例绘示教练运动数据与学员运动数据的示意图。在图2中的教练运动数据210与学员运动数据220是绘示为一维的信号(即每个取样点上只有一个加速度值),但此仅为示意图,实际上每一个取样点应具有多个加速度值(即组成一个向量),而教练运动数据210与学员运动数据220是向量的集合。在图2中,教练运动数据210与学员运动数据220是对应至相同的课程影片,因此如果教练运动数据210与学员运动数据220越相似,则计算出的分数应该越高。值得注意的是,教练运动数据210的长度可能不同于学员运动数据220的长度。

在取得教练运动数据210与学员运动数据220以后,可先将教练运动数据分为多个教练片段(例如,教练片段211~213)。在一些实施例中,这些教练片段211~213的长度都相同,例如为10秒,因此在取样频率为25hz的情况下每个教练片段具有250个教练取样点。然而,在其他实施例中,这些教练片段211~213的长度也可以不相同,本发明也不限制教练片段的长度与取样频率。学员运动数据220也包含多个学员运动片段,对于每一个教练片段,会在一个时间范围内找到即误差为小的学员片段,借此计算出一个分数。在寻找误差最小的学员片段时,每一个教练片段是对应至学员运动数据220中的多个学员片段,这学员片段的长度与教练片段的长度相同,并且部分的学员片段是彼此部分地重叠。以教练片段212为例,教练片段212的起始点在取样点214,而取样点214是同步于至学员运动数据220的取样点221。根据教练片段212的时间码可以往前延伸至取样点222(亦称第一取样点)并往后延伸至取样点223(亦称第二取样点),并以一个取样间隔(亦称第一取样间隔)在学员运动数据220上从取样点222取样至取样点223以后可以得到多个学员片段。举例来说,如果将教练片段212往前延伸5秒钟,也往后延伸5秒钟,则取样点221与取样点223之间会有2x5x25=250个取样点,如果取样间隔为10,则可以产生250/10=25个学员片段,其中取样点222为学员片段231的起始点,而取样点223为学员片段232的起始点,而在学员片段231与学员片段232之间还具有多个学员片段(未绘示),且部分的学员片段会彼此部分地重叠。

接下来,可根据教练片段212与对应的每一个学员片段来执行动态时间扭曲(dynamictimewarping)演算法,借此判断出教练片段与学员片段之间的误差/相似度,在此将说明动态时间扭曲演算法。图3是根据一实施例绘示动态时间扭曲演算法中寻找路径的示意图。请参照图3,在此以教练片段212与学员片段231为例,两者具有相同的长度(都包括250个取样点)。在此可以建立一个矩阵301,此矩阵中行(column)与列(row)的个数是分别相同于教练片段212的取样点个数与学员片段231的取样点个数。矩阵301中的第i行第j列中的元素为第i个教练取样点与第j个学员取样点之间的误差。在此假设xi表示第i个教练取样点,yj表示第j个学员取样点,其中i、j为正整数。errori,j表示第i个教练取样点与第j个学员取样点之间的误差,可表示为以下方程式(1)。

errori,j=c1×|xi-yj|+c2×|(xi+1-xj)-(yj+1-yj)|+c3×|(xi-xi-1)-(yj-yj-1)|…(1)

其中c1、c2、c3为实数,可经过实验而设定较佳的数值。值得注意的是,xi-yj为一个向量,而|xi-yj|表示此向量中所有元素的绝对值和。值得一提的是,传统的动态时间扭曲演算法中,errori,j仅为xi与yj之间的尤拉距离或是绝对值和,但在此实施例中还加入了|(xi+1-xj)-(yj+1-yj)|以及|(xi-xi-1)-(yj-yj-1)|,这是用来描述信号的斜率差。例如,当xi与yj相同但xi处于往上的趋势且yj处于往下的趋势时,传统的做法中会计算出误差errori,j=0,但在此实施例中则会因为趋势不同而计算出不为0的误差errori,j,如此一来更可以描述信号的特性。

动态时间扭曲演算法是要找到一条扭曲路径(warpingpath),从起始点302走到终点303,并且满足以下方程式(2)的条件。

其中向量w即表示扭曲路径。向量w的长度(即路径的长度)为正整数k,此向量w中的元素wk=(i,j)为矩阵301中第i行第j列的误差errori,j。然而,本领域的技术人员当可理解动态时间扭曲演算法,在此并不赘述其他细节。可理解的是,当教练片段212与学员片段231完全相同时,则扭曲路径会是一条45度的斜直线,此时有最短的长度k;当教练片段212与学员片段231相差越大时,则路径的长度k会越大。换言之,教练片段212与学员片段231之间的误差是反比于长度k。

图4是根据一实施例绘示寻找误差最小的学员片段的示意图。请参照图4,为了简化起见,在此用一个教练取样点来表示一个教练片段,并且用一个学员取样点来表示一个学员片段,此外,在图4中并未绘示学员运动数据。在此假设第一次搜寻时,教练片段212是对应至学员片段231~235,且学员片段231~235之间具有取样间隔401(例如为10)。对于教练片段212与每一个学员片段231~235都可执行上述的动态时间扭曲演算法,并且可以找到误差最小(具有最短的长度k)的两个学员片段,假设为学员片段233、234(分别称为第一学员片段与第二学员片段)。接下来,为了进一步搜寻,在此会减少取样间隔(例如从10减少为5),并且根据减少后的取样间隔402(亦称第二取样间隔)在学员运动数据上从学员片段233取样至学员片段234以取得学员片段411~413(亦称为第三学员片段)。取样间隔402是小于取样间隔401,换言之本实施例是以粗略到精致(coarsetofine)的机制来寻找误差最小的学员片段。

如果学员片段411~413的误差比学员片段233、234的误差还要大,则可以设定学员片段233、234中误差比较小的学员片段为误差最小的学员片段,并且停止搜寻。如果学员片段411~413的其中一个学员片段的误差比较小,则可以重复上述以粗略到精致的机制继续寻找,例如取得误差最小的两个学员片段412、413,并且再减少取样间隔,并根据减少后的取样间隔403从学员片段412取样至学员片段413以取得学员片段421。在一些实施例中,如果取样间隔402小于一个临界值(例如1、2或其他数值),则不会再减少取样间隔,会从目前的学员片段411~413中取得误差最小的学员片段。

对于教练片段212来说,在取得误差最小的学员片段以后,可以计算出一个运动分数,并将此运动分数显示在显示器120上。在一些实施例中,是根据以下方程式(3)来计算运动分数。

其中si为第i个教练片段所对应的运动分数。l为教练片段的长度。pathi为第i个教练片段与所对应的误差最小的学员片段之间的扭曲路径的长度。举例来说,如果教练片段212与学员片段412之间的误差最小,则教练片段212与学员片段412之间的扭曲路径的长度便是pathi。pi为实数,实数pi是负相关于第i个教练片段和所对应的误差最小的学员片段在时间上的偏移。例如,教练片段212与误差最小的学员片段412在时间上有偏移(例如20个取样点的距离),当此偏移越大时,表示学员的动作是与教练的动作类似但有太早做或太慢做的情形,因此必须稍微降低分数。换言之,如果教练片段212与学员片段234之间的误差最小,则没有时间上的偏移,此时不需要降低分数。在一些实施例中,可以将上述的偏移输入至一个查找表以取得实数pi,例如当偏移在3以内时实数pi为1,当偏移在3~6的范围内时实数pi为0.9等,但本发明并不限制查找表的内容。然而,在其他实施例中也可以将上述的偏移输入至一个函数来取得实数pi,本发明并不在此限。在此实施例中,上述的运动分数可以正规化为0到100的范围,但在其他实施例中也可采用其他的分数范围,本发明并不在此限。

在一些实施例中,可根据以下方程式(4)、(5)来计算运动分数。

元素wj的定义如以上方程式(2)所述。换言之,对于每一个元素wj,都判断此元素是否大于一个临界值t,若是则累加1,否则累加0,其中临界值t可经过实验来设定,本发明并不在此限。当教练运动数据与学员运动数据差距越大时,所计算出的costi越大,因此所计算出的运动分数si越小。

上述的搜寻机制可参照图5,在步骤501中,播放课程影片,取得教练运动数据与学员运动数据。在步骤502中,取得下一个教练片段,若是第一次执行步骤502则是取得第一个教练片段。在步骤503中,将教练片段的时间往前并往后延伸,根据取样间隔取得多个学员片段。在步骤504中,根据教练片段与每一个学员片段执行动态时间扭曲演算法并取得误差。

在步骤505中,判断是否继续搜寻。如上所述的,当取样间隔小于一个临界值时会停止搜寻。或者,当新增的学员片段没有更小的误差时也会停止搜寻。若要继续搜寻,在步骤506中,减少取样间隔,并在步骤507中取得误差最小的两个学员片段,并根据减少后的取样间隔来进行取样以新增学员片段。若没有要继续搜寻,在步骤508中,根据误差最小的学员片段来计算出运动分数。在步骤509中,判断是否已处理所有的教练片段,若是则回到步骤502,否则结束流程(步骤510)。

值得一提的是,在步骤503中会将教练片段往前并往后延伸,这是为了增加一点弹性,容忍学员的动作可能太慢或太快。另一方面,相邻的两个教练片段所对应的误差最小的学员片段可能彼此重叠,这些特征都与公知的动态时间扭曲演算法不相同。

请参照图2,在一些实施例中,在显示运动分数时可先取得连续的多个第一教练片段,在取得每一个第一教练片段的运动分数以后,最后只显示这些运动分数的最大值。例如,在计算教练片段211~213的运动分数以后,只会显示这三个运动分数的最大值,此步骤是为了避免运动分数太低,打击了学员的信心。在一些实施例中,也可以将多个运动分数取平均以后再显示于显示器120上,本发明并不在此限。

请参照图1与图2,在一些实施例中,使用者可能会将穿戴式加速度感测器110反带,此时x轴与y轴会转180度,此外,当学员在模仿教练的动作时,也可能会有镜像的情形,例如学员的左手去模仿教练右手的动作,或者学员的左手去模仿教练左手的动作。因此,当配戴方向与镜像情形结合以后会产生多种可能性,对于每一个情形都可执行上述搜寻误差最小学员片段的步骤,并显示误差较小时的情形所对应的运动分数。具体来说,第一种情形是不改变x轴加速度与y轴加速度的正负号;第二种情形是只改变x轴加速度的正负号而不改变y轴加速度的正负号;第三种情形是只改变y轴加速度的正负号而不改变x轴加速度的正负号;第四种情形是同时改变x轴加速度与y轴加速度的正负号。对于每一种情形,都可采用上述搜寻误差最小学员片段的步骤,并可以取得相关的误差,如果某一种情形的误差较小,则可采用该情形的计算结果,并且显示在此情形下的运动分数。在一些实施例中,可以只计算上述四种情形中的二到三种情形,例如只计算第二种与第三种情形,并判断哪一种情形的误差较小,然而,本发明并不限制要采用多少个以及哪几个情形。在一些实施例中,对于每一个教练片段都会计算上述多个情形,这是因为学员在模仿教练的动作时,有时会有镜像的情形,有时没有镜像的情形,因此对于每一个教练片段都计算多个情形可以得到较适当的运动分数。

图6是根据一实施例绘示运动课程评分方法的流程图。请参照图6,在步骤601,播放课程影片,并取得对应课程影片的教练运动数据。在步骤602,通过穿戴式加速度感测器取得学员运动数据。在步骤603,将教练运动数据分为多个教练片段,其中每个教练片段是对应至多个学员片段,并且部分的学员片段是彼此部分地重叠。在步骤604,对于每个教练片段,根据教练片段与对应的每个学员片段执行动态时间扭曲演算法,以取得误差最小的学员片段并计算出运动分数。在步骤605,显示运动分数。

然而,图6中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图6中各步骤可以实际为多个程序码或是电路,本发明并不在此限。此外,图6的方法可以搭配以上实施例使用,也可以单独使用。换言之,图6的各步骤之间也可以加入其他的步骤。

虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中的技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定的为准。

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