本文在人体动作描述采用关键骨骼点的深度三维坐标,通过各个关节点的位置坐标关系来描述人体动作。进一步为每一类人体动作训练一个深度信息隐马尔科夫模型,从一定程度上解决了人体动作部分遮挡问题,对训练样本,参照得到的数据库完成编码,通过隐马尔科夫模型训练得到相应参数模型,通过训练得到的模型进行验证和测试,实验数据结果表明该方法具有精确率高的优点。 In this paper, the depth three-dimensional coordinates of key bone points are used in the description of human action, and the human action is described through the position coordinate relationship of each joint point. Further, a depth information hidden Markov model is trained for each kind of human action, which solves the problem of partial occlusion of human action to a certain extent. The training samples are encoded with reference to the obtained database, the corresponding parameter model is obtained through hidden Markov model training, and the model obtained through training is verified and tested. The experimental results show that this method has the advantage of high accuracy.
本文在人体动作描述采用关键骨骼点的深度三维坐标,通过各个关节点的位置坐标关系来描述人体动作。进一步为每一类人体动作训练一个深度信息隐马尔科夫模型,从一定程度上解决了人体动作部分遮挡问题,对训练样本,参照得到的数据库完成编码,通过隐马尔科夫模型训练得到相应参数模型,通过训练得到的模型进行验证和测试,实验数据结果表明该方法具有精确率高的优点。
动作识别,隐马尔科夫模型,骨骼
Longfei Sui1, Huanhuan Xue2, Zhengkui Weng1
1Jiaxing Vocational and Technical College, Jiaxing Zhejiang
2Jiaxing Nanhu University, Jiaxing Zhejiang
Received: Jan. 20th, 2022; accepted: Feb. 16th, 2022; published: Feb. 23rd, 2022
In this paper, the depth three-dimensional coordinates of key bone points are used in the description of human action, and the human action is described through the position coordinate relationship of each joint point. Further, a depth information hidden Markov model is trained for each kind of human action, which solves the problem of partial occlusion of human action to a certain extent. The training samples are encoded with reference to the obtained database, the corresponding parameter model is obtained through hidden Markov model training, and the model obtained through training is verified and tested. The experimental results show that this method has the advantage of high accuracy.
Keywords:Motion Recognition, Hidden Markov Model, Bones
Copyright © 2022 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
人体动作识别一直是计算机视觉、人工智能和模式识别等热门研究方向 [
人体在完成某一些动作时,身体的各个关节空间坐标位置会发生一定的变化。本文使用Kinect深度相机获取人体骨骼关节点三维坐标作为实验特征变量,利用关节点在不同动作位置变化来提取有用的动作特征,以各关节点三维坐标的平均值作为坐标原点,获取骨骼关节点在三维坐标系中的变化,从而得到骨骼关节点空间位置特征。如图1所示本文获取20个人体骨骼。
首先获取坐标原点 M 0 = ( X 0 , Y 0 , Z 0 ) ,人体20个骨骼关节点的三维坐标的平均值即是坐标原点 X 0 = ( X 1 + X 2 + ⋯ + X n ) / 20 , Y 0 = ( Y 1 + Y 2 + ⋯ + Y n ) / 20 , Z 0 = ( Z 1 + Z 2 + ⋯ + Z n ) / 20 , M = M i − M 0 ( i = 1 , 2 , ⋯ , 20 ) ,Mi代表第i个骨骼点的三维坐标,M0代表的是坐标原点。20个关节点在X、Y、Z轴的变化量为 M X t = [ Δ X 1 t , Δ X 2 t , ⋯ , Δ X 20 t ] , M Y t = [ Δ Y 1 t , Δ Y 2 t , ⋯ , Δ Y 20 t ] , M Z t = [ Δ Z 1 t , Δ Z 2 t , ⋯ , Δ Z 20 t ] 。 M t = [ M x t , M y t , M z t ] 表示第t贞的特征向量。如果人体动作包含N贞 M = [ M 1 , M 2 , M 3 , ⋯ , M N ] ,则每一帧得到的骨骼关节点向量的维度是20 × 60。为了减少人体高矮胖瘦对实验的影响,对特征向量进归一化,同时除以头部 M 1 到坐标原点 M 0 的距离 M → = M 1 − M 0 。
图1. 人体骨骼三维图
根据形成的骨架模型库,从视频中获得骨架三维信息,在实验中将训练视频提取出骨架之后,根据骨架信息库对其进行分类,从而获得骨架相应编号,这样就将人体动作的序列变成了可以使用隐马尔科夫模型性对应的观测值序列表示。
每个动作的隐马尔科夫模型由5各参数确定:
1) S = { S 1 , S 2 , ⋯ , S i , ⋯ , S n } 代表模型的隐状态数,可以理解为动作的特征的动作数。
2) O = { O 1 , O 2 , ⋯ , O i , ⋯ , O m } 观测值,代表骨架信息的种类数。
3) A = | S j i | n × n 是隐马尔可夫模型各隐状态之间的概率转换矩阵。
4) B = | S i O j | n × m 是隐马尔可夫模型隐状态到观测状态之间的概率转换矩阵。
5) π = { π 1 , π 2 , ⋯ , π i , ⋯ , π n } 为隐状态的初始概率矩阵。
从骨架信息库中得到的观测序列的编号,经过训练更新HMM与样本序列对应的初始参数,这就是HMM对这个动作的基本描述,待识别的动作序列,经过得到的动作编号序列,可通过个续联的模型,就是更新之后的HMM新参数,来完成每个模型的匹配值计算。
HMM模型的训练方法通过EM算法,重复迭代完成模型的训练。主要包括以下4个步骤。
1) 初始化参数:选定合适的隐状态个数 S = { S 1 , S 2 , ⋯ , S i , ⋯ , S n } ,根据骨架信息库确定观测序列 O = { O 1 , O 2 , ⋯ , O i , ⋯ , O m } ,随机生成 λ = ( A , B , π ) 。
2) 确定迭代次数,通常迭代次数可取10次左右。
3) 当前模型相关概率的计算:按照状态 i t 的观测概率分布 b i t ( k ) 生成 o t ,按照状态 i t 的状态转移概率分布 { a i t i t + 1 } 生成状态 i t + 1 , i t + 1 = 1 , 2 , 3 , ⋯ , 20 。
4) 初始化概率分布矩阵: π = { π 1 , π 2 , ⋯ , π i , ⋯ , π n } 。
HMM的评估问题利用前向或者后向概率计算方法来解决,前向概率计算由前向算法公式递归关系计算,后向概率计算由后向算法公式递归关系计算。
前向算法:
1) 初始值:
a 1 ( i ) = π i b i ( o 1 )
2) 递归对 t = 1 , 2 , ⋯ , T − 1
a t + 1 ( i ) = [ ∑ j = 1 N a t ( j ) a j i ] b i ( o t + 1 ) , i = 1 , 2 , ⋯ , N
3) 终止
P ( O | λ ) = ∑ i = 1 N a T ( i )
隐马尔科夫模型的参数设置:隐状态数S = 20,可观测值O = 30,状态转移矩阵 A = | S j i | 20 × 20 ,观测矩阵 B = | S i O j | 20 × 30 ,初始概率 π i = 1 20 , i = 1 , 2 , ⋯ , 20 。
实验对5种常见动作走路、跑步、坐下、站立、下蹲进行测试。实验中,选取30个身高和体型上有差异的的测试人员,每个人重复做动作30次,每组动作具有900个动作样本,共有4500个动作样本。本文对5种动作走路、跑步、坐下、站立、下蹲做实验,实验结果如下表1所示。
输入 | 识别率(%) | 时间(s) | ||||
---|---|---|---|---|---|---|
走路 | 跑步 | 坐下 | 站立 | 下蹲 | ||
走路 | 92.8 | 4.2 | 3.0 | 0 | 0 | 0.31 |
跑步 | 4.3 | 94.8 | 0.9 | 0 | 0 | 0.35 |
坐下 | 3.2 | 0.8 | 95.6 | 0 | 0.4 | 0.36 |
站立 | 0 | 0 | 0 | 100 | 0 | 0.42 |
下蹲 | 0 | 4.8 | 1.6 | 0 | 93.6 | 0.32 |
表1. 本文人体动作识别混淆矩阵
基于传统K-means和DTW算法的人体动作识别结果,如下表2所示。
输入 | 识别率(%) | 时间(s) | ||||
---|---|---|---|---|---|---|
走路 | 跑步 | 坐下 | 站立 | 下蹲 | ||
走路 | 90.8 | 2.0 | 2.0 | 2.3 | 2.9 | 0.53 |
跑步 | 0.8 | 91.8 | 3.6 | 3.5 | 0.3 | 0.61 |
坐下 | 2.5 | 3.2 | 89.6 | 2.2 | 2.4 | 0.59 |
站立 | 2.0 | 1 | 5.2 | 90.6 | 1.2 | 0.66 |
下蹲 | 6.2 | 1.1 | 1.1 | 0 | 91.6 | 0.52 |
表2. 传统K-means的人体动作识别混淆矩阵
通过表1和表2可以看出,本文的人体动作识别算法,对以上5中人体动作识别的准确率有了明显的提高,且识别速度比之前也有明显的加快。
为了提高识别的鲁棒性,对动作人体进行关键帧提取,每个动作用4个关键动作进行表示,对相似动作进行合并,共得到15个关键帧,得到新的隐马尔科夫模型参数值S = 10,O = 15,对Weizman数据库中的走路、跑步、跳跃、站立、坐下进行测试得到的结果如表3所示。
输入 | 识别率(%) | 时间(s) | ||||
---|---|---|---|---|---|---|
走路 | 跑步 | 坐下 | 站立 | 下蹲 | ||
走路 | 93.8 | 4.0 | 2.2 | 0 | 0 | 0.30 |
跑步 | 4.1 | 94.9 | 1.0 | 0 | 0 | 0.34 |
坐下 | 4.2 | 0 | 95.8 | 0 | 0 | 0.32 |
站立 | 0 | 0 | 0 | 100 | 0 | 0.29 |
下蹲 | 3.6 | 0.6 | 0.2 | 0 | 95.6 | 0.38 |
表3. 本文人体动作识别混淆矩阵
在实验过程中,本文的实验与其他两种动作识别方法进行了对比。方法一基于多模态的人体动作识别研究 [
输入 | 识别率(%) | ||||
---|---|---|---|---|---|
走路 | 跑步 | 坐下 | 站立 | 下蹲 | |
走路 | 90.8 | 3.2 | 2.4 | 3.6 | 0 |
跑步 | 3.1 | 89.9 | 2.1 | 0 | 4.9 |
坐下 | 1.2 | 0 | 90.5 | 5.2 | 3.1 |
站立 | 3.4 | 2.2 | 1.0 | 90 | 3.4 |
下蹲 | 3.0 | 2.6 | 3.2 | 0.6 | 90.6 |
表4. 算法比较
(a) 方法一的识别率混淆矩阵
(b) 方法二的识别率混淆矩阵
(c) 本文的识别率混淆矩阵
基于关键骨骼点深度三维坐标和隐马尔科夫模型提出了一种新的人体动作识别算法,对不同用户的5种基本生活动作可达到96%的识别率,是一种可靠的人体动作识别方案,该方法可以用于智能监控识别系统,为公安系统提供人员动作数据,降低犯罪率。
浙江省教育厅,校企合作访问工程师项目,FG2020272,基于多模块融合的人体异常行为智能识别技术研究;浙江省自然科学基金委员会,公益技术研究计划,LGF21F020007,智能视频监控中基于情境感知和多模态的人体异常行为识别技术研究。
隋龙飞,薛欢欢,翁政魁. 基于骨骼三维信息结合隐马尔科夫模型人体动作识别方法Human Motion Recognition Method Based on Bone 3D Information Combined with Hidden Markov Model[J]. 计算机科学与应用, 2022, 12(02): 448-454. https://doi.org/10.12677/CSA.2022.122045
https://doi.org/10.1109/SII.2019.8700415