基于OpenPose的舞狮训练辅助系统研究
2022-10-08李大琳林灏泓
李 琳,李大琳,林灏泓
(珠海科技学院,广东 珠海 519041)
0 引 言
人工智能、大数据等新兴计算机技术在各个领域的发展,为信息行业带来历史性变革,同时其影响力也深入渗透到各方各面。人体姿态估计技术在体育健身、动作采集、人机交互、舆情监测等领域具有广阔的应用前景。其中,基于深度神经网络的人体姿态识别在体育领域熠熠生辉[1]。
传统的民间舞狮被列入国家非物质文化遗产名录,在历史传承、文化自信、民族认同、艺术和社会和谐方面具有重要价值[2]。舞狮活动不仅在中国广为流传,更在全球范围内广泛流行,是逢年过节必不可少的庆祝活动。
舞狮活动是由官方机构、民间组织联合进行的,但在综合了环境与文化的基础上,当前发展状况尚有欠缺[2]。一方面,在以往传统的教学模式上,传统的老师一对多、面对面授课,学生模仿其所演示的动作,时常不明确自身的学习进度,且需要注意的细节较多,往往动作不到位,学习效率低下;另一方面,在疫情期间需要公众减少接触的大环境下,学生跟随视频学习动作技巧,这种方式直观性差、过程烦琐,练习者很容易做错动作或发力错误导致受伤。
针对上述问题,本文提出以OpenPose算法为基础,设计一种基于深度学习算法模型的舞狮训练辅助系统,对练习者的动作进行分析,通过检测人体骨骼的关键节点并组合成人体骨架,计算出关节间的向量角数据,建立评估机制,帮助使用者明确动作的规范程度。该系统将人工智能技术与传统舞狮教学练习相结合,从而实现动作的标准化比对,可以作为对传统教学的智能化补充,提高训练舞狮动作和纠正细节错误的效率。
1 基于OpenPose的舞狮训练的算法模型
OpenPose人体姿态识别项目[3]是世界上首个基于深度学习的实时多人二维姿态估计应用库。该算法是由美国卡耐基梅隆大学(CMU)开发的。它在卷积神经网络和监督学习的基础上采用caffe作为框架,使用人体关键点亲和域技术将人体骨骼关键点连接起来。OpenPose的主要优势是能够对二维的多个用户目标进行准确、快速的识别分析,并能实现对人体运动、面部表情和手指动作等姿态的估计,该方法具有很好的鲁棒性和快速的运算能力
Openpose项目库运用流行的深度学习算法,能快速地识别图像中单人及多人的二维姿态,通过学习、检测图像中人物的关键点位置,从而不依赖图像中的局部特征完成人物目标检测。它结合了目标周围的环境信息,即使在噪声较大的图像中也可以准确地提取人物的关键点,通过建模重构的方式,从学习识别的人物关键点位置提取姿势特征[4],其准确性和连续性可以得到更好的保证。本文的研究主要是利用算法的精确性,提取标准动作的视频关键帧或图片,从标准动作中抽取出关键画面,用于后续的检测和比对。
OpenPose的主要思想是利用贪心算法自下而上的解析步骤,先检测出关键点,再去做姿态估计。首先识别图像中所有检测目标的骨骼关节点,并将检测到的关键点分配给相应人物。OpenPose模型的架构如图1所示。
图1 OpenPose算法模型
OpenPose算法过程如下:
(1)输入图像,经过10层VGG-19卷积神经网络提取出一组关键点特征图F;
(2)将F分入两个岔路(Branch),即两个卷积网络分别计算,提取出人体骨骼关键点的置信度和关联度(也叫亲和度);
(3)利用Bipartite Matching(二分匹配)求出Part Affinity Fields for Part Association(理解为关键点聚类),拼接起同一个人的骨骼关键点,最终合并为同一个人的整体骨架信息。
2 系统概述
通过Open Pose处理后,人体各部位的特征可以归纳为18个主要的骨骼关键点。由这些关键点还原组成的人体骨架能反映出身体的实时姿态。值得注意的是,人体的躯干骨架,一方面由于用户的面部表情与动作行为的识别检测无关,面部特征识别的精度对计算结果影响不大;另一方面,特定关节之间的角度值不受体型、肤色或服装等外部因素的影响,因此可以作为评估运动动作准确性的标准。本系统根据上述特性,实现了动作的比对。经过OpenPose处理图片后,可以得到人体18个骨骼关键点,其对应位置如图2所示,测试运行的骨架还原图如图3所示。
图2 人体18个骨骼关键点
图3 人体骨架还原图
在图片或者视频帧中,人体的两个肢体之间形成的夹角,称为肢体夹角。当训练者在做任何动作的时候,实体表现特征就是身体各个肢体的变化。人体各肢干之间夹角大小的变化,能够充分包含当前人的行为特征信息[5]。
本文使用这一方法对数据进行处理,过程如下:
(1)设置标准动作,统计出各个骨骼关键点的坐标;
(3)输入需要进行评判的训练者动作,重复步骤(1)、步骤(2),同样得出肢节向量角度值;
(4)将标准动作和训练者动作逐一对比分析并可视化,按照欧式距离计算出最简单的评估,即可得出训练者动作是否标准,达到评估动作规范程度的效果。
系统流程如图4所示。
图4 系统流程图
3 实 验
实验环境配置如下:操作系统为Windows 11,CPU为i5-8300H,GPU为GTX 1060,运行环境为Pycharm,Python版本为3.9.0,Tensorflow版本为2.0.0,OpenCV版本为4.6.0。
实验使用自制数据集,以舞狮基础动作为标准数据,分为11个类别,分别为四平马、跪步、麒麟步、吊马、探步、交叉步、开合步、前弓步、仆步、碎步以及跃步。截取每个动作的多个关键帧进行处理,得出标准动作关节角度数据。
本系统使用Pycharm环境开发,实现了图像和视频关键帧的读取和上传,主要使用Openpose算法对人体骨骼结构的18个关键点进行识别并恢复骨架,计算关节向量的角度值,并将预测结果可视化。
程序运行后,系统初始界面如图5所示。系统会自动对输入的动作关键帧或图片进行处理,同时,会标注出含有关键点的骨架结构,输出显示人体骨架结构,统计图中包含的训练人数,预测正在训练的动作类型,如图6所示。将输出的动作数据与已训练好的标准动作数据进行对比,即可对练习者的训练动作作出大致评估。
图5 初始化界面
图6 运行效果图
实验采集了5位练习者的训练视频,利用openpose算法模型进行处理,计算训练者的动作姿态,生成训练者关节角度的数据,与标准动作数据进行比对,将关节向量角偏差最小的行为(以最高分表示)作为对比结果,并进行比较,成功率越高说明匹配度越高。比对结果如表1所示。
表1 比对结果分析表
从结果可以看出,系统对于以上11类基础步法动作有着良好的匹配成功率,平均识别率在83%以上,部分动作的识别率超过90%,说明本文所述的动作识别方法是准确有效的。
在实验过程中,虽然一部分动作视频存在背景复杂、场景昏暗、人物衣物与场景相近等情况,但本系统均可识别出练习者的骨架动作,得出的关节角度数据的标准度不仅客观真实,而且与肉眼观测的规范程度相符。由此可见,本实验提出的研究方法是规范可行的。
对比不同训练方式的比较如表2所示。可以看出,虽然依靠肉眼观测可以实时全面地提高舞狮动作的准确性,但是需要依赖他人从旁协助、指导。在训练者独自练习的过程中,仅靠录像回放纠正姿势,不仅耗费时间较长,且所需练习次数较多,效率低下。而本文所提方法结合二者优点,通过实时识别并比对动作规范性,既可以提高训练者独自练习的动作准确率,又能够缩短纠正动作的时间。因此,本文提出的研究方法可以提高训练效率,是有效的。
表2 不同训练方式的比较
然而,本次研究仍有一些缺陷之处:实验结果存在一定局限性,识别复杂的舞狮动作时出现识别率低下、标注错误的问题。这是因为在实验中进行了舞狮基本动作的对比研究,所以收集到的运动数据基本上都很简单。在未来的实验中,需要对数据集进行扩展,涵盖更广泛的舞狮类型和动作,比如礼仪动作、采青动作等,由此探究本系统对于复杂舞狮动作的普适性。另外,实验过程中出现无法识别手部动作的情况。个别情况下狮头的神态变化,如眨眼或者张嘴时,手掌部分以及手指动作由于隐藏在狮头下,导致无法检测其中关键点、还原骨架失败。针对算法在练习者手掌和脚步等细节方面的不足,在之后的研究中,可以将18个人体关键点增加至25个,通过OpenPose的改进算法进行动作识别,提高人体骨架的还原度和动作识别的准确度。
4 结 语
针对目前舞狮运动训练困难的情况,本文提出基于OpenPose算法的舞狮训练辅助系统研究,采用OpenPose算法模型,对标准和实际动作进行处理,从而计算出人类骨骼关节的角度值,比对计算结果,并提供可视化分析,通过实验说明该方法的可行性及有效性,结果说明深度学习是解决舞狮训练辅助问题的可行方案。但本文尚有许多不足之处,如系统仍有一定的局限性,在部分情况下仅会识别出部分人体关键点和骨架。另外,如何在已有基础上提高计算效率、如何规范评估舞狮动作的姿态标准,也值得深入研究。在未来的研究工作中,将对系统的评分标准进行统一,改进系统的识别精度和算法运行效率,对本文所述的系统的性能进行升级优化。