发明内容
本发明要解决的技术问题在于,针对现有技术中基于计算机的扭腰运动缺乏真实感和运动的基本特征以及测量跳跃幅度时难以测量,测量结果误差较大的缺陷,提供一种基于计算机的扭腰运动实现方法及系统。
本发明解决其技术问题所采用的技术方案是:提供一种基于计算机的扭腰运动实现方法,包括以下步骤:
S1、实时采集用户腰腹部跟踪点的位置坐标,并根据所述位置坐标获取所述跟踪点水平方向的位置数据,根据所述位置数据计算水平方向的速度数据;
S2、判断是否存在绝对值大于等于预设的速度阈值的第一速度数据,若是则判定出现所述第一速度数据的位置为扭腰动作起点并进入下一步骤,否则返回所述步骤S1;
S3、再次实时采集所述跟踪点的位置坐标,并根据所述位置坐标获取所述跟踪点水平方向的位置数据,根据所述位置数据计算水平方向的速度数据;
S4、判断是否存在为零的第二速度数据,若是则判定停止扭腰,并利用显示模块显示所述虚拟形象停止扭腰,否则进入下一步骤;
S5、判断是否存在与所述第一速度数据方向相反的第三速度数据,若是则判定出现所述第三速度数据的位置为扭腰动作终点,利用所述显示模块显示所述虚拟形象完成一次扭腰动作,并返回所述步骤S1,否则返回所述步骤S3。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S5还包括,根据所述步骤S3中得到的所述位置数据和速度数据计算出任意时刻的位置数据,根据所述任意时刻的位置数据显示所述虚拟形象完成的扭腰动作。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S5还包括出现所述扭腰动作终点后,计算并记录扭腰幅度,所述扭腰幅度为所述扭腰动作起点与所述扭腰动作终点的位置数据之差的绝对值。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S5还包括利用所述显示模块增加显示虚拟呼啦圈,出现所述扭腰动作终点后,判断所述扭腰幅度是否大于等于预设的幅度阈值,若是则利用所述显示模块显示所述虚拟呼啦圈在所述虚拟形象的腰腹部甩动,否则显示所述虚拟呼啦圈掉到地上。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S4还包括停止扭腰后,计算并输出记录的所述扭腰幅度的平均值作为幅度均值。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S4还包括停止扭腰后,记录并输出出现扭腰动作终点的次数作为扭腰个数,以及从出现第一个扭腰动作起点到停止扭腰经历的时间作为扭腰时间,计算并输出所述扭腰个数和扭腰时间的比值作为扭腰频率。
在本发明所述的基于计算的扭腰运动实现方法中,所述步骤S4还包括停止扭腰后,计算并输出扭腰成绩,计算方法包括:
a、根据所述幅度均值利用预设的幅度-成绩公式计算所述扭腰成绩;
b、根据所述扭腰频率利用预设的频率-成绩公式计算所述扭腰成绩;
c、根据所述幅度均值和扭腰频率利用预设的幅度、频率-成绩公式计算所述扭腰成绩。
还提供一种基于计算的扭腰运动实现系统,包括:视频采集模块,用于实时采集用户腰腹部跟踪点的位置坐标;
数据处理模块,用于接受采集到的位置坐标,根据所述位置坐标获取所述跟踪点水平方向的位置数据,根据所述位置数据计算水平方向的速度数据,判断是否出现大于速度阈值的第一速度数据,若是则判定出现扭腰动作起点,并再次接受采集到的位置坐标,根据所述位置坐标获取所述跟踪点水平方向的位置数据,根据所述位置数据计算水平方向的速度数据,判断是否出现为零的第二速度数据,若是则判定停止扭腰并控制所述显示模块显示代表所述用户的虚拟人停止扭腰,否则继续判断是否出现与所述第一速度数据方向相反的第三速度数据,若是则判定出现扭腰动作终点并控制所述显示模块显示所述虚拟形象完成一次扭腰动作;
显示模块,用于根据所述数据处理模块的控制显示所述虚拟形象扭腰动作和停止扭腰。
在本发明所述的基于计算的扭腰运动实现系统中,所述数据处理模块还用于再次接受采集到的位置坐标,根据所述位置坐标获取所述跟踪点水平方向的位置数据,根据所述位置数据计算水平方向的速度数据,根据所述速度数据计算水平方向的加速度数据,根据所述位置数据、速度数据和加速度数据计算任意时刻的速度数据,根据所述任意时刻的位置数据控制所述显示模块显示所述虚拟形象的扭腰动作;
所述显示模块还用于根据所述数据处理模块的控制显示所述虚拟形象扭腰动作。
在本发明所述的基于计算的扭腰运动实现系统中,所述数据处理模块,还用于出现所述扭腰动作终点时计算并记录扭腰幅度,判断所述扭腰幅度是否大于预设的幅度阈值,若是则控制所述显示模块显示虚拟呼啦圈在所述用户腰腹部甩动,否则控制所述显示模块显示所述虚拟呼啦圈掉在地上,还用于停止扭腰时计算记录的所述扭腰幅度的平均值作为幅度均值,记录出现扭腰动作终点的次数作为扭腰个数,以及从出现第一个扭腰动作起点到停止扭腰经历的时间作为扭腰时间,计算扭腰个数和扭腰时间的比值作为扭腰频率,以及根据所述幅度均值和扭腰频率计算扭腰成绩;
所述显示模块还用于显示所述虚拟呼啦圈、幅度均值、扭腰个数、扭腰时间、扭腰频率和扭腰成绩。
实施本发明的基于计算机的扭腰运动实现方法及系统,具有以下有益效果:能够准确判断扭腰动作起点和终点,真实反应用户动作,动作连续圆润,动作的切换不突然不生硬,速度变化前后无明显差异;还能够逼真地模拟呼啦圈运动,富有趣味性且安全可靠,让用户得到真真切切的身体锻炼,同时由于用户在使用时没有实体呼啦圈,因而不会导致运动过于激烈时,实体呼啦圈的撞击给用户带来疼痛感以及对脏器的伤害。
具体实施方式
请参阅图1,为本发明优选实施例提供的基于计算机的扭腰运动实现方法的流程图。如图1所示,该方法的流程包括步骤S1至步骤S5。
S1、实时采集用户腰腹部跟踪点的位置坐标,并根据位置坐标获取跟踪点水平方向的位置数据,根据位置数据计算水平方向的速度数据。
跟踪点可以设置在用户佩戴的腰带上,将带有跟踪点的腰带固定在用户身上,跟踪点的位置就可以代表用户腰腹部的位置。可以利用视频摄像头对跟踪点的位置信息进行采集,集采频率为30HZ,即每秒可以获得30个位置数据。
请结合参阅图2,为本发明优选实施例提供的基于计算机的扭腰运动实现方法的摄像头坐标系示意图。如图2所示,摄像头坐标系原点为视频摄像头中心,x轴正方向为水平向右,y轴正方向为垂直向上,z轴正方向为水平向后。该摄像头坐标系用于描述现实情况中用户的各项信息,包括位置信息、加速度信息和速度信息。
通过视频摄像头对跟踪点进行跟踪,获得跟踪点在摄像头坐标系中的空间位置坐标:(x1,y1,z1),(x2,y2,z2),……,(xi,yi,zi),……,其中(xi,yi,zi)代表着第i时刻跟踪点的空间位置坐标,跟踪点在水平方向的位置数据等同于跟踪点在x轴方向上的坐标值xi。
请结合参阅图3,为本发明优选实施例提供的基于计算机的扭腰运动实现方法的虚拟坐标系示意图。如图3所示,虚拟坐标系原点为显示模块中场地中心,x轴正方向为水平向右,y轴正方向为垂直向上,z轴正方向为水平向后。该虚拟坐标系用于描述数据处理模块和显示模块中用户的各项信息,包括位置信息、加速度信息和速度信息。
图2示出的摄像头坐标系与图3示出的虚拟坐标系,对应x轴、y轴、z轴分别拥有相同的正方向,相同的数值大小,因此,该摄像头坐标系中的数据,可以直接应用到该虚拟坐标系中,形成一一对应的映射关系。因此跟踪点在虚拟坐标系中的空间位置坐标同样为:(x1,y1,z1),(x2,y2,z2),……,(xi,yi,zi),……,其中(xi,yi,zi)代表着第i时刻跟踪点的空间位置坐标,跟踪点在水平方向的位置数据等同于跟踪点在x轴方向上的坐标值xi。
理论上扭腰运动为腰腹部绕中心圆周运动,实际情况是腰腹部在x轴方向的移动较大,而在z轴方向的移动较小。因此,在本发明优选实施例中,只处理代表腰腹部的跟踪点在x轴方向的运动信息,而对于跟踪点在z轴方向的运动信息,可以设定跟踪点在z轴方向没有移动,或者设定跟踪点在z轴方向以一个恒定的幅度来回移动。这样可以简化计算,降低时延,并且也不影响扭腰运动的真实性。
计算水平方向的速度数据的方法如下:
设定2个相邻位置点的时间间隔为t,t=1/30s,ti为i时刻的时间。
第i时刻的速度vix用以下公式计算:
vix=(xi-xi-1)/t,其中,xi为第i时刻跟踪点的位置数据,xi-1为第i-1时刻跟踪点的位置数据。
S2、判断是否存在绝对值大于等于预设的速度阈值的第一速度数据,若是则判定出现第一速度数据的位置为扭腰动作起点并进入下一步骤,否则返回步骤S1。
理论上只要用户腰腹部在x轴方向有移动就开始了扭腰运动,实际情况很有可能是用户腰腹部无意识的摆动却被误认为开始了扭腰运动,因此为了防止这一情况的发生,此处要预先设定一个较大的速度阈值,只有速度数据大于等于这个速度阈值,才能判定用户开始了扭腰运动,并且进入下一步骤。如果一直没有速度数据大于等于这个速度阀值,就说明一直不出现扭腰动作起点,整个流程就一直在步骤S1和步骤S2中循环。速度阈值可以设定为0.5cm/s至1.5cm/s,在本发明优选实施例中采用的速度阈值设定为1.0cm/s。
S3、再次实时采集跟踪点的位置坐标,并根据位置坐标获取跟踪点水平方向的位置数据,根据位置数据计算水平方向的速度数据。
步骤S3是在判定出现扭腰动作起点之后进行的,目的是为了继续判断是否停止扭腰和判断是否出现扭腰动作终点。步骤S3和步骤S1实现方法类似,此处就不再赘述。
S4、判断是否存在为零的第二速度数据,若是则判定停止扭腰,并利用显示模块显示虚拟形象停止扭腰,否则进入下一步骤。
步骤S4用于判断是否停止扭腰,用户停止扭腰运动表明所有的扭腰动作都结束,整个扭腰运动也结束。此时可以根据每个扭腰动作结束时计算并记录的扭腰幅度来计算幅度均值,每个扭腰动作结束时计算扭腰幅度的方法将在步骤S5做具体介绍。此时也可以得到出现扭腰动作终点的次数作为扭腰个数,以及从出现第一个扭腰动作起点到停止扭腰经历的时间作为扭腰时间,计算扭腰个数和扭腰时间的比值作为扭腰频率。幅度均值反映了用户扭腰动作的大小,扭腰频率反映了用户扭腰动作的快慢,因此幅度均值和扭腰频率都可以作为评判用户扭腰成绩的参考标准。在本发明优选实施例中根据幅度均值和/或扭腰频率,利用预先设定的公式来来计算扭腰成绩,包括以下三种方法:
a、根据幅度均值利用预设的幅度-成绩公式计算扭腰成绩。幅度-成绩公式为f(A)=k1A,其中,f(A)为扭腰成绩,A为幅度均值,k1为比例系数。该公式只为说明本发明优选实施例,并不限定本发明的保护范围,也可以根据实际情况采用其他的公式计算扭腰成绩。
b、根据扭腰频率利用预设的频率-成绩公式计算扭腰成绩。频率-成绩公式为f(B)=k2B,其中,f(B)为扭腰成绩,B为扭腰频率,k2为比例系数。该公式只为说明本发明优选实施例,并不限定本发明的保护范围,也可以根据实际情况采用其他的公式计算扭腰成绩。
c、根据所述幅度均值和扭腰频率利用预设的幅度、频率-成绩计算扭腰成绩。幅度、频率-成绩为f(A,B)=k3A+k4B,其中,f(A,B)为扭腰成绩,A为幅度均值,B为扭腰频率,k3和k4均为比例系数。该公式只为说明本发明优选实施例,并不限定本发明的保护范围,也可以根据实际情况采用其他的公式计算扭腰成绩。
以上三种公式计算法均为明本发明优选实施例所采取的计算扭腰成绩的方法,并不限定本发明的保护范围,也可以依照实际情况根据其他评估扭腰成绩的参数,采用其他的方式得到扭腰成绩。
S5、判断是否存在与第一速度数据方向相反的第三速度数据,若是则判定出现第三速度数据的位置为扭腰动作终点,利用显示模块显示虚拟形象完成一次扭腰动作,并返回步骤S1,否则返回步骤S3。
显然速度数据包括大小和方向两个方面,速度数值的绝对值代表速度的大小,速度数据的正负号代表速度的方向。如果第一速度数据为正值,那么只要出现为负值的第三速度数据,则判定出现扭腰动作终点;如果第一速度数据为负值,那么只要出现为正值的第三速度数据,则判定出现扭腰动作终点。如果判定还没出现扭腰动作终点,就返回步骤S3。如果一直没有出现扭腰动作终点也没有停止扭腰,流程就在步骤S3到步骤S5之间循环,直到出现扭腰动作终点或者停止扭腰为止。
为了更真实地显示虚拟人完成的扭腰动作,可以计算出任意时刻跟踪点的位置信息。根据任意时刻跟踪点的位置数据,利用显示模块显示出用户腰腹部扭动的情况,使得扭腰动作连续圆润,不突然不生硬。
任意时刻j位于时间区间[i-1,i]中,tj为j时刻的时间,那么第i时刻的速度vix用以下公式计算:
vix=(xi-xi-1)/t,其中,xi为第i时刻跟踪点的位置数据,xi-1为第i-1时刻跟踪点的位置数据。
第i时刻的加速度aix用以下公式计算:
aix=(vix-v(i-1)x)/t,其中,vi为第i时刻跟踪点的速度数据,vi-1为第i-1时刻跟踪点的速度数据。
第j时刻的位置sjx用以下公式计算:
sjx=vix×(tj-ti-1)+0.5×aix×(tj-ti-1)2+xi-1,其中,xi-1为第i-1时刻跟踪点的位置数据,vi为第i时刻跟踪点的速度数据,ai为第i时刻跟踪点的加速度数据。
每一次扭腰动作结束,就等同于一个扭腰周期结束,一个周期结束了就要返回步骤S1,从头开始进行对下一个周期的扭腰动作的处理。一个扭腰周期结束还能够计算此次扭腰周期的扭腰幅度。根据此次扭腰周期中已确定的扭腰动作起点和扭腰动作终点,可以得到该起点和终点处的位置数据,将该起点和终点处的位置数据相减,并取相减结果的绝对值,即得到扭腰幅度。
在显示虚拟形象扭腰的同时还可以增加显示该虚拟形象腰腹部的虚拟呼啦圈,该虚拟呼啦圈可以随着该虚拟形象的扭腰动作而甩动,也可以掉在地上。当用户的扭腰幅度大于等于预先设定的幅度阈值时,虚拟呼啦圈就在虚拟形象的腰腹部随虚拟形象腰腹部的扭动而甩动;当用户的扭腰幅度小于该幅度阈值时,或者用户停止扭腰时,该虚拟呼啦圈就掉在地上。幅度阈值可以设定为。。。至。。。在本发明优选实施例中采用的幅度阈值设定为。。。。。增设的虚拟呼啦圈可以提高扭腰运动的趣味性,且安全可靠,让用户得到真真切切的身体锻炼,同时由于用户在使用时没有实体呼啦圈,因而不会导致运动过于激烈时,实体呼啦圈的撞击给用户带来疼痛感以及对脏器的伤害。
请参阅图4,为本发明优选实施例提供的基于计算机的扭腰运动实现系统的结构示意图。如图4所示,该系统包括:视频采集模块、数据处理模块和显示模块。该系统中各个模块的功能与本发明优先实施例提供的基于计算机的扭腰运动实现方法中各个步骤中用到的功能一一对应。
视频采集模块用于不断拍摄用户以及采集该用户腰腹部的跟踪点的位置坐标。
视频采集模块可以是具有跟踪点识别采集功能的摄像头,以每秒钟30次的频率对跟踪点进行识别和采集。
数据处理模块,和视频采集模块相连。数据处理模块用于接受采集到的位置坐标,根据位置坐标获取跟踪点水平方向的位置数据,根据位置数据计算水平方向的速度数据,判断是否出现大于速度阈值的第一速度数据,若是则判定出现扭腰动作起点,并再次接受采集到的位置坐标,根据位置坐标获取跟踪点水平方向的位置数据,根据位置数据计算水平方向的速度数据,判断是否出现为零的第二速度数据,若是则判定停止扭腰并控制显示模块显示代表用户的虚拟人停止扭腰,否则继续判断是否出现与第一速度数据方向相反的第三速度数据,若是则判定出现扭腰动作终点并控制显示模块显示虚拟形象完成一次扭腰动作。
还用于再次接受采集到的位置坐标,根据位置坐标获取跟踪点水平方向的位置数据,根据位置数据计算水平方向的速度数据,根据速度数据计算水平方向的加速度数据,根据位置数据、速度数据和加速度数据计算任意时刻的速度数据,根据任意时刻的位置数据控制显示模块显示虚拟形象的扭腰动作。
数据处理模块可以是计算机处理器。
显示模块,和数据处理模块相连。显示模块用于根据数据处理模块的控制显示虚拟形象扭腰动作。还用于显示虚拟呼啦圈、幅度均值、扭腰个数、扭腰时间、扭腰频率和扭腰成绩
显示模块可以是计算机显示器。
本发明优选实施例提供的基于计算机的扭腰运动实现系统可以由视频摄像头和计算机组成,该系统能够准确判断扭腰动作起点和终点,真实反应用户动作,动作连续圆润,动作的切换不突然不生硬,速度变化前后无明显差异;还能够逼真地模拟呼啦圈运动,富有趣味性且安全可靠,让用户得到真真切切的身体锻炼,同时由于用户在使用时没有实体呼啦圈,因而不会导致运动过于激烈时,实体呼啦圈的撞击给用户带来疼痛感以及对脏器的伤害。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。