基于人体骨架特征编码的健身动作识别方法

2021-07-02 00:36郭天晓胡庆锐李建伟沈燕飞
计算机应用 2021年5期
关键词:集上特征向量识别率

郭天晓,胡庆锐,李建伟,沈燕飞

(1.北京体育大学运动人体科学学院,北京 100084;2.北京体育大学体育工程学院,北京 100084)

(*通信作者电子邮箱jianwei@bsu.edu.cn)

0 引言

随着计算机视觉和图像处理技术的高速发展,基于视觉信息处理的智能化训练系统逐渐被应用于运动训练[1]和康复医疗领域[2]。对于初学者而言,接受及时有效的指导和反馈不仅能够帮助其掌握动作[3],还能够有效避免运动损伤[4-5]。传统的健身动作指导是在教练员的监督引导下纠正错误动作以实现良好的锻炼效果,要求在特定场地下由专人指导进行练习,不适用于居家环境以及利用碎片化时间锻炼的场景。而当前已经出现的依托智能设备的健身指导方案[6]大多缺少对运动过程的有效监控且无法给出反馈和建议,不利于初学者掌握动作[7]。运动技能学习过程的起始阶段为泛化阶段[8],其学习重点为掌握动作要领,需要通过重复观看示范和接收反馈来纠正错误动作[9]。通过技术手段对运动过程进行监控和评估,不仅能够帮助运动者掌握动作,还能够节省人力成本,增加训练过程的趣味性和互动性。

智能健身系统[10-11]是集成了人体运动信息采集,数据处理与交互,用户终端与设备等模块的综合训练平台。健身动作识别作为其中的核心环节之一,通过采集和分析人体运动特征区分受试者执行的不同动作。目前,人体动作识别主要分为基于惯性传感器[12-13]和基于视觉特征采集[1,14]的两大类方法。前者通过可穿戴设备采集人体运动学信息完成动作识别,但在各关节处附着传感器不仅提高了成本,也会影响运动体验;而采集视觉特征进行动作识别的方法能够依托各类相机完成非侵入式[15]的动作识别,更适用于健身场景。

当前,利用人体视觉特征进行动作识别的方法主要分为基于传统特征提取和基于深度学习的两大类:基于深度学习的动作识别方法构建神经网络[16-20]描述人体运动特征,在大型动作数据集上实现良好的检测效果,此类方法通常依赖大量数据进行模型训练且对计算资源要求较高,限制了其在不同场景下的应用;相对而言,基于传统特征提取的方法[21-22]对数据量和计算资源的要求较小,能够根据不同需要提取相应动作特征完成识别。在运动训练领域的相关研究中,研究者根据训练目的和项目特点设计动作特征提取方法来完成各类动作的识别和分析:Örücü 等[14]针对上肢力量训练中对动作执行标准程度的评价和指导问题,依托Kinect V2设计了一套智能训练系统,该系统通过提取受试者上肢各关节点的运动数据监控和评估日常训练过程,实验结果证明该系统能有效改善动作质量;Li等[23]为了对比赛视频中运动员的动作进行分析,通过分层提取视频特征获取运动员动作的关键运动学参数并据此完成动作识别,辅助教练员完成比赛录像分析;Ting等[1]针对羽毛球运动中复杂技术动作的分类问题,采集各动作RGB-D视频并提取四元数特征向量对10类羽毛球动作进行识别,所选取的三维动作特征能有效表示各类羽毛球动作。

针对健身动作的识别问题,除了考虑所选取特征对动作的描述能力外,还应当考虑后续动作评价的可行性。健身动作评价通过捕捉人体各环节间的相对运动来评估动作执行的标准程度。人体整体位移是无关的干扰特征,如跑步时在水平方向的行进位移、跳跃时的垂直高度等。因此,提取健身动作中人体各环节间的相对运动特征不仅有利于区分相似动作,而且能为动作评价创造条件。但在以往基于传统特征提取的动作识别方法[24-29]中,很少考虑到人体运动过程中无关位移对动作识别的影响。此外,健身动作识别场景通常包含多变的背景和光照条件,而基于背景消除提取人体特征的方法对于多变背景的鲁棒性相对较差[30-31]。随着人体姿态估计技术[32-33]的发展,语义特征提取方法[34]为人体动作特征的提取提供了新的思路:通过提取图像中的人体骨架信息来描述动作特征并进行动作识别。提取出的人体关节位置信息是具有高度代表性的人体运动特征,能够表示动作视频中的人体活动空间分布[35],有利于捕捉人体各环节间的组合特征[36],且在一定程度上避免了传统特征提取方法依赖于图像分割效果的问题,对于视频中多变的背景和光照条件也具有较好的鲁棒性[34],能够为健身动作识别任务提供具有高度代表性的人体运动骨架信息。

针对上述问题,本文提出了一种基于人体骨架特征编码的健身动作识别方法,包含3 个步骤:首先,根据健身动作特点构建包含15 个关节点的精简人体模型,并利用人体姿态估计技术[33]获取视频中的运动骨架信息;然后,通过人体中心投影法消除运动过程中整体位移对识别结果的干扰,并对投影区域的轨迹特征进行缩放以降低人体体型差异对识别结果的影响并提高识别速度,通过优化函数确定缩放比例以在保证识别率的基础上获得有效特征更为集中的动作特征区域;最后,对特征区域进行线性编码以获得描述健身动作的特征向量,并设计了一个基于支持向量机(Support Vector Machine,SVM)[37]的多分类器进行模型训练和识别。为了检验本方法对健身动作的识别效果,构建了一个包含28 种健身动作的数据集进行实验,结果表明本方法能够有效识别健身动作,识别率达到了97.24%。在公开的KTH(Kungliga Tekniska Högskolan)数据集[26]和Weizmann数据集[24]上,本方法的识别率分别达到91.67%和90%。

本文贡献主要体现在以下3 个方面:1)通过人体中心投影法消除健身动作中人体整体位移对动作识别的影响,对利用骨架信息进行动作识别的方法具有普适性;2)提出一种高效的骨架信息编码方法,能够有效表示健身动作,并使得方法具有较高的识别精度和速度;3)构建了一个健身动作数据集,能够支持健身动作识别以及后续动作评价方法的研究。

图1 所示为本文提出的健身动作识别方法流程,首先通过人体姿态估计技术提取运动骨架信息,然后通过人体中心投影法和缩放投影区域消除干扰,最后将特征区域进行线性编码实现动作分类。

图1 本文健身动作识别方法流程Fig.1 Flowchart of the proposed fitness action recognition method

1 基于人体中心投影的动作特征提取

从健身动作视频中提取动作特征区域包括两个步骤:人体运动骨架信息提取和基于人体中心的动作特征区域提取。

1.1 人体运动骨架信息提取

人体骨架信息是具有高度代表性的人体运动特征。本方法利用人体姿态估计技术[33]获取运动过程中人体各环节位置信息并据此提取动作特征。根据健身动作的特点,选取包含25个关节点的Body_25人体模型进行简化,删除对动作识别贡献有限的双目特征点、双耳特征点,以及足趾和足跟关节点。获得包含15 个关节点的精简人体模型,相比原模型更关注人体躯干和四肢的动作,有利于提高计算效率。

图2所示为Body_25模型和精简人体模型和对比。根据精简人体模型,对包含N帧图像的健身动作视频进行姿态估计,提取出人体关节坐标序列{(xi,j,yi,j)},其中1 ≤i≤N,1 ≤j≤15,xi,j∈R和yi,j∈R分别为第i帧中第j个关节点在图像坐标系中的坐标。

图2 模型对比Fig.2 Comparison of models

1.2 基于人体中心的特征区域提取

动作特征区域提取主要是基于人体中心投影法,在人体中心坐标系中提取动作特征所在区域。

1.2.1 人体中心投影法

健身动作一般由人体各环节间的相对运动和人体整体位移两部分组成,其中前者是健身动作识别和评价的主要内容,反映动作执行是否标准有效,而人体整体位移通常不纳入评价体系中,对动作识别而言是无关的干扰特征。另外,健身动作识别可看作相似序列的搜索匹配问题[38],同类动作不同样本间的时间差异会增加样本的类内差异性,从而影响动作识别结果。

综合考虑上述因素,本文提出基于髋关节中点的人体中心投影法消除人体整体位移和动作执行时间差异。如图3 所示(O-XY表示图像坐标系,B-UV表示人体中心坐标系),以位于人体中心的髋关节中点作为坐标系原点建立人体中心坐标系B-UV,通过投影变换获取在人体中心坐标系下的运动骨架信息。在齐次坐标下的人体中心投影过程如式(1)所示:

图3 人体中心投影法Fig.3 Human central projection method

其中:(ui,j,vi,j)和(xi,j,yi,j)分别为第i帧中第j个关节点在人体中心坐标系和图像坐标系下的坐标,(xi,hip,yi,hip)为图像坐标系中髋关节中点坐标。

通过人体中心投影法可以将关节坐标序列转换至人体中心坐标系,使得动作轨迹围绕人体髋关节中点分布,消除了人体整体位移和动作执行时间差异对动作识别的影响。

1.2.2 特征区域提取

特征区域提取的目的是获取动作轨迹的空间分布信息,寻找一个最小区域使其能包含全部关节坐标点。在人体中心坐标系中,假设存在一个以坐标系原点为对角线交点的正方形区域Q,能够包含任一关节坐标(ui,j,vi,j),即满足式(2):

其中:l为特征区域的边长,其取值如式(3)所示:

式(3)基于人体最大活动范围获取投影区域,原始尺寸l×l较大,完整保留了不同动作执行者之间的体型差异。为了降低体型差异的影响并提升动作识别算法的效率,对投影区域进一步压缩以获得更为有效的特征区域Q′。即将投影区域缩放为一个尺寸为l′×l′的特征区域Q′,在l′充分小的情况下能够包含足够的有效特征。假设特征区域Q′中包含K个动作轨迹特征点,则缩放投影区域变换如式(4)所示:

其中(uk,vk)表示第k(1 ≤k≤K)个动作特征点坐标。通过投影变换,不仅获得了有效特征更为集中的特征区域表示人体动作,而且可以降低体型差异对动作识别的影响。

2 基于特征区域编码的健身动作识别

从动作特征区域中提取特征向量进行动作识别包括两个步骤:动作特征区域线性编码和基于SVM的健身动作识别。

2.1 特征区域编码

将特征区域进行线性编码的目的是提取动作特征向量。令S={sk}表示含有K个元素的集合,sk为第k个动作特征点(uk,vk)在特征区域中的位置编码。集合大小K随特征区域Q′中包含动作特征点多少而变化,sk取值如式(5)所示:

则集合S中包含特征区域中动作特征点的位置分布信息。基于集合S继续构造一个长度为l′×l′的特征向量Z表示特征区域Q′。特征向量Z的初值为全零向量,根据特征区域中动作特征点的位置分布更新各元素:将Z中sk位置的值置1以表示特征向量中的运动轨迹信息,其余值不变表示背景区域。经过以上步骤,可以获得一个固定长度的特征向量Z来表示一次动作特征。

2.2 动作识别与特征向量长度优化

2.2.1 基于SVM的健身动作分类

本文基于SVM 设计了一个多类分类器对特征向量集进行分类。假设D={(Za,La)}(1 ≤a≤n)是一组含有n个样本的特征向量集,Za∈Rl′×l′是第a个样本的特征向量,La是第a个样本的类别。对样本的分类识别可以等价于一个约束最优化问题,如式(6)所示:

s.t.La(wZa+b) ≥1-ξa,ξa≥0,1 ≤a≤n

其中:ξa为松弛变量;C为惩罚因子,取值越大对误差的容忍程度越低,相对来说容易出现过拟合,反之则容易欠拟合。针对数据集的样本量和特征向量维度,选用径向基函数(Radial Basis Function,RBF)作为核函数[37]。惩罚因子C和核函数参数gamma的选择决定分类器的性能,前者调整拟合和预测样本的能力,后者则与样本划分有关。在本文的实验中,通过对特征向量训练集进行网格寻优以获取最优参数(C=64,gamma=0.007 812 5)完成模型训练,实现动作识别。

2.2.2 特征向量长度优化

由于不同长度的特征向量中包含的动作特征点数量不同,会对识别精度和速度产生影响。在本方法中,特征区域Q′的尺寸l′×l′决定特征向量的长度。为了兼顾识别精度与速度,需要对l′取值进行优化。

本方法预设了一系列l′的离散取值,通过比较实验结果进行参数选择。对于特征向量集D,当l′取一定值时,将D中第a个样本识别为类别且=La的概率为pa(l′)=p(L~a=La|l′),识别该样本的时间为ta(l′)。l′的取值应当在保证识别率的基础上提高检测速度,其优化函数如式(7)所示:

其中:β为平衡识别精度和识别速度的权重值,在本实验中取值为0.5。

3 实验与讨论

本章首先介绍所使用的三个数据集,然后介绍在不同数据集上的实验结果及讨论。实验均在Inter CoreTM i7-7700 CPU 3.60 GHz处理器,Ubuntu16.04系统的计算机上实现。

3.1 动作识别数据集

本实验使用的3 个动作识别数据集,分别是健身动作数据集、KTH数据集和Weizmann数据集。

健身动作数据集 该数据集使用两台主光轴相互垂直的GoPro Hero 7 Black 对15 名运动者进行同步拍摄,分别命名为主机位和副机位,主机位相机用于拍摄主动作特征平面。在执行不同的动作时,根据动作特点决定使用主机位拍摄运动者的矢状面或冠状面。每位受试者执行28 种健身动作,动作分类和部分动作示例如表1和图4所示,这些动作包含力量练习、拉伸练习和综合练习,进一步可细化为器械和徒手练习、静态和动态练习。选择主机位和副机位相机拍摄的24 人次共5 854组(每组包含主副机位)视频作为视频数据集,数据集拍摄及受试者相关信息如表2所示。

图4 健身动作数据集部分动作Fig.4 Some actions in fitness action dataset

表1 健身动作数据集的动作分类Tab.1 Classification of actions in fitness action dataset

表2 健身动作数据集信息Tab.2 Information of fitness action dataset

KTH数据集包含6种人体动作(行走、慢跑、奔跑、拳击、挥手和鼓掌),由25 名受试者在四种不同的场景下完成:室外环境、室外环境(缩放镜头)、室外环境(不同着装)和室内环境。共包含598 段平均时长为4 s 的视频,由固定相机拍摄完成,拍摄帧率为25 fps,分辨率为160×120。

Weizmann数据集 包含10种人体动作(弯腰、开合跳、跳跃移动、原地跳跃、奔跑、侧向跨步移动、单腿跳跃移动、行走、单侧挥手、双侧挥手)。该数据集由9 名受试者拍摄完成,共包含90段视频,拍摄帧率为50 fps,分辨率为188×144。

3.2 实验结果

3.2.1 健身动作数据集上的实验结果

为了验证本方法各模块对识别结果的影响,在健身数据集上分别进行了以下3 部分实验:1)分别在包含主副机位拍摄动作的数据集上使用不同长度的特征向量表示动作,观察其对识别结果的影响并验证算法对拍摄视角和背景变化的鲁棒性;2)应用人体中心投影法,观察其对识别结果的影响;3)使用不同数据量的训练集训练模型,观察其对识别结果的影响,并验证本方法在较小样本量数据集上的可迁移性。

特征向量长度对识别结果的影响 为了探究特征向量长度对识别结果的影响并验证算法对拍摄视角和背景变化的鲁棒性,在包含主副机位动作视频的数据集上进行实验。随机选取9人次共2 062组视频作为测试集,其余15人次共3 792组视频作为训练集。分别使用长度为16、64、144、256、400、576、784、1 024的特征向量表示动作。实验结果如图5~6所示。

图5 不同长度特征向量的识别率对比Fig.5 Comparison of recognition rate of different feature vector lengths

对比不同特征向量长度下的识别率,长度为16 的特征向量描述动作特征的能力较弱,难以捕捉一些位于四肢环节处的动作区分特征导致识别结果欠佳;当特征向量的长度增加到64 时,对于大多数动作都能够较好地识别,同时主机位拍摄动作的识别率达到接近90%;使用长度为144 及以上的特征向量时,识别主机位动作的正确率基本稳定在95%以上,副机位识别率也超过80%。当长度为576 的特征向量作为分类器输入时,主机位识别率最高达到了97.24%,副机位识别率也超过90%。测试不同长度特征向量下的识别速度结果如图6 所示,识别样本的时间与特征向量长度同向变化且上升趋势明显。识别主副机位动作在使用相同长度特征向量时识别速度相同,故图6 只显示主机位数据集上的实验结果。综合识别精度和速度,根据式(7)特征向量长度优化函数确定参数l′为24,对应特征向量长度为576。

图6 不同长度特征向量的识别时间对比Fig.6 Comparison of recognition time different feature vector lengths

对比算法对主副机位拍摄动作的识别率,对副机位拍摄动作的识别率总体低于主机位。其原因有两部分:1)相比主机位拍摄健身动作的主特征平面,副机位所拍摄平面中关节遮挡较为严重,造成提取动作特征更加困难;2)主副机位的拍摄背景不同也会对识别结果造成影响。尽管如此,算法对副机位拍摄动作的识别率最高仍能达到91.77%,证明方法对相机视角的变化和背景改变具有一定鲁棒性。

人体中心投影法对识别结果的影响 为了验证所提出的人体中心投影法对识别结果的影响,对比了应用人体中心投影法和图像坐标系投影识别主机位拍摄健身动作的结果。对比结果如图7 所示,相比图像坐标系投影,应用人体中心投影法使得动作识别率在大部分情况下都有所提升。

图7 人体中心投影法与图像坐标系投影的识别率对比Fig.7 Comparison of recognition rates of human central projection and image coordinate system projection

由于健身动作数据集中所有动作均在原地执行,运动过程中整体无关位移对动作识别造成的影响较小,故人体中心投影法对动作识别性能的提升幅度有限。

训练集大小对识别结果的影响 为了验证本文方法在数据量较小的数据集上的识别能力,在主机位拍摄的健身动作数据集中进行实验。分别使用包含1、2、3、7、10、13和15人次动作视频的训练集进行训练,仍用包含9 人次视频的测试集进行测试。实验结果如表3 所示:识别率与训练集数据量同向变化,但随着数据量的增长,增加训练样本对于识别正确率的提升幅度逐渐下降。当使用1人次健身动作视频(每类动作含有1~10 个样本不等)作为训练集时,测试能够获得85.45%的正确率,这是由于一方面本文方法使用了最优化长度的特征向量表示动作,另一方面所使用的分类器对于小样本量数据集也有较好的识别效果。结果说明本方法在较小样本量的数据集上拥有较好的识别能力。

表3 不同训练集数据量的识别率对比 单位:%Tab.3 Recognition rate comparison with different training data sizes unit:%

3.2.2 公开数据集上的实验结果

KTH 数据集 按照Schüldt 等[26]的方法划分测试集和训练集,训练集包含16名受试者的动作视频,测试集包含9名受试者的动作视频,用本文方法对其进行数据处理,实验结果如表4所示。

表4 本文方法在KTH数据集上识别率结果 单位:%Tab.4 Recognition rate of the proposed method on KTH dataset unit:%

应用人体中心投影法对识别结果的改善对比如图8所示。结果显示,对于KTH 数据集中的6个动作,应用人体中心投影能够对除拳击动作外的五个动作进行更为精确的识别,特别是对行走、慢跑、奔跑三个动作的改进效果更为明显。这是由于在图像坐标系中,行走、慢跑、奔跑动作中大范围的人体整体位移覆盖了动作间的有效区分特征,在将其消除后识别率得到大幅提高。最终在KTH数据集上算法识别率达到91.67%,应用人体中心投影法使得整体识别率提升了14.57%。

图8 应用人体中心投影法前后识别率对比Fig.8 Comparison of recognition rate before and after applying human central projection

拳击动作是唯一在应用人体中心投影法后识别率下降的动作类别,误识别为慢跑或奔跑。其原因是:在消除了较大范围的整体位移后提取出奔跑和慢跑动作的特征与拳击动作发生混淆。通过观察动作识别结果,发生误检的拳击动作中受试者出拳幅度往往较小且方向水平,与奔跑和慢跑动作的上肢环节运动轨迹相似,从而引起误检。针对此类个别动作类别间的混淆问题,后续可通过增加局部运动特征权重予以解决。

Weizmann数据集 将数据集划分为包含6名受试者的训练集和包含3 名受试者的测试集,用本文方法进行数据处理、训练和测试,实验结果如表5和图9所示。除奔跑和原地跳跃两个动作外,对其余8 个动作的识别率均为100%,在Weizmann数据集上平均识别率为90%。

表5 Weizmann数据集识别率 单位:%Tab.5 Recognition rate on Weizmann dataset unit:%

图9 应用人体中心投影法前后识别率对比Fig.9 Comparison of recognition rate before and after applying human central projection

图9 中呈现的四类动作在应用人体中心投影法前识别率较低,通过消除运动中的整体位移使得各自的识别率得到了较大程度改善,其中跳跃移动和侧向跨步移动的识别率达到了100%。对该数据集总体识别率提升了16.67%。

在KTH 数据集和Weizmann 数据集上的实验结果表明,本方法对于同类型的数据集具有较好的泛化能力,能够应用于类似的动作识别任务。另外,应用人体中心投影法能够消除健身动作中的人体整体位移从而提升识别率。尽管改进投影策略使得对KTH 数据集中拳击动作识别率降低,但从整体上较大幅度地提高了算法对各类动作的识别率。另外,消除人体整体位移使得算法能够提取各关节间的相对运动特征完成动作识别,这对于进一步提取人体局部运动特征和进行动作质量评价是非常重要的。

本文方法与其他方法实验比较 为了验证本文方法在公开数据集上的识别能力,与其他同类型方法进行了比较。表6 列出四种动作识别方法在两个公开数据集上的识别结果,均为基于特征提取的动作识别方法。四类方法分别利用局部时空特征[26]、时空兴趣点[27]、随机时间规划[28]和方向梯度直方图[29]描述动作特征,并结合分类算法完成动作识别。如表6 所示,本文方法在两个公开动作识别数据集上的识别精度均高于同类型其他方法。

表6 本文方法与其他方法识别率对比Tab.6 Comparison of recognition rate of the proposed method with other methods

4 结语

针对健身动作识别场景,本文结合人体中心投影法和运动骨架编码提出了一种高效的动作识别方法,能够有效且快速识别健身动作。首先,基于精简人体骨架模型提取人体运动骨架信息;然后,通过人体中心投影提取运动特征区域,消除健身动作中人体整体位移的干扰;最后,进行骨架信息编码和动作识别。在自建健身数据集和公开数据集上均获得了较好的识别效果,并证明本方法在由固定相机位拍摄的动作数据上有较好的可迁移性,所提出的人体中心投影法能够消除运动过程中人体无关位移的影响从而改善动作识别效果。在今后的研究中,将考虑关节点之间的相对关系以及人体局部运动特征,进一步提高动作识别率并为动作评估创造条件。未来的工作将在本文的研究基础上对健身动作进行相应的评级和评分,完善智能健身指导系统。

猜你喜欢
集上特征向量识别率
克罗内克积的特征向量
关于短文本匹配的泛化性和迁移性的研究分析
高中数学特征值和特征向量解题策略
三个高阶微分方程的解法研究
档案数字化过程中OCR技术的应用分析
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
师如明灯,清凉温润
几道导数题引发的解题思考