APP下载

基于LSA-HRnet网络的人体姿态估计方法在太极拳运动中的应用

2023-11-07徐广吴星辰

关键词:关节点关键点太极拳

徐广,吴星辰

(1 沈阳航空航天大学 体育部综合教研室,沈阳 110136;2 季华实验室 九韶人工智能算法研究院,佛山 528200)

近年来,人们存在对运动积极性不高、运动水平提升慢等诸多问题[1],将混合现实技术的融入到运动可以有效且高质量的学习[2].人体姿态估计方法(Human Pose Estimation,HPE)作为混合现实技术中关键的一环,HPE 可以利用传感器、图像和视频来估计人体部位的姿态,通过HPE 可以得到人体的几何和运动信息,对混合现实运动领域的发展有着至关重要的作用,因此,探索高精度人体姿态估计算法在混合现实运动中应用具有实际工程意义[3-4].

人体姿态估计算法在运动领域主要有二维姿态估计算法和三维姿态估计算法两类[5].在二维姿态估计算法方面,TOSHEV 提出了DeepPose[6],它采用级联回归网络实现人体姿态估计,虽然该模型简洁强大,但检测精度较低,直接回归2D 坐标很困难.WEI等人[7]提出了卷积姿态估计(CPM)方法,它使用热力图来表示人体骨骼关节点的位置信息,但该方法包含的语义信息较少,容易产生欠分割现象.CAO 等人[8]使用自底向上的思路创新地提出了OpenPose 方法,通过对关键点进行聚类分析,得到每个人的骨骼关键点信息,但运行计算量非常大,帧率较低.SUN 等研究者[9]提出的HRnet 方法可以始终输出高分辨率的结果,但对硬件设备的要求较高,不利于普遍使用.YU 等人[10]提出了Lite-HRNet网络模型实现了高性能的轻量化HRnet,主要通过通道权重从不同分辨率的特征图中计算出权重,最后采用加权处理融合的方式实现轻量化,但预测精度不高.

在三维姿态估计算法方面,还有一些研究者开始利用三维标注数据集来实现人体在三维空间内的姿态估计,例如使用End-to-End 方法直接从图像特征获取3D 网格参数.还有一些研究者设计了全连接残差网络和使用长短期记忆LSTM 网络来学习图像序列中人体姿态的时序信息,以提高三维姿态估计的准确度和稳定性[11].然而,这些方法容易受到背景、照明和服装等因素的影响,并且在一个数据集上训练的网络不能很好地推广到其他不同环境的数据集,可能导致结果不稳定[12].在三维姿态估计运动领域,人体姿态估计技术被广泛应用于评估运动员的姿势、动作和技术,以改进运动质量[13].然而,诸如遮挡、训练数据不足和深度歧义等挑战仍然存在困难[14].并且对于复杂场景中的高度遮挡多人HPE,3D HPE 获得准确的3D 姿态注释十分困难[15].

综上所述,虽然HPE 的性能有了显著的提高,在运动领域HPE 中仍存在一些挑战,需要在未来的研究中进一步解决.首先是在显著遮挡下可靠地检测个体[16].第二个挑战是计算效率,大多数HPE 算法在资源受限的设备上实现实时计算仍然很困难.另一个挑战在于罕见姿势的数据集有限,数据不平衡可能会导致模型偏差,导致在这些姿势上表现不佳[17].

针对人体姿态估计存在遮挡、计算效率低,罕见姿态的数据集有限等问题,我们在高分辨率网络的HRnet 模型的基础上提出了一个注意力机制的轻量级采样模块的HRnet(Lightweight Sampling Attention block HRnet,LSA-HRnet),分别采用轻量级采样模块和注意力机制进行人体姿态估计来克服计算效率低、预测精度不高等问题,并在自制太极拳运动数据集上验证了模型的有效性,与HRnet、SCnet 模型以及Lite-HRnet 网络模型相比具有更高的精度.本文对人体姿态估计技术应用到太极拳运动中进行研究探索,并在一定程度上扩充了罕见姿势的人体姿态估计算法的数据集,提出的方法可以识别运动过程中不规范动作,在提高竞技水平的同时也能够预防运动损伤,并且可以帮助提高运动质量.

1 基于注意力机制的轻量级HRnet

1.1 HRnet

在人体姿态评估网络的发展中,检测关键点的效果有了显著的提高.然而,之前的网络模型在运动领域并未充分关注计算机视觉任务,特别是对于人体姿态评估任务中的高空间敏感度.因此,网络模型中使用了过多的上采样操作来提高特征图的分辨率,但是用于填充像素的双线性插值和转置卷积等方法并不能保证填充的像素值有用,因此不能恢复关键点的空间位置.为提高关键点的精确定位,对传统网络结构进行了改进,提出了高分辨率网络HRnet,HRnet网络结构如图1所示.

图1 高分辨率HRnet网络结构Fig.1 High resolution HRnet network structure

高分辨率网络(HRnet)是由沙漏网络改进而成的多分辨率网络[18].HRnet 的架构主要包含四个阶段,每个阶段内部都有多个模块.如图1 所示,HRnet 从第一阶段的高分辨率分支开始.在接下来的每个阶段中,一个新的分支被添加到当前分支中,同时添加当前分支中分辨率最低的12 个分支.随着网络阶段的增多,它会有更多的并行分支,这些分支具有不同的分辨率,而前一阶段的分辨率都保留在后面的阶段中.一个包含3 个并行分支的示例网络结构如图1 所示.使用类似HRnet 的方式实例化骨干网.该网络从一个茎开始,由两个跨步的3×3 卷积组成,将分辨率降低到1/4.第1 阶段包含4 个剩余单元,其中每个单元由宽度为64 的瓶颈组成,然后进行一个3×3 卷积,将特征映射的宽度减少到C.第2、3、4 阶段分别包含1、4 和3 个多分辨率块.四种分辨率的卷积宽度分别为C、2C、4C和8C.多分辨率群卷积中的每个分支有4 个剩余单元,每个单元在每个分辨率中有两个3×3 卷积.HRnet 最初设计用于自上而下的姿势估计.得益于高分辨率特征和所有低分辨率分支特征的融合,HRnet 在人体姿态估计任务中取得了优异的性能.

1.2 LSA-HRnet

最近的工作表明,HRnet为了实现特征融合,通常需要大量的参数,导致网络变得复杂,模型的运行速度变慢.为了解决这个问题,本文提出了一种基于注意力机制轻量级采样模块的HRnet 模型LSA-HRnet,其中LSA模块和传统采样模块如图2所示,在保证模型结构简单和推理精度的同时,显著减少了采样过程中的参数量和计算量.

图2 传统采样模块和LSA模块Fig.2 Traditional sampling module and LSA module

具体来说,对于输入大小为Cin×Win×Hin的特征图,输出大小为Cout×Wout×Hout的特征图,传统的转置卷积计算量计算公式为公式(1):

其中,K是传统转置卷积的核大小,为了减小计算量和参数量,同时保持转置卷积的效果,本文在HRnet网络结构上设计的注意力机制的轻量级采样模块.如图2(b)所示,它由三部分组成:空间转置卷积(Depthwise Transpose Convolution)、1×1 卷积和注意力模块.具体来说,首先通过1×1 点卷积将低维度信息扩展为高维信息,并对特征图的每个通道使用空间转置卷积进行空间转换.最后,使用1×1 点卷积来融合各通道之间信息,并将高维度信息压缩到原始输入维度.如图2(b)所示,LSA 的计算量主要是空间转置卷积和两点卷积计算量的总和,计算公式为公式(2):

LSA的参数数量计算公式为公式(3):

其中,C为高维度特征的通道数.LSA 模块和传统采样模块参数量比值和计算量比值分别为公式(4)与公式(5):

在本文中参数设置为C*=2×Cin,Wout=2×Win,Hout=2×Hin,公式(4)与公式(5)化简后分别为公式(6)与公式(7).

LSA 采样模块与传统采样模块相比,减少了84%计算量,参数量减少75%.在图2(a)中为传统的转置卷积,它有很大的计算量,图2(b)中展示了本文提出的注意力机制轻量级采样LSA 模块,其中包括如何操作空间转置的卷积网络,如何操作点卷积网络以及引入注意力SEnet 模块,首先选用1×1点卷积来扩展外层特征图的通道数,使得通道数C变为C*,然后继续选用空间转置卷积逐步形成最高的外层特征高分辨率图,最后,通过采用1×1 点卷积将通道数变为C,由于注意力机制轻量级LSA 模块将空间如何操作和通道操作分成了两个独立的具体操作步骤,因此转置卷积的效果不是很好,针对这一问题,本文选用注意力机制SENet来增强空间中与通道有所关联的信息的融合,直接使用通道注意力机制(作为通道编码器,动态地调整每个通道的权重,如图2(b)所示.综上所述,假设输入的特征图,通过轻量级上采样模块输出的特征为,作为通道关注机制的输入.通过通道关注机制的特征输出.然后将LSA模块的特征输出和信道注意力机制的特征输出相乘并求和,得到最终的融合信息,即公式(8):

2 实验验证与分析

2.1 构建数据集

为了验证本文方法的可行性和有效性,本文设计了太极拳运动人体姿态估计实验,实验采用的计算机硬件环境为12th Gen Intel(R)Core(TM)i9-12900K 3.20 GHz,64 GB 内存,NVIDIA GeForce RTX 3070Ti 显卡;软件环境为Windows 11 操作系统;运行环境为Python3.7,Pytorch2.1 和Anaconda3.考虑到人体姿态估计领域目前还没有开源的太极拳人数据集及相关模型,本文建立了一个太极拳站人体姿态估计模型的数据集,该数据集包含了12个一段完整学习太极拳视频序列,

针对太极拳数据集,我们首先将捕获的视频序列逐帧输出并进行关键图片筛选,为提高模型的预测性能进行图像预处理,在原有的基础上更进一步提高了在线视频帧的曝光度、色彩饱和度和整体色调,增强了数据质量.最后,将视频帧显示图像全部设置为摄像400×400 像素,大小为256×256,并用0 和1 对太极拳动作数据集上的关节点坐标进行标注(关节点位置标记为1,没有关节点的位置标记为0.构建人体姿态估计模型数据集后,依据7∶3 的比例划分训练集和测试集.自定义太极拳视频数据集的提取是为了能够更方便的了解太极拳姿势的具体操作步骤,为强化训练集和验证集显示的图像来自志愿者,本文内容采取使用帧差法提取太极拳学习动作,每一个学者的太极拳数据集包含100 张关键帧图像,最终存储在一个JSON 生成的文件中,其基本结构与COCO 人体姿态估计模型标注基本一致,标签样式为人体关键点标注,人体关键点标注用于标记人体姿态中的关键点位置,例如头部、颈部、肩膀、手肘、手腕、膝盖、脚踝等,每个标注样本的关键点信息由三个值组成:x、y坐标和可见性.

2.2 实验结果与分析

人体姿态估计实验为了使用户清楚地观察太极拳动作中的骨骼关节位置、方向、角度等信息,对太极拳动作视频的关键帧序列进行人体姿态估计.首先,从太极拳关键帧序列图像中选择连续的5 帧图像,最后,对得到的关节点序列进行可视化.人体姿态估计实验为了能清楚地观察到太极动作中骨骼、关节的位置、方向、角度等信息,对太极动作视频的关键帧序列进行人体姿态估计,首先,本文中对网络进行了100次迭代训练,并使用Adam 优化器以1e-5 的学习率训练网络,每次迭代以指数方式衰减.其次,从太极关键帧序列图像输入到LSA-HRnet的模型中,估计出太极拳动作二维关节点序列.为了突出太极拳动作中重点关节在空间中的位置和角度,本文利用LSA-HRne 对得到二维关节点序列进行人体姿态估计,最后为使能够清楚地观察太极拳动作,对网络输出的各个关节点坐标进行可视化,可视化结果如图3 和图4 所示,图中的第1 行均为拆分太极拳运动动作的关键帧图像;第2 行均为太极拳运动动作帧图像的二维人体骨骼关节点序列可视化图.

图3 太极拳运动A二维关节点序列可视化Fig.3 Two-dimensional joint point sequence visualization of taichiquan movement A

图4 太极拳运动B二维关节点序列可视化Fig.4 Two-dimensional joint point sequence visualization of taichiquan movement B

实验评估:人体姿态估计评价指标主要是正确的关键点百分比(Percentage of Correct Keypoints,PCK)和平均精确率(Average Precision,AP),其中,PCK 定义为正确估计出关键点的比例,计算检测的关键点与其对应的标签间的归一化距离小于设定阈值的比例本文采用人体姿态估计常用的PCK作为评价指标.PCK 指标对于一个关节点计算公式如式(9):

其中,Tk表示第k个阈值,p表示第p个人,i表示i第关节点,dpi表示第p个人中第i关节点预测值与人工标注的欧式距离.

应用于单人人体姿态估计的AP 指标计算如式(10)所示,AP指标首先需要计算出正确标注与检测所得的OKS为标量,人为给定一个阈值T,后可通过所有图片的OKS 得到计算结果.OKS 指标的计算如式(11)所示,OKS 表示在人体关键点评价任务中,对于网络得到的关键点好坏并不仅仅通过简单的欧氏距离计算,而是在计算时根据实际需要引入新的尺度信息参与计算,通过最后得到的计算结果表示两个关键点之间的距离.

式中:p表示正确标注中的第p个人;pi表示第p个人的第i个关键点;dpi表示当前检测的编号为i的关键点与正确标注中第p个人的第i个关键点的欧氏距离;Sp表示正确标注中第p个人的尺度因子;σi表示第i个关键点的归一化因子;vpi表示关键点的可见性;vpi=1 表示关键点无遮挡且已标注,vpi=2 表示关键点有遮挡但已标注.

注意力机制轻量级HRnet 和HRnet、SCnet 及Lite-HRnet在太极拳教学动作数据集上的结果如表1所示.所有的模型都是从零开始训练的,表1显示了我们的模型和原始HRnet的结果,结果表明,在相同的训练设置下,我们的模型在很大程度上优于原始HRnet.这是由于在我们的LSA 块中,轻量级采样模块首先将通道数压缩到C/s,其中C 是输入特征图中的通道数,s是比例参数,经过卷积层后,通道数恢复到C,表1中显示使用我们的LSA-HRnet模型获得了更好的平均mPCK分数.

表1 太极拳运动动作数据集上的PCK和APTab.1 PCK ang AP on Taichiquan movement action dataset

如表1展示了我们的网络和其他轻量级网络在太极拳运动数据集上的结果,与原本HRnet、SCnet及Lite-HRnet 相比,我们的模型以更少的参数和更小的计算量,获得了较高的精度.在太极拳运动数据集上,与HRnet 相比,我们的模型精度达到0.9785,参数量比HRnet少15 M.与SCnet相比,我们的模型分别提高了16.7%.可以从实验结果中看出Lite-HRnet 相比本文提出的模型及HRnet、SCnet 在参数量的方面有着大幅的下降,但是预测性能表现最差,相比之下可以看出LSA-HRnet 在降低参数量的同时有效的提高了模型预测精度.与Lite-HRnet对比中,本文提出的模型在后续的研究可以在保持高精度高性能的同时进一步降低参数量、提高计算性能.

为了验证设计的轻量级采样模块和注意力机制SEnet 模块分别对HRnet 的征提取能力和对人体关键点检测准确率的影响程度,引入消融实验来验证主干网络结构变化所带来的影响,分别构建了本文提出的有注意力机制的轻量级HRnet网络和无注意力机制的轻量级HRnet 网络模型进行对比实验,实验结果如表2所示:

表2 消融实验结果Tab.2 Ablation results

表2 的实验结果表明:无注意力机制的LSAHRnet 在相比本文提出的LSA-HRnet 只增加本文设计的轻量级采样模块,无注意力机制的LSA-HRnet模型的mPCK 和AP 指标仅下降了2.4%和1.8%,这有效的说明本文提出的LSA-HRnet的设计的轻量级采样模块不仅大幅度降低了网络模型的运算复杂度与参数量,而且还能够保证网络模型的性能,达到轻量型网络的目的.并且有注意力机制的LSAHRnet 在加入注意力机制SEnet 后并不会对模型的运算复杂度造成很大的影响,而且添加注意力机制能够一定程度的提高LSA-HRnet在检测关键点时的准确率.

3 结论

对HRnet 网络的采样模块进行了轻量化处理,并在HRnet 的基本残差块中增加了通道注意力机制,提出了一种基于注意力机制轻量级HRnet网络,将HRnet 中的原始块替换为我们所提出的LSA 模块.太极拳运动的实验证明了模型轻量化和通道注意机制的有效性,基于注意力机制轻量级HRnet 网络的性能优于原HRnet,在太极拳运动数据集上达到了最先进的性能.本文最终设计实现了该人体姿态估计在太极拳运动中的应用,并基于该方法能获得及时的动作学习反馈,提高运动质量.未来的研究内容包括实现端到端的混合现实的运动与反馈应用系统,并进行推广应用.

猜你喜欢

关节点关键点太极拳
练习太极拳的感悟
练太极拳为什么要一门深入
聚焦金属关键点
肉兔育肥抓好七个关键点
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
太极拳的“教”与“学”应“以点带面”
搞好新形势下军营美术活动需把握的关节点
RGBD人体行为识别中的自适应特征选择方法
医联体要把握三个关键点