基于CenterNet的跑步姿态鉴别系统的设计

2024-03-11 09:26周万珍袁志鑫王建霞
河北工业科技 2024年1期
关键词:姿态跑步注意力

周万珍 袁志鑫 王建霞

摘 要:

为了改善目前大众跑步姿势普遍不规范的现状,提出了一种基于CenterNet的跑步姿态鉴别系统。首先,通过截图、拍照的方式自制数据集,并对数据集进行清洗、标注和分析,消除数据无关信息与简化数据。其次,引入多尺度通道注意力机制与添加十字星变形卷积2种方式改进CenterNet算法模型,将动作图像转化为数字信息和特征向量,并以此为基础,利用KNN(K-nearest neighbors)算法对跑步姿态类型进行分类。最后,与经典模型方案进行对比,验证改进CenterNet算法鉴别系统的有效性。结果表明:改进的CenterNet模型的精确率与召回率都有所提升,其参数量与计算量降低。所提算法模型能够对大多数不良姿势作出及时、准确反馈,有效帮助跑步爱好者发现问题,从而改善跑步姿态、提高运动效率、预防伤病。

关键词:

计算机图像处理;人体行为识别;跑步姿态;CenterNet;人体关节;注意力机制

中图分类号:TP391  文献标识码:A

DOI: 10.7535/hbgykj.2024yx01002

Design of running posture identification system based on CenterNet

ZHOU Wanzhen, YUAN Zhixin, WANG Jianxia

(School of Information Science and Engineering,Hebei University of Science and Technology, Shijiazhuang, Hebei 050018, China)

Abstract:

Inorder to improve the current situation that the public running posture is generally not standardized, this paper proposed a running posture identification system based on CenterNet. Firstly, a dataset was created by taking screenshots and photos, and was cleaned, annotated, and analyzed the dataset to eliminate data-independent information and simplify the data. Secondly, the CenterNet algorithm model was improved by introducing multi-scale channel attention mechanism and adding cross star deformation convolution to transform the action image into digital information and feature vector. Then, KNN (K-nearest neighbors) algorithm was used to classify the running posture types. Finally, compared with the classical model scheme, the effectiveness of the improved CenterNet algorithm identification system was verified. The experimental results show that the accuracy and recall rates of the improved CenterNet model are improved, and the parameter quantity and calculation amounts are reduced. It can provide timely and accurate feedback on most bad postures, and can also effectively help running enthusiasts find problems, thereby improving running posture, improving exercise efficiency, and preventing injuries.

Keywords:

computer image processing; human behavior recognition; running posture; CenterNet; human joints; attention mechanism

跑步作為目前最普遍的锻炼方式之一,优点是简单易行、无需器械,但是如果跑步姿态不正确,不仅会影响到锻炼的效果,甚至会对身体健康造成伤害。研究表明,有近一半的跑步爱好者会遭遇运动损伤[1],良好的跑步姿态一定是运动过程中最需要注意的,然而依靠人工鉴别的方式,不仅需要完备的相关专业知识,而且费时费力,对于跑步爱好者并不是最优选择。

将人体行为识别(human action recognition,HAR)[2]技术应用到跑步姿态的识别中,其行为识别的主要目标是在输入的包含一个或者多个行为的视频中,正确分析各种行为动作[3]。HAR技术在视频监控、人机交互及虚拟现实等方面都有所应用[4]。

计算机技术与体育运动的结合正在逐步发展。YANG等[5]基于卷积神经网络识别健身动作,YU等[6]基于RFPose-OT算法从射频信号中进行人体姿态估计。以上研究表明了两者结合的可行性与适配性。

常用的人体行为识别技术算法有CenterNet[7]、YOLO[8]、OpenPose[9]等。然而计算机技术在跑步姿态方面的应用很少。顾蒙蒙[10]基于kinovea软件建立的跑步姿态监测系统,仅对应跑步机情景,并且只检测手臂部分,存在局限性,无法适用更加普遍的跑步情境与跑步姿态。

动作捕捉传感器[11]是一种可用于运动识别的技术,但是其设备成本较高,且佩戴后影响运动体验感。

为了解决以上问题,本文设计一种基于CenterNet的跑步姿态鉴别系统,基于CenterNet模型,并且在模型基础上添加金字塔切分注意力模块(pyramid split attention,PSA)[12]与十字星变形卷积(cross-star deformable convolution)模块[13];使用KNN(K-nearest neighbors)算法作为动作分类器;自建跑步姿态数据集,将错误姿态分类,训练模型。

目的在于帮助跑步爱好者发现不良姿态,从而改善跑姿,相比其他方式无需私人教练,更加方便快捷;无需昂贵装备,性价比更高;无需相关知识储备,使用门槛更低。

1 跑步姿态鉴别系统

跑步姿态鉴别系统的工作流程如图1所示。首先,输入视频图像文件,对图像进行预处理,例如灰度化、几何变换等方式,目的是消除无关信息,简化数据[14];其次,利用姿态估计模型对其进行特征提取,检测目标,识别出人体关节点;最后,在提取出跑步姿态的动作特征之后,使用动作分类器进行判断、归类动作类型(即动作是否存在错误),然后输出当前的跑步姿态。

2 人体关节点检测

2.1 人体关节点

把跑步过程中复杂的人体模型简化,标记人体关节为关键点[14]。由FUJIYOSHI等[15]创造出的经典五关节星形图,将人体五关节标记为矢量,从骨架化线索中获取动作。应用卷积神经网络,将人体关节点方式与深度学习方法进行有效结合,获得了高效高精度的识别效果[16],便于观察关节角度、运动轨迹及相对位置,从而推断出动作类型[17]。

2.2 特征提取

特征提取的目的是将抽象的图像信息转化为可视化的数字信息表示,通过将人体关键节点转换为特征向量,获取这些关键节点的相对位置以及方向信息[18]。

使用CenterNet模型进行特征提取。CenterNet具有3种骨干网络,分别是ResNet、DLA(deep layer aggregation)和Hourglass[19]。其中Hourglass继承于CornerNet模型[20],是一种嵌套递归网络结构,常用于人体姿态估计。最基础的一阶Hourglass模块如图2所示。

二阶Hourglass模块将最中间的residual module(残差模块)替换为一阶Hourglass模块,以此递归,此处使用的是四阶Hourglass模块,如图3所示。虚线部分为一阶Hourglass模块。如图3所示,左边是连续的下采样,所以从左到中间,维度增加,特征图变小,而右边是连续的上采样,从中间到右,维度减少,特征图变大,其结构形似沙漏,所以被称为沙漏网络。多个沙漏网络堆叠在一起被称为Stacked Hourglass(堆叠沙漏)。

3 CenterNet模型改进

3.1 金字塔切分注意力模块

已有研究表明,引入通道注意力机制可以有效提升卷积神经网络的性能[21]。基于CenterNet目标检测算法引入多尺度通道注意力机制,即金字塔切分注意力模块(PSA 模块),用PSA模块替换了残差模块中3×3卷积操作[12],如图4所示。

PSA模塊是在通道注意力的基础上进行改进,加入多尺度思想,处理多尺度输入特征图的空间信息,并且能够有效建立多尺度通道注意力之间的长期依赖关系。PSA模块如图5所示。

PSA模块主要通过以下4个步骤实现。

1)由SPC模块切分通道为若干份,分别进行不同卷积核卷积,然后针对不同特征图的空间信息进行多尺度特征提取。

2)利用SEWeight模块提取不同尺度特征图的通道注意力,得到不同尺度特征图上的通道注意力权重。

3)将各个通道注意力权重拼接,进行Softmax归一化,对多尺度通道注意力权重进行特征重新标定,得到新的多尺度通道交互之后的注意力权重。

4)与SEWeight模块类似,对重新校准的权重和相应的特征图按元素进行点乘操作,输出得到一个多尺度特征信息注意力加权之后的特征图,该特征图多尺度信息表示能力更丰富。

3.2 十字星变形卷积模块

十字星变形卷积是一种针对角点预测的变形卷积,能够增强角点位置的特征,借此确定目标位置。十字星变形卷积模块如图6所示。

在CenterNet中输入一张图片,首先使用Hourglass网络提取特征图,特征图经过角点池化,输出角点热图,然后找到目标的左上角和右下角,由此确定目标位置,得到目标的边界框。因为经过角点池化后,目标信息会在水平方向和垂直方向上传递,所以输出的特征图会呈现十字星现象,十字星的边界包含着丰富的上下文信息,掌握这些信息可以更加准确地定位目标位置。

对于左上角点而言,目标的位置一定位于十字星坐标的第4象限,所以十字星的右下部分信息是有效的。而左上部分边界特征所蕴含的信息则是相对无用的,如图7所示。而对于右下角点则反之。所以通过引入偏移引导(guiding shift)向目标中心点偏移,可以更加高效地获取目标信息,经过3个卷积层得到最终偏移值(offset field),从而确定角点位置,有利于捕捉目标。

3.3 动作分类器

3.3.1 KNN算法

KNN算法是一种分类算法。在特定空间中,如果一个样本与数据集中的k个样本最相似, k个样本中的大多数属于某一个类别, 则该样本属于这个类别。距离越近,就越相似,属于这一类的可能性就越大。

由于跑步是一个循环动作,并且错误动作之间的相似度很高,所以即使在数据集较少的情况下依然可以保持一定的准确率,在一定程度上规避了KNN计算复杂度较高的问题。

KNN模型通过计算输入图像的特征向量与已经训练样本的特征向量之间的欧氏距离,可以得到输入图像与训练样本的相似度,进一步可以得到此次动作分类的置信度:与输入图像相似度最高的k个训练样本中,有a个样本属于stride(跨步),则输入图像被分类为stride(跨步)的置信度(confidence)为

confidence(stride)=ak。(1)

置信度代表了此次分类输出结果的可信程度,其中k是分类器设置的最邻近数量。

3.3.2 基本跑步姿态

主要针对的是长跑与慢跑状态下的跑步姿态,相比于短跑与冲刺的姿态有所区别,良好姿势能够帮助跑步者在跑步过程中在减少伤病风险、关节压力的同时,提升跑步者整体姿态的流畅性[22]。

1)头部正常抬起,平视前方,颈部不要前探。摆臂是以肩为轴的前后动作,不应左右摆动,前后动作幅度不超过身体正中线,肘关节角度约为90°。

2)肩部适当放松,避免含胸。腰部自然直立,不要俯身、弯腰或者后仰。

3)大腿和膝做前摆,而非刻意上抬,支撑脚应落在靠近身体重心垂线的位置。

4 模型实验与结果分析

4.1 实验环境

实验环境配置如表1所示。实验基于改进的CenterNet模型由Python语言实现。

4.2制作数据集

1)图像获取 目前并没有专门面向跑步姿态的公开数据集,实验所用数据集是实验人员模拟跑步时可能会出现的错误姿态,录制视频、提取图片而得。

2)数据清洗 减少重复图像,避免无意义的重复造成数据冗余;去除错误或异常图像,提高数据集的质量。

3)数据标注 将错误动作主要分类为高抬腿(high knee lift)、过度摆臂(overswing arm)、未摆臂(unswung arm)、步点超前(stride)、身体倾斜(forward leaning)5种不良姿态。

4)图像灰度化 将彩色图像转化为灰度图像,使得图像一个像素点的颜色变化范围大幅缩小,从而降低图片信息含量、简化矩阵、提高运算速度。

5)图像归一化 将不同标准的图像变换为一种固定标准形式,将特征值大小调整到相近的范围,可以增强训练网络的收敛性、加快训练速度。

4.3 改进实验与结果分析

在目标检测时会出现以下4种情况:正类预测为正类、正类预测为负类;负类预测为正类、负类预测为负类。精确率(precision,P)是指在被所有预测为正样本中实际为正样本的概率,而召回率(recall,R)是指正确预测为正类样本的数目占样本中所有正类的数量。两者的计算公式如式(2)、式(3)所示。

P=TPTP+FP,(2)

R=TPTP+FN,(3)

式中:TP表示正类样本被模型正确识别的数量;FP表示负类样本被模型错误地识别为正类样本的数量;FN表示正类样本被模型错误地识别为负类样本的数量。

分别针对CenterNet模型、加入PSA模块的模型、加入十字星变形卷积的模型以及改进的CenterNet模型進行精确率测试实验,结果如表2所示。

由表2可知,加入PSA模块与十字星形卷积,提高了模型的精确率。其平均精确率(AP)在改进后较原始模型算法均有所提升。

目标检测过程中会遗漏部分目标样本,在CenterNet模型中加入十字星变形卷积,增强角点特征,提升平均召回率AR。实验结果如表3所示。在检测数量分别为1、10、100情况下,改进的CenterNet较CenterNet的AR分别提升了1.1个百分点、2.1个百分点和0.6个百分点。

改进的CenterNet模型参数量与计算量如表4所示。与CenterNet模型相比,改进的CenterNet模型参数量下降了约8%,计算量下降了的9%,节省了一定资源。

如表5所示,改进的CenterNet模型对比双阶段经典算法Faster-RCNN以及YOLO系列的YOLOv5都有着一定优势。

4.4 模型训练与结果分析

将数据集分为训练集、验证集和测试集,比例大约为8∶1∶1;图片大小一致,均为544 px×960 px;批次大小为32张,表示单次传递给程序用以训练的数据(样本数);训练轮数即迭代次数,值为100;初始学习率为0.001。将数据集输入改进后的网络模型中开始训练。每次训练网络模型都会计算此次的AP值,与之前比较,最终得出最好的训练模型结果。模型训练参数设置,如表6所示。

4.5 跑步姿态识别测试实验与结果分析

模型训练完成之后,选用训练效果最好的模型进行实验,输入图片或者视频资料,查看识别结果。

跑步姿态识别测试的截图如图8所示。

由图8可知,最终的输出结果会标记出人物在跑步姿态中出现的一些错误姿势,目前可以检测5种不良姿态,分别为高抬腿、过度摆臂、未摆臂、步点超前、身体倾斜。

1)高抬腿 大腿抬起過高,会消耗不必要的体力,同时还会影响身体重心稳定。建议大腿自然前摆,与躯干夹角约为135°。

2)过度摆臂 手臂前后摆动幅度过大,增加体力消耗,影响身体重心稳定。建议前后摆动幅度不超过身体躯干。

3)未摆臂 跑动时需要手臂配合脚步摆动,更加协调。建议以肩为轴,大臂与小臂夹角约为90°,前后摆动,不可左右摆动。

4)步点超前 脚步落点超过身体重心太多,会导致膝关节压力过大,不利于身体健康。建议步点落在身体重心正下方。

5)身体倾斜 身体前趴或后仰,容易失去重心而摔倒。建议躯干微微向前倾,既能在跑动中保持平衡,又能节省体能。

通过鉴别图像,可以帮助跑步者了解自身跑步姿势,远离错误动作。

5 结 语

本文将人体行为识别技术与跑步运动相结合,通过检测标记人体关节点识别跑步姿态,鉴别错误姿态类型,来帮助人们解决日常跑步中可能存在的一些姿态问题。通过模型改进实验以及识别测试实验得出以下结论。

1) 通过模型对比实验证明,改进后的CenterNet算法模型性能有所提升,并且相较于双阶段经典算法Faster-RCNN模型以及YOLOv5模型都有着一定优势。

2) 改进后的CenterNet算法模型的召回率与精确率分别达到了65.4%与53.1%,在实际应用中发挥一定作用,具有实用性。

基于CenterNet的跑步姿态鉴别系统,能够切实帮助跑步爱好者更加便捷地发现自身姿态问题,并及时改进,泛用性较强。

但是,目前对于人体小关节与细节动作方面的识别精度还不够,目标关节被遮挡情况需尽快处理,姿态矫正方面还有待完善。今后将有针对性地开展拓展研究,解决以上问题。

参考文献/References:

[1] JIN J.Running injuries[J].The Journal of the American Medical Association,2014,312(2):202.

[2] 裴利沈,刘少博,赵雪专.人体行为识别研究综述[J].计算机科学与探索,2022,16(2):305-322.

PEI Lishen,LIU Shaobo,ZHAO Xuezhuan.Review of human behavior recognition research[J].Journal of Frontiers of Computer Science & Technology,2022,16(2):305-322.

[3] 彭月,甘臣权,张祖凡.人类动作识别的特征提取方法综述[J].计算机应用与软件,2022,39(8):1-14.

PENG Yue,GAN Chenquan,ZHANG Zufan.A survey of feature extraction methods in human action recognition[J].Computer Applications and Software,2022,39(8):1-14.

[4] MABROUK A B,ZAGROUBA E.Abnormal behavior recognition for intelligent video surveillance systems:A review[J].Expert Systems With Applications,2018,91:480-491.

[5] YANG Lei,LI Yingxiang,ZENG Degui,et al.Human exercise posture analysis based on pose estimation[C]//2021 IEEE 5th Advanced Information Technology,Electronic and Automation Control Conference (IAEAC).Chongqing:IEEE,2021:1715-1719.

[6] YU Cong,ZHANG Dongheng,WU Zhi,et al.RFPose-OT:RF-based 3D human pose estimation via optimal transport theory[J].Frontiers of Information Technology Electronic Engineering,2023,24(10):1445-1457.

[7] ZHOU Xingyi,WANG Dequan,KRHENBHL P.Objects as Points[EB/OL].(2019-04-16).https://arxiv.org/abs/1904.07850.

[8] ZHU Xingkui,LYU Shuchang,WANG Xu,et al.TPH-YOLOv5:Improved yolov5 based on transformer prediction head for object detection on drone-captured scenarios[C]//2021 IEEE/CVF International Conference on Computer Vision Workshops (ICCVW).Montreal:IEEE,2021:2778-2788.

[9] CAO Z,HIDALGO G,SIMON T,et al.OpenPose:Realtime multi-person 2D pose estimation using part affinity fields[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2021,43(1):172-186.

[10]顾蒙蒙.基于KNN算法的跑步姿态监测与识别[D].上海:东华大学,2017.

GU Mengmeng.Running Posture Monitoring and Recognition Based on KNN Algorithm[D].Shanghai:Donghua University,2017.

[11]李晓丹,肖明,曾莉.人体动作捕捉技术综述以及一种新的动作捕捉方案陈述[J].中国西部科技,2011,10(15):35-37.

LI Xiaodan,XIAO Ming,ZENG Li.Review on the motion capture technologies[J].Science and Technology of West China,2011,10(15):35-37.

[12]ZHANG Hu,ZU Keke,LU Jian,et al.EPSANet:An Efficient Pyramid Squeeze Attention Block on Convolutional Neural Network[J].Computer Vision and Pattern Recognition,2021.DOI:10.48550/arXiv.2015.14447.

[13]DONG Zhiwei,LI Guoxuan,LIAO Yue,et al.CentripetalNet:Pursuing high-quality keypoint pairs for object detection[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).Seattle:IEEE,2020:10516-10525.

[14]李志晗,刘银华,谢锐康,等.基于关节点运动估计的人体行为识别[J].电子测量技术,2022,45(24):153-160.

LI Zhihan,LIU Yinhua,XIE Ruikang,et al.Human action reco-gnition based on joint motion estimation[J].Electronic Measurement Technology,2022,45(24):153-160.

[15]FUJIYOSHI H,LIPTON A J.Real-time human motion analysis by image skeletonization[C]//Proceedings Fourth IEEE Workshop on Applications of Computer Vision.WACV′98(Cat.No.98EX201).Princeton:IEEE,1998:15-21.

[16]邓淼磊,高振东,李磊,等.基于深度学习的人体行为识别综述[J].计算机工程与应用,2022,58(13):14-26.

DENG Miaolei,GAO Zhendong,LI Lei,et al.Overview of human behavior recognition based on deep learning[J].Computer Engineering and Applications,2022,58(13):14-26.

[17]杜美依.基于人体关键点检测的体育运动视频分析系统[D].西安:西安电子科技大学,2021.

DU Meiyi.A Sports Video Analysis System Based on Human Key Point Detection[D].Xi′an:Xidian University,2021.

[18]LAW H,DENG J.CornerNet:Detecting objects as paired keypoints[C]//European Conference on Computer Vision.Cham:Springer,2018:765-781.

[19]GUYON I,NIKRAVESH M,GUNN S,et al.Feature Extraction:Foundations and Applications[M].Berlin:Springer,2006.

[20]NEWELL A,YANG K Y,DENG J.Stacked Hourglass Networks for Human Pose Estimation[J].Computer Vision and Pattern Recognition,2016.DOI:10.48550/arXiv.1603.06937.

[21]张宸嘉,朱磊,俞璐.卷积神经网络中的注意力机制综述[J].计算机工程与应用,2021,57(20):64-72.

ZHANG Chenjia,ZHU Lei,YU Lu.Review of attention mechanism in convolutional neural networks[J].Computer Enginee-ring and Applications,2021,57(20):64-72.

[22]孙胜男.正确的跑步姿势[J].田径,2016(11):25.

收稿日期:2023-08-21;修回日期:2023-10-23;责任编辑:王淑霞

基金项目:河北省自然科学基金(F2018208116)

第一作者簡介:

周万珍(1966—),男,河北张家口人,教授,博士,主要从事数据挖掘和人工智能方面的研究。

通信作者:

王建霞教授。E-mail: 1084473634@qq.com

周万珍,袁志鑫,王建霞.基于CenterNet的跑步姿态鉴别系统的设计[J].河北工业科技,2024,41(1):10-16.

ZHOU Wanzhen, YUAN Zhixin, WANG Jianxia. Design of running posture identification system based on CenterNet[J]. Hebei Journal of Industrial Science and Technology,2024,41(1):10-16.

猜你喜欢
姿态跑步注意力
让注意力“飞”回来
做到七点跑步不伤膝
跑步穿什么
攀爬的姿态
全新一代宋的新姿态
跑与走的姿态
“扬眼”APP:让注意力“变现”
带表跑步
A Beautiful Way Of Looking At Things
跑步为何让人如此痴迷?跑了就懂!