1.一种基于openpose的人体姿态识别方法,其特征在于:由openpose数据获取、数据预处理、特征值构造、深度网络训练及动作判定、opencv绘图共五个模块组成人体姿态识别系统,该系统的识别方法包括如下步骤:步骤一:通过openpose数据获取模块,从openpose提供的接口WrapperPython获取人在执行目标动作下的人体骨架数据帧序列:所述openpose是指卡耐基梅隆大学开发的能够获取人体骨架各个关节点的空间信息和位置信息的开源系统,所述人体骨架数据是指该项目所提供的人体关节点数据;
步骤二:通过数据预处理模块,从骨架数据中筛选出用于表征动作的主要关键点数据:所述表征动作的主要关键点数据是指对动作识别起关键作用的关节点数据;
步骤三:通过特征值构造模块,从筛选出的骨架关节点数据中提取、计算动作特征值并构造动作的特征向量序列:所述动作特征包括关节点位置、角度;所述特征向量序列是指由特征值组成的特征向量并构成的序列;
步骤四:对特征向量序列进行预处理:所述的预处理是指对特征向量中关节点的坐标做归一化处理;
步骤五:通过深度网络训练及动作判定模块,将动作样本集的特征向量序列保存下来作为标准动作样本模板库,用于标准度的计算;
步骤六:实时采集动作特征序列,给到预先训练好的神经网络:所述预先训练好的神经网络,是基于keras搭建的七层网络结构,其中三层relu激活层,三层BatchNormalization层,最后一层softmax输出层;
步骤七:从网络获取预测结果,并给出动作标准度:根据步骤六得到预测的结果,并通过步骤五获取的标准动作样本集,通过比较序列相似度的方法计算得出动作的标准度,完成动作的识别,并通过opencv绘图模块给予呈现。
2.根据权利要求1所述的基于openpose的人体姿态识别方法,其特征在于:所述步骤三中的特征提取是指从骨骼数据中提取位置P、关节间角度θ,特征向量序列是指由每帧骨架数据计算出的特征向量组成的特征向量序列R,则R表达式为:R={R1,R2,…,Rn,…,RN}其中,N是视频帧的数量,Rn是第n帧骨架数据的特征向量,Rn表达式为:其中, 为特征向量的第i个特征值,I是特征向量的维数。
3.根据权利要求1所述的基于openpose的人体姿态识别方法,其特征在于:所述步骤四所述的归一化处理是指选取一个关节点的位置为中心原点,其位置坐标为:C=(CX,CY)
则第j个关节点的空间坐标值为:
其中,j∈{0,1,…,m‑1},m为关节点个数。
4.根据权利要求1所述的基于openpose的人体姿态识别方法,其特征在于:所述步骤五g
中标准动作样本模板库是由预先获取保存的最优动作样本组成,设M 为标准动作样本模板库中动作g的特征向量,表达式为:g
其中,I为特征向量的维数,则标准动作样本模板库表达式为:M ,g∈{0,1,…,K‑1},K为动作数量, 为第i个动作的标准动作特征向量。
5.根据权利要求1所述的基于openpose的人体姿态识别方法,其特征在于:所述步骤六中用神经网络进行结果预测,该网络是预先通过自行采集的数据训练生成,输出层为softmax,softmax用于多分类过程中,将多个神经元的输出映射到(0,1)区间内,表达式为:其中,V为网络输出的各类动作结果值数组,Vg为动作g的值,g∈{0,1,…,K‑1},K为动作数量,则Sg为第g个动作的概率值大小,e为自然对数的底。
6.根据权利要求1所述的基于openpose的人体姿态识别方法,其特征在于:所述步骤七g
中利用余弦相似度计算动作的标准度,设获取特征向量R,标准动作样本模板库为M ,则有如下公式:
g
其中,Ri为向量R中的第i个值, 为向量M中的第i个值,I是特征向量的维数。