直播健身方法、系统、电子设备、存储介质与流程

文档序号:26666793发布日期:2021-09-17 20:34阅读:53来源:国知局
直播健身方法、系统、电子设备、存储介质与流程

1.本发明涉及计算机应用技术领域,尤其涉及一种直播健身方法、系统、电子设备、存储介质。


背景技术:

2.当前直播技术迅速发展,通过直播进行健身或其它诸如舞蹈等运动的用户越来越多。
3.然而,当前直播技术中,尤其是健身直播中,主播(教练)无法获知学员的健身信息,主播(教练)与学员之间的互动方式也非常有限,仅能通过弹幕进行交互。
4.由此,在直播健身(包括舞蹈、运动、瑜伽等)中,如何通过技术的方式,实现主播(教练)与学员之间更多的信息交互和互动,是本领域亟待解决的技术问题。


技术实现要素:

5.本发明为了克服上述现有技术存在的缺陷,提供一种直播健身方法、系统、电子设备、存储介质,以通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身数据,教练可以直观地获得更多学员健身数据。
6.根据本发明的一个方面,提供一种直播健身方法,包括:
7.通过教练端设备采集教练的教练健身视频,并将所述教练健身视频实时转发至多个学员端设备进行播放;
8.通过学员端设备采集学员的学员健身视频;
9.基于所述教练健身视频确定当前目标动作;
10.基于所述学员健身视频,获取当前待测动作;
11.基于当前目标动作及当前待测动作进行动作识别纠错,获得对应学员健身视频的学员健身数据;以及
12.将多个学员端设备分别采集的多个学员健身视频的学员健身数据提供至所述教练端设备以进行显示。
13.可选地,所述学员健身数据至少包括该学员健身视频中当前待测动作的错误类型,将多个学员端设备分别采集的多个学员健身视频的学员健身数据中,数量最多的错误类型显示至所述教练端设备。
14.可选地,还包括
15.根据所述数量最多的错误类型,调取预存的对应该错误类型的纠正视频;
16.将所述纠正视频发送至具有该错误类型的学员健身数据的学员端设备以进行播放。
17.可选地,所述学员健身数据还包括该学员健身视频中当前待测动作的动作分数,所述动作分数基于所述当前待测动作和所述当前目标动作之间的匹配度计算,所述直播健
身方法还包括:
18.根据所述数量最多的错误类型,调取具有该错误类型的学员健身数据中动作分数最低的学员健身数据的学员端设备采集的学员健身视频,以供教练进行动作纠正。
19.可选地,自所述教练健身视频中抠图获取教练的身体影像,自所调取的学员健身视频中抠图获取学员的身体影像,将学员的身体影像叠加到所述教练健身视频中,并在所述教练端设备播放,将教练的身体影像叠加到所调取的学员健身视频中,并在具有该错误类型的学员健身数据的学员端设备以进行播放。
20.可选地,所述将教练的身体影像叠加到所调取的学员健身视频中之后,还包括:
21.确定教练的身体影像与学员的身体影像之间的重叠位置;
22.将所述重叠位置映射至学员的穿戴设备的目标位置,所述穿戴设备包括多个触觉传感器;
23.使得位于学员的穿戴设备的目标位置的触觉传感器向学员提供触觉信号。
24.可选地,所述学员健身数据至少包括该学员健身视频中当前待测动作的错误类型以及该学员健身视频中当前待测动作的动作分数,所述学员健身数据以表格形式显示于所述教练端设备。
25.可选地,所述基于当前目标动作及当前待测动作进行动作识别纠错包括:
26.a.确定目标动作,所述目标动作至少包括一个目标动作阶段,每个目标动作阶段拆分为多个目标部位动作,所述目标部位动作包括按身体部位划分5个身体部位动作及至少一个随机部位动作,身体部位包括:左臂、右臂、左腿、右腿以及躯干,所述随机部位由所述身体部位中的选定的至少两个骨骼点构成,
27.所述随机部位动作至少对应一个或多个面向过程的识别项,每个识别项包括识别对象、识别参数、识别规则及标准骨骼点坐标库,对应所述面向过程的识别项中,所述识别对象包括所述随机部位的至少两个骨骼点形成的向量,所述标准骨骼点坐标库按时间顺序储存有目标动作中各个骨骼点的标准坐标;
28.b.按所述目标动作的目标动作阶段的时间,将所述待测动作划分为至少一个待测动作阶段,并将对应时间的目标动作阶段和待测动作阶段形成一匹配组;
29.d.在每一匹配组中,依据目标动作阶段的目标部位动作将待测动作阶段划分为相应的待测部位动作,将待测动作阶段的待测部位动作与相应的目标动作阶段的目标部位动作形成一部位匹配组;
30.e.对每一部位匹配组,至少获取目标部位动作中随机部位动作的识别项,依据所述二维骨骼动作模型获取所述待测部位动作中所选定的至少两个骨骼点形成的向量,将所述随机部位动作的向量与标准骨骼点坐标库中的对应标准坐标形成的标准向量进行匹配计算以与所述识别参数设定的向量阈值进行比较,以获得动作识别反馈;
31.f.整合至少一个匹配组的动作识别反馈以获得待测动作的动作识别反馈。
32.根据本发明的另一方面,还提供一种直播健身系统,包括:
33.教练端设备,用于采集教练的教练健身视频;
34.学员端设备,用于采集学员的学员健身视频;
35.转发模块,用于将所述教练健身视频实时转发至多个学员端设备进行播放;
36.确定模块,用于基于所述教练健身视频确定当前目标动作;
37.第一获取模块,用于基于所述学员健身视频,获取当前待测动作;
38.第二获取模块,用于基于当前目标动作及当前待测动作进行动作识别纠错,获得对应学员健身视频的学员健身数据;以及
39.发送模块,用于将多个学员端设备分别采集的多个学员健身视频的学员健身数据提供至所述教练端设备以进行显示。
40.根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
41.根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
42.相比现有技术,本发明通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身数据,教练可以直观地获得更多学员健身数据。
附图说明
43.通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
44.图1示出了根据本发明实施例的直播健身方法的流程图;
45.图2示出了根据本发明实施例的教练端设备的显示画面;
46.图3示出了根据本发明实施例的直播健身系统的示意图;
47.图4示出了根据本发明实施例的直播健身交互的示意图;
48.图5示出了根据本发明实施例的动作识别纠错的流程图;
49.图6示出了根据本发明实施例的骨骼模型的示意图;
50.图7至图11示出了根据本发明实施例的5个身体部位的示意图;
51.图12示出了根据本发明实施例的标准骨骼点坐标库骨骼点形成的标准向量与实时采集向量的对比;
52.图13和图14分别示出了根据本发明实施例的标准骨骼点坐标库骨骼点形成的标准向量间的夹角与实时采集向量间的夹角;
53.图15示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
54.图16示意性示出本公开示例性实施例中一种电子设备示意图。
具体实施方式
55.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
56.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所述的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处
理器装置和/或微控制器装置中实现这些功能实体。
57.首先参见图1,图1示出了根据本发明实施例的直播健身方法的流程图。
58.图1共示出6个步骤:
59.步骤s11:通过教练端设备采集教练的教练健身视频,并将所述教练健身视频实时转发至多个学员端设备进行播放;
60.步骤s12:通过学员端设备采集学员的学员健身视频;
61.步骤s13:基于所述教练健身视频确定当前目标动作;
62.步骤s14:基于所述学员健身视频,获取当前待测动作;
63.步骤s15:基于当前目标动作及当前待测动作进行动作识别纠错,获得对应学员健身视频的学员健身数据;以及
64.步骤s16:将多个学员端设备分别采集的多个学员健身视频的学员健身数据提供至所述教练端设备以进行显示。
65.由此,本发明提供的直播健身方法,通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身数据,教练可以直观地获得更多学员健身数据。
66.在本发明的一个具体实施例中,所述学员健身数据至少包括该学员健身视频中当前待测动作的错误类型以及该学员健身视频中当前待测动作的动作分数,所述学员健身数据以表格形式显示于所述教练端设备(如图2所示),由此,教练端设备无需显示多个学员的学员健身视频,而仅需通过文字即可向教练提供学员健身数据,教练可以同时获得的学员健身数据更多,且更为直观。本发明并非以表格形式或图2的显示布局为限制。
67.在本发明的一个具体实施例中,所述学员健身数据至少包括该学员健身视频中当前待测动作的错误类型,将多个学员端设备分别采集的多个学员健身视频的学员健身数据中,数量最多的错误类型显示至所述教练端设备。在图2的实施例中,错误类型为错误2的数量最多,因此可以通过高亮显示、放大显示、语音播放等方式告知教练数量最多的当前目标动作的错误类型,以便教练可以通过直播进行重点教学和说明。
68.在本发明的上述实施例中,直播健身方法还可以包括如下步骤:根据所述数量最多的错误类型,调取预存的对应该错误类型的纠正视频;将所述纠正视频发送至具有该错误类型的学员健身数据的学员端设备以进行播放。纠正视频例如可以是根据不同的错误类型预先录制并储存在学员端设备/云端平台,以当该错误类型最多时,便于调取和播放。该纠错视频可以悬浮在学员端设备的直播视频的角落,以避免影响直播的进行;也可以替换直播视频进行播放,以进行针对性的纠错,避免由于动作错误产生损伤。
69.在本发明的上述实施例中,所述学员健身数据还包括该学员健身视频中当前待测动作的动作分数,所述动作分数基于所述当前待测动作和所述当前目标动作之间的匹配度计算,所述直播健身方法还包括如下步骤:根据所述数量最多的错误类型,调取具有该错误类型的学员健身数据中动作分数最低的学员健身数据的学员端设备采集的学员健身视频,以供教练进行动作纠正。由此,通过教练与该分数最低的学员之间的互动,以使得参与直播的人员更有参与感,更贴近健身房团课的体验。在本实施例中,在调取学员端设备的视频之前,优选地,提供询问选项,仅当学员同意转发其视频时,再进行调取。在本实施例中,为了剔除由于不在学员端设备进行运动的学员,所述动作分数最低还可以设置分数下限,也就
是说,仅调取动作分数大于分数下限,且在该错误类型中动作分数最低的学员的学员健身视频。分数下限例如可以设置为0分、5分、10分等,本发明并非以此为限制。
70.在本发明的上述实施例中,还可以包括如下步骤:自所述教练健身视频中抠图获取教练的身体影像,自所调取的学员健身视频中抠图获取学员的身体影像,将学员的身体影像叠加到所述教练健身视频中,并在所述教练端设备播放,将教练的身体影像叠加到所调取的学员健身视频中,并在具有该错误类型的学员健身数据的学员端设备以进行播放。具体可以参见图3和图4,自所述教练6的教练健身视频中抠图获取教练6的身体影像,自所调取的学员健身视频中抠图获取学员7的身体影像,将自所调取的学员健身视频中抠图获取的学员7的身体影像叠加到所述教练6的视频数据中,并在教练6的教练端设备的显示屏1中播放;将所述教练6的身体影像叠加到学员7的视频数据中,并在学员7的学员端设备的显示屏4(此处所述的学员端设备的显示屏4可以是所有具有该错误类型的学员端设备的显示屏4)中播放。由此,对于学员和教练来说,都可以有直观的纠错体验,皆抠图和叠加方式计算量较小,利于直播场景中使用。
71.在本发明的上述实施例中,所述将教练的身体影像叠加到所调取的学员健身视频中之后,还可以包括如下步骤:确定教练的身体影像与学员的身体影像之间的重叠位置;将所述重叠位置映射至学员的穿戴设备的目标位置,所述穿戴设备包括多个触觉传感器;使得位于学员的穿戴设备的目标位置的触觉传感器向学员提供触觉信号。触觉信号例如可以是微弱的电流信号,也可以是其它模仿触觉的物理信号。由此,通过更进一步贴近现实中的健身体验。
72.根据本发明的另一方面,还提供一种直播健身系统,参见图3。直播健身系统可以包括教练端设备(包括采集装置2和显示装置1,采集装置2和显示装置1可以是独立的装置也可以集成在一起)、学员端设备(包括采集装置5和显示装置4,采集装置5和显示装置4可以是独立的装置也可以集成在一起)、转发模块、确定模块、第一获取模块、第二获取模块以及发送模块(转发模块、确定模块、第一获取模块、第二获取模块以及发送模块例如可以集成在云端服务器3中,也可以部分集成在教练端设备和学员端设备中,本发明并非以此为限制)。
73.教练端设备的采集装置2用于采集教练的教练健身视频,显示装置1用于显示如图2所示的界面(仅仅是示意性地)。学员端设备的采集装置5用于采集学员的学员健身视频,显示装置4用于显示教练健身视频。转发模块用于将所述教练健身视频实时转发至多个学员端设备进行播放。确定模块用于基于所述教练健身视频确定当前目标动作。第一获取模块用于基于所述学员健身视频,获取当前待测动作。第二获取模块用于基于当前目标动作及当前待测动作进行动作识别纠错,获得对应学员健身视频的学员健身数据。发送模块用于将多个学员端设备分别采集的多个学员健身视频的学员健身数据提供至所述教练端设备以进行显示。
74.由此,本发明提供的直播健身系统,通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身数据,教练可以直观地获得更多学员健身数据。
75.参见图5,图5示出了根据本发明实施例的动作识别纠错的流程图。图5共示出5个步骤:
76.首先是步骤s110:确定目标动作,所述目标动作至少包括一个目标动作阶段,每个目标动作阶段拆分为多个目标部位动作,所述目标部位动作包括按身体部位划分5个身体部位动作及至少一个随机部位动作。
77.在一些具体实施例中,可以通过显示健身视频来确定目标动作。具体而言,所述健身视频包括多个目标动作,每个所述目标动作与所述健身视频的播放时间关联。在另一些实施例中,用户可以直接选定目标动作。
78.具体而言,在本案中,对每个人体设定有15个骨骼点(可参见图6),该15个骨骼点为:头部中心211、颈部中心(例如脖子的脊柱中心)212、躯干中心213(例如躯干的脊柱中心)、左肩关节点221、左手肘关节点222、左手腕关节点223、右肩关节点231、右手肘关节点232、右手腕关节点233、左髋关节点241、左膝盖关节点242、左脚踝关节点243、右髋关节点251、右膝盖关节点252、右脚踝关节点253。
79.本案中对这15个骨骼点以3个骨骼点为单位,划分成五个身体部分:躯干(见图7)、左臂(见图8)、右臂(见图9)、左腿(见图10)及右腿(见图11)。其中,各身体部位内的骨骼点之间还形成向量,向量之间还形成夹角。
80.具体而言,躯干(见图7)包括头部中心211、脖子的脊柱中心212、躯干的脊柱中心213、头部中心211至脖子的脊柱中心212形成的第一向量214、脖子的脊柱中心212至躯干的脊柱中心213形成的第二向量215、头部中心211至躯干的脊柱中心213形成的第三向量216以及该第一向量214和该第二向量215形成的夹角217。
81.左臂(见图8)包括左手腕关节点223、左手肘关节点222、左肩关节点221、左肩关节点221至左手肘关节点222形成的第一向量224、左手肘关节点222至左手腕关节点223形成的第二向量225、左肩关节点221至左手腕关节点223形成的第三向量226以及该第一向量224和该第二向量225之间的夹角227。
82.右臂(见图9)包括右手腕关节点233、右手肘关节点232、右肩关节点231、右肩关节点231至右手肘关节点232形成的第一向量234、右手肘关节点232至右手腕关节点233形成的第二向量235、右肩关节点231至右手腕关节点233形成的第三向量236以及该第一向量234和该第二向量235之间的夹角237。
83.左腿包括(见图10)包括左脚踝关节点243、左膝盖关节点242、左髋关节点241、左髋关节点241至左膝盖关节点242形成的第一向量244、左膝盖关节点242至左脚踝关节点243形成的第二向量245、左髋关节点241至左脚踝关节点243形成的第三向量246以及该第一向量244和该第二向量245之间的夹角247。
84.右腿包括(见图11)包括右脚踝关节点253、右膝盖关节点252、右髋关节点251、右髋关节点251至右膝盖关节点252形成的第一向量254、右膝盖关节点252至右脚踝关节点253形成的第二向量255、右髋关节点251至右脚踝关节点253形成的第三向量256以及该第一向量254和该第二向量255之间的夹角。
85.设定较少的具有代表性的关节点作为骨骼点,以在动作识别和纠错时减少计算量。
86.将该目标动作按拆解成五个身体部位:左臂、右臂、左腿、右腿以及躯干。每个身体部位均包括如图7至图11所示的三个骨骼点、三个骨骼点形成的三个向量及所述三个向量中两个向量之间的夹角。
87.为了增加动作识别的灵活性,目标动作还可以包括至少一个随机部位动作,随机部位由所述身体部位中的选定的至少两个骨骼点构成,如图2中选定骨骼点212和骨骼点223,并通过骨骼点212和骨骼点223来形成随机部位。随机部位并非以此为限,任至少两个骨骼点都可以形成随机部位,由此,在五个身体部位的基础上,可以实现更多维度的动作识别。
88.所述随机部位动作至少对应一个或多个面向过程的识别项,每个识别项包括识别对象、识别参数、识别规则及标准骨骼点坐标库。对应所述面向过程的识别项中,所述识别对象包括所述随机部位的至少两个骨骼点形成的向量。所述识别参数包括设定的向量阈值。所述识别规则包括,运动过程中所述随机部位的至少两个骨骼点形成的向量(识别对象)与标准骨骼点坐标库中的对应标准坐标形成的标准向量之间的相似度需大于等于设定的向量阈值(识别参数),若所述随机部位的至少两个骨骼点形成的向量(识别对象)与标准骨骼点坐标库中的对应标准坐标形成的标准向量之间的相似度小于设定的向量阈值(识别参数),则进行报错(所报的错误可预先作为识别参数储存)。
89.在一个具体实施例中,通过如下步骤来对所述随机部位动作的向量与标准骨骼点坐标库中的对应标准坐标形成的标准向量进行匹配计算以与所述识别参数设定的向量阈值进行比较:
90.计算标准骨骼点坐标库中的对应标准坐标形成的标准向量与随机部位动作的向量之间夹角θ的余弦值:
[0091][0092]
向量与向量之间的夹角θ的余弦值用于与所述识别参数设定的向量阈值进行比较。例如,当骨骼点212和骨骼点223形成随机部位时,向量与向量分别为实时采集的骨骼点212和骨骼点223形成的向量,及标准骨骼点坐标库中骨骼点212和骨骼点223形成的向量。
[0093]
进一步地,在本发明中,可以实时采集二维视频数据或三维视频数据,依据设备所配备的摄像头的功能而定。若实时采集的二维视频数据生成二维骨骼动作模型,而标准骨骼点坐标库中的坐标可以是三维坐标,对此,在进行上述匹配计算之前还包括判断标准骨骼点坐标库中的对应标准坐标是否为二维坐标的步骤。若是,则将所述随机部位动作的向量与标准骨骼点坐标库中的对应标准坐标形成的标准向量进行匹配计算。若否,则将标准骨骼点坐标库中的对应标准坐标转换为二维坐标,以与所述随机部位动作的向量进行匹配计算。
[0094]
在一个具体实施例中,对于所述随机部位动作对应的面向过程的识别项,所述识别参数还可以包括一起始幅度阈值及达成幅度阈值,所述起始幅度阈值用于判断待测部位动作是否开始;所述达成幅度阈值用于判断待测部位动作结束是否完成达成幅度。具体而言,所述的起始幅度和所述的达成幅度是基于动作时间轴上所处的位置而言的。具体实现时,可以用帧数来判断起始幅度和达成幅度。例如:假设一个动作在标准骨骼点坐标库中有
20帧的数据,假定设置的起始幅度阈值为0.2,达成幅度阈值为0.8.那么当用户的实际动作的随机部位动作跟标准骨骼点坐标库第0~4(即20*0.2)帧之间任意一帧数据匹配度最高(在前述向量阈值范围内)的时候,认定动作开始。当用户动作已经开始,并且运动过程中随机部位动作没有跟标准骨骼点坐标库匹配失败,一旦用户的动作的随机部位动作跟标准骨骼点坐标库中第16(即20*0.8)~20帧之间任意一帧数据匹配度最高(在前述向量阈值范围内),则认定动作达成。以上仅仅是示意性地描述本发明的实现,本发明并非以此为限。
[0095]
在一个具体实施例中,所述随机部位动作还对应一个或多个面向距离的识别项。对于所述面向距离的识别项,所述识别对象包括所述随机部位的至少两个骨骼点之间的距离。所述识别参数设定距离阈值。所述识别规则包括待测部位动作的所述识别对象在运动过程中始终大于等于位于所述识别参数设定的距离阈值范围。由此来进行距离识别和否定距离识别,在距离识别中,当待测部位动作的所述识别对象在运动过程中始终大于等于所述识别参数设定的距离阈值,则动作达成;且当待测部位动作的所述识别对象在运动过程中小于所述识别参数设定的距离阈值,则进行报错。在否定距离识别中,当待测部位动作的所述识别对象在运动过程中任意时刻大于等于所述识别参数设定的距离阈值,则进行报错。
[0096]
以上仅仅是示意性地描述了本发明中随机部位动作识别纠错的实施方式,本发明并非以此为限。下面将描述本发明中身体部位动作的识别纠错的实施例方式。
[0097]
至少一个身体部位动作对应一个或多个面向过程或者面向位移的识别项。每个识别项包括识别对象、识别参数及识别规则,所述识别对象包括部位动作所述三个骨骼点中的至少一个骨骼点;三个向量中的至少一个向量;以及所述三个向量中两个向量之间的一个夹角中的一项或多项。
[0098]
面向过程的识别项需通过一标准骨骼点坐标库与实时采集的向量进行匹配进而判断是否符合识别项。标准骨骼点坐标库以一采样频率按时间顺序储存有所述部位动作的至少一个骨骼点的坐标。例如,对于俯卧撑的左腿动作,以5次/秒的采样频率按时间顺序至少储存左臂的骨骼点221、222及223的坐标,由此可以获知骨骼点221、222及223形成的第一向量224、第二向量225(和夹角227)。
[0099]
具体而言,面向过程的所述识别项包括轨迹识别、否定轨迹识别及保持识别;面向位移的所述识别项包括位移识别以及否定位移识别。
[0100]
轨迹识别用于识别该部位动作是否按照预定轨迹运动,若未按照预定轨迹运动,则提示出错。其识别对象包括所述三个向量中的至少一个向量和/或所述三个向量中两个向量之间的一个夹角。对应于识别对象,识别参数设定一个或多个阈值。阈值包括所述三个向量的向量阈值及所述夹角的夹角阈值,所述识别参数依据所述识别对象确定采用向量阈值和/或夹角阈值。
[0101]
具体而言,上述向量阈值及夹角阈值用于判断实时采集的向量(及夹角)是否与该标准骨骼点坐标库中的标准骨骼点形成的标准向量(及标准向量之间夹角)相匹配。例如,可参考图12,对于向量阈值,当实时采集一身体部位动作的骨骼点222至骨骼点293的向量按时间在标准骨骼点坐标库中查找到对应时间的对应骨骼点222至骨骼点223,形成向量计算标准骨骼点坐标库中的向量
与实时采集的身体部位动作的向量之间夹角θ的余弦值:
[0102][0103]
向量与向量之间的夹角θ的余弦值(余弦值为-1到1)用于与所述识别参数设定的向量阈值进行比较。向量阈值可以设置为0.8,对应的向量与向量之间的夹角θ的余弦值大于等于0.8时,即可认为该两个向量匹配。可依据该向量阈值与所计算的余弦值进行比较以确定向量值与所计算的余弦值进行比较以确定向量是否在该向量阈值范围内。
[0104]
例如,在设置夹角阈值的实施例中,所述标准骨骼点坐标库按时间顺序至少储存有标准骨骼点,并可由标准骨骼点形成的标准向量及标准向量之间夹角。所述身体部位动作的第一向量及第二向量,可以依据两个向量计算向量之间的夹角或者直接将该夹角储存在标准骨骼点坐标库中。参考图13及图14,夹角阈值用于与实时采集的部位动作的(骨骼点292至骨骼点291)的第一向量294和(骨骼点292至骨骼点293)的第二向量295之间的夹角297α与标准骨骼点坐标库中对应时间的(骨骼点222至骨骼点221)的第一向量224和(骨骼点222至骨骼点223)的第二向量225之间的夹角227β的比值α/β比较以确定实时采集的部位动作的夹角是否位于所述夹角阈值的范围内。向量阈值可以设置为0.8,对应的向量阈值为0.8至1。向量阈值的范围也可以直接设置为0.8至1。可依据该夹角阈值与所计算的夹角比值进行比较以确定第一向量和第二向量之间的夹角是否在该向量阈值范围内。
[0105]
进一步地,轨迹识别的识别参数还包括一起始幅度阈值及达成幅度阈值,起始幅度阈值用于判断部位动作是否开始,达成幅度阈值用于判断部位动作结束是否完成达成幅度。具体而言,所述的起始幅度和所述的达成幅度是基于动作时间轴上所处的位置而言的。具体实现时,可以用帧数来判断起始幅度和达成幅度。例如:假设一个动作在标准骨骼点坐标库中有20帧的数据,假定设置的起始幅度阈值为0.2,达成幅度阈值为0.8.那么当用户的实际动作跟标准骨骼点坐标库第0~4(即20*0.2)帧之间任意一帧数据匹配度最高(在前述向量阈值范围内)的时候,认定动作开始。当用户动作已经开始,并且运动过程中没有跟标准骨骼点坐标库匹配失败,一旦用户的动作跟标准骨骼点坐标库中第16(即20*0.8)~20帧之间任意一帧数据匹配度最高(在前述向量阈值范围内),则认定动作达成。以上仅仅是示意性地描述本发明的实现,本发明并非以此为限。
[0106]
对应于上述设定的识别对象和识别参数,轨迹识别的识别规则包括达成规则及可选不同的错误规则。轨迹识别的达成规则为该部位动作的识别对象起始于起始幅度阈值所表示的位置且识别对象均在所设定的向量阈值和/或夹角阈值内;该部位动作的识别对象从起始幅度阈值所表示的位置到达成幅度阈值所表示的位置的过程中,识别对象均在所设定的向量阈值和/或夹角阈值内;并且该部位动作的识别对象到达达成幅度阈值所表示的位置且识别对象均在所设定的向量阈值和/或夹角阈值内。轨迹识别的不同的错误规则包括:超出对应向量阈值错误(例如,向量一所表示的大臂或大腿超出阈值);超出对应夹角阈值错误(例如,夹角所表示的手肘处的夹角或膝盖处的夹角超出阈值);及幅度不够错误。幅度不够错误的识别规则为该部位动作的识别对象起始于起始幅度阈值所表示的位置且识
别对象均在所设定的向量阈值和/或夹角阈值内;该部位动作的识别对象从起始幅度阈值所表示的位置到达成幅度阈值所表示的位置的过程中,识别对象均在所设定的向量阈值和/或夹角阈值内;并且该部位动作的识别对象未到达达成幅度阈值所表示的位置且识别对象均在所设定的向量阈值和/或夹角阈值内。
[0107]
否定轨迹识别用于识别该部位动作是否按照预定轨迹运动,若按照预定轨迹运动,则提示出错。对于否定轨迹识别,其与轨迹识别类似,识别对象包括所述三个向量中的至少一个向量和/或所述三个向量中两个向量之间的一个夹角(优选地,为第一向量和第二向量之间的夹角)。否定轨迹识别的识别参数设定一个或多个阈值,所述阈值包括所述三个向量的向量阈值及所述夹角的夹角阈值,所述识别参数依据所述识别对象确定采用向量阈值和/或夹角阈值。否定轨迹识别与轨迹识别不同的是,否定轨迹识别达成规则为:该部位动作的识别对象起始于起始幅度阈值所表示的位置且识别对象均在所设定的向量阈值和/或夹角阈值内;该部位动作的识别对象从起始幅度阈值所表示的位置到达成幅度阈值所表示的位置的过程中,识别对象均在所设定的向量阈值和/或夹角阈值内;该部位动作的识别对象到达达成幅度阈值所表示的位置且识别对象均在所设定的向量阈值和/或夹角阈值内;并且当前有除了否定识别和保持识别以外的识别正处于动作进行中的状态(换言之,轨迹或位移幅度正在增长)。当达成上述规则,则提示轨迹出错。换言之,若识别对象在该身体部位的运动过程中始终不在所述识别参数设定的阈值范围内,并且所述识别对象所表示的部位动作在运动过程中产生轨迹和/或位移,则将不提示出错。
[0108]
保持识别用于识别部位动作在运动过程中是否保持在某一状态下(例如,保持直立或保持一弯曲角度),若未保持在该状态下则提示出错。保持识别的识别对象包括所述三个向量中的至少一个向量和/或所述三个向量中两个向量之间的一个夹角。识别参数设定一个或多个阈值,所述阈值包括所述三个向量的向量阈值及所述夹角的夹角阈值,识别参数依据所述识别对象确定采用向量阈值和/或夹角阈值。保持识别的达成规则为:该部位动作的识别对象始终在所设定的向量阈值和/或夹角阈值内。若未达成保持识别的达成规则,则提示对应保持识别的错误。
[0109]
对于位移识别和否定位移识别,尽管此处描述为面向位移而非面向对象的识别项,但位移识别和否定位移识别实际还需识别部位动作是否处于持续的运动状态,若部位动作并未处于持续的运动状态则中断识别,直接提示错误;或者从当前位置开始重新进行识别。
[0110]
位移识别用于判断识别对象是否达到预定的位移方向和位移距离,若未达到则提示出错。位移识别的识别对象包括三个骨骼点中的一个。优选地,指定该部位动作的一个骨骼点。识别参数设定位移距离、位移方向(位移方向可映射至二维坐标中的x轴正方向、x轴负方向、y轴正方向、y轴负方向,无需计算具体的位移方向)及起始幅度阈值。位移的起始幅度阈值为0至1中的值。例如,起始幅度阈值可以设置为0.2,并表示当指定骨骼点的位移超过设定位移距离的20%时,该部位动作开始或位移识别开始。位移识别的识别规则包括达成规则及可选不同的错误规则。位移识别的达成规则为指定骨骼点的移动方向与识别参数中设置的位移方向一致,且一次持续运动的位移距离大于等于识别参数中设置的位移距离。不同的错误规则包括指定骨骼点的位移未超过起始幅度阈值时,提示起始动作幅度不够;指定骨骼点位移幅度超过起始幅度阈值、指定骨骼点的移动方向与识别参数中设置的
位移方向一致并且一次持续运动的位移距离小于识别参数中设置的位移距离,则提示达成幅度不够。
[0111]
否定位移识别用于判断识别对象是否达到预定的位移方向和位移距离,若达到则提示出错。与位移识别类似,识别对象包括三个骨骼点中的一个。优选地,指定该部位动作的一个骨骼点。识别参数设定位移距离、位移方向(位移方向可映射至二维坐标中的x轴正方向、x轴负方向、y轴正方向、y轴负方向)及起始幅度阈值。否定位移识别的达成规则为指定骨骼点的移动方向与识别参数中设置的位移方向一致、一次持续运动的位移距离大于等于识别参数中设置的位移距离并且当前有除了否定识别和保持识别以外的识别正处于动作进行中的状态(换言之,轨迹或位移幅度正在增长)。当达成上述规则,则提示轨迹出错。换言之,若识别对象在该身体部位的运动过程中不按所述识别参数设定的位移方向移动或者移动距离大于所述识别参数设定的位移距离,则不提示出错。
[0112]
在上述各个实施例中,还可以增加难度系数,例如,对于各个动作达成条件与难度系数的乘积可作为不同难度下的动作达成条件。
[0113]
对一个动作的至少一个部位动作设置上述识别项,将至少一个部位动作及所述至少一个部位动作的识别项作为该动作的动作文件,将该动作文件与该动作编号关联地储存在所述标准动作数据库中。
[0114]
在一个具体实施例中,对于深蹲动作,其对躯干、左腿和右腿设置了识别项。躯干的识别项包括保持识别和位移识别。躯干的保持识别中,识别对象仅为头部中心到颈部的脊椎中心的第一向量,相应地设置该第一向量的参数,并保存由躯干的骨骼点在深蹲过程中的标准骨骼点坐标库以供后续匹配。当实时采集的躯干的第一向量超过第一向量的阈值,则表示身体未保持直立,提示出错。此处,由于躯干的特性,当头部中心到颈部的脊椎中心的第一向量保持直立时,一般可直接认定颈部的脊椎中心到躯干的脊柱中心的第二向量也保持直立,仅设定一个向量的阈值,以减少后续计算量,提高后续实时纠错的效率。
[0115]
躯干的位移识别中,识别对象为躯干的脊柱中心的骨骼点,对应的识别参数为该骨骼点的预定位移距离及预定的位移方向(方向为y轴负方向)。当躯干的脊柱中心沿y轴负方向移动超过预定距离时,则表示部位动作的该识别达成。若躯干的脊柱中心沿y轴负方向移动未超过预定位移距离时,则表示部位动作的幅度不够。
[0116]
左腿设置有否定位移识别,用于提醒深蹲中膝盖不能超过脚尖。左腿的否定位移识别中,识别对象为左膝盖的关节点,识别参数为预定位移距离、预定的位移方向(方向为x轴正方向)及起始幅度阈值。当左膝盖沿x轴正方向移动超过预定位移距离时,则提示表示部位动作错误。当左膝盖沿x轴正方向移动未超过预定位移距离时,则表示部位动作的该识别达成。右腿的识别项与左腿相同,在此不予赘述。
[0117]
在一些具体实施例中,对于各个动作,可划分为多个阶段。例如,对于深蹲,可以对下蹲和起身划分为两个阶段。在由于些实施例中,对于深蹲、俯卧撑等具有来回的动作,可仅对来和回中间的一个过程来进行设定和识别。例如,仅对深蹲下蹲时的动作进行识别项的设定和识别纠错;仅对俯卧撑俯卧时的动作进行识别项的设定和识别纠错,由此可进一步减少动作识别的计算量以增加纠错的实时性。
[0118]
步骤s120:按所述目标动作的目标动作阶段的时间,将所述待测动作划分为至少一个待测动作阶段,并将对应时间的目标动作阶段和待测动作阶段形成一匹配组。
[0119]
具体而言,所述待测动作以及所采集的二维视频数据或三维视频数据生成的二维骨骼动作模型或三维骨骼动作模型获得。在一个实施例中,实时采集的采样频率可与标准骨骼点坐标库中的采样频率相等,或者实时采集的采样频率可以大于标准骨骼点坐标库中的采样频率。当实时采集的采样频率可以大于标准骨骼点坐标库中的采样频率时,同一时间范围内的向量的多个数据与标准骨骼点坐标库中的骨骼点形成的向量中的一个数据进行匹配计算。
[0120]
具体而言,例如目标动作为深蹲,划分为两个目标动作阶段:蹲下和起身,蹲下时间为2秒,起身时间为2秒。按时间,对应的将待测动作划分为两个待测动作阶段:蹲下和起身。将对应蹲下的目标动作阶段和待测动作阶段形成一匹配组,将对应起身的目标动作阶段和待测动作阶段形成一匹配组。
[0121]
步骤s130:在每一匹配组中,依据目标动作阶段的目标部位动作将待测动作阶段划分为相应的待测部位动作,将待测动作阶段的待测部位动作与相应的目标动作阶段的目标部位动作形成一部位匹配组。
[0122]
例如,将待测动作阶段划分为左臂、右臂、左腿、右腿以及躯干五个待测部位动作。若目标动作阶段的左臂、右臂、躯干及一随机部位设置有识别项,则将左臂的待测部位动作与目标部位动作作为一部位匹配组;将右臂的待测部位动作与目标部位动作作为一部位匹配组;将躯干的待测部位动作与目标部位动作作为一部位匹配组;将随机部位的待测部位动作与目标部位动作作为一部位匹配组。
[0123]
步骤s140:对每一部位匹配组,至少获取目标部位动作中随机部位动作的识别项,依据所述二维骨骼动作模型获取所述待测部位动作中所选定的至少两个骨骼点形成的向量,将所述随机部位动作的向量与标准骨骼点坐标库中的对应标准坐标形成的标准向量进行匹配计算以与所述识别参数设定的向量阈值进行比较,以获得动作识别反馈。即按照上述步骤s110中所述的不同的识别项的内容进行识别和纠错。
[0124]
在一个实施例中,每个所述健身视频具有一视频文件,所述视频文件包括该健身视频中的目标动作的编号及该目标动作的播放时间,所述步骤s110还包括:当播放到所述目标动作时,于一标准动作数据库查找该目标动作的编号的目标动作文件,所述目标动作文件与所述目标动作的编号关联地储存在所述标准动作数据库中,每个所述目标动作文件包括该目标动作的目标动作阶段、目标部位动作及对应该目标部位动作的识别项。
[0125]
步骤s150:整合至少一个匹配组的动作识别反馈以获得待测动作的动作识别反馈。
[0126]
在一些具体实施例中,所述目标动作至少包括多个具有先后顺序的目标动作阶段,则在步骤s150中,当在先的目标动作阶段与对应的待测动作阶段的动作识别反馈为动作未达成时,在后的目标动作阶段与对应的待测动作阶段的动作达成的动作识别反馈无效。
[0127]
此外,本发明并非限定各步骤的执行顺序,例如,上述步骤s120和步骤s130同时执行,本领域技术人员可以实现更多的变化例,在此不予赘述。
[0128]
上述识别纠错算法运算简单,可以应对直播场景中所需的识别速度。
[0129]
相比现有技术,本发明通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身
数据,教练可以直观地获得更多学员健身数据。
[0130]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述直播健身方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述直播健身方法部分中描述的根据本发明各种示例性实施方式的步骤。
[0131]
参考图15所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品300,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0132]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0133]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0134]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++、c#等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0135]
可以以一种或多种程序设计集成开发环境(ide,integrated development environment),游戏开发引擎的任意组合来建立用于执行本发明操作的工程程序,例如unity3d,unreal,visual studio等。
[0136]
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述直播健身方法的步骤。
[0137]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完
全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0138]
下面参照图16来描述根据本发明的这种实施方式的电子设备600。图16显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0139]
如图16所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
[0140]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述直播健身方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所述的步骤。
[0141]
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(rom)6203。
[0142]
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0143]
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0144]
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0145]
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述直播健身方法。
[0146]
相比现有技术,本发明通过动作纠错识别算法将学员的学员健身视频转换为学员健身数据,在教练端设备进行显示,从而可以在教练端设备同时显示多个学员的学员健身数据,教练可以直观地获得更多学员健身数据。
[0147]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1