基于OpenPose的人体动作识别对比研究*

2021-12-30 05:36张素君张创豪黄晶晶
传感器与微系统 2021年1期
关键词:置信置信度关键点

杨 君, 张素君, 张创豪, 黄晶晶

(武汉科技大学 信息科学与工程学院,湖北 武汉430081)

0 引 言

随着我国经济水平和生活水平的提高,人们的生活质量和健康状况受到更多的关注。人们在锻炼中受伤会影响生活和健康,系统提出的解决办法是通过计算机或者传感器等判断人们的动作是否标准,从而避免损伤。这种识别方法主要有两种:基于传感器的方法[1~3]和基于计算机平台的方法[4~6]。

目前基于人体特征的动作识别研究受到了更多关注,如利用反向传播(back propagation,BP)、SAM等[7,8]多种分类方式进行人体动作识别。基于人体特征的识别方法中对知识库和训练数据的大量需求使得该方法有一定的局限性。

现在成熟的识别研究大多与人脸识别和手势识别有关,对动作识别的研究较少,且往往没有交互的过程。针对以往经典的人体动作对比识别方法的不足,本文在现有的应用基础[9]上分析研究,提出了一个基于OpenPose的单目图像识别对比指导系统。

1 系统设计

实验环境为戴尔Inspiron 15—7560笔记本电脑,CPU 为Intel i7—7500U,Windows 10 64位旗舰版操作系统。内存为12 GB,1 600 MHz,显卡为NVIDIA GEFORCE GT 640M,软件平台Visual Studio 2019。该系统安装简单,所需设备数量少、成本低。系统流程图如图1所示。

图1 系统流程图

图像在转换和传输的过程中,会受到成像设备和外部环境的影响,经常会出现一些出现亮度偏差过大的区域,即噪声,这些噪声会干扰结果的准确性。为了最大程度简化无关信息,首先对图像进行预处理提取有效信息[10];再采用中值滤波将图象中的像素按RGB值排序,取中间值为有效值,平滑处理可以强化图像的目标特征;最后,锐化处理使用拉普拉斯模板对图像边缘增强。如图2所示。

图2 Laplace锐化模板

采用中值滤波和锐化处理能够有效克服偶然因素的干扰,增强某些线性目标的特征,有助于利用色彩差异分离人体和布景。中值滤波器使用非线性方法,在消除脉冲噪声方面非常有效,但它的抗高斯噪声的性能较差。这种方法可以保护图像中物体的边缘线条,过滤掉偏差较大的点。拉普拉斯锐化方法可以用于恢复图像,预测残差,对图像进行一定范围内的恢复。经过测试,预处理操作对噪声干扰有较强的鲁棒性,如图3所示。

图3 预处理效果

2 基于OpenPose的人体关键点检测

2.1 OpenPose算法分析

OpenPose实时姿态监测估计算法是由卡内基梅隆大学的一个团队最先提出的。此算法使用一种叫做人体关键点亲和域PAF(part affinity field)的方法连接人体关键点。图4中的网络结构分支1的S1代表一组关键点,分支2的Ll代表连接这些关键点的亲和向量。重复此步,可以得到一个所有2D关键点的集合S和关键点相关度的向量集合L,再根据相关度连接将得到一个近似度高的棍型图。系统采用的数据集是COCO和MPI,并且收集了试验者执行的不同活动并与计算机相关联,既能检测人体,也能感知到周围环境中的信息。

OpenPose提供了23个精确的身体部位,包括肩膀、肘部、手腕、臀部、膝盖、脚踝等。为了减少数据集的冗余,系统参考不同身体关节的视觉效应,根据人体结构和运动特征将关节分成不同的组,并给每个关节分配不同的权重。

1)面部五官:面部关节分布集中密集,活动范围小。它们很少表现出明显的独立运动,因此这些部位将从表示方案中删除。2)躯干关节:躯干关节包括肩关节、脊椎中心和臀部,它们体现了身体运动位移的主要趋势,是连接身体和四肢的枢纽,因此添加到表示方案中。3)一级关节:一级关节包括肘关节和膝关节,包含大量关于四肢动作的信息。当身体旋转和弯曲时,它在视觉上相对躯干关节有更重要的作用,添加到表示方案中。4)二级连接:二级连接部位包括手腕和脚踝。手腕和踝关节比肘关节和膝盖点延伸得更长,给人留下更加明显的视觉印象,添加到表示方案中。5)三级连接:三级点包含右手、右臀、右脚、左手、左臀和左脚。手和脚是手腕和脚踝的延伸,没有明显的视觉印象,因此它们不在表示方案中。综上所述,表示方案包括12种关节,数据集合减少,但保留了起关键作用的信息。

2.2 OpenPose算法实现

OpenPose是自下而上识别人体的算法,即先找特征部位,再组合人体。它输入三原色(RGB)图像,输出图像中每个人解剖关键点的2D位置坐标,可以识别人体的关键点。此算法通过两个卷积神经网络(convolutional neural network,CNN)进行连接,预测每点的关键点的置信度S和亲和度向量L,如图5所示。两个主要步骤如下:

1)输出置信图:原图被第一个CNN处理后生成置信图图集,CNN利用卷积核对从原始图像中取出的N×N的矩阵窗口进行卷积运算,每个置信图包含一种图像特征。第一个CNN输出的置信图和原始图一起传入到下一个网络进行计算,其中置信度表示实际值落在一个区间的概率。循环这一过程直到结果收敛为止,即输出的置信图都落在同一区间的概率较大。每个置信图还包含每个特征点的置信度,置信度在贝叶斯统计中的对应概念是可信区间即估计值落在的区间。

图5 关键点的置信图

2)输出骨架图:如图6所示。其步骤里同样包括两个CNN,这两个CNN连着第一个卷积网络输出的置信图并重复第一步的步骤。新获得的置信图根据概率的大小将计算好的两个关键点进行连接,再根据关节部位和点的地方计算每个区域的法向向量实现关键点的聚集整合。

最后生成一个法向向量图,通过贪心推理算法(每一步都选择当前状态下的最好选择)在法向向量图中构造出一条连接下一点的连线。由各个点的置信度来推测哪两点是一条线上概率最大的两点,反复使用最小生成树Prim算法,保持一个有n点图连通最少的边。随着迭代次数的增加,可得到全部连线,并且区分左右,即人的骨架图,完成了骨架的组装。如果某个特征点在过程中缺失,则不计算该点的置信度且不连接放置它们所在的骨骼线。

总之,该系统通过两分支多阶段CNN对图像进行处理,其中第一分支是每个阶段预测置信图,第二分支是每个阶段预测部分亲和域。前馈网络推测出一组人体部位的2D置信图和一组反映局部关系度的2D向量场,对关节之间的关联程度进行编码。最后,通过推测解析置信度映射亲和域,OpenPose输出图像中所有人的二维关键点。

图6 法向向量图中的连线

最后本文以 JSON 格式获取了包含人体位置和检测置信度的12个关节坐标,这些数据能够以完整和独特的方式表示每个姿势。本文直接采用OpenPose使用小型数据集,可降低计算复杂性。

3 动作对比

由于视频帧中关节位置不连续是影响结果的主要因素,系统将对比标准定义为某些帧之间的关节骨骼之间的角度。关节骨骼之间的角度可以清楚地反映一个人整体的位置和移动方向,并且人的体型、身高、肤色、年龄等差别都不会影响计算机判断的结果。系统设定的骨骼点包括头(包含眼鼻耳,但不分配权重)、脊柱中心、右手、左手等。

图7 关节分组示意

根据视觉效果如图7 ,对所有关节进行分组,分组为:1)主体躯干:0,1,2,5,8,11。2)四肢:2,3,4,8,9,10(左);5,6,7,11,12,13(右)。

关节与关节之间的距离可用式(1)表示

(1)

式中dx,y,z为两关节之间的距离,(xi,xj),(yi,yj),(zi,zj)为关键点坐标,cm。由于OpenPose将图像中每个人的关节点生成2D位置作为输出,将式(1)修改为式(2),(xi,xj),(yi,yj)为二维像素坐标系上的关键点坐标,cm

(2)

根据此公式计算出一组内的两个关节之间的距离,再计算出角度。角度计算如图8。

图8 角度计算示意

图中d1,d2是一个组内相邻点的距离,对于主体躯干还需要计算它们与竖直方向的偏移角φ

(3)

(4)

式中θ为一组中任一关节点与编号相邻的两个关节点连线间的夹角,d1,d2,d3分别为这三个关节点间的距离,cm;φ为主干与垂线的偏移角,(°)。使用式(5)可以计算某个实际动作与标准动作之间的角度偏差百分比P

(5)

式中θN为实际角度,θstandrd为标准角度,(°)。本系统根据不同身体关节的视觉效应分配不同的权重给每个身体关节,选取头、躯干关节,臀部中心、右手腕等为主要的关节。计算角度偏差百分比时默认这些骨骼角度的权重相同。式(6)可以算出Ptotal总体人体的动作拟合百分比

(6)

式中n为某一指定健身动作中的骨骼角度的个数。规定当偏差百分比大于30 %时,用文字提示给出偏差较大的部位。最后测试结果如表1所示,能与人眼判断基本吻合。

表1 测试结果

该系统实验环境为戴尔Inspiron 15—7560笔记本电脑,当某个偏差大于规定值时,界面将显示此偏差计算公式中的关键点编号。交互性表现在:如果电脑判断结果与实验者的判断不吻合,可以调整两个参数—最大偏差比和不同关节的权重来调试系统以达到理想的结果。最终系统根据提示调整实际中具体关键点的动作,使之更加符合标准动作,达到正确健身提高身体素质的目的。经过测试证明该系统安装简单设备少,交互性较强。

系统也可以给不同的骨骼分配不同的权重,比如,在太极拳等下半身比较平稳的运动中,可以调整上半身的权重值为下半身的2倍。此时公式调整为式(7)和式(8)

(7)

(8)

式中Pupper,Plower分别为上、下半身的偏差比,%。

4 结 论

基于OpenPose的单目图像动作识别对比指导系统可以通过调整最大偏差比和不同关节的权重来调试系统,稳定性好。系统在现有的方法和技术基础上进行分析研究,提出了一个二维人体基于OpenPose的单目图像动作识别对比指导系统。实验结果表明:系统判断结果与人眼识别相吻合,安装简单设备较少、交互性较强、设备成本低、数据较少并且对噪声干扰有较强的鲁棒性。

猜你喜欢
置信置信度关键点
聚焦金属关键点
硼铝复合材料硼含量置信度临界安全分析研究
急诊住院医师置信职业行为指标构建及应用初探
基于置信职业行为的儿科住院医师形成性评价体系的构建探索
肉兔育肥抓好七个关键点
基于模糊深度置信网络的陶瓷梭式窑PID优化控制
正负关联规则两级置信度阈值设置方法
基于CUDA和深度置信网络的手写字符识别
置信度条件下轴承寿命的可靠度分析
医联体要把握三个关键点