1 运动者步态能量图生成 Generation of energy graph of athlete’s gait
1.1 运动者步态能量图的获取 在运动者疲劳状态下,步态特征参数显示出更大的变异性[11],这增加了步态识别的难度。然而,步态能量图作为一种有效的步态特征表示方法,能够全面捕捉运动者步态的动态信息,并特别适用于分析疲劳对步态的影响。通过步态能量图,可以直观且量化地反映运动者疲劳状态下的步态变化[12],从而为运动者的疲劳状态识别和运动调控提供科学依据。
为了有效地捕捉运动者在疲劳状态下的步态特征,并降低分析的复杂性,可以利用步态的周期性特征[13-14]。一个步态周期,即从一只脚着地到同一只脚再次着地的完整过程,是分析步态变化的基本单元。在这个基础上,通过提取一个完整步态周期内的代表性特征,以构建步态能量图。
归一化自相关函数(normalized autocorrelation function,NAC)是自相关函数的一种特殊形式,通过NAC分析,可进一步确认和校准从步态周期中提取的特征,从而确保步态能量图能够准确且全面地反映运动者的步态变化,特别是疲劳状态下的变化。当信号(或图像帧)具有周期性时,NAC值会在特定的时间延迟(或帧差)下达到局部最大值,这些局部最大值对应于信号的周期。在步态分析中,这意味着当运动者的步幅达到最大值时,NAC值也会达到一个局部最大值,由于步幅的周期性变化,NAC值会周期性地达到这些局部最大值。假设一个步态周期内有多个图像帧,可以计算每一对相邻帧之间的NAC值,找到NAC值达到局部最大值的帧数对,并计算它们之间的帧数差,这个帧数差就是步态周期。NAC的计算公式如下:
式中,I1、I2表示同一周期内2个不同的图像帧;dx、dy表示I2相对于I1在x、y方向上位移变化量;μ1、μ2表示I1、I2的均值。
为了进一步分析运动者在一个步态周期内的运动特征,基于计算得到的步态周期,求解步态能量图,量化步态周期内身体各部位的运动能量分布,获取运动者步态能量图,计算公式为:
式中,N表示一个步态周期内图像帧的总数量;Ib表示某一步态能量图像帧;E(dx,dy)表示所在位置(dx,dy)处的步态能量图像像素;B表示二值图像,其像素值通常为0(背景)或1(前景,即运动者运动轮廓);B(dx,dy,Ib)表示Ib对应位置(dx,dy)处的像素值。
通过NAC分析将不同运动者或不同时间点的步态数据进行标准化处理后,所提取的特征更加具有可比性,这对于构建统一的步态能量图至关重要。NAC分析提供了一种直观的方式来解释和理解步态数据,它不仅有助于提高步态分析的准确性和全面性,还能够增强数据的可解释性,为运动者的训练和表现分析提供科学依据。
1.2 基于空间转换的运动者步态能量图生成方法 利用NAC分析从步态周期中提取出标准化的时间序列特征,这些特征能够反映运动者在不同运动阶段的身体状态和运动模式。在运动者步态能量图的获取过程中,由于视角变化导致图像失真或变形,进而影响疲劳状态下步态识别的准确性。为了消除视角差异带来的不利影响,对步态能量图进行视角转换,即将来自不同视角的步态能量图统一转换到一个目标视角下,以便于后续分析。
经过试验验证,发现当视角设定为90°时(即摄像机的镜头方向与运动者前进方向垂直),运动者的步态特征在区分度上表现最为显著,因此将每个视角下的步态特征转换到90°视角下。为了实现这一转换,采用了奇异值分解(singular value decomposition,SVD)方法,奇异值分解能够通过矩阵分解的形式,有效地映射并表征步态图像中的各视觉特征。奇异值分解是一种在线性代数中常用的矩阵分解技术,在数据分析、信号处理、图像压缩等领域有着广泛的应用。奇异值分解能够从步态图像矩阵中提取出主要的特征向量,这些特征向量对应于图像中的主要视觉模式,有助于捕捉步态的关键特征。通过对步态图像矩阵进行奇异值分解,可以实现数据的降维,保留最重要的特征,同时去除噪声和冗余信息,这对于处理高维图像数据尤为重要。同时,奇异值分解可以用于对齐不同时间点的步态图像,通过将图像投影到共同的特征空间,实现特征的对齐和标准化。变换详细过程为:
设步态特征共有M个个体(运动者个体)需要转换,任意运动者都有K个视角,每个运动者在每个视角下的步态能量图(在重新排列为列向量后)的大小为Ne×1,即包含Ne个像素值。假设em表示第m个运动者在第k个视角下的步态能量图的列向量,若将角度作为行,运动者个体作为列,将每个列向量组成一个大向量,即特征集,则有:
其中,V表示与角度不相关的固有步态特征矩阵;P表示映射矩阵。为了更清晰地直观理解公式(4),将vm看成是第m个运动者与角度不相关的步态特征,将Pk看成一个与运动者个体无关,处于某个特定角度k下的映射矩阵,同时其可将vm映射至k角度,则有:
假设vm在i角度下的步态特征为em,则其在j角度下的步态特征数学表达式为:
式中,Pi、Pj表示P的i、j角度下对应的矩阵。
运动者每个步态能量图都按照公式(6)转换,即可将转换到同一个目标视角下,进而生成清晰的步态能量图,如图1所示。
奇异值分解方法能够有效地映射并表征步态图像中的各视觉特征,提高步态分析的准确性和效率。通过奇异值分解可以更好地理解和解释运动者的步态模式,为训练和表现分析提供依据。
2 运动者疲劳状态下步态动作识别 Gait motion recognition of athletes in fatigue state
2.1 步态动作识别模型构建 卷积神经网络(convolutional neural network,CNN)是一种深度学习架构,其卷积层能够自动学习图像中的局部特征,这对于捕捉步态能量图中的细微运动变化至关重要。在卷积层中,卷积核在整个输入图像上共享参数,这减少了模型的参数数量,使得网络更易于训练,并且能够泛化到新的数据上。CNN能够学习从低级到高级的特征,这使得网络能够理解复杂的步态模式,并识别出运动者在疲劳状态下的特定步态特征。
由于CNN的卷积核可对输入运动者步态能量图序列进行滑动运算,以有效地挖掘图像的局部运动和形态变化特征,保证识别结果的有效性[15-16]。为此,利用CNN构建运动者疲劳状态下步态动作识别网络模型,模型结构如图2所示。
根据图1可知,卷积与采样运算共同实现运动者步态能量图特征映射[17-19]。卷积层运算:先将输入步态能量图序列经卷积滤波器处理,然后在结果增加偏置项,得出卷积层。采样层运算:通过相邻4个像素值采用求和方式将其融为一个像素值,再执行加权与偏置运算,输入生成的步态能量特征图,经激活函数构建步态动作识别模型[20-21]。由于Sigmoid函数的导数(即其关于输入的梯度)可以用一个简单的公式表示,降低步态识别模型中梯度计算的难度[22]。为此,将此函数作为步态识别模型的激活函数,输入获取的步态特征,其数学表达式为:
其中,x表示σ(x)的输入变量;e是一个约等于2.718 28
数值。在卷积层中所进行的具体操作如下:把上一层所呈现的步态特征图与一个具备可学习特性的核函数实施卷积操作,再经由公式(8)处理,以获取相应的输出[23]。计算过程为:
式中,n表示步态识别模型中的网络层数;o、s表示上一层与本层某一神经元;h表示卷积核,即权重函数; b表示各层偏移变化量。
采样层运算:通过合并相邻的像素,减少了步态能量特征图的宽度、高度(即空间维度),从而降低了步态识别模型计算量及参数数量,使模型更易于训练。计算过程为:
式中,n1表示本层的窗口大小。运动者疲劳状态下步态动作识别整个过程分为两个环节:
第一环节,正向运算。
(1)从步态能量特征图序列集随机选取样本图像M1,并输入识别网络中;
(2)初步求解步态识别结果Rc。在此环节,输入步态能量特征图中的信息经由逐层变换传递至输出层。
网络执行时,输入与各层的权值矩阵进行点乘,数学表达式为:
其中,W1,W2……Wn、σ1,σ2……σn表示各层连接权重及对应激活函数。
第二环节,逆运算。
(1)求解识别网络的Rc与现实输出值Rc*间误差;
(2)若ε > 0.000 1,则利用梯度下降法更新步态识别模型各层链接权重;
(3)经过多轮计算,误差ε≤0.000 1,终止运算,输出当前步态识别结果,建立运动者疲劳状态下步态动作识别模型。
其中, 表示步态识别模型的损失函数;α表示步态识别模型的学习因子。
2.2 基于鱼群算法的步态动作识别模型参数求解 利用CNN构建运动者疲劳状态下步态动作识别网络模型,可以有效地提取和利用步态能量图中的关键信息,实现对运动者步态模式的准确识别。鱼群算法是一种基于自然界鱼群行为的启发式优化算法,通过模拟鱼群在寻找食物和逃避危险时的群体行为,对问题进行求解。在鱼群算法中,每条“鱼”代表一个潜在的解,鱼群通过个体和群体的行为(如觅食、聚集和跟随)来探索解空间,以找到问题的最优解或近似最优解。鱼群算法具有良好的全局搜索能力,同时支持并行搜索。鱼群算法中的每条鱼可以独立地进行搜索,这使得算法能够并行处理,提高了搜索效率。鱼群算法在适应性强的同时,还具备简单易实现的优势。对于不同的优化问题,算法通过调整参数(如鱼的移动步长、聚集因子等),实现有针对性的优化。
由于步态识别模型极其依赖初始参数,选择过大或者过小都会影响田径运动员疲劳状态下步态动作识别结果。然而,鱼群算法能够突破局部最优解,找出识别模型初始参数全局最优,为此采用鱼群算法确定模型初始参数[24-26]。算法原理:基于鱼群在水中的觅食、聚群、追尾和随机等行为来寻找最优解,从而确定步态识别模型的初始参数。详细过程为:
假设在D维步态识别模型初始解检索空间中,有N*个解,即N*条鱼,鱼个体状态及其所在空间位置的食物浓度分别用Y=(y1,y2……yD)、K=f(Y)表示,y表示解检索变量,鱼个体感知范围用γ表示,S表示鱼个体游动极限步长,T、Tmax表示觅食行为此时运算次数及极限次数,ξ表示拥堵度因子。任意两条鱼间距离用公式(12)求解:
(1)觅食行为运算,以找出觅食移动方向:设某鱼个体此时状态为Yi1,在其感知范围内任意选择一个新的状态Yj1,并与此时状态浓度对比,即Ki1与Kj1对比。若
Kj1 > Ki1,则按照公式(13)向Yj1方向前移动,并更新当前状态Yi1;反之,重新选择Yj1,若T=Tmax,依旧未找到优于Yi1状态,则按照公式(14)随机移动。
式中,ρΘ表示服从分步函数。
(2)聚群行为运算,增加解多元化:设Yi1的感知范围内存在N1*条鱼,此部分鱼中心位置用Yc1表示,若符合Yc1ΘN1* < γΘYi1,说明此处食物浓度高[27-28],则鱼个体按照公式(15)向Yc1方向移动,若Yc1ΘN1*≥γΘYi1,说明此处食物浓度低,此时则执行觅食行为。
(3)追尾行为计算,以实现加速算法的收敛过程提高搜索全局最优解的效率:假设Yi1中最优个体状态是Yj1时,若符合Yj1ΘN1* < γΘXi1,这意味着Yj1处食物浓度较高,则按照公式(16)向Yj1方向移动,否则,此时则执行觅食行为。
(4)随机行为,进一步增强全局搜索能力:在鱼群算法计算中,当经过一系列的搜索和判断后,未能找到更为优越的位置时,则其会在自身感知范围内任意选取一个全新的状态,并向此状态移动。这种移动方式实际上是鱼觅食行为的一种缺省行为。
(5)公告板及其更新机制:公告板记录鱼群历史最优个体状态及食物浓度。在鱼个体更新状态后,与公告板记录比较。若优于记录,则更新公告板;否则,公告板信息不变,为后续比较提供参考。这种机制确保公告板始终记录最优解,指导搜索方向。
通过上述过程,能够识别出全局最优状态对应的鱼个体,其所携带的参数解即为步态识别模型的最佳初始参数配置。随后,根据这一最佳初始参数配置来设定步态识别模型的初始状态。接着,将运动者的步态能量图序列输入到已设定好初始状态的模型中进行训练,得出运动者疲劳状态下步态动作,详细过程如图3所示
在模型参数求解的过程中,鱼群算法优化了模型的权重和偏置等参数,提高了识别的准确性和泛化能力。通过鱼群算法的优化,实现了步态动作识别模型在面对不同数据集时,表现稳定性和可靠性的提升。