基于图像的动作识别与评价方法

2022-10-18 06:36刘倩赵柏山
微处理机 2022年5期
关键词:关节点关键点角度

刘倩,赵柏山

(沈阳工业大学信息科学与工程学院,沈阳 110870)

1 引言

随着计算机视觉技术的不断发展,人体动作识别也在诸多领域得到应用,比如智能安防,人机交互,虚拟现实,运动分析等[1]。其中,运动分析非常适于与体育动作相结合,用以分析体育动作,比较相似度,来完成识别和评价动作质量[2],达到辅助训练的效果,提高体育运动的学习性和参与性。目前人体动作识别方法主要分为两种,第一种是通过可穿戴式设备[3],利用陀螺仪、加速度传感器等采集人体运动参数对人体动作进行识别[4],但是该方法对硬件依赖性高,成本高。第二种是通过RGB视频或图像进行动作识别,缺点是识别效果容易受到环境复杂背景、光照等影响[5]。针对上述问题,在此从骨骼信息出发,基于图像使用OpenPose检测方法[6]提取骨骼关键点信息,将骨骼关节信息转化为距离、角度等特征[7],通过动态时间规整算法[8]和KNN分类器[9]解决识别和评价的问题。

2 方法概述

基于图像实现体育动作识别首先需要录制动作视频,将视频读取为帧图像进行图像预处理;接下来通过OpenPose姿态估计模型对预处理后的图像进行骨骼关键点检测,提取关节点坐标;然后对关节数据进行处理并构建特征向量;最后利用动态时间规整算法和KNN分类器进行动作识别。

2.1 视频预处理

为了更好地满足动作识别的需要,对动作视频进行以下预处理:

a)将录制好的动作视频数据集转为图像帧。转换后的图像有270×480、544×960、720×1280三种尺寸。利用OpenCv计算机视觉库和Python语言将图像进行统一的缩放裁剪为270×480。

b)图像滤波。图像中普遍存在高斯噪声,此时就需要采用OpenCv中自带的高斯滤波函数来实现图像的去噪声处理。

2.2 基于OpenPose骨骼关键点检测

OpenPose模型结构如图1所示。检测分为前后两个阶段:

图1 OpenPose模型结构

阶段1输入图片,卷积神将网络(CNN)对图片分析处理,由VGG19网络的前10层进行初始化得到特征图F;

阶段2将得到的特征图F分成两个分支,通过贪婪推理预测身体部分位置信度映射S和一组2D亲和度矢量向量场L,用S和L编码检测目标各部分之间的关联向量场,通过置信度分析检测目标的亲和向量场,最终标出所有检测目标的2D关键点。

特征图F经过CNN进行分析处理,通过多次迭代来预测结果。整个过程经历t个阶段,t∈{1,2,...,T}。第一阶段得到置信图S1和亲和力L1,后续的T-1个阶段将上一阶段的两个分支的输出和原始特征图F相结合,进行下一步预测,如下二式所示:

经过多层网络的反复迭代直到收敛,最后在预测时对于任意两个关节点位置yj1和yj2,计算关节点之间的关联程度,用关节点的亲和度的线性积分来表征,E值越小表示关联程度越小,如下式:

式中,p(u)是yj1和yj2连线上任一值,通过对u均值采样、求和来近似积分,有:

经过以上步骤可完成骨骼关节点的预测,此处所采用的OpenPose模型提取了人体的25个骨骼关键点,如图2所示。

图2 骨骼关键点

2.3 数据处理与特征提取

2.3.1 数据处理

首先要确定主关节点。选取人体躯干部分的相对稳定的脖子和胯中心关节点作为主关节点。然后要对部分关节点的缺失做出处理。依据缺失关节点(xi,yi)的前后各两帧图像关键点进行曲线拟合。定义曲线公式如下:

利用前两帧的坐标数据和后一帧的坐标数据求出曲线系数a1、b1、c1;再利用后两帧的坐标数据和前一帧坐标数据求出曲线拟合系数a2、b2、c2,将xi=(xi-1+xi+1)/2带入,得到y1,同理再次带入得到y2,最终得到yi,如下式:

此外还要剔除冗余关节点。由于进行的是动作识别,与头部和脚部无直接关系,为减少计算量,在后面的阶段,去除头部的5个关键点和脚部的6个关键点。

2.3.2 提取特征向量

首先要提取归一化距离特征:计算左肘、左腕、右肘、右腕、左膝、左踝、右膝、右踝八个关键点到胯中心点X、Y方向的距离。将距离除以到跨中心点的欧式距离,便得到归一化特征。

再提取关节角度特征:选取右肩、右肘、左肩、左肘、右胯、右膝、左胯、左膝8个关节点,根据余弦定理计算、求解角度,公式如下:

式中,0≤θ≤180°

2.4 动作识别与评价

此部分研究涉及到动态时间规整原理,具体为:

假设有两个动作序列:A=(A1,A2,...,Ai,...,Am),B=(B1,B2,...,Bj,...,Bn),A是测试序列,B是模板序列。当m=n时,直接计算两个动作序列对应的特征向量的累加距离,求出两个动作序列的最小距离。当m≠n时,就需要对两个动作序列进行拉伸或者缩短来使得两个序列对齐,所以需要构造一个m×n的矩阵,每一个矩阵元素(i,j)表示曲线上的点Ai到曲线Bj的距离d(Ai,Bj),如下式:

式中,1≤ω≤N。这个距离使用欧式距离来度量相似度,欧式距离越小,相似性越大。

序列A和B之间对齐的每一个点所经过的连线称为规划路径,如图3所示。它是从点(1,1)到点(m,n)的最优路径。

图3 规整路径

用W表示规划路径,将它的第k个元素定义为wk=(i,j)k,则有:

其中,max(m,n)≤K≤m+n-1,且动态规整路径W需要满足边界约束、连续性约束、单调性约束[10]。结合三个约束性条件可以推出,点(i,j)有且只有三个元素与其相连接,分别为:(i+1,j)、(i,j+1)、(i+1,j+1)。定义γ(i,j)是Ai和Bj的欧氏距离和可以到达此点的最近元素的距离之和,称之为累加距离,如下式:

3 实验结果与分析

3.1 数据集的制作

根据研究需要,实验使用了自制动作数据集。动作选取太极拳中的8式分别为:如封似闭、高探马、双峰贯耳、左野马分鬃、右野马分鬃、白鹤亮翅、手挥琵琶、单鞭。在此基础上又分为室内和两种室外场景。涵盖了复杂背景和光照干扰,类别较为丰富,具有一定的代表性。

3.2 特征有效性分析

特征有效性需要考虑区别性和一致性。区别性是对于同一个人完成不相同的动作时,该特征变化是否具有差异,以此判断出动作种类是否不同。选择右腕X方向距离特征和左肘角度特征进行实验,结果如图4所示。实验结果表明两个特征表现出不同的变化规律,具有区别性。

图4 右腕X方向距离和角度特征

一致性则是对于不同人完成同一个动作时,该特征变化是否具有一致性,以此来判断动作种类是否相同。选取单鞭动作右膝的X方向距离和角度特征进行实验,结果如图5所示。实验结果表明,两个特征的变化规律具有一致性。

图5 右膝X方向距离和角度特征

3.3 动作识别结果与分析

对自制数据集进行动作识别实验,选取KTH和Weizmann两个公开数据集进行验证。KTH数据集共有六类动作,Weizmann数据集共有十类动作。将距离特征作为特征1,角度特征作为特征2,归一化距离特征和角度特征结合作为特征3;通过动态时间规整算法计算待测样本和模板样本的DTW距离,然后利用KNN分类器进行分类识别。识别结果如表1所示。

表1 三个数据集识别率对比

从表中可知,整体上特征3的识别率高于特征1和特征2,这验证了提取特征对分类的有效性。

实验同时也可得到混淆矩阵图,如图6所示。在混淆矩阵图中,以横轴表示预测的类别,纵轴表示正确分类的标签,对角线上是正确分类的数量。通过此图,便可直观地观察出每一类被错误分类的类别及其数量。

图6 混淆矩阵

3.4 动作评价分析

选择数据集中的如封似闭作为评价对象,选取50个样本作为测试序列,采用DTW算法计算测试序与标准序列的DTW距离,作为相似性评估的指标。为减少计算量特征参数数量,选取8个角度特征。实验结果如图7所示。

图7 DTW距离分布

从图中可以看出,左肘角度的DTW距离大部分分布在700°~1300°,少部分分布在1300°~1500°;左膝角度的DTW距离大部分分布在200°~800°,少数分布在800°~1200°,将处于这些区间之外的值舍弃。对剩余6个角度特征进行实验分析,可知:上肢的四个角度——左肩、右肩、左肘、右肘的距离分布比较稀疏;下肢的四个角度——右胯、左胯、左膝、右膝的距离分布比较稠密。这也表明在该招式中上肢的动作幅度较大。

基于上述实验分析,针对动作如封似闭构建评价方法,公式如下:

式中sa表示一个角度特征的得分;sc表示角度分配的分数,它的值为1.25;d1表示DTW距离值,d2表示DTW距离有效区间内的最小值;fc为损失参数,其值大小与动作变化幅度有关,幅度大的关节点损失参数小,幅度小的关节点损失参数大。最后总得分为8个关节角度得分的总和,即:

4 结束语

在本研究中,通过OpenPose姿态估计方法检测骨骼关键点,得到了关节点坐标,提取了姿态特征向量,利用动态时间规整算法和KNN分类器实现动作分类识别,对自制数据集识别率达到90%,在KHT和Weizmann数据集上识别率达到85.6%和83.7%。利用角度特征DTW距离构建一套动作评价公式,实验结果表明本方法具有鲁棒性、有效性。

猜你喜欢
关节点关键点角度
基于关节点数据关注RGB视频的双人交互行为识别
神奇的角度
论建筑工程管理关键点
肉兔育肥抓好七个关键点
建筑设计中的防火技术关键点
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
重载机车网络重联TCN 故障节点识别方法研究*
关节点连接历史图与卷积神经网络结合的双人交互动作识别
一个涉及角度和的几何不等式链的改进
角度不同