基于时空图卷积神经网络的网球底线正手击球动作识别方法
2023-01-31吴晓军
吴 晓 军
(安徽文达信息工程学院,安徽 合肥 231201)
0 引 言
网球运动员在国际赛场上为我国取得了很多荣誉,运动员取得荣誉不仅与运动员的运动天赋有关,还与教练团队的付出相关,即训练相关。在运动员训练过程中,教练团队分析运动员的动作,根据分析结果,制定针对性的训练,但是在以往的训练中,通常采用人工标记的方法标记动作,这种方法耗时耗力,并且标记准确度低,为教练提供参考价值有限。在上述背景下,相关学者研究了击球动作识别方法,其中,吴佳等研究了基于特征动作序列的动态手势识别方法[1],该方法预先变换原始数据,将变化后数据作为特征识别依据,采用模糊聚类算法对特征动作提取,在此基础上对特征动作编码,编码后保存到支持库中,采用改进编辑距离方法对动作序列相似度计算,实现相关动作的识别;刘芳等研究了基于双流多关系(graph convolutional networks,GCNs)的骨架动作识别方法[2],通过对节点间的相互联系进行预处理,对特征传递和融合,给出基于全局邻接关系的自适应算法,计算各节点的相互作用强度,以最大的特征点为输出点,从而识别运动。上述提出的识别方法虽然能够实现动作识别,但是会受到其他因素影响,导致识别结果较差。
针对上述存在的问题,结合时空图卷积神经网络,设计了一个基于时空图卷积神经网络的网球底线正手击球动作识别方法,期望提高动作识别效果,助力网球运动员的训练,促进体育事业的发展。时空图卷积神经网络包含从网格到图数据的卷积操作,其能够汇总节点,依据汇总的节点和邻居特征生成节点表示形式,实现目标的输出。该网络局部特征和全局特征能力好,已经被广泛应用到各个领域中。
1 正手击球动作识别
1.1 运动区域提取
在识别网球底线正手击球动作前,需要提取运动区域。因此,建立运动的图像获取模型,然后将运动影像的特征提取与模板匹配相结合,在模型匹配后实现信息采集,过程如图1所示:
图1 图像采集过程
在网球底线正手击球动作提取中[3],需要从图像中抽取相应的形状[4]。为方便后续处理,采用膨胀操作扩充物体边界点,公式如下
u=z/(w)b+v
(1)
式(1)中,v代表膨胀操作参数,b代表结构元素,w代表物体的边界点,z代表腐蚀参数。
通过上述处理能够去除不同大小区域。由于视频序列中动作运动幅度不同[5],导致目标提取困难,同时,实际的场景中,运动背景复杂,也会干扰目标提取。为此采用帧间差分法进一步处理[6],公式如下
(2)
式(2)中,xk为采集的视频图像中的第k帧图像,xk+d代表第k+d帧图像,T代表处理过程中的阈值。
在计算中,如果得到的结果小于T,则认为像素值是静止的。
采集视频运动在时间上具有特征,因此,可以从一组连续的差分图像中选取一组运动变化的形式来描述运动的变化[7]。将动作视频数据集表示如下:
(3)
式(3)中,Si表示训练集合的随机差分抽样值,yi表示所获取的样品的视频行为标记参数,N代表训练的样本数。
但由于样本之间具有关联性,并且每个样本中的信息会随着时序变化发生改变,而最后一个样本中的数据会包含更多的信息,因此,在这个过程中,需要考虑每个样本片段所包含的信息量,将权重重新分配给每个样本片段,公式如下
(4)
基于上述过程提取出运动区域,并处理运动区域背景,为后续击球动作识别提供帮助。
1.2 人体有向时空骨架图的构建
原始数据是一系列帧,每一帧都包含人体关节的坐标,依据关节坐标提取骨骼信息[8]。然后将每帧中的人体关节和骨骼表现为有限无环图,在构建中,采用有向时空图神经网络识别动作。为提高人体骨骼与骨架节点判别的自适应性,需要利用间差异有向时空图来表示图数据时空差异信息,将骨骼动态的级联融合表示在两流框架中,通过点云动态图卷积(dilate gated convolutional neural network,DGCNN)判别来完成判别动作性能的提升。
将骨骼关节分为不同部分,包含2个手臂、2条腿以及1个躯干,表达运动员击球动作中骨骼的信息结构,表示为
(5)
式(5)中,ncj代表根节点j到中心的距离,nci代表节点到中心的距离。
在计算中,以3D骨架数据为例,将关节坐标表示为(x,y,z),对于一个骨骼,可以用以下方式来表示源接头vs=(xs,ys,zs),将网球运动员的目标关节记作vs′=(xs′,ys′,zs′),将运动员骨骼参数表示如下:
Evs,vs′=(xs-xs′,ys-ys′,zs-zs′)
(6)
依据上述过程将骨架结构表示为有向图,在此基础上,按照关节和骨骼的关系分类动作[9]。构建的有向图神经网络包含多个图层,每个图层中包含相应的顶点和边属性的图形,为此可以在相邻关节和骨骼中提取每个关节和骨骼的信息,通过分析其依存关系,实现动作的识别。在人体骨架有向图中共包含2个更新函数,通过更新函数实时更新连接边和顶点的属性[10],将公式表示为
(7)
上述过程对人体骨架空间建模,以了解到每个部分的重要性。
1.3 人体有向时空图表示
在利用有向图来表示骨架结构的基础上,需要将动作信息数据进行分类,在分类的过程中需要采用图神经网络来完成模型构建。该网络中任意图层的图形均具有边属性与定点,能够保证图形输出的即时性,这是由于其关联信息能够在骨骼之间相互传播,以此完成信息的即时更新。在骨骼信息的提取过程中能够得到关节与骨骼的属性特征与依存关系,从而大幅度提高动作识别模型构建的完整性。通过对每层图数据的属性特征来更新相邻图数据的信息,从而进一步实现局部信息的实时更新以及提取,仅通过单个关节与相邻骨骼信息便能获取到关节的角度信息。在识别过程中的信息需要具有一定语义性与全局性,以此更好地将骨骼与关节远距离聚拢至模型顶层。
在人体骨架有向图的函数表示中,聚合函数用gin与gout来表示,主要用于将有相连顶点的传入、传出边信息属性的聚集,更新函数用hv与he来表示,该函数能够根据已知条件对目标连接边与定点属性进行更新。确定目标节点的输出边与输入边,并检查所有边的目标关节点与元关节点,进一步完成神经网络的输入边与输出边的信息传播。
1.4 时空卷积神经网络的识别方法
在构建的人体有向时空骨架基础上,建立时空卷积神经网络,对骨架拓扑结构进行参数化处理,将其嵌入时空卷积神经网络,便于模型的学习与更新[11]。
识别流程如图2所示:
图2 识别流程
步骤如下所示:
Step1:将定义好的图记作G,在空间维度上,将图卷积运算做如下定义
(8)
式(8)中,v代表时空图上的顶点,fin代表目标的特征映射参数,vrj代表节点j的邻居节点集合,w代表权重函数。
Step2:空间维度转换,公式如下
(9)
式(9)中,k代表卷积核大小,A代表临接矩阵的归一化参数,M代表权重矩阵,e代表点积。
基于上述过程,在时间维度上转换输出的特征图维度,提取时间特征,实现时间图卷积运算[12]。
Step3:引入多注意力机制,优化连通图,得到更适合描述的图结构,以更好的完成网球底线正手击球动作识别,将加入图注意力模块后的卷积公式表示为
(10)
式(10)中,Bk代表注意力矩阵。
Step4:在上述注意力模块设定后,得到初步提取的空间特征[14],为了更好地表现出网球底线正手击球动作,引入注意力机制[15]。由于每一个信道的关键信息都是不一样的,为此需要设定不同权重,每个权重主要代表某个通道参数对关键特征的贡献程度[16-17],如果权重大则代表相似性高,需要注意该通道信号,如果通道相关度低,则可以减少这个通道的关注[18]。将全局信息嵌入的信息公式表示为
(11)
式(11)中,H、W分别代表2个权重矩阵,mc代表挤压操作参数,ie代表第e个通道的权重计算参数,f代表激活函数。
通过上述过程不断更新参数,帮助卷积层更好地提取出动作特征,进一步完成网球底线正手击球动作识别[19-20]。
2 实 验
2.1 实验准备
为验证提出的基于时空图卷积神经网络的网球底线正手击球动作识别方法的有效性,进行对比实验,将基于特征动作序列的特征识别方法、基于双流多关系GCNs的识别方法与本文提出的识别方法对比,对比3个方法的识别效果。
在实验中,通过摄像机采集动作视频,并将摄像机的参数调整帧率为60 fps、分辨率720像素,以保证采集的图片不出现模糊情况。实验共分为两个部分,第一个部分以某网球运动人员为例,分别采用3种方法捕捉击球动作,分析动作捕捉的准确性。
第一部分实验采集的原始图像如图3所示。
(a)原始图像1 (b)原始图像2
第二部分实验中,以某数据集为例,其中包含正手击球动作、正手拉球动作以及反手击球动作等,基本情况见表1。
表1 实验动作
共采集1 200条网球运动数据,数据类型分别为正手击球、正手拉球、反手击球、反手拉球以及其他动作,通过多种类型数据对所提方法进行分析,以保证实验的准确性,其中80%的数据作为训练集,其余的20%作为实验集。
2.2 性能分析
第一部分实验分别采用3种方法识别所有动作,识别对象为摄像机采集的样本,对比3种方法识别该样本在正手击球上的识别准确性(图4~5)。
图4 正手击球动作捕捉效果1
图5 正手击球动作捕捉效果2
分析上图能发现,在正手击球动作捕捉上,所提出的识别方法能够较为准确地捕捉到击球动作,而另外2个动作识别方法在动作捕捉上存在一定程度的偏差,无法准确识别出击球动作,从而会影响到击球动作的识别效果,说明本文方法在识别的准确度方面略优于传统动作识别方法。
第二部分的实验结果如图6~7所示。
图6 正手击球动作识别准确度对比 图7 动作识别时间对比
基于图6能够发现,在正手击球动作识别上,所提出的识别方法识别准确性都较高,其识别的数量基本达到了200个,该值与表1中正手击球动作样本数量一致,该数值未超过正手击球动作样本数量,准确识别出正手击球动作并且相对稳定,未出现较大的波动,但是对比方法的识别数量均超过了200个,识别方法将其他动作识别为正手击球动作,其中基于特征动作序列的动态手势识别方法在实验次数为5次时,最高识别数量达到了600个,该数值远远超过了实验中提供的正手击球动作样本数量,并且识别数量随着实验次数增加而增加,上升幅度也最大,表明该方法识别准确性低。基于双流多关系GCNs的骨架动作识别方法在实验次数为5次时,识别数达到了405个,该数值远远超过正手击球动作的样本数量200个,呈现明显的上升趋势,但是低于基于特征动作序列的动态手势识别方法。相对于以上2个方法,本文提出的方法识别准确度较高,识别数量分别低于对比方法400个和205个,因此,本文方法应用效果最好,另外两个方法出现多识别的情况。
为了进一步分析设计方法的识别性能,以识别时间为实验指标,可以有效反映识别方法的耗时性能,该指标值越低,表明识别方法的性能越好,实验对象为1 200个动作,统计识别正手击球动作运行的时间,实验具体结果结果如图7所示。
通过图7能够看出,在几次实验中,所提出的正手击球动作识别时间均少于另外两种方法,最多识别时间仅为1.3 min,平均识别时间不超过1 min,且识别速度比较平均,说明该方法具有较好的稳定性。基于特征动作序列的动态手势识别方法的识别时间最高达到了6.8 min,平均识别时间为4.2 min,且通过观察图像曲线可以发现该方法识别时间波动较大,在实际应用中稳定性价差。基于双流多关系GCNs骨架动作识别方法虽然识别时间较为稳定,但耗时远远高于本文方法。因此,3种方法相比可知,本文方法的优越性较强,并且具有一定的稳定性。
3 结 论
基于上述分析,完成击球动作识别方法的设计。此次研究的创新之处和主要结论:①预处理数据,并建立运动员骨骼数据集,同时实时调整骨骼的关键点;②聚合周围节点,丰富骨骼序列空间特征,通过时空图卷积神经网络实现了击球动作识别;③所提出的击球动作识别有效提高了动作识别效果,并且在多种类型的动作中,可以有效识别出正手击球动作,识别数量达到了200个,同时识别时间仅为1.3 min,降低了5.5 min。因此,该方法有效提高了识别准确度,降低了识别时间,提高了识别效率。
由于网球运动较为复杂,当前图卷积网络还有部分缺陷需要完善,在后续研究中可以建立更加丰富的网球动作数据集,为动作识别提供参考。