GoPose 人工智能运动分析对线上体育教学实施研究启示
2023-02-26袁鹏杜雨杉杨家华刘琪
袁鹏 杜雨杉 杨家华 刘琪
(1.江西师范大学体育学院 江西 南昌 330013 ;2.华东交通大学信息工程学院 江西 南昌 330013)
1、引言
随着“互联网+”走向大众视野,中国大学MOOC 课、国家精品课程等网上教学课程促使大学生的上课方式产生了变化并更便利,现在很多学校通过“互联网+”实现了线上线下结合模式,大大提高体育教学的趣味性、丰富性、专业性,形成良好的互补,提高了体育教学的教学效果。但网上课程教学对体育方面的资源少且不全,同时线上体育课的实践课又与理论课不同,会受到很多条件的限制,如场地、器械、运动项目的差异等因素,导致线上体育课实践开展较为困难。同时,在专业的体育训练过程中,运动姿势的规范性极为重要,学生体育运动姿势不标准、不规范,不仅会让学生们达不到练习效果,还可能对身体关节、肌肉造成伤害,所以在训练过程中需要老师现场进行指导和监督。但目前高校一个班级的师生比约为1:30,进行线上教学时,由于时间的限制,教师很难对每一位同学进行及时地指导。同时,一些细微的错误动作,也不能通过肉眼观察出来。由此可知,线上教学给体育课程的教学思路带来了巨大的挑战。
针对体育课线上教学出现的上述问题,本文提出了一种基于机器视觉的精准捕捉动作轨迹的计算方法,并开发成应用软件。该软件可以很好地辅助体育专业线上动作指导,提高体育专业课程的线上教学效果。本软件以OpenPose 算法为基础,通过对运动视频进行分析处理,捕捉和识别人体运动,并对关节角度、位移速度等数据进行测量和计算,使教师和学生能够快速获得需要的运动学数据,体育教师可以根据这些数据来分析学生的运动姿势,从而矫正学生的错误动作,实现线上一对一监督,有效提高了监督效率。
相较于平日的肉眼观察以及传统的手动对各个关节点进行设置所花费的时间长,动作不准确等缺点,本软件具有较高的便利性和准确性,可以利用机器视觉自动识别关节点并计算关节角度,使得导出的数据具有较高的准确性和真实性,并且大大降低人力成本,提高分析效率。在未来,随着功能技术的不断完善,它也将广泛应用于学校的线上体育教学以及专业的体育训练和比赛过程中,为更多专业体育工作者提供便利。
2、基于GoPose 人工智能运动分析软件设计概述
2.1、本软件的组成部分
GoPose 人工智能运动分析软件由数据库、服务端和前端组成。数据库充当整个软件的中央枢纽,负责数据的传递。服务端从数据库中获取数据,在处理一些逻辑问题后,将数据交接给前端。服务端提供前端获取数据的接口,处理数据库,并提供一部分程序逻辑。前端负责显示数据,包括登录和注册界面,是用户所能接触到的应用层面,负责将数据返回给服务端。
2.2、本软件的编写环境
软件环境:python7.3、OpenPose;
编程语言:python。
2.3、OpenPose 算法
OpenPose 是一种能够支持单人和多人情况下进行二维人体姿态估计的算法,包含腰、腿和颈等多个人体部位。其次,该算法是自下向上的,即先检测整个完整图像中人体所有的关键点,再连接所有关键点。OpenPose 的工作原理是将输入的图像分为多个子区域,并对每个子区域利用卷积神经网络进行特征提取,然后使用图像模型将提取的特征映射到关键点位置。OpenPose能够迅速地识别图像中单人和多人的二维姿态,并通过深度学习检测图像中人体的关键点位置,不依靠图像的局部特征完成人物目标检测。即便是在图像噪声较大的环境下,它也能正确提取相应的关键点位置。然后利用建模重构的方法对检测到的关键点位置进行姿态特征的提取,具有高精度和实时性特点,在视频处理和人机交互等领域具有广泛的应用前景。
(1)置信度算法。
置信度指的是在图像中的一点是人体关键点的概率。在OpenPose 算法中设置了n 个人体关键点,再将相应的置信度设置为S,代表从第一个关键点开始的置信度。并且置信度呈正态分布,当关键点与像素p 的欧氏距离越短,则其的置信度越高。两者若坐标相等,此时置信度达到最大值。在多人姿态识别中,往往取多个正态分布的最大值作为关键点的峰值。
(2)亲和度算法。
亲和度是指图像关键点在人体肢体上的方向。局部亲和度算法用来计算关键点部位之间的亲和度,输出结果用L 来表示第n个关键点连接的亲和度。两个互相连接的关键点之间会形成一个椭圆形的区域,进而亲和度算法会对该区域内的方向向量进行运算,用来判断关键点的矢量性,同时赋予相应关键点方向向量,最后通过定积分计算两个关键点的连接方向。
(3)匈牙利算法。
通过置信度和亲和度算法后,我们便可以获得人体肢体关键点的坐标信息,但还未对关键点进行正确聚类和正确连接。因为OpenPose 采取的是自下而上的识别策略,若我们遍历所有关键点的连接方案,再从中选出最佳连接方案会消耗大量的计算资源和花费大量的时间。除此之外,还可将关键点信息按从小到大排序再依次连接匹配,但在遮拦情况下会产生较大的误差,影响准确性。
匈牙利算法又称最大二分图匹配算法。OpenPose 中规定同一个关键点不能够多条边共用一个节点,同时需要满足以下条件:假设节点1、2 有可能进行匹配,则类型为1 和2 的关键点置信度之和不能超过1,否则说明关键点与节点连接个数超过1,说明这种聚类方法是不可取的。反之,当它们的约束条件相同时,节点1、2 的可能性可以通过寻找所有连接方式中积分和的最大值来确定,连接相应节点的肢体,对其他肢体重复上述步骤即可完成多人肢体检测。
(4)姿态提取算法流程。
OpenPose 方法的整体思路,可概括为以下几步:首先通过10 层VGG19 网络,为输入的图像建立相应的特征映射,并将所获得的特征图放入两个卷积神经网络中进行计算,并分别预测每个关键点的置信度和亲和度向量,得到分别包含置信度和亲和度的热图,然后根据匈牙利算法实现关键点的聚类,从而求得相连关键点的最佳匹配,由于PAF 的矢量性保证了生成二分匹配的正确性,最终将同一个人的关节点拼接,组成一个整体框架。
(5)OpenPose 网络结构。
OpenPose 的整个网络结构使用了VGG 网络作为骨架再进行预训练处理。这种结构在姿态估计中发挥着关键作用。整个网络由两个部分组成,一部分用于预测关键点的置信图,另一部分预测编码相邻关键点之间关联的向量场,并分别计算回归得到S 和L。上半部分即第一分支用于预测置信图,通过该分支可以获得每个关键点的置信度信息。下半部分即第二分支用于预测关联向量场,通过该分支可以建立关键点之间的关联关系。每回归一次S 和L 说明一轮迭代预测已经完成,进而通过连续的迭代,完整预测网络的体系结构便会逐渐形成。反馈损失函数在每一阶段的训练中都会统计一次,并将S、原始输入F 和L 连接在一起,作为下个阶段训练的输入。S 在历经多轮迭代后,能够逐渐区分预测网络体系结构的左右部分。随着迭代次数的增加,S 的区分能力越强。这种网络结构的优势在于它能够通过多轮迭代学习到更准确和连续的姿态估计结果。通过预测置信图和关联向量场,网络能够捕捉到关键点之间的结构和联系,进而提高姿态估计的精度。每一阶段的训练都包括了反馈损失函数的计算,为了能够更有效地提高预测精度,使得网络能够不断优化和调整,以适应不同类型的姿态估计任务。最终,通过多轮迭代训练,S 在区分预测网络结构的左右部分方面发挥了重要作用,进一步提高了姿态估计的性能。
(6)搭建姿态特征生成树。
相比于较传统的特征提取方法,GoPose 引入了一种新的运动检测特征值。在提取完人体姿态特征后,它通过导出目标人物的颈部位置还有脚部位置,进而计算两者之间的距离差值V。此外,我们还需要准确计算检测目标的高度,从视频数据中每5 帧数便要提取出一张照片用以高度计算,通过视频数据相邻两帧中计算检测目标高度的差值,得到参数D。这两个特征值可以用于判断静止姿态。
此外,根据提取图片中相邻两帧间检测目标头部位置距离的差值,可以计算得到检测目标的速度S。而二轴加速度A 则用来判断目标的运动姿态。通过这些计算,GoPose 能够提取出丰富的动作特征,从而更准确地描述人体的姿态变化。这种新的运动检测特征值的引入,为GoPose 软件带来了更全面和细致的姿态分析能力。通过计算颈部和脚部的距离差值,可以得到关于身体稳定性的信息,从而判断静止姿态。而通过计算头部位置距离的差值,可以获得目标的速度,结合二轴加速度,可以判断运动姿态。这些特征值的综合使用,使得GoPose 能够更准确地捕捉到人体运动的特征,从而提供更精确的姿态分析结果。无论是静态姿态还是动态姿态,GoPose 都能够提供全面且准确的分析,为用户提供更多有价值的信息。
(7)PAFs 算法解析过程。
本软件通过摄像头采集了人们站立、坐着和躺着3 类整体行为的图片,共计采集了1250 张图像。其中,1000 张用于网络训练,250 张用于网络的实际测试。在采集过程中,特别注意保持人体四肢和躯干处于自然状态,避免抬腿、摸头、倾斜等有意识的动作干扰。这样做的目的是确保采集到的图片能够准确反映不同行为状态下的人体姿态。利用OpenCV 对这3 类行为图片中的人体骨架节点进行坐标位置信息的提取。通过这一步骤,可以获取到包括鼻子、脖子、肩膀、肘部、手腕、髋部、膝盖、踝部、眼睛和耳朵在内的共18 个关键骨架节点的位置信息。这些关键骨架节点的位置信息被保存在JSON 文件中,以便后续的处理和分析。由于检测目标的数目不能够确定,可能存在多个目标或者错误检测的关键点,因此需要为每个关键点提供多个候选区域进行匹配。这样可以得到许多关键点对,需要在这些匹配点对中找到最佳匹配结果。为了得到最优匹配结果,对每个匹配点对进行计算,并得到一个分数,这个过程可以归结为一个NP-hard 匹配问题。将每种独立区域中包含的所有关键点的最优匹配对连接起来,就可以形成完整的检测目标的全身姿态。这些匹配点对的连接形成了全身姿态特征生成树,最终得到拼合完整的全身姿态。通过这种复杂的匹配和拼合过程,本软件能够从采集的图像中提取出详尽的全身姿态信息。这为后续的动作分析和运动评估提供了有力的基础,为用户提供了更全面、准确的姿态分析结果。
(8)关键帧提取算法。
由于人体运动捕获的数据需要较高的采样率,慢速的运动往往会导致产生大量的冗余信息。我们需要提取出最具有代表性的关键帧来表示原始运动的数据。在本文中,我们将使用不同的算法从不同场景中提取关键帧,并通过运动差值重建来度量重建误差,以便比较不同算法在关键帧提取方面的适用性。目前存在以下几类关键帧提取算法:
①帧消减方法:这种方法操作简单,只需要设定一个阈值,根据阈值对非关键帧进行消减或直接提取关键帧。通过利用四元数插值重建,可以还原原始序列,并且该方法符合人体关节旋转运动的特点,因此提取的关键帧相对准确;
②聚类方法:该方法通过设定阈值对帧间距进行加权,从而对各帧进行聚类,并选择每个聚类中的首帧作为关键帧。聚类方法在完成聚类后,能够选择具有代表性的关键帧,通过对帧间距的加权考虑,能够更好地捕捉运动变化;
③普通最优化方法:该方法关键在于贪心算法,通过不断消减重建误差最小的帧,直到达到指定的帧数为止。可见,这种方法具有贪心算法的特点,可以一直求得当前的最优解,也不用设置相应的阈值。因此,所得的关键帧是根据重建误差曲线选择具有最大重建误差的帧,准确度较高;
④曲线简化方法:每帧运动数据都作为高维曲线上的一个点,再根据曲线的总体趋势和变化将曲线分段,根据事先设定的阈值用此方法筛选出曲线上的一些凹凸点作为关键帧。此方法涉及的数据量较少,计算效率高,并适用于不同的数据类型和场景。
在进行关键帧提取时,我们将详细比较这些不同算法的效果。我们将根据具体场景和要求选择合适的阈值和参数。通过对每个算法提取的关键帧进行运动差值重建,并对重建结果进行误差度量,可以评估不同算法的准确性和适用性。最终,我们将选出最适合本方法的关键帧提取算法,以获得更精确和有代表性的关键帧序列。这将为后续的动作分析和姿态估计提供可靠的基础。
3、GoPose 软件在体育教学中的应用分析及延伸
3.1、GoPose 软件在体育运动中的应用
GoPose 人工智能运动分析软件基于机器视觉技术,可以实时捕捉和分析人体的动作轨迹。在体育教学中,通过使用GoPose软件,可以对学生的动作进行精准的捕捉和分析,通过前端显示相应的分析数据,从而帮助老师更好地指导和监督训练过程。
(1)动作姿势的准确捕捉与实时分析。
使用GoPose 软件,可以通过摄像头录制自己的训练或比赛视频。软件能够自动识别视频中的关键骨架节点,如脖子、肩膀、手腕、膝盖等,并计算出关节角度、位移速度等数据。这些数据能够准确地反映学生的动作姿势,实时分析学生的姿势变化,并给出实时反馈。老师可以通过软件界面观察学生的姿势数据,如关节角度、位移速度等,以便进行即时指导和调整。
(2)动作评估和优化。
在教学过程中,GoPose 软件实时显示学生的动作数据和姿势变化,学生的动作可以得到全面的评估。软件会自动生成动作轨迹图和相关数据,老师可以通过对比不同动作的数据,评估学生的表现,并找出需要改进的地方。同时,软件还提供了运动优化的建议,帮助学生改进动作,以达到更标准的姿势,提高技术水平。
(3)动作记录和跟踪。
GoPose 软件能够记录学生每次训练的动作数据,并保存在数据库中。这样,老师也可以随时查看学生的训练历史和进展情况,进行动作的长期跟踪和评估。通过对比不同时间段的数据,老师可以判断学生的进步,并制定相应的训练计划。
并且它能够准确捕捉和分析学生的动作姿势,提供实时反馈和指导,并帮助老师评估和优化动作。同时,GoPose 还能提供动作记录和跟踪的功能,使老师能够对运动员的训练历史进行查看和分析。这种基于机器视觉的精准捕捉动作轨迹的计算方法为体育教学的线上教学提供了强大的辅助工具。
(4)便利性和准确性。
GoPose 软件具有便利性和准确性的特点。相较于传统的肉眼观察和手动设置关节点的方法,GoPose 能够自动识别关节点并计算关节角度,提供更准确和真实的数据。同时,它大大降低了人力成本,提高了分析效率。
在未来,随着功能技术的不断完善,GoPose 软件将进一步应用于学校的线上体育教学以及专业的体育训练和比赛过程中。它将为运动员和教练员提供更多便利,为专业体育工作者的训练和竞技提供精准的动作分析和指导,助力他们取得更好的训练效果和竞技成绩。
综上所述,GoPose 基于机器视觉的精准捕捉动作轨迹的计算方法在体育运动中具有广泛的应用前景。通过该软件对技术动作姿势的准确捕捉与实时分析、动作评估和优化、动作记录和跟踪的优势,对体育教学安全质量的提升及专业运动员的日常训练,教练员都能够实时监督和指导运动员的动作姿势,提供个性化的训练建议,从而提高运动员的技术水平和竞技成绩。
4、结论
基于OpenPose 算法,本软件自动对人体姿态的25 个关键点进行识别,快速对关节角度、位移速度等数据进行测量、计算,使得教师和学生能够快速得到常用运动学结果,可广泛应用于线上体育教学。其优势是无接触式测量、快速反馈、操作简单等。同时它也解决了专业设备穿戴复杂、其他人工智能运动分析系统软件使用价格高昂等问题,帮助广大师生科学化运动和训练。随着功能技术不断完善、测量准确度不断提高,本软件也将用于专业运动员的体育训练中,为运动员、教练员及体育科研工作者提供更大的便利。