-
开放科学(资源服务)标识码(OSID):
-
引体向上是一项常见的体育运动项目,用于发展躯干和上肢肌肉力量,在日常生活中广泛开展。为建立和完善国家大中小学生体质健康监测评价机制,进一步激励学生积极参与体育活动,促进青少年身心健康和全面发展,教育部颁布了《国家学生体质健康标准(2014年修订)》,将引体向上项目列入大中学生每年级男生必测内容,并给出了此项目的动作标准和测试操作方法[1]。测试过程如下:受测者在杠下双手正握杠,从直臂悬垂静止状态开始,向上做引体拉至下颌超过杠面,然后再回到直臂悬垂状态,记录为1次有效的引体向上次数,否则为无效引体向上次数[2-3]。然而,在当前引体向上的测试过程中,依靠同伴、教师、教练员以及裁判员的人工计数方法容易出现主观和视觉偏差,特别是当受测人数众多和长时间计数时,容易在计数过程和最终成绩评定中出错,从而引发争议,因此对人工计数的需求量和精准度提出了更高的要求。
传统的数字图像处理和动作识别技术在引体向上项目测试的自动计数中存在一些难以识别和判断不准确的情况,例如单杠背景的不统一和杠面对头部运动的遮挡造成的识别误差。此外,测试环境的多样性也将导致传统图像处理方法在引体向上计数中容易出现偏差[4-5]。随着卷积神经网络(Convolutional Neural Networks,CNN)的快速发展,极大提高了目标检测和分类任务的准确性[6]。王诚[7]提出了一种基于CNN的引体向上计数方法,该方法通过追踪受测者引体向上全过程的骨骼关键点位置变化信息,解决了常见违规引体向上动作的检测精度问题。包梓群[8]针对深度学习技术在仰卧起坐测试领域实时性较差的问题,提出了一种改进目标检测网络的仰卧起坐测试计数算法。YOLO(You Only Look Once)作为单阶段目标检测算法的代表,与多阶段目标检测算法相比,最大的优点是运行速度快,检测精度高[9-11]。特别是YOLO检测算法的快速发展,开发了大量利用高清图像数据和基于YOLO检测算法进行人体骨骼关键点识别的技术和方法。因此,探索YOLO检测算法和传统图像处理相结合的引体向上计数方法是解决现存问题的最佳方案。
全文HTML
-
引体向上计数系统应具备以下功能:
1) 具有精准的引体向上计数功能,能自动登载引体向上受测者每次标准引体向上动作,并排除不规范的无效次数,确保最终成绩准确无误。通过序列化、多阶段的卷积神经网络结构来学习表达图像的空间信息和纹理特征,同时为解决网络过深时的梯度消失问题,在网络的各阶段都使用了监督训练学习。改进后的卷积位姿机网络用于受测者引体向上过程中骨骼关键点的位置定位,在保证检测准确性的同时兼具实时性。
2) 记录受测者的基本信息,并自动完整保存其完成有效和无效的引体向上次数。根据设置能够快速筛选任何受测者的测试数据,包括有效完成次数、无效次数、全程测试视频以及个人基本信息。
-
引体向上计数系统的整体架构如图 1所示,包括数据采集模块、引体向上检测模块、数据显示模块、数据存储模块和查找打印模块5个部分。图 2展示了引体向上计数系统的硬件组成,包括系统主机、数据显示器以及视觉采集系统,具备便携性强、数据采集与显示一体化等特点,其中系统用精密齿轮采用数控万能磨齿机(YW7232CNC)进行精密加工。
-
引体向上计数方法基于人体骨骼关键点检测技术[12],通过对肩关节、肘关节和腕关节等关键点的提取,计算出引体向上的动作角度θ[13],即肩关节与肘关节的连线(上臂)和肘关节与腕关节的连线(前臂)之间的夹角。设定肩关节、肘关节和腕关节的关键点分别为A(x1,y1)、B(x2,y2)和C(x3,y3),通过关键点坐标来计算动作角度:
引体向上技术动作如图 3所示,从动作角度θ≥160°开始(直臂悬垂状态),系统会根据下颌关键点过杠时的θ大小判断是否计数。如果在随后动作中θ≤90°,则计1次数(被认定为1个合格的引体向上动作),否则不计数,直至动作结束。统计1 min内受测者所做的引体向上个数,并输出计数结果。这种引体向上计数方法可以准确地记录受测者的引体向上次数,为健身、运动训练和比赛提供了一种有效的技术手段[14-15]。基于骨骼关键点检测的引体向上计数方法流程如图 4所示。
1.1. 需求分析
1.2. 系统架构设计
1.3. 计数方法逻辑流程
-
早期的骨骼关键点检测主要基于几何先验的模式匹配,但人体姿态的多样性使其效果不佳。随着相关技术的不断更新,基于二维人体骨骼关键点预测的方法在各行各业得到应用,其中自上向下的方法先识别个体再进行关键点检测,适合少量个体;而自下向上的方法先检测所有关键点再聚类,处理大量个体时更高效。YOLOv7-Pose是基于YOLOv7[16]扩展的一种用于姿态估计的学习方法,它结合了目标检测和关键点检测的优点,通过多任务学习来优化这2项任务的性能,同时提高了处理速度与检测质量。YOLOv7-Pose在YOLOv7的基础上增加了关键点检测头,主要包含骨干网络、检测头、关键点检测头3个部分。骨干网络用于提取图像的特征,常用的骨干网络是CSPDarknet;检测头能预测目标的边界框、类别和置信度;关键点检测头可以预测人体骨骼关键点的坐标。
YOLOv7-Pose的总损失函数由3部分组成:边界框损失、分类损失和关键点损失。假设有N个目标,每个目标有K个关键点,则总损失函数L可以表示为:
式中:Lbbox、Lcls、Lkpt分别为边界框损失、分类损失和关键点损失。
边界框损失由位置损失和尺寸损失组成,使用CIoU(Complete Intersection over Union)函数作为度量标准:
式中:bi和
$ \hat{b}_i$ 分别为第i个目标的真实边界框和预测边界框。分类损失用于度量预测类别与真实类别之间的差异,通常使用交叉熵损失表示:
式中:yi,c为第i个目标的真实类别标签;pi,c为预测的类别概率。
关键点损失用于度量预测关键点坐标与真实关键点坐标之间的差异,通常使用均方误差表示:
式中:
$ \left(x_{i, k}, y_{i, k}\right) \text { 和 }\left(\hat{x}_{i, k}, \hat{y}_{i, k}\right)$ 分别为第i个目标的第k个关键点的真实坐标和预测坐标。通过上述方法,YOLOv7-Pose能够高效地进行目标检测和人体姿态估计,适用于各种需要实时性能和高精度姿态估计的应用场景。
-
卷积位姿机是一种多阶段、序列化的卷积神经网络,其特点是专注于提取图像中的空间信息和纹理特征[17-18]。该网络借助部位响应图来呈现人体各部位间的空间约束关系,并通过传递阶段响应图和特征图实现数据交换。在学习过程中,骨骼关键点的初始空间分布对卷积位姿机网络的学习起到引导作用,早期预测结果会影响网络后续的学习进程。为防止梯度消失问题,网络采用了多阶段重复监督机制。此外,随着网络阶段数增加,其覆盖范围逐渐扩大,并且使用较大的卷积核,以保证在人体部位被遮挡的情况下,依然能保持较高的检测精度[19]。通过这些方法,卷积位姿机网络有效提升了人体姿态估计的准确性与鲁棒性。
卷积位姿机网络的算法流程如图 5所示。在第1阶段,输入图像经函数处理后得到输出b1,之后进入下一阶段。在后续各阶段,运用不同函数对图像作进一步处理并输出。
使用
$ Y_p \in Z \subset \mathbf{R}^2$ 表示第p个解剖地标的像素位置,其中Z是图像中所有(u,v)位置的集合,目标为预测所有的图像位置Y=(Y1,…,Yp)。在每个阶段t(t∈{1,…,T})中,分类器gt根据图像中以Xz∈Rd表示的位置z处提取的特征,以及前一个分类器在阶段t中为每个Yp附近提供的上下文信息,预测每个部件分配到位置$ z(\forall z \in Z)$ 的置信度,计算公式如下:式中:b1p(Yp=z)为分类器g1在第1阶段对图像位置z的第p个部件的预测得分。
用btp∈Rw×h表示图像中每个位置z=(u,v)T上评估的第p个部件的所有置信度,计算公式如下:
为方便起见,将所有部件的置信映射集合表示为bt∈Rw×h×(P+1)(部件P加上一个背景部分)。
在随后各阶段中,分类器会根据图像数据xzt∈Rd的特征,以及式(7)中每个周围邻域里来自前一个分类器的上下文信息,预测每个部件分配位置的置信度,计算公式如下:
式中:ψt>1(·)是置信bt-1与上下文特征的映射。在每个阶段中,计算出的置信都会对每个部件的位置提供更加精确地估计。需要注意的是,允许后续各阶段的图像特征xz′与第1阶段使用的图像特征不同。
本研究针对单人体训场景中摄像头采集到的较大人体目标,对原始卷积位姿机网络进行了优化。原始网络在引体向上动作的骨骼关键点识别方面表现良好,但在普通个人电脑上运行时,检测速度无法满足实时性要求。因此,本研究提出的改进算法主要采取了2项改进措施:①将原来的6阶段网络架构简化为4阶段,这样显著降低了网络的迭代次数、参数量以及模型的大小。②引入跳跃连接来增强各阶段之间的数据共享。原网络的每个阶段只利用直接相连上一阶段的输出和直接从原始图像中提取的特征作为输入,引入跳跃连接后,网络能够保留更多原始图像的底层细节,并在处理高层次特征时利用这些细节信息,这样提高了网络的表达能力[20]。改进的结构如图 6所示(其中w和h分别为图像的宽度和高度),利用深度卷积架构取代位姿机的预测和图像特征计算模块,从而直接从数据中学习图像和上下文特征的表征。卷积架构还具有完全可微分的优势,因此可以对位姿机的所有阶段进行端到端的联合训练。
-
本研究首先通过检测系统确定人体骨骼关键点的坐标位置,然后利用这些坐标来描述人体的动作姿态。经过优化后的模型能够对视频和图像进行实时检测,满足实时性要求[21-22]。其中,识别的准确性和效率是对人体骨骼关键点目标检测的重要评价指标,因此选择平均精度、平均精度均值、计数准确率,以及模型的帧率、参数量(Params)作为目标检测算法的评价指标。
1) 平均精度AP(Average Precision)[23]。基于对象关键点相似度(Object Keypoint Similarity,OKS)给出单人姿态估计AP的计算公式,这是一种用于衡量关键点检测准确性的特定指标。OKS提供了一种标准化方法对预测关键点与真实关键点进行比较,同时考虑尺度、未标记关键点和注释中的模糊性等因素。AP的计算公式为:
式中:oks为关键点相识度数值;p为ground truth中的某个人;δ为将可见点选出进行计算的函数;T为给定的阈值。
2) 平均精度均值mAP(Mean Average Precision)[24]。平均精度均值作为一种常见的评估指标,其计算过程包括先计算出所有关键点的AP,再对其求均值。mAP的计算公式为:
式中:N为关键点个数。mAP0.5是指当IoU为0.5时的mAP;mAP0.5∶0.95是指当IoU阈值从0.5增加到0.95时,以0.05为步长上的mAP。
3) 计数准确率CA(Count Accuracy)。计数准确率用于衡量实际测得的引体向上数量与真实的引体向上数量之间的差异。CA的计算公式为:
式中:TrueNum为真实的引体向上数量;TestNum为实际测得的引体向上数量。
2.1. 检测方法
2.2. 算法模型
2.3. 评价指标
-
为验证引体向上计数方法在实际应用中的表现,招募了不同年级的学生参与现场测试实验。测试对象包括初中一年级男生7人、高中一年级男生6人,以及本科一年级男生7人。在测试中,将学生的引体向上完成次数分为2类:遵循引体向上规则的标准完成次数和犯规的无效完成次数。常见的犯规无效完成次数分为3种情况:①靠身体积极摆动的引体向上;②下颌未过杠面的引体向上;③身体下落时未恢复直臂悬垂状态就开始下次引体向上。出现其中1种或多种情况都视为犯规并判定为无效次数。同时在现场测试时有3名具有专业资质和丰富经验的裁判对现场测试结果进行判定,然后将裁判判定的次数结果与本研究提出的引体向上计数方法检测结果进行比较。通过测试结果的比较,可以评估本研究提出的引体向上计数方法在实际应用场景中的准确性和可靠性,也可验证该方法对不同年龄阶段和不同身体状态下的受测者的适用性,并为后续引体向上计数方法的改进提供实际数据支持。引体向上现场测试情况如图 7所示。
-
基于模型可靠性评价指标,对比了改进前后网络各参数的变化情况,如表 1所示。改进后的网络在参数量上大幅减少,从144.5 M降低至34.1 M,显著优化了模型的复杂度。同时,帧率从35.5 fps提升至61.0 fps,表现出更快的处理速度和更高的效率。尽管准确率略有下降,但整体性能仍然保持较高水平。改进后的网络在保持一定准确率的同时,提升了处理速度并降低了模型复杂度,为实际应用提供了更好的使用效果。
-
本研究测试结果和网络训练效率与现有文献中的方法进行对比,如表 2所示。由表 2可知,本研究在算法成本更低、自构建的小数据集上,得到了更高准确率的测试结果,能够达到预期检测目的。
检测实验与人工裁判判定结果如表 3所示。由表 3可知,本研究所开发的引体向上计数方法能成功解决计数规则中裁判主观判断无效次数的3种犯规情况,即“身体积极摆动上拉” “在2次有效引体向上动作之间未恢复直臂悬垂状态”和“上拉过程中下颌未过杠面”。针对不同年级学生进行的145次有效引体向上测试中,尽管室外环境可能引起干扰,但计数错误成绩仅发生2次,使得整体计数准确率达到98.62%,证明了本研究提出的引体向上计数方法能够确保系统检测结果的准确性,并满足现场测试所需的实时性要求。同时,由表 3中人工裁判判定结果数据可知,受测者在完成引体向上时,身体姿势的规范性和恢复直立状态的速度对评判结果影响较大,不同人工裁判对同一测试结果的评判存在细微差异,体现了评判的主观性。此外,计数系统的记录与人工裁判评判结果存在一定差异,可能是技术因素以及人工裁判的主观性所致。
引体向上计数系统在动作要领纠正、主要参与肌群显示以及强化力量训练等方面也能得到直观地体现,特别是图片、视频回放功能以及数据分析系统,在引体向上测试中发挥重要的作用。该系统提高了录入成绩的效率,减少了成绩出错的几率,并能直观地查看各个年龄阶段受测者的引体向上图片、视频和次数曲线,分析个人成绩某个阶段的变化情况,纵向比较各个阶段动作质量的区别。从测试数据中发现,引体向上次数并未随年龄的增长而增加,但随着年龄的增长技术动作越来越规范。
-
首先,重视学生上肢力量素质发展的敏感期,特别是中小学阶段的上肢力量发展,为以后身体素质的提升打下良好的基础,可适当组织相关的身体素质训练和比赛,让更多的学生参与到体育锻炼中。其次,学校要进一步培养学生良好的健康生活习惯,包括科学的饮食习惯、积极的锻炼习惯、规律的睡眠习惯、良好的心态习惯等,减少超重和肥胖学生的比例。最后,进一步宣传和讲解引体向上的理论知识和训练方法,积极开展引体向上专题讲座,充分利用校园广播、学校公众号和自媒体平台扩大宣传范围,学生熟悉引体向上的理论知识并掌握训练的方法与技巧之后,就能更快更好地提高肌肉力量。
3.1. 测试实验
3.2. 结果与分析
3.2.1. 改进前后系统性能分析
3.2.2. 改进后系统测试准确率分析
3.2.3. 运动建议
-
1) 提出了一种基于YOLO检测算法的引体向上计数方法及系统,旨在解决传统人工计数方法的主观性和效率问题。该方法对人体骨骼关键点进行检测,通过改进卷积位姿机网络结构、引入跳跃连接等技术手段,使引体向上检测准确率达到98.62%,提高了关键点定位的准确性和效率。
2) 改进后的网络在参数量上大幅减少,从144.5 M降低至34.1 M,显著优化了模型复杂度。同时,帧率从35.5 fps提升至61.0 fps,表现出更快的处理速度和更高的效率。
3) 该系统结合人体骨骼关键点的追踪和违规动作检测,实现了实时检测功能,同时具备数据采集、显示、存储和查找等功能,为体育考试提供了高效、客观的计数工具。