基于惯性传感的越野滑雪技术动作识别*
2022-12-10张振鹏
张振鹏,杨 云,陈 亮,何 剑
(中北大学 仪器与电子学院,山西 太原 030051)
0 引 言
越野滑雪(cross-country skiing)是一项追求体能和技术的冬季运动,滑雪者在雪地上使用滑雪板和杆推动前进,是冬季奥林匹克运动员最古老的比赛项目之一。越野滑雪分为传统式和自由式,其中,传统式由几个子技术动作组成,包括双杖推撑(double-rod push-brace,DP)滑行、对角跨步(diagonal stride,DS)和踢腿双杖推撑(kicking DP,KDP),这些子技巧都是周期性运动执行的。滑雪者因为各种地形下子动作的能源成本不同而在子技术动作之间进行转换[1],不同地形采用合适的技术动作类型是决定比赛结果的重要因素之一。因此,准确识别越野滑雪技术动作能够有效帮助运动员优化滑行策略和改进技术动作,从而提高比赛成绩。
对越野滑雪技术动作识别主要有3种方法:一种是基于计算机视觉[2],其主要问题是对场地有一定限制,而越野滑雪这种需要较大空间的运动不适合此方法。另一种是基于对运动员装备的改进[3],但越野滑雪对于设备有很高的要求,专业运动员需要较长的时间适应改造后的设备,限制了该方法的推广应用。最后一种是基于可穿戴微型传感器,用于分析滑雪时的各种循环特性和子技术种类。Seeberg T M等人[4]使用全球导航卫星系统(GNSS)数据和7个惯性测量单元(inertial measurement unit,IMU)组成的多传感器系统,实现了滑雪中的子技术检测并链接到GNSS数据,从而将子技术的检测和分布与不同地形相关联,但由于使用的传感器数目过多,使得佩戴过于复杂;Jang J等人[5]提出了一个统一的深度学习模型,用于对经典滑雪中使用的3种技术进行分类,并通过分析5种不同传感器配置的结果来优化该模型中陀螺仪传感器的数量,使用5只IMU传感器获得74 %~95 %的准确度。为了解决以上方法所面临的空间受限、变更装备及传感器数目较多的问题,迫切需求一种越野滑雪运动员动作识别的新方法。
因此,本文提出了一种新的越野滑雪技术动作识别方法,有效帮助越野滑雪运动员优化滑行策略和改进技术动作。具体是对上肢姿态参数和滑雪技术动作周期进行对照分析,确定利用上肢姿态参数进行子动作区间划分的方法。对划分好的IMU数据生成时域频域特征,并对特征进行归一化和主成分分析(principal component analysis,PCA),设计支持向量机(support vector machine,SVM)分类器实现对越野滑雪技术动作识别。
1 撑杖动作特征分析
越野滑雪的主要子技术是DP、DS和KDP[6]。两个滑雪杖可以同时使用,即双杆推撑滑行,也可以交替使用脚和手臂(如跑步或步行),同时将滑雪杖推向与伸展的滑动滑雪板相反的一侧。在对角跨步中,腿部的运动与普通的步行类似,但步伐更长且更有力。DS适用于水平地面和缓坡上坡。使用DP滑行,2个滑雪杖同时用于推力,会随着步幅的增加而增大。适用于水平地面和平缓的下坡斜坡[7]。其中,DS需要的氧气成本最高,与平坦地形上的DS相比,KDP的氧气成本低16 %,DP的氧气成本降低26 %。相反在7.1 %坡度的地形上,DS和DP的吸氧量相似[8]。由于在滑雪运动中DP、DS、KDP 3种动作的人体上肢运动方式基本保持一致,它们主要经历3个阶段:第一阶段是进入推撑状态前,运动员身体重心开始前倾,上肢挥杆从默认姿态到达最高点处;第二阶段是进入推撑状态后,人体上肢同时发力,带动雪杖挥至身体后方最低点处;第三阶段是进入恢复状态,人体依靠惯性驱动上肢向前运动,将雪杖收回默认姿态[9]。上肢行为和对应的角速度数据对比如图1所示[10],因此,可以利用上肢的角速度数据进行子动作区间划分,识别出每个子区间的开始点和结束点,再通过所有IMU数据生成特征进行模式识别。
图1 挥杖过程分析
2 传感器信息采集与预处理
测试数据来源于旱地越野滑雪,旱地滑雪是专业运动员在无雪季节训练的重要手段和比赛方式。测试者使用专用的旱地越野滑雪板和滑雪杖在平地测试,数据采集结束对数据进行手动标注其所属的运动类型。惯性测量单元使用的芯片MPU9250,具有三轴加速度、三轴陀螺仪和三轴磁力计,以60 Hz的频率输出三轴角度、角速度、加速度。数据通过I2C协议和主控进行通信,IMU数据通过蓝牙传输到汇集节点并记录到SD卡中。
在本文研究中,IMU分别固定在滑雪者左前臂骨骼外侧(S1)和左右小腿胫骨正面位置(S4,S5)。各个IMU的三轴方向如图2所示,当IMU跟随运动员移动时,IMU将在定义的解剖平面内旋转。
图2 IMU放置位置和三轴方向示意
S1的y轴角速度原始数据如图3(a),由于受到多种干扰,存在局部伪峰和高频杂波,因此需要对原始数据进行预处理。对S1的y轴角速度进行快速傅里叶变换(fast Fourier transform,FFT)分析信号频谱,使用 MATLAB的FFTShift对FFT以零为中心平移得到频谱图,具体结果如图3(b),根据频谱图可得频域信号主要集中在0~1.2 Hz范围内,频域大于1.2 Hz的高频部分是导致原始信号震荡的原因。根据频谱图选择截止频率为1.2 Hz,5阶的巴特沃斯低通滤波器实现对高频数据的削弱。经过低通滤波处理后的y轴角速度如图3(c),可以看出,经过对高频信号的削弱后,y轴角速度曲线平滑且具有周期性特征。
图3 数据预处理
3 子动作区间划分与特征生成
3.1 子动作区间划分
对越野滑雪动作识别的基础是在连续的惯性传感数据中将各个子动作区间划分开,惯性参量寻找行进过程中的角速度接近零值点成为动作区间划分的关键。根据上肢的y轴角速度曲线和挥杖过程分析可以得出,极小值点对应挥杆最快瞬间,极大值点对应收杆最快瞬间,只要分别找到2个角速度接近零值点,即可确定子动作的起始和结束点[11]。图4中“△”、黑色“〇”标记为过滤后的极大值极小值点。向左遍历极小值点至角速度为零处即为子动作左边界,向右遍历极大值至角速度为零处即为子动作右边界。实际中,左边界数目和右边界数目必须一致并且一一对应,两者之间相隔的时间必须小于一定的阈值才可被视作一次子动作,图中灰色“〇”标记即为区间开始和终点。
图4 子动作区间划分
图5为经过子动作区间划分的3种子动作DP、DS、KDP的S1的y轴角速度和S4、S5三轴速角度曲线,可以看出,3种动作上肢的行为方式基本一致即从默认姿态进入推撑状态再到恢复状态,3种子技术动作的下肢角速度呈现不同的规律,因此,可以通过特征提取实现模式识别。
图5 3种子动作DP、DS、KDP的角速度曲线
3.2 特征生成
根据划分好的子动作区间,不同动作因其运动方式的不同导致角速度变化存在一定的差异。设定某惯性参量为{x1,x2,…,xn},使用FFT得到估计功率谱密度,其中的参量为频率f和频谱P(f)。生成的特征如表1[12],由于上肢角速度经过低通滤波后频率特性被改变,因此,只选择S1的y轴角速度12个时域特征,S4、S5的三轴角速度分别有12个时域特征和3个频域特征,如表1所示生成102维的特征向量。
表1 子动作特征
为了提高计算速度,同时防止某个特征过大或者过小,对训练起不平衡作用。常见的归一化包括离差标准化和中心标准化,其中,离差标准化是对原始数据进行线性变换,使结果落到0~1区间,中心标准化是使所有特征的数值被转化成为均值为0、标准差为1的正态分布。相比于中心标准化,离差标准化并不能很好地解决异常值问题。因此,选择中心标准化对生成的特征进行处理。
特征生成时选择了IMU时域和频域共102维的特征,高维度的特征会提供丰富的信息,但增加了问题分析的复杂性。PCA是从原始的空间中顺序地找一组相互正交的坐标轴,将n维特征映射到k维上[13]。对经过归一化处理的特征进行PCA,选择解释方差大于90 %对特征进行降维,将数据维度从102维降至36。
4 子动作识别
在人体运动识别中,由于样本数量有限、样本维度较高,对分类识别算法具有较高要求。本文采用SVM理论[14,15]设计传统式越野滑雪动作识别分类器,使用MATLAB的Classification Learner,设置三次多项式作为SVM分类器的核函数。数据包括经过归一化和PCA得到的特征向量和其所属的运动类型,包括119组DP、133组DS、115组KDP。交叉验证是在模式识别针对小数据集情况下建立模型和验证模型参数时常用的办法。通过交叉验证把训练数据集拆分为5份并估计每份的准确度来防止过拟合,每次随机选择其中4份作为训练集,剩下的1份做测试集。一轮完成后,重新随机组合训练集和测试集,若干轮后即可得到该模型的混淆矩阵。
根据图6(a)中SVM的混淆矩阵可以得出该模型的预测准确率达到95.4 %,基本实现3种子动作的有效区分。为了验证实验效果,与常用的KNN[16]进行对比实验。实验设置K值为10,得到的混淆矩阵如图6(b),预测准确率为88.6 %,可以看出,SVM在准确率相较KNN模型上有一定的优势。
图6 SVM和KNN的混淆矩阵
5 结 论
本文提出了一种基于惯性传感和自动作区间划分的越野滑雪技术动作识别的方法,实现了3种子动作的有效区分,能够为运动员优化滑行策略和改进技术动作提供数据支撑。实验结果表明:该方法对3种越野滑雪子动作DP,DS,KDP的识别率高达95.4 %。通过和最近邻算法结果对比可以得出SVM模式识别具有较高的识别精度,基本实现3种越野滑雪子动作的分类。为基于惯性传感的越野滑雪动作识别提供了一种可参考的方法。