基于骨骼点相对位置的动作对比矫正模型*
2022-08-26张伟来
张伟来 谷 林
(西安工程大学计算机科学学院 西安 710600)
1 引言
人体动作的识别、对比与矫正等是计算机视觉技术的研究热点,可以广泛应用于监控分析、人机交互、体育教学、康复训练等领域。其中人体动作对比矫正技术指从视频或图像信息中获取人体目标及其动作特征描述,依据特征描述对人体的动作进行对比分析,从而给出评价和矫正指导,帮助用户做出正确的动作。Tang 等[1]提出了一种基于神经网络的相似性度量系统,使用对应关节间的欧式距离为基本特征,利用受试者的主观感受来作为标签评价一对运动是否相似,训练系统计算任意一对运动的相似度,并给出评价。Hu 等[2]设计了一种包含身体轮廓和关节位置、形状和深度信息的特征描述,将被测动作序列对齐后比较特征描述的相似度,从而给出评估结果和矫正提示。千承辉[3]等设计了一种基于视觉方法的康复训练系统,利用骨骼点信息比较被测人骨骼角度序列与动作库的标准动作序列的相似度,从而给出评价和指导建议。受限于传统特征描述方法,前人研究者对动作对比分析系统的研究主要集中于对动作的分析评价,往往只能给出矫正意见,如方向、角度、距离等方面的建议,无法给出精确的矫正位置。
为解决上述问题,本文使用基于骨骼点相对位置的特征描述方法,包含单帧图像中每个骨骼点与其他骨骼点的二维向量信息,结合余弦相似度仅对方向敏感的特点计算目标人体与被测人体的相似度,建立基于统计方法的对比分析模型对图像中被测动作中的骨骼点位置进行正误判断,最后基于目标动作的特征描述计算错误骨骼点的正确位置,给出矫正建议。
2 相关研究
对人体动作进行对比分析主要有两个关键环节,选取合适的特征和特征描述方法,以及设计高效、准确的对比分析方法。
图像中人体特征主要有包含完整信息的全局特征和对部分兴趣点敏感的局部特征[4~6]。全局特征是对检测出的整个人体进行描述,通常采用边缘、轮廓等信息,其包含更多、更完整的信息,但对噪声、遮挡、视角变化等敏感。局部特征提取是对图像或者视频中的一个块进行描述,通常检测到人体动作时变化显著的关键点,以这些点为中心在邻域内捕获局部形状、外观和运动等特征进行描述。此外还有近年来应用广泛的人体骨骼点特征[7~8],使用骨骼点特征能更准确描述出人体肢体姿态,减小背景环境和摄像机等因素的干扰和影响,且由于骨骼点特征数据规模小,研究者可以进行更为复杂的计算。
对特征的对比分析的经典方法是建立算法模型,对单个动作之间特征描述的位移、角度、加速度等变化,或对整个运动过程中特征信号的时域、频域特征等进行采集,并进行计算分析[9~10]。此外还有近来在计算机视觉领域运用广泛的机器学习、深度学习等方法[11~13],通过足量的数据和时间训练神经网络,自动从数据中提取出便于识别对比的特征,并进行分析,最后输出结果。
3 对比矫正模型
3.1 特征描述
基于骨骼点的人体特征描述方法主要保存人体骨骼的位置信息、距离信息、角度信息、加速度信息等,骨骼点特征信息可由传感器直接获取或由人体姿态估计(Human pose estimation)技术获得。传感器通常为陀螺仪、加速度传感器、磁力强度计等,其直接获取的数据较为准确、迅速,不受光照、阴影、遮挡等因素影响,能较好地保护用户隐私,但此方法受器材、场地等条件制约,难以推广、普及[14]。人体姿态估计技术是采用图像处理的方法,对图像中的特征进行处理分析,获得人体骨骼点的特征。此方法对软硬件要求较低,只需输入图像信息即可通过算法模型或机器学习等方法获取需要的特征,但其准确率和速度受图像质量、数据预处理效果和算法模型设计等多种因素影响[15]。目前常用的人体姿态估计系统有基于图像和深度学习方法的Openpose、Alphapose等,以及基于深度摄像机的Kinect等。
基于骨骼点间相对位置信息的人体特征描述方法,对于一个动作的特征描述,由连续多帧图像中的人体姿态特征组合而成。单帧中的人体姿态特征包含每个骨骼点与其他骨骼点的向量信息,形成二维矩阵,如式(1)。
其中vij表示在该帧中骨骼点i与骨骼点j的相对位置信息,即由点i指向j的二维向量,则矩阵Ft包含了在第t帧中所有骨骼点之间的相对位置信息,由连续的特征矩阵Ft组成的集合F即为一个含有n个骨骼特征点的人体动作特征描述。
3.2 错误点检测
获取动作特征描述后进行对比分析,针对人体动作对比矫正,分析的重点在于错误动作点的检测和矫正。由于余弦相似度只对方向敏感,可减小体型、拍摄远近等距离层面的影响,故本文采用余弦相似度来衡量同一动作中,两个进行对比的人体特征描述的相似程度,并形成相似度矩阵。再结合统计分析方法分析、筛选出错误动作点。余弦相似度通过两个向量的夹角余弦值来评估两个向量的相似程度,值越接近1 即夹角越小,表示两个向量越相似,如式(2)。
由此方法结合所获取的特征描述矩阵,对两个矩阵中对应的向量计算余弦相似度,可获得相似度矩阵,如式(3),其中sij指目标图像中向量vij与被测图像中向量vij之间的余弦相似度。
对相似度矩阵数据进行分析,可以发现一些能够区分正确点和错误点的数据特征。如图1 为两个骨骼点的相似度数据和它们与其他骨骼点的平均相似度数据,其中点A 是错误动作的骨骼点,点B 是正确动作骨骼点。可以发现:1)正确点的平均相似度明显高于错误点。2)在一个骨骼点与其他骨骼点的相似度数据中,错误点的相似度数据明显低于正确点的相似度数据,表现为偏低的异常值。针对这两种特点,设计两种方法来综合判断一个骨骼点在动作中的正确性。
图1 骨骼点相似度
由于正确点的平均相似度数据要明显高于错误点,因此可以使用平均相似度来判断骨骼点是否正确。但由于动作的错误程度不同,所表现出的平均相似度难以用固定阈值进行衡量,因此使用所有点平均相似度的平均值,再结合均方差作为阈值进行判断,如式(4)、(5)。最后将低于阈值的数据认为是异常值,将其的相对差记录下来并累加,用于最终判断,如式(6)。
针对错误骨骼点的相似度在其他骨骼点相似度数据中体现为低异常值的特点,同样可以设计方法加以判断。由图可发现此类异常值一般远低于正常值,又由于均值和均方差的耐抗性较差,在多错误点动作的特征中,此类低异常值可能会大幅影响平均值与均方差,造成判断不准确,所以不适合使用此类方法进行筛选。使用四分位数和四分位距能更好地针对这种数据进行分析,四分位数是将数据均匀划分为四部分,其中每部分包含四分之一的数据,由此得出上四分位数、中位数和下四分位数,再由上、下四分位数的差得出四分位距,如式(7)。四分位数具有一定的耐抗性,允许多达四分之一的数据有较大误差而不会大幅影响四分位数,所以异常值不能对这个标准施加影响。在上、下四分位数的基础上结合四分位距可以得出异常值的内限和外限,由内限和外限可将异常值划分为温和异常值和极端异常值。本文方法将内限作为判断阈值,且由于本文数据特征,错误点只会产生相似度较低的低异常值,因此只需计算下内限,如式(8),最后记录异常值与阈值的相对差并累加,如式(9)。
最后将两种方法的相对误差相加形成相对误差矩阵,用于判断。
3.3 动作矫正
将所有骨骼点区分为正确骨骼点和错误骨骼点后,需要对错误骨骼点进行矫正。针对错误点的矫正需要使用正确骨骼点的位置信息,以及正确的相对位置信息来预测错误点应属的正确位置,从而实现动作矫正。经判断为正确的骨骼点可以提供正确骨骼点的位置信息,而正确的相对位置信息可以从正确动作的特征描述中获得,将所有正确点算得的矫正点坐标取平均,可得最终矫正点坐标,因此有公式如式(11)。
其中k 是设定用于判断骨骼点正误的阈值,ei<k表示第i 个骨骼点的相对误差小于阈值,即判断该点为正确点,m为正确骨骼点的个数。
4 实验分析
4.1 实验数据
本文使用自建数据集对模型进行实验和分析,由于一个动作视频可由连续多帧图像表达,将目标动作与被测动作关键帧对齐后,图像中的对比矫正即可拓展至视频层面,因此本文只设计图像数据集对模型进行实验验证。数据集由46 组正确动作和错误动作图像组成的对照图像组成,对照图像为固定静态动作或对照动作视频中的关键帧,出处为实验室拍摄和网络视频。其中正确动作为一名教师或实验人员做出的目标动作,错误动作为受试者模仿正确动作做出的包含错误点的模仿动作。错误动作包含单点错误、单肢体错误、多点错误、多肢体错误,涵盖常见错误类型。
4.2 骨骼点定义及获取
相较于传感器方法,计算机视觉方法在获取骨骼点时不受硬件条件制约,应用范围更广泛,因此实验中人体骨骼点获取方式采取Openpose[16~17]开源模型。Openpose 基于卷积神经网络和有监督学习开发,可实现对人躯干的主要关键点、人脸关键点的和手脚关键点的姿态估计。其模型速度快、鲁棒性强、准确度高,已被研究者们广泛认同。实验采集的关键点为对人体运动敏感的躯干骨骼点,包含15 个骨骼点,如图2、表1 所示,通过这些骨骼点可以清楚地观察出人体的运动姿态。
图2 骨骼点结构图
表1 骨骼点对照表
4.3 模型效果验证
使用本文模型对46 组对照图像进行分析发现,共690个骨骼点数据中,有312个骨骼点被记录了本文所定义的相对误差值,但大部分为相对误差值较低,如图3。实验说明本文模型对动作错误导致的骨骼点位置异常较为敏感,后设置合适阈值验证对比效果和矫正效果。
图3 相对误差值分布图
为验证本文模型对错误点识别的准确度,首先对数据集中错误节点进行人工标注,其中自行拍摄的图像在拍摄时已对错误动作中的错误骨骼点进行了设计、记录,网络图像部分则是由多位动作对比领域研究者共同进行观察与经验分析。通过计算本模型错误点检测准确率和F1 对模型进行评测,公式如下。其中准确率表示所有样本中分类正确的比率,精确率为被分为正例中实际也为正例的比率,召回率为真是为正例中被分为正例的比率,由于精确率与准确率通常情况下此消彼长,F1 值是对这两种指标的综合评价。
表2 评测指标参数定义
根据图4 结果可见随着阈值k 值增加,准确率与F1 值呈先上升后下降趋势,二者在近似k=0.1 处取得最大值,准确率可达90%,F1 值达86%,效果较为理想。因此近似取k=0.1,在此阈值下使用数据集中图像验证对比与矫正模型,如图5。
图4 评测指标
图5 矫正效果图
图中浅色点、线表示正确的骨骼点及其所连接的肢体,黑色加粗点、线表示错误骨骼点及其所连接的肢体,浅色圆圈及其相连线表示本文模型所预测的动作矫正点及其所连接的肢体。经观察在数据集中图像上矫正效果良好,可实现预期目标,在性能有限的个人PC 上对46 组对照图片处理速度可达3.6组/秒,整体效果良好。
5 结语
受限于传统特征描述方法,前人研究者对动作对比分析系统的研究主要集中于对动作的分析评价,往往只能给出矫正意见,如方向、角度、距离等方面的建议。本文使用基于骨骼点相对位置的动作特征描述方法,在对动作对比分析后可根据骨骼点相对位置计算出错误骨骼点的正确位置,矫正效果更为清晰、准确。从实验结果中发现,本文模型在阈值k 取0.1 时能有较好的效果,准确率、召回率可达近90%,基本能满足动作对比矫正系统的要求。本模型可应用于康复训练、体育教学等领域,相较于传统的现实教学训练方法可帮助教师提高教学效率和教学效果。
在自建数据集的小部分实验中,发现了分析矫正效果略不理想的情况,经研判可能原因有:1)余弦相似度只对方向敏感,缺少距离维度的数据;2)在错误点较多的情况下,模型克服极值影响的能力仍然有限;3)由于人体肢体动作总是由相近的骨骼、肌肉带动,因此距离相近的正确骨骼点在矫正过程中应拥有更大的权值。在后续的研究工作中期望针对上述原因对模型进行改进。