引体向上测评方法、装置、电子设备及存储介质与流程

文档序号:33399601发布日期:2023-03-08 15:44阅读:63来源:国知局
引体向上测评方法、装置、电子设备及存储介质与流程

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.在所述待测视频流中上一帧所处的状态为向下状态的情况下,基于所述当前帧的人员骨骼点位置信息确定所述当前帧的人员手臂角度,并基于所述人员手臂角度小于预设角度值的手臂弯曲次数确定所述当前帧所处的状态。
27.根据本发明提供的一种引体向上测评方法,所述基于所述待测视频流中各帧的引体向上位移,进行引体向上测评,包括:
28.基于所述各帧的所述单杠位置信息与所述人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和/或所述各帧的所述人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定所述各帧所处的区域类型;
29.基于所处区域类型为上临界区域的各帧的引体向上位移,确定所述引体向上位移的极高值拐点对应的拐点帧;
30.基于所处区域类型为下临界区域的各帧的引体向上位移,确定所述引体向上位移的极低值拐点对应的拐点帧;
31.基于所述拐点帧,进行引体向上计数。
32.本发明还提供一种引体向上测评装置,包括:
33.获取单元,用于获取待测视频流;
34.状态确定单元,用于基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种;
35.位移确定单元,用于在所述当前帧所处的状态为向上状态或向下状态的情况下,
基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移;
36.测评单元,用于基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
37.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述引体向上测评方法。
38.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述引体向上测评方法。
39.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述引体向上测评方法。
40.本发明提供的引体向上测评方法、装置、电子设备及存储介质,基于待测视频流中各帧的单杠位置信息和人员骨骼点位置信息,可以确定待测视频流中各帧的引体向上位移,由于引体向上位移是相对于单杠位置信息和人员骨骼点位置信息而言的,因此针对引体向上位移的计算无需标定单杠位置信息和人员骨骼点位置信息,简化了引体向上测评的前期准备流程;基于待测视频流中各帧的引体向上位移,进行引体向上测评,此过程不需要依赖各类传感器组成的测试仪,从而降低了引体向上测评的成本,并且不需要额外安装很多配套设备,提高了引体向上测评的便捷性。
附图说明
41.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本发明提供的引体向上测评方法的流程示意图;
43.图2是本发明提供的单杠检测模型的训练步骤的流程示意图;
44.图3是本发明提供的特征提取层的结构示意图;
45.图4是本发明提供的通道注意力模块的结构示意图;
46.图5是本发明提供的空间注意力模块的结构示意图;
47.图6是本发明提供的规则检测模型的结构示意图;
48.图7是本发明提供的引体向上测评方法中步骤140的流程示意图;
49.图8是本发明提供的引体向上测评装置的结构示意图;
50.图9是本发明提供的电子设备的结构示意图。
具体实施方式
51.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对
象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类。
53.相关技术中,引体向上的自动化测评方法多依赖各类传感器组成的测试仪,测试仪的配套设备较多,构造复杂,成本较高,安装复杂,移动不便。例如,进行引体向上测评时,压力传感器需设置在被测人员的肘部内侧,较为不便。对此,本发明实施例对引体向上的测评方法进行了改进。
54.本发明提供一种引体向上测评方法,图1是本发明提供的引体向上测评方法的流程示意图,如图1所示,该方法包括:
55.步骤110,获取待测视频流。
56.具体地,待测视频流即需要进行引体向上测评的视频流,可以是实时录制得到的。引体向上测评可以是对被测人员的引体向上的正反握进行测评,也可以是对被测人员的引体向上的动作是否合规进行测评,还可以是对被测人员进行引体向上计数,本发明实施例对此不作具体限定。
57.步骤120,基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种。
58.具体地,在获取到待测视频流之后,可以基于待测视频流中当前帧的人员骨骼点位置信息,确定当前帧所处的状态。此处的待测视频流中当前帧是指待测视频流中最新的一帧,此处的人员骨骼点位置信息可以反映当前帧这一帧图像中包含的被测人员的人体姿态信息,可以包括被测人员的手部骨骼点位置,也可以包括被测人员的头部骨骼点位置,还可以包括被测人员的肩部骨骼点位置,本发明实施例对此不作具体限定。
59.当前帧所处的状态是指当前帧中的被测人员在引体向上过程中所处的状态,可以是准备状态,也可以是向上状态,还可以是向下状态。此处的准备状态可以是被测人员的双手正握横杠,双手与肩同宽,手臂完全伸直,身体垂悬静止和人体正对摄像头,准备状态可以理解为一个静态的状态;此处的向上状态可以是被测人员的整体状态为从下往上做引体向上;此处的向下状态可以是被测人员的整体状态为从上往下做引体向上,向上状态和向下状态可以理解为一个动态的状态。
60.步骤130,在所述当前帧所处的状态为向上状态或向下状态的情况下,基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移。
61.具体地,在当前帧所处的状态为向上状态或向下状态的情况下,即,当前帧指示被测人员当前处于引体向上的动态状态下时,可以基于当前帧的单杠位置信息和人员骨骼点位置信息,确定当前帧的引体向上位移。此处,当前帧的单杠位置信息是指当前帧中的单杠的位置信息,可以包括单杠的横杠位置信息,也可以包括单杠的左右支柱的位置信息。当前帧的单杠位置信息可以是基于单杠检测模型得到的,例如,可以将待测视频流中当前帧输入单杠检测模型中,得到单杠检测模型输出的当前帧的单杠位置信息,可以理解的是,此处的单杠检测模型即可以将单杠视为检测目标的图像目标检测模型。
62.此处,可以基于当前帧的单杠位置信息和人员骨骼点位置信息的相对位置信息,从而确定当前帧的引体向上位移,引体向上位移是指当前帧中的被测人员的参考骨骼点至单杠中横杠的垂直距离。例如,可以将被测人员头顶的骨骼点作为参考骨骼点。
63.此处的当前帧的引体向上位移是指在当前帧所处的状态为向上状态或向下状态的情况下,被测人员在引体向上过程中产生的位移,例如参考骨骼点高于横杠时,引体向上位移为正,参考骨骼点低于横杠时,引体向上位移为负,本发明实施例对此不作具体限定。
64.步骤140,基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
65.具体地,在确定当前帧以及待测视频流中当前帧之前各帧的引体向上位移之后,可以基于待测视频流中各帧的引体向上位移,进行引体向上测评。
66.例如,可以将待测视频流中各帧的引体向上位移与预设阈值进行比较,确定出引体向上位移中的极高值拐点和极低值拐点,从而进行引体向上计数,还可以确定出极高值拐点和极低值拐点分别对应的待测视频流中的拐点帧,并将极高值拐点和极低值拐点分别对应的待测视频流中的拐点帧输入至规则检测模型中,进行在极高值、极低值处的引体向上动作规范检测。
67.本发明实施例提供的方法,基于待测视频流中各帧的单杠位置信息和人员骨骼点位置信息,可以确定待测视频流中各帧的引体向上位移,由于引体向上位移是相对于单杠位置信息和人员骨骼点位置信息而言的,因此针对引体向上位移的计算无需标定单杠位置信息和人员骨骼点位置信息,简化了引体向上测评的前期准备流程;基于待测视频流中各帧的引体向上位移,进行引体向上测评,此过程不需要依赖各类传感器组成的测试仪,从而降低了引体向上测评的成本,并且不需要额外安装很多配套设备,提高了引体向上测评的便捷性。
68.基于上述实施例,此处的引体向上运动位移可以是基于如下步骤确定的:
69.可以基于骨骼点网络确定出当前帧、当前帧的上一帧以及当前帧的上上一帧对应的左肩骨骼点坐标left_shoulderi,右肩骨骼点坐标right_shoulderi以及下颌骨骼点坐标chini,其中i为帧数。
70.每一帧根据上述三个骨骼点坐标得到一个参考骨骼点坐标,公式如下:
[0071][0072]
其中,h
avg_i
是参考骨骼点坐标,left_shoulderi[0]是骨骼点网络输出的左肩骨骼点的x轴坐标,right_shoulderi[0]骨骼点网络输出的右肩骨骼点的x轴坐标,chini[0]是骨骼点网络输出的下颌骨骼点的x轴坐标,left_shoulderi[1]是骨骼点网络输出的左肩骨骼点的y轴坐标,right_shoulderi[1]是骨骼点网络输出的右肩骨骼点的y轴坐标,chini[1]是骨骼点网络输出的下颌骨骼点的y轴坐标。
[0073]
再基于单杠位置信息中的横杠的最左点坐标bar_p1以及横杠的最右点坐标bar_p2,再计算引体向上运动位移,引体向上运动位移的公式如下:
[0074][0075]
其中,h
avg_i
是参考骨骼点坐标,h(i)是引体向上运动位移,bar_p1是横杠的最左点坐标,bar_p2是横杠的最右点坐标,||bar_p
2-bar_p1||2是求bar_p1与bar_p2的第二范数。
[0076]
基于上述实施例,所述当前帧的单杠位置信息基于如下步骤确定:
[0077]
将所述当前帧输入至单杠检测模型,得到所述单杠检测模型输出的所述当前帧的单杠位置信息;
[0078]
所述单杠检测模型是以人员位置处于单杠位置内为约束条件,基于第一样本图像,以及所述第一样本图像的单杠位置标签、人员位置标签进行训练得到的。
[0079]
具体地,传统的单杠检测模型,例如yolox模型等在训练时只检测了单杠位置,在引体向上的场景下,由于待测视频流中的各帧图像中,被测人员都是处于单杠框内的,所以,单杠检测模型在训练时,不仅需要检测单杠位置和人员位置,还要限制人员位置处于单杠位置内,可以将被测人员是否处单杠框内作为损失函数中的一部分,一并进行单杠检测模型的训练。
[0080]
单杠检测模型可以是以人员位置处于单杠位置内为约束条件,基于第一样本图像,以及第一样本图像的单杠位置标签、人员位置标签进行训练得到的。此处的第一样本图像是包括单杠和被测人员的样本图像,可以是通过图像采集设备预先采集得到的,也可以是实时拍摄得到的。
[0081]
将待测视频流中当前帧输入至单杠检测模型,可以得到单杠检测模型输出的当前帧的单杠位置信息。
[0082]
基于上述实施例,应用的单杠检测模型是在引体向上这个特殊场景下的,并且单杠检测模型是以人员位置处于单杠位置内为约束条件,将单杠位置和人员位置之间的关联性进行了考虑,因此,能进一步提高单杠检测的结果准确率。
[0083]
基于上述实施例,图2是本发明提供的单杠检测模型的训练步骤的流程示意图,如图2所示,所述单杠检测模型基于如下步骤训练得到:
[0084]
步骤210,获取初始检测模型;
[0085]
步骤220,将所述第一样本图像输入所述初始检测模型,得到所述初始检测模型输出的所述第一样本图像的单杠检测结果和人员检测结果;
[0086]
步骤230,基于所述单杠检测结果和所述单杠位置标签、所述人员检测结果和所述人员位置标签,确定第一损失;
[0087]
基于所述人员检测结果中的人员位置是否处于所述单杠检测结果中的单杠位置,确定第二损失;
[0088]
步骤240,基于所述第一损失和所述第二损失,对所述初始检测模型进行参数迭代,得到所述单杠检测模型。
[0089]
具体地,为了实现更好地提升单杠检测模型的检测效果,本发明实施例设置了初始检测模型,此处的初始检测模型的参数可以是随机生成的,也可以是预先设置的。
[0090]
在获取到初始检测模型之后,可以将第一样本图像输入初始检测模型,得到初始检测模型输出的第一样本图像的单杠检测结果和人员检测结果。此处的单杠检测结果反映了检测结果中是否包括单杠的信息,并且在检测结果中包括单杠的情况下,检测结果中还包括了单杠的位置信息。
[0091]
然后,可以基于单杠检测结果和单杠位置标签、人员检测结果和人员位置标签,确定第一损失,此处的第一损失用于反映单杠检测结果和单杠位置标签、人员检测结果和人员位置标签的差异程度。可以理解的是,第一损失越大,单杠检测结果和单杠位置标签、人员检测结果和人员位置标签的差异程度越大,第一损失越小,单杠检测结果和单杠位置标签、人员检测结果和人员位置标签的差异程度越小。
[0092]
此处,第一损失的公式如下:
[0093]
l
ori
=λ1l
iou
+λ2l
cls
+λ3l
obj
[0094]
其中,l
ori
为第一损失,l
iou
为目标框回归损失函数,l
cls
为分类损失函数,l
obj
为目标损失函数,λ1、λ2、λ3为权重系数。其中,目标框回归损失函数用于反映检测得到的单杠位置与实际的位置标签之间的误差,分类损失函数用于反映检测得到的目标类别是否为单杠的误差,目标损失函数用于反映是否检测得到单杠的误差。
[0095]
可以理解的是,第一损失的计算方式与相关技术中的单杠检测模型的损失函数的计算方式是类似的。
[0096]
同时,也可以基于人员检测结果中的人员位置是否处于单杠检测结果中的单杠位置,确定第二损失,此处的第二损失用于反映人员检测结果中的人员位置是否处于单杠检测结果中的单杠位置。
[0097]
此处,第二损失的公式如下:
[0098][0099]
其中,loc_person为人体框坐标框,loc_bar为杠框,表示人体框坐标框在杠框内,表示人体框坐标框不在杠框内,l
person
为第二损失。
[0100]
可以理解的是,在人体框坐标框不在杠框内的情况下,会产生第二损失。
[0101]
最后,可以基于第一损失和第二损失,对初始检测模型进行参数迭代,得到单杠检测模型。
[0102]
其中,可以基于第一损失和第二损失得到总损失,总损失的公式如下:
[0103]
l
new
=λ1l
iou
+λ2l
cls
+λ3l
obj
+λ4l
person
[0104]
其中,l
new
为总损失,l
iou
为目标框回归损失函数,l
cls
为分类损失函数,l
obj
为目标损失函数,l
person
为第二损失,λ1、λ2、λ3、λ4为权重系数。
[0105]
基于上述实施例,所述单杠检测模型包括特征提取层,所述特征提取层用于提取图像特征以供所述单杠检测模型进行单杠位置检测。图3是本发明提供的特征提取层的结构示意图,如图3所示。
[0106]
具体地,单杠检测模型的模型结构可以是各类目标检测模型中的一个,例如,yolox模型、faster r-cnn模型、ssd(single shot multibox detector)模型等,本发明实施例对此不作具体限定。
[0107]
可以理解的是,为了实现单杠位置检测,单杠检测模型需要通过特征提取层提取图像特征,此处的特征提取层可以是一个或者多个,多个特征提取层之间可以是级联的,也可以是并行的,本发明实施例对此不作具体限定。
[0108]
基于上述实施例,图4是本发明提供的通道注意力模块的结构示意图,图5是本发明提供的空间注意力模块的结构示意图,如图4、图5所示,所述特征提取层包括通道注意力模块和空间注意力模块,所述通道注意力模块的输入为所述特征提取层的输入,所述通道注意力模块的输出为所述空间注意力模块的输入,所述特征提取层的输入、所述通道注意力模块的输出和所述空间注意力模块的输出融合后作为所述特征提取层的输出。
[0109]
具体地,传统的cbam(convolutional block attention module)模型中包括通道
注意力模块(channel attention)和空间注意力模块(spatial attention),其中,传统的cbam模型中通道注意力模块通过残差结构延长到空间注意力模块之前。
[0110]
此处的特征提取层可以包括通道注意力模块和空间注意力模块,其中,通道注意力模块的输入为特征提取层的输入,通道注意力模块的输出为空间注意力模块的输入,特征提取层的输入、通道注意力模块的输出和空间注意力模块的输出融合后作为特征提取层的输出。
[0111]
相较于传统的cbam模型,此处的特征提取层中,将通道注意力模块通过残差结构延长到空间注意力模块之后,使得空间注意力模块的输出可以涵盖通道注意力模块中的信息,进一步丰富了特征提取层提取所得特征的信息,有助于提高模型检测的可靠性。此处的通道注意力模块可以包括池化层、卷积层、融合层和激活层。此处的池化层可以是最大池化层,也可以是平均池化层。此处的卷积层可以使用深层全卷积网络,也可以使用全卷积网络,此处的激活层可以使用sigmoid激活函数,也可以使用softmax激活函数,还可以使用relu激活函数,本发明实施例对此不作具体限定。此处的空间注意力模块可以包括池化层、卷积层和激活层。此处的池化层可以是最大池化层,也可以是平均池化层。此处的卷积层可以使用深层全卷积网络,也可以使用全卷积网络,此处的激活层可以使用sigmoid激活函数,也可以使用softmax激活函数,还可以使用relu激活函数,本发明实施例对此不作具体限定。
[0112]
例如,假设输入特征图为f=rc×h×w,通过特征提取层依次推导出一维通道注意图mc∈rc×1×1和二维空间注意图ms∈r1×h×w,具体过程如下:
[0113]
f'=mc(f)
[0114][0115][0116]
其中
[0117][0118]
其中,f为输入的特征图,f'为通道注意力模块输出的特征图,ms(f')为空间注意力模块输出的特征图,f”为空间注意力模块输出的特征图与通道注意力模块输出的特征图进行加权融合得到的特征图,f”'为特征提取层的输出结果,σ为sigmoid函数,avgpool为平均池化层,maxpool为最大池化层,w0∈r
c/r
×c,w1∈rc×
c/r
,f1×1为1
×
1大小的卷积核,f7×7为7
×
7的卷积核。
[0119]
此外,单杠检测模型可以是efficientv2网络(efficientnet v2)的形式,用于提高单杠检测模型的检测效率。
[0120]
基于上述实施例,单杠检测模型的提取特征层包括通道注意力模块和空间注意力模块,相较于传统的通道注意力模块和空间注意力模块的连接方式,更好地提高了特征提
取的准确率。
[0121]
基于上述实施例,图6是本发明提供的规则检测模型的结构示意图,如图6所示,步骤120包括:
[0122]
在所述当前帧的正反握检测结果为正握的情况下,基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态;
[0123]
所述正反握检测结果是由规则检测模型基于所述当前帧和所述当前帧的手部位置信息进行检测得到的,所述手部位置信息是基于所述当前帧的人员骨骼点位置信息确定的。
[0124]
具体地,正反握检测结果是由规则检测模型基于当前帧和当前帧的手部位置信息进行检测得到的,例如,可以先提取当前帧的人员骨骼点位置信息,基于当前帧的骨骼点位置信息可以确定当前帧的手部位置信息,然后,可以将当前帧和当前帧的手部位置信息一起输入到规则检测模型中进行检测,或者也可以基于当前帧的手部位置信息,截取当前帧中的手部图像输入规则检测模型中进行检测,从而得到正反握检测结果,本发明实施例对此不作具体限定。此处,正反握检测结果可以是正握,也可以是反握。
[0125]
此处的正反握检测结果可以是通过规则检测模型中的正反握分类网络得到的,此处的正反握分类网络包括卷积层、瓶颈层(bottleneck)和池化层,此处的卷积层可以使用深层全卷积网络(deep-convnet),也可以使用全卷积网络(fully convolutional networks,fcn),此处的池化层可以是平均池化层,也可以是最大池化层,本发明实施例对此不作具体限定。
[0126]
此处的手部位置信息是基于当前帧的人员骨骼点位置信息确定的,此处的人员骨骼点位置信息可以是基于骨骼点检测网络得到的,例如,可以将待测视频流中当前帧输入骨骼点检测网络中,得到骨骼点网络输出的人员骨骼点位置信息。此处,手部位置信息可以使用roi align提取,提取手部位置信息的公式如下:
[0127][0128]
hand_center=(midfinger_pt[0],(wrist_pt[1]+palm_pt[1])/2-width/5)
[0129]
其中,width为手部矩形框的大小,hand_center为手部位置信息中的手部中心点位置,right_ear_pt[0]为骨骼点检测网络输出的右耳点x轴坐标,right_ear_pt[1]为骨骼点检测网络输出的右耳点y轴坐标,left_ear_pt[0]为骨骼点检测网络输出的左耳点x轴坐标,left_ear_pt[1]为骨骼点检测网络输出的左耳点y轴坐标,midfinger_pt[0]为骨骼点检测网络输出的中指尖x轴坐标,wrist_pt[1]为骨骼点检测网络输出的手腕点y轴坐标,palm_pt[1]为骨骼点检测网络输出的掌中指y轴坐标。
[0130]
在当前帧的正反握检测结果为正握的情况下,可以基于待测视频流中当前帧的人员骨骼点位置信息,确定当前帧所处的状态,此处的当前帧所处的状态可以是准备状态,也可以是向上状态,还可以是向下状态,本发明实施例对此不作具体限定。可以理解的是,正反握检测是引体向上测评中的重要环节,如果检测到被测人员的手部反握,则证明被测人员违规,无需执行后续的检测。
[0131]
本发明实施例提供的方法,仅在当前帧的正反握检测结果为正握的情况下,确定当前帧所处的状态,节约了大量的计算资源,从而提高了引体向上测评的效率。
[0132]
基于上述实施例,所述基于所述待测视频流中当前帧的人员骨骼点位置信息,确
定所述当前帧所处的状态,包括:
[0133]
在所述待测视频流中上一帧所处的状态为向上状态、且所述当前帧的人员骨骼点位置信息中的头顶点坐标在所述单杠位置信息中的横杠坐标处的情况下,记录头顶过杠次数,并基于所述头顶过杠次数确定所述当前帧所处的状态。
[0134]
具体地,可以基于待测视频流中上一帧的人员骨骼点位置信息,确定待测视频流中上一帧所处的状态,此处的待测视频流中上一帧是指待测视频流中当前帧的上一个帧。
[0135]
在待测视频流中上一帧所处的状态为向上状态、并且当前帧的人员骨骼点位置信息中的头顶点坐标在单杠位置信息中的横杠坐标出的情况下,记录头顶过杠次数。此处的头顶点坐标是指被测人员的头部的顶点的骨骼点坐标,横杠坐标可以包括单杠横杠上每个像素点的坐标。
[0136]
在得到头顶过杠次数后,可以基于头顶过杠次数确定当前帧所处的状态,此处的当前帧所处的状态可以是向上状态,也可以是向下状态。
[0137]
可以理解的是,在头顶过杠次数为0的情况下,当前帧中的被测人员的头顶还未经过单杠的横杠。在头顶过杠次数为1的情况下,当前帧中的被测人员的头顶首次经过单杠的横杠,之后被测人员将继续向上做引体向上。在头顶过杠次数为2的情况下,当前帧中的被测人员的头顶第二次经过单杠的横杠,之后被测人员将继续向下做引体向上。
[0138]
在所述待测视频流中上一帧所处的状态为向下状态的情况下,基于所述当前帧的人员骨骼点位置信息确定所述当前帧的人员手臂角度,并基于所述人员手臂角度小于预设角度值的手臂弯曲次数确定所述当前帧所处的状态。
[0139]
具体地,在待测视频流中上一帧所处的状态为向下状态的情况下,基于当前帧的人员骨骼点位置信息确定当前帧的人员手臂角度,此处的人员手臂角度是指人员的肩膀、手肘和手腕三个骨骼点位置信息间的夹角,此处的人员的肩膀、手肘和手腕的骨骼点位置信息可以是基于人员骨骼点位置信息确定的,其中,人员骨骼点位置信息是基于骨骼点检测网络得到的。
[0140]
此时,可以计算人员手臂角度小于预设角度值的手臂弯曲次数,此处的预设角度值可以是90度,也可以是80度,还可以是100度,本发明实施例对此不作具体限定。
[0141]
在得到人员手臂角度小于预设角度值的手臂弯曲次数后,可以基于人员手臂角度小于预设角度值的手臂弯曲次数确定当前帧所处的状态,并在手臂弯曲次数为2的情况下,确定当前帧所处的状态为向上状态。
[0142]
本发明实施例提供的方法,通过计算头顶过杠次数以及人员手臂角度小于预设角度值的手臂弯曲次数,准确地确定出当前帧所处的状态,从而进行引体向上测评,无需依赖多类传感器组成的测试仪,成本较低,降低了引体向上测评的成本,同时,也提高了引体向上测评的便捷性。
[0143]
基于上述实施例,图7是本发明提供的引体向上测评方法中步骤140的流程示意图,如图7所示,步骤140包括:
[0144]
步骤141,基于所述各帧的所述单杠位置信息与所述人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和/或所述各帧的所述人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定所述各帧所处的区域类型;
[0145]
步骤142,基于所处区域类型为上临界区域的各帧的引体向上位移,确定所述引体向上位移的极高值拐点对应的拐点帧;
[0146]
步骤143,基于所处区域类型为下临界区域的各帧的引体向上位移,确定所述引体向上位移的极低值拐点对应的拐点帧;
[0147]
步骤144,基于所述拐点帧,进行引体向上计数。
[0148]
具体地,可以基于各帧的单杠位置信息与人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和/或各帧的人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定各帧所处的区域类型。此处的区域类型可以包括上临界区域和下临界区域,各帧所处的区域类型是指各帧所处的区域属于上临界区域还是下临界区域。
[0149]
即,可以基于各帧的单杠位置信息与人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和各帧的人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定各帧所处的区域类型;也可以基于各帧的单杠位置信息与人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,确定各帧所处的区域类型;还可以基于各帧的人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定各帧所处的区域类型,本发明实施例对此不作具体限定。
[0150]
例如,可以将人员骨骼点位置信息中的头顶骨骼点位置信息在单杠位置信息的上方的各帧所处的区域类型作为上临界区域。可以将人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的角度大于90
°
的各帧所处的区域类型作为下临界区域,本发明实施例对此不作具体限定。
[0151]
在确定各帧所处的区域类型后,可以基于区域类型为上临界区域的各帧的引体向上位移,确定引体向上位移的极高值拐点对应的拐点帧。此处的引体向上位移的极高值拐点是指区域类型为上临界区域的各帧的头顶骨骼点位置最高的点。
[0152]
在确定各帧所处的区域类型后,可以基于所处区域类型为下临界区域的各帧的引体向上位移,确定引体向上位移的极低值拐点对应的拐点帧。此处的引体向上位移的极低值拐点是指区域类型为下临界区域的各帧的人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的角度最大的点。
[0153]
此处的拐点帧是指引体向上位移的极高值拐点和极低值拐点分别对应的待测视频流中的帧,在得到拐点帧之后,就可以进行引体向上计数。例如,可以当极高值拐点帧中人员下颌骨骼点位置过单杠中的横杆位置时,同时上一次极低值拐点帧中人员满足手臂角度垂悬(首次为准备动作达标),且与上一次合规极高值拐点帧之间的时间(首次为准备动作达标时间)在10秒内,则引体向上计数加一次。
[0154]
此外,还可以将引体向上位移的极高值拐点和极低值拐点对应的拐点帧输入规则检测模型中进行合规动作检测,并输出合规动作检测结果,此处的合规动作检测结果包括合规动作和不合规动作两种。此处的合规动作包括高处下颌过杆、高处下颌不过杆、低处手臂垂悬和低处手臂未垂悬四种。此处的高处下颌过杠是指当前帧所处的状态为向上状态的情况下,人员的引体向上位移大于极高值拐点到单杠的横杠的位移,此处的高处下颌不过杆是指当前帧所处的状态为向上状态的情况下,人员的引体向上位移小于极高值拐点到单
杠的横杠的位移,此处的低处手臂垂悬是指当前帧所处的状态为向下状态的情况下,手臂完全伸直,身体垂悬静止,此处的低处手臂未垂悬是指当前帧所处的状态为向下状态的情况下,手臂未完全伸直,身体未垂悬静止。此处的不合规动作是指除合规动作之外的检测结果。
[0155]
此外,除合规动作检测之外,还有其他违规项检测,例如,在当前帧所处的状态为准备状态时,被测人员双手未与肩同宽,即
[0156][0157]
其他违规项检测结果为不合规;在当前帧所处的状态为准备状态时,被测人员背对摄像头,即左肩骨骼点x坐标小于或等于右肩骨骼点坐标,其他违规项检测结果为不合规;在当前帧所处的状态为准备状态时,被测人员身体未垂悬静止,即相邻两帧中归一化后的骨骼点相似度小于或等于0.99,其他违规项检测结果为不合规。
[0158]
本发明实施例提供的方法,基于拐点帧,进行引体向上计数,相较于人工计数和各类传感器组成的测试仪更加方便快捷,并且没有误差,进一步提高了引体向上测评的准确性。
[0159]
基于上述任一实施例,一种引体向上测评方法,包括如下步骤:
[0160]
首先,可以获取待测视频流,再基于待测视频流中当前帧的人员骨骼点位置信息,确定当前帧所处的状态,此处的状态可以为准备状态、向上状态和向下状态中的任意一种。
[0161]
在当前帧所处的状态为向上状态或向下状态的情况下,可以基于当前帧的单杠位置信息和人员骨骼点位置信息,确定当前帧的引体向上位移。然后,基于待测视频流中各帧的引体向上位移,进行引体向上测评。
[0162]
此处的单杠位置信息可以是基于如下步骤确定:将当前帧输入至单杠检测模型,得到单杠检测模型输出的当前帧的单杠位置信息,此处的单杠检测模型是以人员位置处于单杠位置内为约束条件,基于第一样本图像,以及第一样本图像的单杠位置标签、人员位置标签进行训练得到的。
[0163]
此处的单杠检测模型具体可以是基于如下步骤训练得到:首先,可以获取初始检测模型,然后将第一样本图像输入初始检测模型,得到初始检测模型输出的第一样本图像的单杠检测结果和人员检测结果。再可以基于单杠检测结果和单杠位置标签、人员检测结果和人员位置标签,确定第一损失;可以基于人员检测结果中的人员位置是否处于单杠检测结果中的单杠位置,确定第二损失;再可以基于第一损失和第二损失,对初始检测模型进行参数迭代,得到单杠检测模型。
[0164]
此处的单杠检测模型包括特征提取层,此处的特征提取层用于提取图像特征以供单杠检测模型进行单杠位置检测。其中,特征提取层包括通道注意力模块和空间注意力模块,通道注意力模块的输入为特征提取层的输入,通道注意力模块的输出为空间注意力模块的输入,特征提取层的输入、通道注意力模块的输出和空间注意力模块的输出融合后作为特征提取层的输出。
[0165]
此外,单杠检测模型可以是efficientv2网络的形式,用于提高单杠检测模型的检测效率。
[0166]
其中,在当前帧的正反握检测结果为正握的情况下,可以基于待测视频流中当前
帧的人员骨骼点位置信息,确定当前帧所处的状态,其中,正反握检测结果是由规则检测模型基于当前帧和当前帧的手部位置信息进行检测得到的,此处的手部位置信息是基于当前帧的人员骨骼点位置信息确定的。
[0167]
其中,当前帧所处的状态是基于如下步骤确定的:在待测视频流中上一帧所处的状态为向上状态、且当前帧的人员骨骼点位置信息中的头顶点坐标在单杠位置信息中的横杠坐标处的情况下,记录头顶过杠次数,并基于所述头顶过杠次数确定当前帧所处的状态;
[0168]
在待测视频流中上一帧所处的状态为向下状态的情况下,基于当前帧的人员骨骼点位置信息确定当前帧的人员手臂角度,基于人员手臂角度小于预设角度值的手臂弯曲次数,并基于所述人员手臂角度小于预设角度值的手臂弯曲次数确定所述当前帧所处的状态。
[0169]
然后,可以基于各帧的单杠位置信息与人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和/或各帧的人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定各帧所处的区域类型;
[0170]
可以基于所处区域类型为上临界区域的各帧的引体向上位移,确定引体向上位移的极高值拐点对应的拐点帧;
[0171]
可以基于所处区域类型为下临界区域的各帧的引体向上位移,确定引体向上位移的极低值拐点对应的拐点帧;
[0172]
最后,可以基于拐点帧,进行引体向上计数。
[0173]
下面对本发明提供的引体向上测评装置进行描述,下文描述的引体向上测评装置与上文描述的引体向上测评方法可相互对应参照。
[0174]
基于上述任一实施例,图8是本发明提供的引体向上测评装置的结构示意图,如图8所示,该装置包括:
[0175]
获取单元810,用于获取待测视频流;
[0176]
状态确定单元820,用于基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种;
[0177]
位移确定单元830,用于在所述当前帧所处的状态为向上状态或向下状态的情况下,基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移;
[0178]
测评单元840,用于基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
[0179]
本发明实施例提供的装置,基于待测视频流中各帧的单杠位置信息和人员骨骼点位置信息,可以确定待测视频流中各帧的引体向上位移,由于引体向上位移是相对于单杠位置信息和人员骨骼点位置信息而言的,因此针对引体向上位移的计算无需标定单杠位置信息和人员骨骼点位置信息,简化了引体向上测评的前期准备流程;基于待测视频流中各帧的引体向上位移,进行引体向上测评,此过程不需要依赖各类传感器组成的测试仪,从而降低了引体向上测评的成本,并且不需要额外安装很多配套设备,提高了引体向上测评的便捷性。
[0180]
基于上述任一实施例,所述当前帧的单杠位置信息基于如下步骤确定:
[0181]
将所述当前帧输入至单杠检测模型,得到所述单杠检测模型输出的所述当前帧的
单杠位置信息;
[0182]
所述单杠检测模型是以人员位置处于单杠位置内为约束条件,基于第一样本图像,以及所述第一样本图像的单杠位置标签、人员位置标签进行训练得到的。
[0183]
基于上述任一实施例,所述单杠检测模型基于如下步骤训练得到:
[0184]
获取初始检测模型;
[0185]
将所述第一样本图像输入所述初始检测模型,得到所述初始检测模型输出的所述第一样本图像的单杠检测结果和人员检测结果;
[0186]
基于所述单杠检测结果和所述单杠位置标签、所述人员检测结果和所述人员位置标签,确定第一损失;
[0187]
基于所述人员检测结果中的人员位置是否处于所述单杠检测结果中的单杠位置,确定第二损失;
[0188]
基于所述第一损失和所述第二损失,对所述初始检测模型进行参数迭代,得到所述单杠检测模型。
[0189]
基于上述任一实施例,所述单杠检测模型包括特征提取层,所述特征提取层用于提取图像特征以供所述单杠检测模型进行单杠位置检测;
[0190]
所述特征提取层包括通道注意力模块和空间注意力模块,所述通道注意力模块的输入为所述特征提取层的输入,所述通道注意力模块的输出为所述空间注意力模块的输入,所述特征提取层的输入、所述通道注意力模块的输出和所述空间注意力模块的输出融合后作为所述特征提取层的输出。
[0191]
基于上述任一实施例,状态确定单元包括:
[0192]
在所述当前帧的正反握检测结果为正握的情况下,基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态;
[0193]
所述正反握检测结果是由规则检测模型基于所述当前帧和所述当前帧的手部位置信息进行检测得到的,所述手部位置信息是基于所述当前帧的人员骨骼点位置信息确定的。
[0194]
基于上述任一实施例,状态确定单元具体用于:
[0195]
在所述待测视频流中上一帧所处的状态为向上状态、且所述当前帧的人员骨骼点位置信息中的头顶点坐标在所述单杠位置信息中的横杠坐标处的情况下,记录头顶过杠次数,并基于所述头顶过杠次数确定所述当前帧所处的状态;
[0196]
在所述待测视频流中上一帧所处的状态为向下状态的情况下,基于所述当前帧的人员骨骼点位置信息确定所述当前帧的人员手臂角度,并基于所述人员手臂角度小于预设角度值的手臂弯曲次数确定所述当前帧所处的状态。
[0197]
基于上述任一实施例,测评单元具体包括:
[0198]
基于所述各帧的所述单杠位置信息与所述人员骨骼点位置信息中的头顶骨骼点位置信息之间的相对位置信息,和/或所述各帧的所述人员骨骼点位置信息中的肩部骨骼点、手肘骨骼点以及手腕骨骼点之间的相对位置信息,确定所述各帧所处的区域类型;
[0199]
基于所处区域类型为上临界区域的各帧的引体向上位移,确定所述引体向上位移的极高值拐点对应的拐点帧;
[0200]
基于所处区域类型为下临界区域的各帧的引体向上位移,确定所述引体向上位移
的极低值拐点对应的拐点帧;
[0201]
基于所述拐点帧,进行引体向上计数。
[0202]
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(communications interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行引体向上测评方法,该方法包括:获取待测视频流;基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种;在所述当前帧所处的状态为向上状态或向下状态的情况下,基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移;基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
[0203]
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0204]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的引体向上测评方法,该方法包括:获取待测视频流;基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种;在所述当前帧所处的状态为向上状态或向下状态的情况下,基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移;基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
[0205]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的引体向上测评方法,该方法包括:获取待测视频流;基于所述待测视频流中当前帧的人员骨骼点位置信息,确定所述当前帧所处的状态,所述状态为准备状态、向上状态和向下状态中的任意一种;在所述当前帧所处的状态为向上状态或向下状态的情况下,基于所述当前帧的单杠位置信息和人员骨骼点位置信息,确定所述当前帧的引体向上位移;基于所述待测视频流中各帧的引体向上位移,进行引体向上测评。
[0206]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0207]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0208]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1