计算机系统应用  2020, Vol. 29 Issue (11): 204-209   PDF    
基于便携式传感器数据的GMM-HMM人体姿态识别算法
马永1, 洪榛2     
1. 浙江理工大学 机械与自动控制学院, 杭州 310018;
2. 浙江工业大学 信息工程学院, 杭州 310023
摘要:人体姿态识别在人机交互, 游戏以及医疗健康等领域有着深远意义, 基于便携式传感器进行多种人体姿态高精度的稳定识别是该领域的研究难点. 本文采集了8种姿态的高频传感器数据, 提取原始数据的窗口时域特征组成数据集. 根据人体姿态的传感器数据特点将人体姿态划分为4个阶段, 使用高斯混合模型(Gaussian Mixture Model, GMM)拟合人体姿态的观测序列, 结合隐马尔可夫模型(Hidden Markov Model, HMM), 利用GMM-HMM算法进行姿态识别. 本文对比了不同窗口值下的一阶隐马尔可夫模型(1 Order Hidden Markov Model, 1OHMM)和二阶隐马尔可夫模型(2 Order Hidden Markov Model, 2OHMM)的效果, 当窗口值为8时, 2OHMM的性能最优, 整体召回率达到了95.30%, 平均准确率达到了95.23%. 与其它研究相比, 本文算法能识别的姿态种类较多, 算法识别性能较佳且算法耗时较短.
关键词: 便携式传感器数据    GMM    1OHMM    2OHMM    姿态识别    
GMM-HMM Human Body Posture Recognition Based on Portable Sensor Data
MA Yong1, HONG Zhen2     
1. Faculty of Mechanical Engineering and Automation, Zhejiang Sci-Tech University, Hangzhou 310018, China;
2. College of Information Engineering, Zhejiang University of Technology, Hangzhou 310023, China
Foundation item: Technology Application Plan for Public Welfare of Zhejiang Province (2017C33153)
Abstract: Human body posture recognition has far-reaching significance in the fields of human-computer interaction, games, and medical health. It is a difficult research point in this field to perform high-precision and stable recognition of various human body posture based on portable sensors. This study collects high-frequency sensor data of eight postures, and the data set is sorted out by extracting the window time-domain features of the original data. According to the characteristics of the sensor data, the human posture is divided into four stages, and the Gaussian Mixture Model (GMM) is used to fit the observation sequence of the human posture, combined with the Hidden Markov Model (HMM), then, use GMM-HMM algorithm for gesture recognition. This study compares the effects of the First Order Hidden Markov Model (1OHMM) and the Second Order Hidden Markov Model (2OHMM) under different window values. When the window value is 8, the performance of 2OHMM is optimal, and the overall recall rate reaches 95.30%, the average accuracy rate reaches 95.23%. Compared with other studies, the algorithm in this work can recognize more types of gestures, has better recognition performance, and takes less time.
Key words: portable sensor data     GMM     1OHMM     2OHMM     posture recognition    

人口老龄化是世界性问题. 预计到2050年, 我国60岁以上的老年人口将达4亿[1-4], 相当于英国、法国、德国、意大利和日本人口的总和. 因此, 老人生活安全防护问题受到了社会各界的重视, 老人日常生活护理设备也得到快速发展. 同时, 在现实生活中, 老人们也常常因为一些其它的危险动作对身心健康造成损害. 人们在享受数字生活, 高效生活, 智能生活的同时, 安全生活成为新的需求[5-7]. 国家在“十三五”[8,9]中明确指出大力发展物联网技术, 将物联网技术与工业生产以及人民生活结合起来. 人体姿态势识别技术将在人民的未来生活中扮演重要的角色.

为了精确识别人体姿态以及有效减少危险行为造成的危害, 国内外学者进行了大量的研究工作. Ronao等[10]提出了一种利用智能手机采集的加速度计和陀螺仪传感器数据进行人体姿态识别的两阶段连续隐马尔可夫模型(CHMM)方法. 该方法由粗分类的一级CHMMs和精细分类的二级CHMMs组成, 利用随机森林(RF)确定粗分类和细分类的最优特征子集. 该方法中一级CHMMs用于分离静止的人体姿态和移动的人体姿态, 二级CHMMs用于对数据序列进行分类. 该算法结合多级分类的思想进行姿态识别, 算法复杂度较高. San-Segundo等[11]提出了一种基于隐马尔可夫模型的人类活动识别与分割系统. 该系统利用智能手机的惯性信号来识别和分割六种不同的人体活动: 走路、上楼、下楼、坐下、站立和躺下. 实验使用基于手机信号收集的公共人体行为数据集UCI; 在UCI数据集中取得了当时的最佳效果, 分割错误率为2.1%. 该算法基于公开数据集进行建模, 算法的可移植性差且分类种类少.

在国内, 雷玉超等[12]采用粘贴在羽毛球拍柄的单个加速度传感器进行羽球动作的数据采集, 使用滑动窗口进行击球信号提取, 提出了动作分帧结合K-means等无监督式学习算法进行聚类分析和矢量量化. 通过建立HMM, 改进训练算法对羽球动作进行高效识别. 识别率可达94%. 该算法结合无监督聚类的思想对羽毛球动作进行多分类, 算法稳定性较差. 温加睿等[13]提出了一种利用自学习特征及姿态组合规则进行有效动作识别的新方法. 使用稀疏自编码(SAE)网络提取轮廓图像的结构特征并构造姿态码本. 在识别阶段, 使用HMM训练不同动作类别的模型. 设计了一种关键帧提取算法用于在训练HMM前降低长序列的冗余度. 通过仿真实验验证了该方法的有效性. 结合图片信号的算法建模在一定程度上暴露了使用者的隐私.

针对现有的研究工作存在算法的移植性差, 识别种类较少, 且容易暴露使用者的隐私、算法耗时较长等问题. 本文利用BWT901传感器对人体的八种姿态进行数据采集, 构建高质量的数据集, 在保护使用者隐私的前提下, 使用GMM-HMM算法对以下八种姿态进行建: 前向跌倒(Fall front, Ff), 后向跌倒(Fall backward, Fb), 侧向跌倒(Fall sideways, Fs), 坐下 (Sit, Si), 蹲下(Squat, Sq), 上楼梯(Up the staris, Us), 下楼梯(Down the staris, Ds), 走路(Walk, Wk).

1 数据采集及数据预处理 1.1 人体姿态数据采集

本文使用高精度的、高采样频率的BWT901传感器进行数据采集. 其主要结构如图1所示, 该传感器测量精度为0.01°, 测量数据为三轴加速度, 三轴角度, 三轴角速度.

图 1 BWT901传感器结构

图1所示, 模块的轴向在图中下角标示出来, 向右为X轴, 向上为Y轴, 垂直与直面向外为Z轴. 旋转的方向按照右手法则定义, 即右手大拇指向轴向, 四指弯曲的方向即为绕该轴旋转的方向.

本章实验人员为招募的志愿者, 其中男性志愿者117名, 女性志愿者75名. 实验过程每名志愿者根据动作要求, 分别进行多组动作. 每个实验者结合自己的行为习惯重复上述的8种行为10次, 累计每个动作收集有效数据1987组. 每一组数据记录的是一个独立的动作发生时段内的传感器变化的原始值. 实验数据经过人工预处理后, 排除因损失等原因造成的无效数据1356条, 获得有效数据35478条.

本文中人体姿态数据采集实验中在人体的以下部位(小腿、大腿)绑定BWT901传感器. 如图2所示, 为实验人员走路时人体小腿部位的传感器数据的曲线变化. 从数据曲线可以看出, 人体走路姿态在的传感器变化曲线存在明显的周期. 从传感器的数据波形也可以看出每种动作的传感器信号确实存在一定的周期性, 但是每个周期信号又有差异.

图 2 小腿部位X轴、Y轴、Z轴加速度传感器曲线

1.2 人体姿态阶段划分

图3所示, 走路过程小腿部位X轴的加速度特征曲线周期性明显, 每个周期可以划分为4个阶段. 对于人体的其它姿态的数据同样如此, 侧向跌倒动作的其X轴加速度阶段之间非常明显, 但Z轴和Y轴加速度却没有随着动作本身有一定周期性变化, 这也符合人体几种姿态的动作特点.

图 3 姿态阶段划分(X轴)

1.3 数据预处理

人体各种姿态是一个连续的过程, 整个动作对应的传感器数据为一段连续的传感器数据. 滑动窗口提取特征的思想能够有效的提取姿态序列的特征. 不同姿态的传感器数据序列的周期也不尽相同, 前文中基于传感器的曲线变化将人体姿态初步分为4个不等长的阶段, 但每个阶段的序列长度不等, 且无法用一定规则进行计算, 如图4所示, 滑动窗口提取特征非常适合本研究的方向, 而且滑动窗口的跨度需要设定合理的数值. 滑动窗口的跨度、相邻窗口的位移幅度、以及窗口的重叠率等必须基于实际实验数据和实际调参效果得到一个适用于本数据集的窗口值.

图 4 行走状态小腿X轴加速度及大腿Y轴加速度滑窗处理

原始数据为连续的人体姿态九轴传感器数据. 直接原始数据用于隐马尔可夫模型建模有可能导致模型过拟合, 很难建立泛化能力强, 鲁棒性强的隐马尔可夫模型. 原始数据具有九个维度, 本文将利用滑动窗口的方法在九个维度上提取人体姿态的特征, 用于HMM建模.

对原始姿态传感器特征序列可以从时域特征、频域特征等角度进行特征提取. 本文使用隐马尔可夫模型作为人体姿态识别的基础模型, 这要求本文提取的特征需要具备马尔可夫性. 人体姿态传感器数据序列是一组多维的随着时间变化的物理信号数据, 数据序列本身反用了人体姿态进行过程身体各个维度的变量的变化过程. 为了能够使人体动作序列的特征保持马尔可夫性, 本节将提取基于原始数据集的特定窗口的以下时域特征: 窗数据均值、窗口数据相关系数、窗口过均值点数、窗口数据标准差、窗口数据最值.

2 GMM-HMM姿态识别模型

本文将8种人体姿态划分为4个阶段, 每个阶段的观测序列由多维传感器数据的窗口特征得到. 使用不同的密度函数将观测序列和状态序列进行拟合, 得到两者推理关系. 人体姿态HMM模型由以下3个要素组成: 每个阶段初始状态概率矩阵 $\pi $ 、状态转移概率矩阵A和观测概率矩阵B. 类似于经典的隐型马尔可夫问题, 设人体姿态的隐型马尔可夫模型为 $\lambda $ , 则:

$\lambda = \left( {\pi ,A,B} \right)$ (1)

在人体姿态模型构造中, 需要解决3个基本问题[14-16]: 状态概率计算问题, 模型学习问题, 模型解码问题.

假设当前状态一定时, 当前状态发出的概率只与当前时刻有关, 与之前和之后的状态均没有关系且下一步状态转移概率除了与当前状态, 与以前所有的状态和发出观测值无关. 则如图5所示, 人体行为的4个阶段可以用1OHMM建模. 假设当前状态与之前状态受到前两个状态的影响, 如图6所示, 则可以用2OHMM建模.

图 5 1OHMM姿态识别模型

图 6 2OHMM姿态识别模型

对于隐马尔可夫人体姿态识别. HMM的结构可以确定为左右历经型. 对于四阶段人体姿态模型, 其观测值为连续的加速度数据, 故人体姿态模型是连续隐马尔可夫模型. 对于人体姿态的4个阶段, 每个阶段之间的加速度数据差别较大, 无法用一个统一的概率密度函数来描述这4个阶段, 故本文对每个阶段采取不同的高斯混合模型[17]来描述.

3 实验分析 3.1 实验数据集

本文实验共采集有效数据35478条. 对于实验数据窗口的设定本文对比了3种窗口的大小, 窗口大小和窗口重复率是根据人体姿态的不同阶段来确定的. 既要兼顾人体姿态的4个阶段的不同周期长度, 不能完全覆盖最小周期的阶段, 也要保证能够较好的在各个阶段之间跨度, 以更好的提取人体姿态的阶段的特征信息. 具体实验中, 本文设置采样频率为20 Hz, 窗口重复率为40%, 训练窗口数为900, 则窗口大小分别为6, 8, 10时, 对应的测试窗口数分别为814, 760, 514.

3.2 性能分析

表1, 表2为窗口为6时8种人体姿态的性能指标数据表. 根据实验结果, 表1的平均准确率为90.30%, 平均召回率为89.34%. 表2的二阶模型平均准确率最高, 达到了91.53%, 平均召回率为91.96%. 在测试集中, 坐下(Si)在一阶模型中召回率最高, 达到了93.23%, 同时精确率达到了91.76%. 二阶模型各方面性能最高, 平均准确率达到了91.53%, 所有姿态的召回率整体表现相比于一阶模型较高.

表 1 窗口为6时1OHMM性能

表 2 窗口为6时2OHMM性能

表3, 表4所示, 窗口为8时8种人体姿态的性能指标中可以看出, 2OHMM整体的性能优于其它模型. 当窗口大小为8时, 1OHMM的平均准确率为94.12%, 平均召回率为94.25%. 二阶隐马尔可夫模型的平均准确率最高, 达到了95.23%, 平均召回率为95.30%. 一阶模型在测试集中侧向跌倒(Fs)的召回率最高, 达到了96.77%. 二阶模型在测试集中走路(Wk)的召回率最高, 达到了95.83%.

表 3 窗口为8时1OHMM性能

表 4 窗口为8时2OHMM性能

表5, 表6为窗口为10时8种人体姿态的性能指标数据表. 1OHMM的平均准确率为93.06%, 平均召回率为92.07%. 二阶模型的平均准确率最高, 达到了94.31%, 平均召回率为93.38%. 向后跌倒(Fb)在一阶模型中召回率最高, 下蹲(Sq)召回率最低. 二阶模型整体的召回率较高, 其中下蹲(Sq)的召回率最高, 达到了94.36%.

表 5 窗口为10时1OHMM性能

表 6 窗口为10时2OHMM性能

本文试验过窗口值选为12时的模型性能, 实验结果相较于窗口值为10时有所下降. 因此, 通过以上实验对比可以得出以下结论: 对于不同姿态加速度数据, 不同的窗口大小下, 2OHMM识别效果较好, 窗口大小为8是最优参数值. 如图7所示, 一阶模型中大部分被误判坐下的样本被识别为后向跌倒; 上楼梯中大部分被误判的样本被识别为蹲下; 下楼梯中大部分被误判的样本被识别为坐下. 如图8所示, 二阶模型中大部分被误判的下蹲样本被识别为坐下; 上楼梯中大部分被误判的样本被识别为前向跌倒; 下楼梯中被误判的样本均被识别为侧向跌倒.

图9所示, GMM-HMM模型在数据集中的召回率和准确率均高于其他算法. 其中KNN算法选用的K值为3时, 效果较好. SVM采用高斯核函数表现最佳. 在测试时间上, GMM-HMM算法性能也相较于其他大多数算法耗时较少.

图 7 窗口数为8时1OHMM模型分类结果混淆矩阵

图 8 窗口数为8时2OHMM模型分类结果混淆矩阵

图 9 多种算法性能对比

4 结论与展望

本文采集了人体姿态传感器序列, 将人体姿态的常规动作划分为4个阶段, 使用滑动窗口的方法提取人体姿态序列的时域特征. 探索高阶隐马尔可夫模型对人体姿态各个阶段的状态与前后状态进行关联. 使用高斯混合模型拟合观测序列的状态分布. 对模型的特征的敏感参数窗口大小, 进行了不同长度的对比试验. 最终实现了对人体的8种姿态的高精度识别, 在本数据集上与其他算法进行了对比, 证明了本文算法的在算法耗时较少的情况下, 识别性能较好. 基于便携式传感器的人体姿态识别能够在保护使用者隐私的前提下进行工作, 未来会成为研究热点. 该领域的发展也将推动国家的物联网工程建设.

参考文献
[1]
胡秀英, 刘祚燕, 龙纳. 老年护理学的新理念及发展趋势. 中华现代护理杂志, 2011, 17(25): 2977-2979. DOI:10.3760/cma.j.issn.1674-2907.2011.25.001
[2]
李小虎. 解读《信息通信行业发展规划(2016–2020年)》. 通信管理与技术, 2017(2): 14-16. DOI:10.3969/j.issn.1672-6200.2017.02.012
[3]
张国扬, 朱树先, 王康, 等. 基于ZigBee的嵌入式智能家居管理系统的设计和实现. 电子设计工程, 2016, 24(2): 154-156, 160. DOI:10.3969/j.issn.1674-6236.2016.02.047
[4]
余伟婷. 《2018–2019中国物联网发展年度报告》发布. 物联网技术, 2019(9): 3.
[5]
林洪, 陈青康, 陈凯欣, 等. 从十年统计公报变化看中国经济社会发展. 中国统计, 2019(8): 7-8.
[6]
史晓红, 杨泽, 宋岳涛, 等. 中国老年人跌倒风险评估专家共识(草案). 中国老年保健医学, 2019, 17(4): 47-48, 50. DOI:10.3969/j.issn.1672-2671.2019.04.013
[7]
蔡兴泉, 涂宇欣, 余雨婕. 基于少量关键序列帧的人体姿态识别方法. 图学学报, 2019, 40(3): 532-538.
[8]
孙子文, 孙晓雯. 基于加速度传感器的人体跌倒检测方法. 计算机工程与科学, 2017, 39(2): 330-335. DOI:10.3969/j.issn.1007-130X.2017.02.017
[9]
秦晓华, 段侪杰, 袁克虹, 等. 一种老年人移动健康监护系统的研究. 中国医学物理学杂志, 2011, 28(1): 2407-2410. DOI:10.3969/j.issn.1005-202X.2011.01.021
[10]
Ronao CA, Cho SB. Human activity recognition using smartphone sensors with two-stage continuous hidden Markov models. Proceedings of the 2014 10th International Conference on Natural Computation. Xiamen, China. 2014. 681–686.
[11]
San-Segundo R, Blunck H, Moreno-Pimentel J, et al. Robust human activity recognition using smartwatches and smartphones. Engineering Applications of Artificial Intelligence, 2018, 72: 190-202. DOI:10.1016/j.engappai.2018.04.002
[12]
雷玉超, 业茜, 吴怡菲, 等. 基于HMM的羽球动作实时识别. 计算机与数字工程, 2019, 47(9): 2339-2343. DOI:10.3969/j.issn.1672-9722.2019.09.046
[13]
温加睿, 刘丽娜, 芮玲, 等. 基于自学习特征与HMM的人体动作识别(英文). 系统仿真学报, 2015, 27(8): 1782-1789, 1795.
[14]
Daher M, El Badaoui El Najjar M, Diab A, et al. Automatic fall detection system using sensing floors. International Journal of Computing and Information Sciences, 2016, 12(1): 75-80. DOI:10.21700/ijcis.2016.110
[15]
San-Segundo R, Lorenzo-Trueba J, Martínez-González B, et al. Segmenting human activities based on HMMs using smartphone inertial sensors. Pervasive and Mobile Computing, 2016, 30: 84-96. DOI:10.1016/j.pmcj.2016.01.004
[16]
杨世强, 罗晓宇, 李小莉, 等. 基于DBN-HMM的人体动作识别. 计算机工程与应用, 2019, 55(15): 169-176.
[17]
王怡然. 基于高斯背景模型的运动目标检测与跟踪[硕士学位论文]. 西安: 西安电子科技大学, 2012.