1.本发明属于体感互动系统和计算机技术领域,涉及一种可穿戴式惯性体感乒乓运动训练系统及其工作方法。
背景技术:2.在人类社会精神文明的进步和物质文明的飞速发展下,人们的生活方式发生了翻天覆地的变化,但在享受高效、便捷生活同时也面临着严重的个人健康问题。现代人缺乏体育运动是影响健康的重要原因之一,采用有效方法进行运动进而促进身体健康将成为现代生活重要组成部分。
3.乒乓球运动强度适用面广且技巧和趣味性高,老少皆宜、爱好者众多。但也正因为乒乓球的灵活性大、技巧性高,普通爱好者掌握起来比较困难,长期错误动作会对身体造成累积损伤;并且不同水平爱好者对弈无法满足运动和情感需求,而同水平爱好者博弈会受到时间和场地限制。因此亟需提出一种体感乒乓运动训练系统,帮助人们科学进行乒乓球训练,并且不会受到时间和场地的限制,随时都可进行乒乓球运动。
4.由于乒乓球运动的复杂性,现有的乒乓球动作识别评价系统上存在许多缺陷,如:目前的全身复杂运动动作捕获系统需要全身设置穿戴节点,使用体验较差,同时多节点带来的大量数据也会影响识别速度;乒乓球运动动作速度快、频率高,在动作识别时易出现延迟,因此实时性、连贯性、准确性较差,很难有效提取连续动态数据;乒乓球运动属于全身性复杂运动,目前的乒乓球训练系统缺少相应的动作评估方案;受多种因素影响,乒乓球在飞行过程中受力情况复杂,飞行轨迹复杂难以预判,需要设计一种高精度的乒乓球运动轨迹模型。
技术实现要素:5.本发明的目的是针对现有技术中的不足,提供一种可穿戴式惯性体感乒乓运动训练系统,只需要选取少量节点设置动作捕获设备就可实现高准确度的动作预测;增加动作评估功能,帮助使用者校正错误姿势,并且能够实现准确高效地提取动作关键帧。
6.为实现上述目的,本发明采取的技术方案是:
7.一种可穿戴式惯性体感乒乓运动训练系统,包括:
8.动作采集模块,用于采集人体的运动数据;
9.动作预测模块,用于训练动作预测模型,并将所述动作采集模块采集的运动数据输入到训练好的动作预测模型中产生对应的动作预测结果;
10.动作识别评价模块,用于训练动作评价模型,并根据所述动作采集模块采集的运动数据作出动作评价结果;
11.乒乓球轨迹预测模块,用于建立乒乓球运动轨迹模型;
12.显示模块,用于将所述动作预测模块、动作识别评价模块和乒乓球轨迹预测模块的输出转换为可视化图像;
13.所述动作识别评价模块包括动作关键帧提取单元和模型建立单元,所述动作采集模块采集的运动数据通过先进先出的方式存储到所述动作关键帧提取单元的第一层滑动窗口中;所述第一层滑动窗口的尾部设置第二层探测窗口,所述动作关键帧提取单元用于在检测到所述第二层探测窗口内的数据发生突变时产生第三层动作窗口,所述第三层动作窗口的起点为突变发生点;所述动作关键帧提取单元从所述第三层动作窗口中获取动作关键帧输出到所述模型建立单元中构成所述动作评估模型的训练样本。
14.进一步地,所述动作采集模块按照每秒30帧的速率采集人体不同部位的运动数据,所述第一层滑动窗口的长度为120帧-180帧,所述第二层探测窗口的长度为3帧-10帧,所述第三层动作窗口的长度为45帧-75帧,所述动作关键帧的长度为36帧-44帧。
15.进一步地,所述动作预测模块包括局部姿态预测单元和全身动作预测单元,
16.所述局部姿态预测单元利用人体运动数据集进行模型训练,估计出人体中n处不同部位的关节位置,并进一步估计出所述n个关节中的m个关节的旋转情况,其中n和m均为正整数且n≥m;
17.所述全身动作预测单元利用所述人体运动数据集和所述局部姿态预测单元的预测结果进行模型训练,得到人体的全身姿态位移网络。
18.进一步地,所述动作采集模块从所述n个关节中选择k个关节并在所选关节附近布置第一动作捕获设备,其中k为正整数,所述动作预测模块将所述第一动作捕获设备采集的运动数据输入到训练好的动作预测模型中,产生对应的动作预测结果。
19.进一步地,所述n=23,所述23个关节分别为左臀部、右臀部、左膝盖、右膝盖、左脚踝、右脚踝、脊柱上三个不同位置、左脚、右脚、脖子、左领、右领、头、左肩、右肩、左肘、右肘、左手腕、右手腕、左手和右手处的关节,所述全身姿态位移网络包括人体中23个关节的位置信息、加速度值、旋转向量和全局位移数据;
20.所述m=15,所述局部姿态预测单元估计出左臀部、右臀部、左膝盖、右膝盖、脊柱上三个不同位置、脖子、左领、右领、头、左肩、右肩、左肘和右肘处关节的旋转情况;
21.所述k=6,6个所述第一动作捕获设备分别设置在左膝盖、右膝盖、左脚踝、右脚踝、使用者持拍手的手腕和所述脊柱上三个不同位置中的任意一个共六个位置处的关节附近。
22.进一步地,所述动作采集模块还在所述k个关节之外的位置设置有第二动作捕获设备,将所述第二动作捕获设备的采集数据代替所述动作预测模型输出结果中与所述第二动作捕获设备对应位置的预测数据。
23.进一步地,所述第二动作捕获设置在使用者持拍手的大臂上。
24.进一步地,所述第一动作捕获设备和第二动作捕获设备为惯性传感器,采集的运动数据包括加速度和四元数数据。
25.本发明的再一目的是,提供上述可穿戴式惯性体感乒乓运动训练系统的工作方法,针对其中进行人体的动作预测和动作识别评价以及乒乓球运动轨迹预测的相应模块提出对应的实现方法。
26.为实现上述第二个目的,本发明采取的技术方案是:
27.一种可穿戴式惯性体感乒乓运动训练系统的工作方法,基于上述的可穿戴式惯性体感乒乓运动训练系统,并在所述关键帧提取单元检测到所述第二层探测窗口内的数据发
生突变产生第三层动作窗口时,检测所述第三层动作窗口内的数据长度是否小于所述第三层动作窗口的长度,若是则放弃当前所述第三层动作窗口内的数据并继续检测所述第二层探测窗口内的数据,否则取所述第三层动作窗口内数据的最大值处左右两侧的数据作为所述动作关键帧。
28.进一步地,采用阈值法和差值法判断所述第二层探测窗口内的数据是否发生突变。
29.进一步地,所述局部姿态预测单元的工作方法为:
30.a1、利用所述人体运动数据集进行模型训练,估计出所述n个关节中q个关节的位置信息,其中q为正整数且q《n;
31.a2、利用所述人体运动数据集和步骤a1获得的所述q个关节的位置信息进行模型训练,估计出所述n个关节的位置信息;
32.a3、利用所述人体运动数据集和步骤a2获得的所述n个关节的位置信息进行模型训练,估计出所述m个关节的旋转情况。
33.进一步地,所述q=5,所述q个关节分别为头、左膝盖、右膝盖、左手腕和右手腕处的关节。
34.进一步地,所述全身动作预测单元的工作方法为:
35.b1、利用所述人体运动数据集和步骤a1获得的所述q个关节的位置信息进行模型训练,计算支撑脚为左脚的概率和支撑脚为右脚的概率;
36.b2、根据所述动作采集模块采集的运动数据指定虚拟人物的腿长,通过人体三维运动学模型计算初始全局位移数据;
37.b3、利用所述人体运动数据集、步骤b1中概率更大的支撑脚的位移和步骤a2获得的所述n个关节的位置信息进行模型训练,估计胯部位移数据;
38.b4、融合步骤b2的初始全局位移数据和步骤b3的胯部位移数据得到最终全局位移数据,形成所述人体的全身姿态位移网络。
39.进一步地,所述动作识别评价模块包括进行动作整体评估,所述动作整体评估的工作方法为:
40.c1、计算所述动作采集模块采集的运动数据的多维特征图;
41.c2、将所述多维特征图进行两次3x3的卷积;
42.c3、将步骤c2得到的结果经过全局平均池化后进行线性变换产生分类结果;
43.c4、将步骤c3得到的结果加入softmax函数后,产生表示概率分布的输出结果并作为动作整体评估结果。
44.进一步地,所述步骤c1获得所述多维特征图的方法为:
45.d1、对所述动作采集模块采集的运动数据进行1x1的卷积后进行归一化并加入激活函数;
46.d2、对所述动作采集模块采集的运动数据分别进行3x3、5x5和3x3的卷积后分别进行归一化并加入激活函数;
47.d3、将所述步骤d2得到的结果再分别进行1x1的卷积,随后分别进行归一化并加入激活函数;
48.d4、所述步骤d1和步骤d3得到的结果共同构成所述多维特征图。
49.进一步地,所述动作识别评价模块还包括进行局部动作评估,所述局部动作评估的工作方法为:
50.e1、将所述步骤c1得到的多维特征图进行矩阵相加得到抽象特征矩阵;
51.e2、将所述抽象特征矩阵进行分离得到设置有所述第一动作捕获设备和第二动作捕获设备的p个位置处的抽象特征并进行降维,获得对应的p个局部抽象特征向量,其中p为正整数且不大于所述第一动作捕获设备和第二动作捕获设备的总个数;
52.e3、将每个所述局部抽象特征向量进行聚类,聚类后每一类的簇心当作对应位置处的标准动作特征向量;
53.e4、通过相似度算法分别计算p个所述局部抽象特征向量与p个所述标准动作特征向量间的相似度,产生人体乒乓动作细粒度评估结果。
54.进一步地,所述乒乓球轨迹预测模块的工作方法为:
55.f1、判断乒乓球与球拍是否发生碰撞,是则转到步骤f2,否则退出工作;
56.f2、计算乒乓球与球拍碰撞时乒乓球的加速度,进一步计算乒乓球的初始速度、初始角速度、重力、马格努斯力和空气阻力并带入乒乓球飞行计算函数中,得到乒乓球的空间坐标;
57.f3、判断乒乓球与球桌是否发生碰撞,是则转到步骤f4,否则退出工作;
58.f4、判断乒乓球的入射角是否大于临界摩擦角,是则说明乒乓球与球桌相对滑动,否则说明乒乓球与球桌相对滚动,根据乒乓球与球桌相对滑动或滚动的情况选择对应的碰桌计算函数计算乒乓球与球桌碰撞后乒乓球的速度和角速度并带入乒乓球飞行计算函数中,得到乒乓球的空间坐标。
59.进一步地,所述步骤f1判断乒乓球与球拍是否发生碰撞的方法为:获取unity世界坐标系下乒乓球的坐标和球拍的坐标,计算乒乓球与球拍之间的距离,当乒乓球与球拍之间的距离小于设定值时判定为发生碰撞,否则判定为没有发生碰撞。
60.进一步地,所述步骤f2计算乒乓球与球拍碰撞时乒乓球的初始速度v0和初始角速度ω0的公式为:
[0061][0062][0063]
其中m为球拍的质量,m为乒乓球的质量,a为从所述动作预测模块的预测结果中获取使用者持拍手的小臂处加速度值并通过空间坐标转换获得的unity世界坐标系下的加速度,t0为乒乓球开始碰球拍到脱拍持续的时间,if为乒乓球与球拍之间的摩擦力在t0时间内的冲量,d为乒乓球的直径。
[0064]
进一步地,在所述步骤f2之前先获取乒乓球的质量和直径以及球拍的质量。
[0065]
本发明的有益效果在于:
[0066]
(1)本发明设置少量的人体可穿戴节点,基于深度学习能够通过少量节点数据估算局部姿态,进而预测全身动作,穿戴便携,识别速度快,提升了用户体验感。
[0067]
(2)本发明的动作识别评价模型提供的动作关键帧实时提取方法,能够有效提取连续动态数据,去除无效动作数据,提高动作识别的准确性、连贯性、实时性。
[0068]
(3)本发明提供了基于深度学习的动作整体评估与局部动作评估模型,通过高维特征计算相似度,能更好地量化动作的标准性,帮助使用者纠正错误动作,防止运动损伤。
[0069]
(4)本发明通过构建虚拟乒乓球运动轨迹模型,应用于体感乒乓运动训练和游戏系统中,提升了系统的交互性,增强了玩家的游戏沉浸感。
附图说明
[0070]
图1为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中动作预测模块在实施例中进行局部姿态估计的算法流程图。
[0071]
图2为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中动作预测模块在实施例中进行全局位移估计的算法流程图。
[0072]
图3为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中动作识别评估模块在实施例中进行动作关键帧实时提取的算法流程图。
[0073]
图4为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中动作识别评估模块在实施例中进行人体乒乓动作整体评估算法流程图。
[0074]
图5为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中动作识别评估模块在实施例中进行人体乒乓动作细粒度评估算法流程图。
[0075]
图6为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统中乒乓球运动轨迹预测模块在实施例中实现虚拟乒乓球运动轨迹预测的流程图。
[0076]
图7为本发明提出的一种可穿戴式惯性体感乒乓运动训练系统的整体结构示意图。
[0077]
图8为采用本发明提出的一种可穿戴式惯性体感乒乓运动训练系统及其工作方法时所选的人体关节示意图。
具体实施方式
[0078]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0079]
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”“及”“该”意在包括复数形式。
[0080]
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0081]
本发明提出一种可穿戴式惯性体感乒乓运动训练系统及其工作方法,如图7所示,可穿戴式惯性体感乒乓运动训练系统中包括动作采集模块、动作预测模块、动作识别评价模块、乒乓球轨迹预测模块和显示模块,接下来针对每个模块的结构设置和工作过程分别进行叙述。
[0082]
动作采集模块
[0083]
动作采集模块用于进行动作感知与数据获取,通过在人体不同位置处设置动作捕获设备来采集人体的运动数据,动作捕获设备通过无线模块和训练系统通信,将获取到的用户动作数据传输到训练系统。本实施例中动作捕获设备为惯性传感器,采集的运动数据包括加速度和四元数数据,但本实施例并不限制本发明,其他可以获取运动数据的装置同样能够用作动作捕获设备。
[0084]
对于人体可穿戴节点的选取需要考虑数目尽量少和能够尽量准确地反映整体动作,关节的位移和旋转情况往往能够反映人体动作,因此可选在关键的几个关节处设置动作捕获设备,具体位置的选取还需要参考动作预测模块的工作方法。
[0085]
动作预测模块
[0086]
动作预测模块用于利用训练样本(可以采用能够从网上直接下载的开源的数据集,如人体运动数据集,其中包括各种人类活动的姿态和位移数据)训练动作预测模型,动作预测模型训练好之后将动作采集模块采集的运动数据输入其中,训练好的动作预测模型就能够输出对应的动作预测结果,并通过显示模块转换为可视化图像,在显示模块的屏幕上显示的结果为对应虚拟人物作出相应的动作,从而实现根据少量的可穿戴节点处设置的动作捕获设备采集的数据预测人体的运动姿态。
[0087]
动作预测往往包括局部动作预测和全身动作预测,因此一些实施例中动作预测模块包括局部姿态预测单元和全身动作预测单元,局部姿态预测单元利用人体运动数据集进行模型训练,估计出人体中n处不同部位的关节位置,并进一步估计出n个关节中的m个关节的旋转情况,实现局部姿态估计。其中n个关节的位置需要分布在人体各处,以保证完整动作的呈现,经过反复试验和论证后,本实施例选取n=23,23个关节位置分别分布在左臀部、右臀部、左膝盖、右膝盖、左脚踝、右脚踝、脊柱上三个不同位置、左脚、右脚、脖子、左领、右领、头、左肩、右肩、左肘、右肘、左手腕、右手腕、左手和右手,如图8所示的1-23处的位置,图8中的0所处的位置表示胯部。n≥m,即可以从n个关节中选取m个关节估计旋转情况,而不需要估计全部n个关节的旋转情况,减少了计算量。本实施例选择m=15,估计左臀部、右臀部、左膝盖、右膝盖、脊柱上三个不同位置、脖子、左领、右领、头、左肩、右肩、左肘和右肘处关节的旋转情况。本实施例只是给出一种关节位置的选取方式,该选取方式能够获得较为准确的预测结果,但若选择其他位置的关节结合本方案也能实现动作预测,也应当属于本发明的保护范围。
[0088]
全身动作预测单元结合局部姿态预测结果进一步预测全身动作,得到人体的全身姿态位移网络,全身姿态位移网络包括人体中23个关节的位置信息、加速度值、旋转向量和全局位移数据。
[0089]
下面详细说明局部姿态预测单元和全身动作预测单元的工作过程,见图1是实施例中给出的一种基于自然语言处理transformer模型的部分动作数据-全身动作预测模型的局部姿态估计算法:
[0090]
a1、利用人体运动数据集进行模型训练,估计出n个关节中q个关节的位置信息,其中q为正整数且q《n。模型训练时可以采用transformer模型,若动作捕捉设备是惯性传感器,采集的数据是加速度和四元数,则此处可以用人体运动数据集中加速度和方向数据训练transformer模型,估计的q个关节可以选择为头、左膝盖、右膝盖、左手腕和右手腕五个
叶节点处的关节。
[0091]
a2、利用人体运动数据集中加速度数据、方向数据和步骤a1获得的5处关节位置数据训练transformer模型,估计出23个关节的位置信息。
[0092]
a3、利用人体运动数据集中加速度数据、方向数据和步骤a2获得的23个关节的位置信息训练transformer模型,估计出15个关节的旋转情况。
[0093]
见图2是实施例中给出的一种基于自然语言处理transformer模型的部分动作数据-全身动作预测模型的全局位移估计算法:
[0094]
b1、利用人体运动数据集中加速度数据、方向数据和步骤a1获得的5个关节的位置信息训练transformer模型,计算支撑脚为左脚的概率和支撑脚为右脚的概率。
[0095]
b2、根据动作采集模块采集的运动数据指定虚拟人物的腿长,即将虚拟人物腿长指定为使用者的实际腿长,再通过人体三维运动学模型计算初始全局位移数据。
[0096]
b3、利用人体运动数据集中加速度数据、方向数据、步骤b1中概率更大的支撑脚的位移和步骤a2获得的23个关节的位置信息训练transformer模型,估计胯部位移数据。
[0097]
b4、融合步骤b2的初始全局位移数据和步骤b3的胯部位移数据得到最终全局位移数据,形成人体的全身姿态位移网络。
[0098]
模型训练好之后,将动作采集模块采集的数据输入其中产生预测结果,因此动作采集模块可以从n个关节中选择k个关节并在所选关节附近布置第一动作捕获设备,比如本实施例中选择在左膝盖、右膝盖、左脚踝、右脚踝、使用者持拍手的手腕和脊柱上三个不同位置中的任意一个共六个位置处的关节附近布置第一动作捕获设备,即图8中3、4、5、7和8,以及20或21(若使用者右手持拍则为21,左手持拍则为20)处附近的关节布置第一动作捕获设备。将第一动作捕获设备采集的运动数据输入到训练好的模型中,获得局部姿态预测结果和全身姿态位移网络。
[0099]
动作预测模块基于自然语言处理(npl)的部分动作数据-全身动作预测模型,通过少量节点数据估算局部姿态,进而预测全身动作,提高了用户体验感与识别速度。为了进一步提高预测精确性,一些实施例中动作采集模块还在k个关节之外的位置设置有第二动作捕获设备,比如在第二动作捕获设置在使用者持拍手的大臂上,将第二动作捕获设备的采集数据代替动作预测模型输出结果中与第二动作捕获设备对应位置的预测数据,从而达到使用原始传感器数据驱动人物,提高预测精确性的目的。
[0100]
动作识别评价模块
[0101]
动作识别评价模块中的模型建立单元用于建立和训练动作评价模型,训练样本可以是动作采集模块历史采集的运动数据,模型训练好之后将动作采集模块实时采集的运动数据输入其中,训练好的动作评价模型产生动作评价结果并通过显示模块显示出来,显示结果可以为动作是否规范的提示以及规范程度的打分和动作错误的节点提示。
[0102]
在对动作作出评价前,先要获取并识别动作采集模块采集的运动数据,为了避免动作识别时出现延迟导致不能连续有效地提取动态数据,本发明在动作识别评价模块中还设置了动作关键帧提取单元,其工作原理如图3所示。
[0103]
①
动作关键帧提取单元以一定的速率进行实时数据帧的采集,本实施例中以每秒30帧的采集速率为例进行说明,但本发明同样适用于其他采集速率。
[0104]
②
采用先进先出的策略生成一个的队列作为第一层滑动窗口,第一层滑动窗口的
长度可以设置为4-6秒共120-180帧的数据长度,动作采集模块采集的运动数据(比如惯性传感器接收到的惯性数据帧)通过先进先出的方式存储到第一层滑动窗口中,每次滑动1帧。
[0105]
③
在第一层滑动窗口的尾部设置第二层探测窗口,第二层探测窗口用于检测,可设置较短的数据长度,根据实时识别速率要求以及识别效果综合进行选择,比如3-10帧。通过判断第二层探测窗口内数据信号的变化判断是否产生击球,若检测到第二层探测窗口内的数据发生突变就表示此时发生击球动作,转到下一步,否则继续检测。其中可以采用阈值法和差值法共同判断数据是否发生突变,如果动作开始,数据帧会有一个突然增大的过程,通过设定一个阈值,在检测到数据大于这个阈值时就说明动作开始了,当然也可采用其他可行方法检测突变发生。
[0106]
④
将击球动作开始的位置(即第二层探测窗口内数据突变处)定义为窗口分割点,从窗口分割点开始生成第三层动作窗口保存接下来一段时间内用户的动作序列;第三层动作窗口的数据长度可以为1.2-2.5秒之间的45-75帧,需要保证第三层动作窗口内的数据能够表示一个完整的动作。
[0107]
⑤
为了保证提取的动作关键帧包含一个完整动作的全部数据帧,在提取之前可以先检测第三层动作窗口中的数据长度是否小于第三层动作窗口的长度,若为是就返回
①
,若为否继续进行下一步。
[0108]
⑥
从第三层动作窗口中获取动作关键帧输出到模型建立单元中构成动作评估模型的训练样本。其中,一些实施例根据正态分布的“3σ”原则,从第三层动作窗口中的数据中获取第三层动作窗口内数据的最大值(比如惯性传感器采集加速度值,就选择加速度最大值对应时刻作为击球时刻)处左右两侧的数据作为动作关键帧,比如将最大值位置左右两侧各18-22帧共计36-44帧的数据作为动作关键帧。
[0109]
动作关键帧提取单元进行了窗口分割和关键帧提取,窗口分割的目的是为了从动作采集模块的实时数据流中获取包含动作过程的数据窗口,减少其它时刻数据的影响,提高动作识别准确度;关键帧提取的目的是从分割后的窗口数据中,使用较少的数据表示大多数或者全部的动作特征,从而提高数据检索过程和识别速度,进一步提取具有重要表征意义的数据。通过设计动作关键帧实时提取方法,能够有效去除无效动作数据,提高了动作识别的准确性、连贯性、实时性。
[0110]
动作关键帧实时提取之后,动作识别评估模块基于深度学习进行动作整体评估与局部动作评估,下面分别进行说明。
[0111]
见图4是本实施例提出的一种基于多维特征融合卷积神经网络(mdff-cnn)的人体乒乓动作整体评估方法:
[0112]
c1、计算动作采集模块采集的运动数据的多维特征图filter concatenation。
[0113]
c2、将多维特征图进行两次3x3的卷积。
[0114]
c3、将步骤c2得到的结果使用全局平均池化(adaptiveavgpool)的方法降低参数量,整合全局空间信息;再进行线性变换(比如通过全连接层linear)产生分类结果。
[0115]
c4、将步骤c3得到的结果加入softmax函数,把神经网络的输出变成一个概率分布输出,并作为人体动作的整体评估结果。
[0116]
其中计算动作采集模块采集的运动数据的多维特征图filter concatenation的
方法可以采用如图4所示的方法:
[0117]
d1、对动作采集模块采集的运动数据(如惯性传感器采集的惯性数据)进行1x1的卷积后进行归一化并加入激活函数。
[0118]
d2、对动作采集模块采集的运动数据分别进行3x3、5x5和3x3的卷积后分别进行归一化并加入激活函数,步骤d1和步骤d2可同时进行。
[0119]
d3、将步骤d2得到的结果再分别进行1x1的卷积,随后分别进行归一化并加入激活函数;此处是利用1x1卷积核的跨通道能力,把相关性很高但是在同一空间位置却在不同通道的特征连接在一起,对输入通道进行降维。
[0120]
d4、步骤d1和步骤d3得到的结果共同构成惯性数据的多维特征图filter concatenation。
[0121]
其中1x1、3x3和5x5的卷积都可以采用max pooling或average pooling的卷积;归一化可采用batch normalization(bn)、layer normalization或instance normalization等各种归一化方法,归一化处理的目的是将数据规范化到n(0,1)的正态分布;激活函数可以是relu激活函数、sigmoid或tanh激活函数,具体形式并不限制本发明。
[0122]
见图5是本实施例提出的一种基于多维特征融合卷积神经网络(mdff-cnn)的人体乒乓动作细粒度评估方法:
[0123]
e1、将步骤c1得到的多维特征图进行矩阵相加得到抽象特征矩阵。
[0124]
e2、按照惯性节点的组合顺序,将融合后的抽象特征矩阵进行分离,得到设置有第一动作捕获设备和第二动作捕获设备的p个位置处的抽象特征并进行降维,获得对应的p个局部抽象特征向量。其中p为正整数且不大于第一动作捕获设备和第二动作捕获设备的总个数,本实施例中p=7,分别为左膝盖、右膝盖、左脚踝、右脚踝、使用者持拍手的手腕、使用者持拍手的大臂和脊柱上三个不同位置中的任意一个共七处关节附近。降维的方式可以是通过t-sne算法、主成分分析(pca)、多维缩放(mds)、线性判别分析(lda)等方法进行降维。
[0125]
e3、将步骤e2获得的每个局部抽象特征向量进行聚类,聚类的方式可以是通过k-means聚类、均值漂移聚类、用高斯混合模型(gmm)的最大期望(em)聚类等聚类算法实现,聚类后每一类的簇心当作对应位置处的标准动作特征向量。
[0126]
e4、通过相似度算法分别计算p个局部抽象特征向量与p个标准动作特征向量之间一一对应的相似度,以此作为人体乒乓动作细粒度评估结果。其中相似度算法可以采用余弦相似度算法、欧几里得距离、曼哈顿距离或明可夫斯基距离等相似度算法。
[0127]
动作识别评估模块是在真实数据上的精确动作评估,能够对具体动作进行标准性、正确性的判断,通过动作识别评估模块为使用者提供系统的动作评价,能够帮助使用者纠正错误动作,防止长期错误动作对身体的损伤。
[0128]
乒乓球轨迹预测模块
[0129]
乒乓球轨迹预测模块用于建立乒乓球运动轨迹模型,计算乒乓球的空间坐标,并将结果传递至显示模块转换为可视化图像,在显示模块的屏幕上显示的结果为虚拟乒乓球跟随预测的轨迹移动。
[0130]
见图6是本实施例中提出的一种虚拟乒乓球运动轨迹模型的具体实现方案:
[0131]
f1、判断乒乓球与球拍是否发生碰撞,是则转到步骤f2,否则说明乒乓球未产生运动,不需要计算运动轨迹。其中判断乒乓球与球拍是否发生碰撞的方法为:获取unity世界
坐标系下乒乓球的坐标和球拍的坐标,计算乒乓球与球拍之间的距离,当乒乓球与球拍之间的距离小于设定值时判定为发生碰撞,否则判定为没有发生碰撞。
[0132]
f2、计算乒乓球与球拍碰撞时乒乓球的加速度,可以获取使用者持拍手手腕佩戴的动作捕获设备的加速度再通过空间坐标转换获得unity世界坐标系下的加速度,以此计算球与球拍碰撞时乒乓球产生的加速度。
[0133]
进一步计算乒乓球的初始速度v0、初始角速度ω0、重力、马格努斯力和空气阻力并带入乒乓球飞行计算函数中,得到乒乓球的空间坐标。其中计算乒乓球与球拍碰撞时乒乓球的初始速度v0和初始角速度ω0的公式为:
[0134][0135][0136]
其中m为球拍的质量,m为乒乓球的质量,a为从动作预测模块的预测结果中获取使用者持拍手的小臂处加速度值并通过空间坐标转换获得的unity世界坐标系下的加速度,t0为乒乓球开始碰球拍到脱拍持续的时间,if为乒乓球与球拍之间的摩擦力在t0时间内的冲量,d为乒乓球的直径。
[0137]
采用以上公式计算时,需要在步骤f2之前先获取乒乓球的质量和直径以及球拍的质量,以及各种力的计算系数,如本实施例中乒乓球质量为0.0027kg、直径为0.04m,球拍质量为0.165kg-0.185kg。计算各种力的参数为:空气密度ρ=1.205kg/m3,乒乓球横截面积h=0.001256m2,重力加速度g=9.8m/s2,升力系数阻力
[0138]
f3、判断乒乓球与球桌是否发生碰撞,是则转到步骤f4,否则退出工作。其中球与球桌是否发生碰撞的判断方式为:当球在球桌内且球的竖直方向上的高度小于等于球桌的高度时,判定为发生碰撞,否则,没有发生碰撞,球的空间坐标可根据乒乓球飞行计算函数计算得到,球桌的空间坐标可直接读取。
[0139]
f4、判断乒乓球的入射角是否大于临界摩擦角,是则说明乒乓球与球桌相对滑动,否则说明乒乓球与球桌相对滚动,当飞行中的乒乓球向一定的平面击去时,假设来球速度与击球面法线的方向的夹角为a,当a大于等于b时,乒乓球与击球面之间的相对运动是滑动,当a小于b时,两者之间发生滚动,这个角b就叫做临界摩擦角,用于区分相对滑动或相对滚动,以此选择对应的滑动或滚动情况下的计算函数来计算乒乓球与球桌碰撞后乒乓球的速度和角速度并带入乒乓球飞行计算函数中,得到乒乓球的空间坐标。
[0140]
最终动作预测模块、动作识别评价模块和乒乓球轨迹预测模块的输出都通过显示模块转换为可视化图像进行虚拟呈现,如图7所示,训练系统可设置人机模式、对抗模式、训练模式三种模式,除了控制虚拟人物跟随使用者做出相应的动作和控制虚拟乒乓球根据计算得到的空间坐标运动外,还给出使用者动作评价,提升运动感知识别评价的精确性与游
戏的体验感。
[0141]
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明方法的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。