APP下载

基于单目视觉的FMS人体姿态识别

2021-10-24伏选杰田畅

计算机时代 2021年10期
关键词:光流

伏选杰 田畅

摘要: 针对部队日常体能训练中引入功能性动作筛查(FMS)的困难,提出一种基于单目视觉的自动化解决方案。通过改进现有人体姿态识别算法,再结合余弦相似性完成FMS动作提取。分析现有算法的弊端,提出利用帧间光流提高人体姿态识别精度的解决思路,并验证其可行性。

关键词: 人体姿态识别; FMS; 光流; 余弦相似

中图分类号:TP319          文献标识码:A 文章编号:1006-8228(2021)10-23-05

Human posture recognition based on monocular vision

Fu Xuanjie, Tian Chang

(Army Engineering University, Nanjing, Jiangsu 210000, China)

Abstract: Aiming at the difficulty of introducing functional movement screening (FMS) in the daily physical training of troops, an automated solution based on monocular vision is proposed. The FMS action extraction is completed by improving the existing human body posture recognition algorithm and combining cosine similarity. The shortcomings of existing algorithms are analyzed and solutions to improve the accuracy of human posture recognition by using optical flow between frames are proposed, and the feasibility is verified.

Key words: human body posture recognition; FMS; optical flow; cosine similarity

0 引言

保證训练的有效性和安全性一直是健身塑形、军事体能、医疗康复等训练的首要目标。在特种训练、部队训练、专业体育训练甚至日常健身中,合理引入纠正性训练方法(FMS)已经成为广泛共识[12-13]。

功能性动作筛查FMS是一种身体运动功能的评估和训练方法,可有效的提升体能训练水平,大幅度降低运动损伤风险。然而,在部队训练、大众健身等非专业领域广泛推广FMS存在很大的困难。一是相关领域缺乏大量专业的指导教练;二是人工指导往往缺乏耐心无法保证测量的有效性;三是FMS需要多测量及时的发现问题进行纠正性训练,人工无法保证个性化的纠正性训练。所以,在部队训练以及日常健身中引入FMS方法必须基于计算机自动分析完成,才能保证其发挥广泛有效的作用[1]。

FMS通过七个简单的动作(深蹲、跨栏步、直线弓步、肩部活动、主动直腿抬高、躯干稳定性俯卧撑、旋转稳定性俯卧撑),对肢体之间相对距离角度的测量便可以得到身体运动功能评估,完全可以通过智能设备辅助测量。传统辅助训练设备通过一些传感器对人体训练中身体参数进行收集完成分析任务。但是,通过传感器硬件的采用方式,要求测试者佩戴多种传感器,虽然较为准确但是也将用户的良好体验感降低到了最低且用户测量一次成本过高,不适于推广使用。后来也出现了基于体感摄像机的人体运动捕捉系统,但是精度较低以kinect[2]为例该设备仅适用于简单的空间定位,并不适用于跟踪人体关节运动。

现有基于传感器人体姿态测量不仅成本高而且用户体验不佳。研究[6-8]只需一台普通摄像机对人体运动进行采样,便可以捕捉人体实时姿态。这种基于视觉的采样方法更加便捷、精确,适用场景广泛。

通过以上分析不难发现,在FMS系统中引入人体识别技术将是未来发展趋势。如图1所示自动化FMS纠正性分析系统框架,通过动作采样自动分析测量动作完成动作评分并利用知识图谱推理得到纠正性分析报告初步可以满足纠正性训练在部队等场景下的使用。基于计算机视觉的FMS人体姿态测量方法可以解决现有方法成本高、准确率低、用户体验差的痛点。所以,人体姿态识别技术精确测量FMS动作是自动化测量的关键技术。

1 基于单目视觉的姿态识别

1.1 姿态识别算法

人体姿态识别是指运用某种手段跟踪、捕捉人体关节点位置并重新构建人体结构的技术。在动画视频、影视、游戏制作、运动训练、医疗等多方面都有重要应用。广泛的研究使得深度学习技术已经在专业领域突显成绩达到了和人类专家同样的技术水平。目前有单人姿态识别技术如CPM[6],Hourglass[7];多人的姿态识别算法OpenPose[8]。已经在相关数据集[3-5]上取得了优秀的成绩,随着数据集的进一步扩充和相关算法的研究,人体关节检测水平势必达到人类同样水平。所以利用深度网络进行人体姿态识别辅助FMS引入部队训练甚至是日常健身是未来的趋势,有重要的意义。

CPM[6],使用顺序化卷积架构拟合图片中的空间信息和纹理信息,具有较强的鲁棒性。网络结构分为多个阶段,各个阶段又分别监督训练,原始图片为输入,其他每个阶段将前一阶段输出的特征图作为输入,有效融合图片中的空间信息,纹理信息。通过多尺度变换输入确保了输出结果的精度。

在单人姿态识别的启发下多人姿态识别的研究方向有两个主流。第一类自顶向下的方法,如文献[9-10]。通过目标检测出单个的人再利用单人姿态识别实现多人姿态识别。但是这种方法主要的问题在于,姿态识别的准确性很大程度上依赖于目标检测的精度。分阶段的推理以及分阶段采样会造成计算量的负担,同时当人体有遮挡的情况出现时不能很好的解决关节点识别。第二类自底向上的方法,如文献[8]。首先预测出所有的人体关节,再将各个关节组装成个体。

1.2 OpenPose姿态识别网络

OpenPose是自底向上的多人姿态识别方法(先通过特征识别所有可能的关节点,再将所有关节点遍历组装成可能的人体连接)该算法能够实现人体动作、面部表情、手指运动等姿态识别,具有很好的鲁棒性,适用于FMS测量场景。

OpenPose网络设计,为多阶段提取特征的网络结构。输入为一帧图像,经过卷积网络层提取底层特征。在两个子网络中分别输入底层特征。其中一个子网络顺序化卷积根据上层网络提取到的特征进一步提取有关人体各个关节点的预测热图,每个热图中包含了该类别关节点出现位置的可能性峰值;另一个子网络实现了作者所提的人体关节亲和场为组装人体结构提供了有力的参考,该网络的输出为相邻两个关节点之间肢体的向量场Part Confidence Maps(表征肢体连接结构和方向)。通过两个网络将自底向上的姿态识别问题转变为图匹配问题,对所有可能的关节点预测结果采用匈牙利算法进行最优匹配,返回最终的人体关节点预测结果。

OpenPose算法鲁棒性强,关节点识别准确率高满足FMS测量对关节点预测准确率的要求,但是网络模型模型参数庞大,运行时计算复杂度高很难在资源受限的计算机上部署使用。为了推广使用FMS系统需要解决在资源受限的硬件平台实时运行的问题。

Intel提出轻量版的LightweightOpenPose[11],相对于OpenPose网络,参数量只有15%,但是识别精度只损失1%。在CPU上推理速度可以达到26fps。底层特征提取模块作者使用MobileNet代替VGG,减少了网络深度同时降低了计算量和模型参数。在特征提取中加入了空洞卷积增大了网络感受野。为了减少参数量将原有两个子网络改成一个网络,只在输出阶段利用1*1卷积分别获取关节点预测结果和人体亲和场预测结果。轻量级OpenPose网络通过将较大卷积核替换为较小卷积核并利用空洞卷积保证网络视野,从而在保证精度的条件下提高了神经网络推理效率。也有利于在FMS中推广使用

2 基于姿态识别的FMS动作识别

2.1 FMS动作识别框架

为了满足FMS姿态识别的效率和精度双重要求,选用现有LightweightOpenPose网络作为检测人体关节点的基础算法。实验发现,现有算法虽然在数据集上具有较好的效果,但是应用于FMS场景下并不能直接使用。

由于网络表达能力有限且现有网络本身存在的问题,导致在测量时存在关节点检测不出、检测错误的问题。在实验中发现,现有网络在图片中人体存在遮挡、光照环境过明过暗情况下存在关节点检测失效的问题。而且对于视频文件连续进行检测时存在前后识别结果差异大、检测结果不稳定。研究发现目前姿态识别网络均通过单张离散的图片训练得到,丢失了时间上关节点变化信息。如果结合时空信息进行姿态识别,理论上能够提高姿态识别检测精度,且在连续检测中能够保证前后结果一致性。

视频文件中蕴含了人体骨架模型随时间变化的时空信息。目标跟踪领域通过时间上的变化信息对目标进行连续跟踪。研究发现,提取视频中人体运动信息能夠帮助姿态检测网络更好的工作。光流表示了相邻两帧图片中像素点的变化情况,如果能够提取关节点附近的像素位移那么就能够利用这种随时间变化的信息来提高姿态识别网络的检测精度。

应对现有姿态识别算法的不足,本文提出基于视觉的FMS动作测量方案如图2所示。利用目前姿态识别网络提取人体关节点通过目标跟踪的思路结合相邻帧间运动变化信息,从而提高FMS测量准确度。首先利用轻量级OpenPose网络提取每一帧关节点的坐标,并且通过计算相邻帧之间的光流信息,将时间上的变化信息和人体关节点空间结构结合起来,获得最终的关节点更新。构建人体二维骨架模型方便对FMS动作分类,便于后续的FMS评分。相邻两帧之间时间较短将人体运动看作匀速直线运动。将关节点附近光流信息转化关节点速度对关节点进行建模。

将关节点状态描述为四维向量[sk=[x,y,vx,vy]],其表示为:关节点在[x]方向,[y]方向的坐标及其运动速度。

在运动序列中极短的时间内,可以近似人体的运动为匀速运动,假设相邻帧之间的速度是相等的,可知:

[xk=xk-1+Δt?vx,k-1+wk-1+Δt?w'kyk=yk-1+Δt?vy,k-1+wk-1+Δt?w"kvx,k=vx,k-1+w'kvy,k=vy,k-1+w"k]

[sk=Ak,k-1sk-1+1Δt010Δt010001wk-1w'kw"k]

其中[Ak,k-1=10Δt0010Δt00100001]是状态转移矩阵,[wk-1]是位置随机误差由于运动时间很短约为(0.05s)可以将误差设置较小,初始化为高斯噪声,[w'k]、[w"k]分别表示[x]方向,[y]方向速度的随机误差。

观测方程:

[zk=Hk,k-1sk+vk]

其中[Hk=1000010000100001]是观测矩阵。将深度网络的估计值作为观测值分别为各类关节点建立卡尔曼滤波器进行滤波。实验证明这种人体骨骼模型提取框架是有效的。

2.2 人体骨骼模型

Kalman滤波器对姿态识别网络的结果进行滤波后,获得了一组较为稳定的关节点预测结果。姿态网络的输出结果依次为鼻子、右肩膀、左肩膀、右腰、左腰、右肘、左肘、右膝、左膝、右腕、左腕、右踝、左踝。以左右肩膀连线的中点作为人体的基点,建立如图3所示的二维骨架模型,计算各个单位向量,以及向量夹角作为人体骨架模型的特征。这些特征作为FMS动作识别的依据。同样,对标准动作分别建立骨架模型模板并提取基本骨骼特征。

2.3 FMS动作识别

由于FMS测量所规定的七个动作在测量过程简单可控,在动作识别阶段不需要精确测量人体部件长短、距离只需要通过当前动作和标准动作之间的形态差异就可以完成当前阶段任务。本文提出通过余弦相似来对比当前动作和模板动作的差异,保证动作识别的准确性、高效性。

定义人体关节集合[D={d0,d1,...,d13}],其中[di]为系统预测的关节点坐标[x,y];根据图二人体骨骼模型定义向量集合[J={J1=(d0(x)-d1(x),d0(y)-d1(y)),...,J13}],对各个向量单位化;定义各个标准动作模板[Jtn={jt1,jti,...,jt13}];定义如图4所示人体二维骨架模型向量集合,通过实时采样骨架模型向量几何和标准动作模板生成的向量集合计算余弦相似来表示实时人体姿态和测量动作的相似性。通过实时动作和模板动作的相似性比对,可以对测量动作进行分类,以及提取待测动作进行FMS评分。

定义测量动作和动作模板相似度计算公式为:

[xi=jti·jijti×ji,i∈(1,13)]

[xi]表示测量动作各个向量和标准动作向量集的相似程度。定义:

[σ2n=1m-1i=1m(xi-x)2]

其中[n]表示FMS中七个测量动作,[m]表示向量集合的个数。最终取[min(σ2n)]时刻姿态状态,与标准库中模板动作比对。

3 FMS動作识别结果

为了验证本文提出的基于视觉FMS测量方案的有效性,选取一组FMS测量动作进行分析。在测试视频中同一时刻分别取直接利用lightweight OpenPose网络提取人体骨骼模型和本文方法测得人体关节点进行对比分析。如表1所示,结果表明,lightweight OpenPose对于连续的FMS动作测量存在关节点前后帧不稳定,如未检出(t=4时刻),偏移(t=8时刻),错误(t=5,9)的问题。关节点在连续帧检测不稳定的问题,会导致后续FMS动作测量可靠性不高。而本文所提框架考虑了视频中的时空信息,利用历史结果避免了重建骨架模型时出现较大的偏差,提高了检测系统的鲁棒性。

由于人体的运动不是单一的、离散的,而是互相联系的,在一段运动中历史的运动状态会对当前运动状态造成影响。实验证明历史检测结果可以有效提高当前帧检测精度。本文所提FMS姿态识别框架将关节点在较短时间内的运动假设为匀速运动,结合时间维度变化信息,对当前时刻建立线性运动状态方程,利用kalman滤波特性重新评估当前时刻关节点位置,从而避免了部分检测出错的情况发生。稳定、准确的关节点预测,有利于提高FMS动作识别准确率,也为下一阶段的FMS评分提供了有力保障。

4 结束语

本文利用lightweightOpenpose网络结合时空信息更新视频中关节点位置预测结果,提高了视频中人体骨架模型提取精度,完成了动作分类任务,为下一阶段FMS评分提供了可靠依据。人体姿态识别技术是自动化运动分析的关键技术。但是现有算法还不能完成进一步精确的FMS测量。

目前所了解的姿态识别网络,均是通过离散的图片训练得到。通过对比实验不难发现,网咯推理过程中只会考虑当前帧的空间信息,由于缺失时间维度运动信息,导致推理中不能合理的规避运动关节点的检测错误。人体姿态识别技术下一步的研究需要通过学习连续变化的人体运动中蕴含的时空信息进一步提升姿态识别准确率,保证FMS评分阶段所需要的精确关节点坐标。

参考文献(References):

[1] 黄孝齐,田畅.提高部队体能训练科学性的思考与探究[J].军事体育学报,2019.38(1):21-24,27

[2] 孟明,杨方波,佘青山,孙曜,罗志增.基于Kinect深度图像信息的人体运动检测[J].仪器仪表学报,2015.36(2):386-393

[3] Lin, Tsung-Yi, et al. Microsoft COCO: Common Objects in Context[C]//Computer Vision-ECCV 2014,2014:740-755

[4] Andriluka M, Pishchulin L, GehlerP,and .et al. 2D Human Pose Estimation: New Benchmark and State of The Art Analysis[C].//Computer Vision and Pattern Recognition,2014:3686-3693

[5] Catalin I, Dragos P, Vlad Olaru, et al. Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments[J]. IEEE Transaction on Pattern Analysis & Machine Intelligence,2014.36(7):1325-1339

[6] Wei, Shih-En, et al. Convolutional Pose Machines[C].//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016.

[7] Newell A, Yang K, Deng J. Stacked Hourglass Networks for Human Pose Estimation[J].arXiv e-prints,2016.

[8] Hua, Quan. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields[C]//Medium,Towards Data Science,3 July 2019,towardsdatascience.com/cvpr-2017-openpose-realtime-multi-person-2d-pose-estimation-using-part-affinity-fields-f2ce18d720e8.

[9] ZheC.ZheC/Realtime_Multi-Person_Pose_Estimation. [GitHub].github.com/ZheC/Realtime_Multi-Per-son_Pose_Estimation.

[10] Fang, Hao-Shu, et al. RMPE: Regional Multi-Person Pose Estimation[J].ArXiv.org, 4 Feb. 2018, arxiv.org/abs/1612.00137.

[11] Osokin, Daniil. Real-Time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose[J]. ArXiv.org, 29 Nov. 2018, arxiv.org/abs/1811.12004.

[12] 朱佳华,王攀,邓运龙.对特种兵功能性动作筛查与军事训练伤的调查分析[J].军事体育学报,2016.35(2):99-102

[13] 王攀,周志雄,邓运龙,姜杨,党鑫华.装甲步兵功能性动作筛查的应用研究[J].军事体育学报,2014.33(3):14-17

猜你喜欢

光流
基于事件相机的连续光流估计
利用掩膜和单应矩阵提高LK光流追踪效果
基于改进Cycle-GAN的光流无监督估计方法
一种多尺度光流预测与融合的实时视频插帧方法
基于自适应纹理复杂度的仿生视觉导航方法研究
基于物理学的改善粒子图像测速稳健光流方法研究
旋翼无人机单目视觉障碍物径向光流检测法
公共场所暴力行为的光流场构建及分析方法*
基于遮挡修补的TV-L1 光流算法
一种改进的基于全局最小能量泛函光流算法