基于骨骼关键点的散打动作识别与评价方法
2023-12-28张冰冰赵柏山
张冰冰,赵柏山
(沈阳工业大学信息科学与工程学院,沈阳 110870)
1 引 言
人工智能的快速发展促进了人体动作识别技术的研究,该技术在智能家居、智能安防、运动分析等领域中得到广泛应用。在运动分析领域,将人体动作识别技术与散打动作结合,可以实现散打动作识别,再通过比较相似度,可以实现辅助打分效果。目前有两种主要的人体动作识别方法,一种是使用可穿戴设备获取人体运动参数识别人体动作[1],此方法依赖硬件设备,而且成本较高;另一种是通过双流法[2]或三维卷积法[3]识别人体动作,但识别效果容易受到环境影响。为了解决现有研究中存在的问题,从骨骼信息的角度出发,使用改进YOLOv5s-CBAM 目标检测模型进行人体目标检测,在此基础上使用改进的HRNet-DSC-CBAM 人体姿态估计模型提取人体骨骼关键点坐标,可以减少背景干扰,然后将骨骼信息构造成骨架时空图输入ST-GCN 动作识别算法进行散打动作识别[4],将骨骼关键点坐标转换为关节角度特征,通过DTW 动态时间规整算法[5]进行动作评价。
2 实验数据
实验使用自制散打数据集,选取散打中的10 式动作进行视频拍摄,分别是前直拳、后直拳、前摆拳、后摆拳、前正蹬腿、后正蹬腿、前鞭腿、后鞭腿、前侧踹踢、后侧踹踢。为提高网络的识别效率及精度,采用基于视频聚类的方法进行关键帧提取与双边滤波的方法进行图像去噪。
3 网络设计及实验分析
3.1 YOLOv5s-CBAM 目标检测网络
CBAM 卷积注意力机制模块[6]可以从特征图中提取或学习出特征的权重,再将权重进行重新分配以抑制无效特征增强有效特征。CBAM 模块包括通道注意力模块和空间注意力模块,如图1 所示。
将通道注意力模块所得的通道关注度与输入特征图F 相乘,可以将通道权重进行再分配,得到新的通道特征图F'。将空间注意力模块所得的空间关注度与输入特征图F'相乘,得到最终生成的特征图F''。
在目标检测任务中,为了对目标进行更加精准的检测,需要对目标的关键特征信息进行重点关注,因此此处将CBAM 模块添加到目标检测算法YOLOv5s 的网络结构中,将更多注意力资源置于目标的关键区域[7]。在YOLOv5s 网络模型中,共有三个尺度的输出,针对目标尺寸差异可以生成不同尺度预测框。为了不使模型参数量大幅度增加,并且不使网络推理速度变慢,CBAM 模块不可放置过多;同时由于浅层提取不到充分的特征信息,无法对关键位置和通道信息进行关注,因此CBAM 模块不可以放置在网络浅层部分。综上考虑,将CBAM 模块加在YOLOv5s 每个检测尺度前,不仅可以帮助模型更充分地提取特征,提高检测准确性,而且由于添加数量较少,网络推理速度也不会受到较大影响。改进后的YOLOv5s-CBAM 网络结构如图2 所示。
图2 YOLOv5s-CBAM 网络结构
将改进后的YOLOv5s-CBAM 网络与其他网络进行性能对比实验,实验结果如表1 所示。
可以看出,YOLOv5s-CBAM 网络模型的MAP值比YOLOv5s、SSD 模型分别提高了1.1%、6.5%,模型权重比YOLOv5s 模型增加了1.75 MB,比SSD 模型减少了19.15MB。
这表明,YOLOv5s-CBAM 网络模型在小幅度增加模型权重的情况下优化了对于目标物体的搜索能力,带来较大幅度的MAP 值增加,可以更准确地对散打人员进行目标检测。
3.2 HRNet-DSC-CBAM 骨骼关键点检测网络
DSC 深度可分离卷积[8]将标准卷积拆分成深度卷积与点卷积。DSC 卷积与标准卷积的参数量与计算量比值分别如下式所示:
由于DSC 卷积的卷积核通常为3×3,且输出通道数N 很大,DSC 卷积的参数量与计算量约为标准卷积的1/9,因此利用DSC 卷积可提高模型训练和运行的速度。
在骨骼关键点检测任务中,人体姿态估计算法HRNet[9]的残差模块使用标准卷积,存在参数量与计算量较大的问题,在网络层数较深时效果不佳。因此,此处以DSC 卷积和CBAM 模块构成的轻型残差模块替换原网络残差模块,兼顾检测准确率的同时大幅度降低参数量与计算量。改进后的轻型残差模块如图3 所示。
图3 改进后的轻型残差模块
同样,将改进后的轻型残差模块与其他模块进行性能对比实验,实验结果如表2 所示。
表2 LCD 屏幕位置显示实例
由表2 可以看出,HRNet-DSC-CBAM 网络模型的AP 值相较于HRNet、AlphaPose 模型分别提高了0.8%、4.3%,参数量分别降低了9.0M、8.3M,计算量分别降低了8.4、16.1。这表明,HRNet-DSC-CBAM网络模型的轻型残差模块能够在大幅度减少网络参数量与计算量的同时保持骨骼关键点检测准确性不会下降,从而能够更准确更快速地检测散打人员的骨骼关键点信息。
4 动作识别及评价
4.1 动作识别
将由上述改进网络处理过的骨骼数据构造成骨架时空图,输入ST-GCN 网络模型以实现散打动作识别。首先对输入数据进行批量规范化处理,然后经过9 个ST-GCN 单元,每个单元都进行特征残差融合,使得模型的学习能力有所增强,最后经过池化层、全连接层把数据转化为256 维向量,将其送入softmax 分类器进行分类。
在自制散打数据集上分别对C3D、LSTM 和ST-GCN 算法进行网络训练测试,实验结果如表3所示。
表3 动作识别网络模型性能比较
可以看出,ST-GCN 算法的准确率相比LSTM、C3D 算法分别提升了4.6%、22.1%,表明了ST-GCN算法的高效性,在散打动作识别分类任务上有着优异的效果。散打动作识别结果如图4 所示,图中所显示的字母a 代表前摆拳。
图4 散打动作识别结果
4.2 动作评价
首先将骨骼坐标转换成关节角度信息,选取左肩、左肘、右肩、右肘、左膝、左胯、右膝、右胯8 个关节点,利用余弦定理进行关节角度计算,如下式:
其次,由DTW 计算待测样本和模板样本8 个关节角度的DTW 距离。假设有测试序列B=(B1,B2,…,Bi,…,Bm),模板序列D=(D1,D2,…,Dj,…,Dn),其中Bi代表第i 帧的特征向量;Dj代表第j 帧的特征向量。若m 与n 相等,直接对两个动作序列计算累加距离。当m 与n 不等,则采用DTW 算法使两个动作序列对齐,具体做法是将两个序列构造成m×n的矩阵,矩阵中的元素(i,j)表示两个动作序列对应点Bi与Dj间的距离d(Bi,Dj),如下式:
式中,Biw与Djw分别表示动作序列B 和D 的第i 帧和第j 帧的特征值;N 表示动作序列维度。
两个序列间的最佳匹配路径定义为规整路径,用W 表示,如图5 所示。
图5 规整路径示意图
它有3 个约束条件,条件满足后每个格点路径剩下3 个方向,如果路径通过了格点(i,j),则下一步通过的格点只能是(i+1,j)、(i,j+1)、(i+1,j+1)其中之一。为得到最佳规整路径,定义累加距离,如下式:
选择数据集中的前摆拳作为评价对象,选取20个样本作为测试序列,采用DTW 算法计算测试序列与标准序列的DTW 距离,作为相似性评估的指标。实验部分结果如图6 所示。
图6 左肩关节角度的DTW 距离分布
从图6 中可以看出,左肩关节角度的DTW 距离大部分分布在630°到1200°之间,少部分分布在1200°到1300°之间。舍弃少部分值,对8 个关节点的实验数据进行分析,定义前摆拳评价方法,如下式:
式中,ea是单个角度特征的得分;ec是单个角度分配的分数,共有8 个关节角度,因此令ec取值为12.5,使得满分达到100 分;d1是DTW 距离值;dmin是DTW 距离有效区间内的最小值;fc是损失参数。
最后,即可用E 代表8 个关节角度得分的总和:
5 结束语
本研究通过YOLOv5s-CBAM 进行人体目标检测,基于目标检测结果利用HRNet-DSC-CBAM 进行人体骨骼关键点检测,将得到的骨骼关键点坐标构造为骨架时空图输入ST-GCN 网络实现散打动作识别。其对自制数据集识别率达到92.8%。利用关节角度的DTW 距离也实现了对动作评价公式的定义。实验结果表明方法具有有效性,对于辅助打分这一专业领域具有一定的实用价值。