基于动态时间规整的乒乓球击球动作识别

黄刘松,储岳中,张学锋,张 飞

(1.马鞍山师范高等专科学校 软件学院,安徽 马鞍山 243041;
2.安徽工业大学 计算机科学与技术学院,安徽 马鞍山 243032)

作为人机交互的一种重要技术,动作识别一直是模式识别领域的研究热点之一。在动作识别研究中主要有两个方向:基于视觉传感器的动作识别[1]和基于可穿戴传感器的动作识别[2-5]。

目前,针对乒乓球击球动作的识别研究大多集中在图像处理和计算机视觉领域。然而计算机视觉的研究方法对实验环境要求较为严格,对于图像的处理以及运动的建模较为复杂,而加速度具有能耗低、体积小、成本低、数据处理简单、对运动场景背景要求低的特点。因此,文中将加速度传感器应用于乒乓球击球动作的识别中。其动作识别过程主要分为特征提取、特征选择和识别算法3个步骤。特征提取主要从信号的物理特征和人体运动特征两个方面分析。在物理特征方面,主要使用小波变换、快速傅里叶变换[6]等方法提取频率、能量信息;
在运动特征方面,提取平均值、熵、信号矢量幅值(signal vector magnitude)等特征值。特征选择主要使用蚁群算法[7]。识别算法使用动态时间规整[8-9]、KNN[10]、决策树模型[11-12]、基于径向基核函数的支持向量机[13]、基于CNN和LSTM融合算法[14]、基于特征增强和决策融合的识别算法[15]。

笔者基于三维加速度传感器设计了击球动作识别系统,通过对加速度数据的采集、处理、分析,得到基于三维加速度传感器的手部击球动作,具有对击球类型高识别率、对击球类型分类细致等特点。

该实验的硬件装置主要分为两个部分:数据的采集模块和数据接收处理模块。其中数据采集模块由三维加速度传感器(MMA7455数字加速度传感器模块)和无线数据传输装置构成:数据接收处理模块由数据接收装置和PC机组成。为了全面准确的获取人在乒乓球击球运动中的加速度信息,实验将数据采集模块固定于手腕上,用于采集手势动作加速度信号,其数据采集模块如图1所示(采样频率为10-100 Hz可调节,采样频率高,采集的特征点维数高,能有效提高动作的识别率,降低误判率,但相应的识别时间会增加。根据乒乓球运动单次击球动作特点,文中采样频率设定为50 Hz)。当加速度传感器感知到手部的三维活动时,获取的模拟加速度信号通过模/数转换转变为数字信号,数据通过无线局域网络传送到数据接收装置,PC机将从接收装置读取的数据保存到数据库中。同时计算机将接收到的数据进行特征提取和手势动作识别等分析工作。其原理图如图2所示。

图1 加速度数据采集模块

图2 系统原理图

2.1 信号预处理

2.1.1 滤波

由于该套系统所采用的加速度传感器的灵敏度和精度远高于应用的需求,虽然传感器本身具有测量误差,且存在外界干扰,但其影响并不十分明显,因此无需进行自相关等复杂运算,仅仅需要去除重力加速度对于实验数据的影响,因此,在实验时只需对实验数据进行简单的低通滤波预处理。处理方法如下:

设重力加速度在X,Y,Z三个方向上的分量Gravity(k)=α*Gravity(k)+(1-α)*Value(k)(其中k=x,y,z),式中α为0-1之间常量,Value(x),Value(y),Value(z)是此时X,Y,Z三个方向上的三维加速度值,则此时X,Y,Z三个方向的加速度为Acc(k)=Value(k)-Gravity(k)(其中k=x,y,z)。

2.1.2 动作起始点和终止点判断

通过传感器获取的加速度信号,经过滤波处理,在判断动作起始点和终止点时,通常采用过零率、固定阈值等方法,由于该套系统的采样频率比较低所以不宜用过零率来作为判断依据,文中通过设置门限阈值自动检测击球动作窗口[16]。当没有动作产生时,加速度是相对平稳的,采集的加速度数据流可近似看作常量,当作出击球动作时,加速度数据变化剧烈。设A(t)=[ax(t),ay(t),az(t)]为t时刻采样的三维加速度数据,threshold为设置的门限阈值(由经验数据threshold值取5),A(t+m)与A(t)比较计算欧氏距离,若:||A(t+m)-A(t)||≥threshold(其中m=1,2,3,4,5;
L2范数),即连续5个点的能量大于给定阈值,则t时刻的采样点A(t)可判断为非静止的数据起始点。||A(t+m)-A(t)||≤threshold(其中m=1,2,3,4,5)即连续5个能量值小于给定阈值,则t时刻的采样点A(t)可判断为动作结束点。

2.2 特征提取

动作的特征选择恰当与否直接关系到分类的识别算法的实时性和识别的正确率,通过对样本数据的分析,文中选择了X轴,Y轴,Z轴所有的数据,该设计对一个动态手势提取特征,是获取其X轴,Y轴,Z轴的所有特征点的原始时间序列{T1,T2,…,Tn}和加速度幅值序列{Acck1,Acck2,Acck3}(其中k=x,y,z)。由于手势执行时间长度不等,因此,在进行模板匹配计算测试模板和参考模板的相似性时,文中使用动态时间规整算法。

2.3 动作识别分类

2.3.1 动态时间规整算法(DTW)

在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同个体的语速不同;
在动作识别领域表现为不同人在以同样方式做同一类型动作时,其持续时间长度会随机改变。因此在这些复杂情况下,直接使用特征矢量序列,通过传统的欧几里得距离来进行相似性比较,无法真正有效求得两个时间序列之间的距离(或者相似性)。通过实验发现不同个体在做同一动作时其时间序列可能仅仅存在时间轴上的位移,亦即在还原位移的情况下,两个时间序列是一致的。DTW算法就是通过把时间序列进行延伸和缩短对特征参数序列模式重新进行时间的对准,然后再来计算两个时间序列性之间的相似性,从而找到最佳匹配结果。

设测试模板T的N个特征矢量表示为T=[t1,t2,…,tx,…,tn],其中x为时序标号,tx为第x时刻的特征矢量,表达式为tx={axx,ayx,azx}。参考模版R的M个特征矢量表示为R=[r1,r2,…,ry,…,rm],其中y为时序标号,ry为第y时刻的特征矢量,表达式为ry={axy,ayy,azy}。此时可借用欧氏距离来求解特征矢量tx与特征矢量ry的失真度,定义此失真度为

用测试模版T的N个特征矢量与参考模版R的M个特征矢量,依据时间序列依次标注为坐标轴的横轴和纵轴上的点,通过这些点之间的关系形成一个网格,网格中的交叉点(x,y)就表示为测试模版T(x)和参考模版R(y)的相交,使用上文定义的失真度计算方法便可以计算出每一个交叉点的失真度Dis[tx,ry],这些失真度可以构成一个测试模版T(n)和参考模版R(m)的失真度(距离)矩阵D,其表达式如下

DTW算法就是希望找一条通过各交叉点从起点Dis(t1,r1)到终点Dis(tn,rm)的最佳路径,从而使得所有交叉点的失真度总和达到最小。寻找最短路径的过程并不是任意的,必须满足以下条件:

(1)边界条件:路径必然从起点Dis(t1,r1)开始到终点Dis(tn,rm)结束。

(2)单调性:各部分先后顺序不能颠倒,即从左往右,从上往下的搜索顺序不能改变。

因此,寻找最优路径的迭代公式可以写为

由此递推公式便可以得出从起点到终点的最优匹配路径。

2.3.2 改进的动态时间规整算法

动态时间规整算法的本质是一个动态规划(DP)的求解过程,由于同一类别中(击球类型)的参考模版可能不止一个,而是多个。因此每个测试模板需要和该类别中的每一种参考模版做DTW匹配,从这些匹配结果中找到一条该类别的最短路径(最优匹配),作为该类别与参考模版的最优匹配。通过该方法完成余下类别的匹配,然后从所有类别的匹配结果中找到一条最短路径作为该参考模版的所属类别。

通过实验发现在进行搓球、攻球、推挡判别时,由于X,Y,Z三个方向加速度的信号特征的极大值、极小值、特征均值存在明显差别,为了简化此匹配过程,文中在做DTW算法匹配前,先分别提取测试模版和搓球、攻球、推挡各参考模版的信号极大值信号极小值,信号分布特征均值其中k=x,y,z。并通过这9维特征使用欧氏距离求解出测试样本和搓球、攻球、推挡这三个大的类别的最优匹配。然后使用DTW进行最终结果的求解验证。算法流程图如图3所示。

图3 算法流程图

2.4 动作识别分类

如图4所示为一次击球动作产生的加速度信号经过信号预处理后的加速度幅值波形,其中横轴为时间,纵轴为加速度幅值,图中实线为加速度传感器X轴方向的幅值变化,点线为Y轴方向的幅值变化,间隔线为Z轴方向的幅值变化。通过DTW算法计算出测试模版与各类别参考模版之间失真距离的最小值,再从这些最小值中找到最佳匹配路径,即为该测试模版的所属类别。

图4 一次动作的三维加速度信号示意图

在乒乓球训练过程中,采集某运动员5种动作各100组数据共计500组,每个动作的100组数据随机选择其中50组训练分类器,50组用来检验分类结果。

对实验数据分析处理的机器环境:双核2.4 GHz AMD炫龙II M520处理器,2 GB内存,Windows 7(32位)平台Java语言编程。识别率为在线识别统计,而最终测试结果的算法用时是在对保存在数据库中的离线动作数据连续读取时做的统计。实验结果表明,先使用x,y,z三个方向上信号的极大值、极小值和特征均值共9维特征对动作进行预判,再做最终的动态时间规整匹配相对于传统的DTW算法,在对动作识别率影响不大的情况下在算法效率上有明显改善。见表1。

表1 DTW改进前后识别率与用时对比

为了进一步说明改进后的DTW算法相比较于其他算法有更好的识别率和准确性,实验中同时采用了KNN算法和决策树算法对这5组动作进行了分类识别,识别结果见表2。

表2 KNN与决策树识别率对比

对比表1和表2可以发现DTW识别算法对5种手势的识别率都高于KNN识别算法和决策树识别算法,且算法的平均识别率也明显高于这2种算法。究其原因在于KNN和决策树经过特征提取均丢失了原有采集数据的时间序列维度特征。

针对乒乓球运动中基于三维加速度传感器的动作识别做了探讨,通过固定在手腕上的加速度传感器得到加速度数据,改进的动态时间规整算法相对于传统的DTW算法,对击球动作的分类识别,具有高识别率、动作分类细致等特点。仍有两点不足:第一,由于DTW算法所选取的特征较多,这在一定程度上对于算法的执行效率会有影响,而且特征过多可能存在冗余特征,可考虑做特征选择;
第二,固定阈值法对于动作误判有一定改善,然而当击球人的手部干扰动作过于明显或者迅速跑动对识别精度影响较大,考虑做误动作去除。这将是下一步研究工作。

猜你喜欢失真度识别率矢量矢量三角形法的应用中学生数理化·高一版(2021年11期)2021-09-05基于类图像处理与向量化的大数据脚本攻击智能检测计算机工程(2020年3期)2020-03-19基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系中国听力语言康复科学杂志(2019年3期)2019-06-24提升高速公路MTC二次抓拍车牌识别率方案研究中国交通信息化(2018年3期)2018-06-13浅谈信号衰减对于民航地空通信信号质量的影响电脑知识与技术(2018年30期)2018-01-04高速公路机电日常维护中车牌识别率分析系统的应用中国交通信息化(2016年2期)2016-06-06基于矢量最优估计的稳健测向方法现代防御技术(2016年1期)2016-06-01三角形法则在动态平衡问题中的应用新高考·高一物理(2016年1期)2016-03-05基于基波抑制法测量谐波失真度时的数值修正与误差分析计量技术(2015年3期)2015-06-07基于蒙特卡罗法的失真度测量不确定度分析天津科技(2014年4期)2014-05-14

推荐访问:规整 击球 乒乓球