基于便携式传感器数据的GMM-HMM人体姿态识别算法①

2020-11-24 05:46永,洪
计算机系统应用 2020年11期
关键词:姿态传感器阶段

马 永,洪 榛

1(浙江理工大学 机械与自动控制学院,杭州 310018)

2(浙江工业大学 信息工程学院,杭州 310023)

人口老龄化是世界性问题.预计到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 条,获得有效数据35 478 条.

本文中人体姿态数据采集实验中在人体的以下部位(小腿、大腿)绑定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 个要素组成:每个阶段初始状态概率矩阵 π、状态转移概率矩阵A和观测概率矩阵B.类似于经典的隐型马尔可夫问题,设人体姿态的隐型马尔可夫模型为 λ,则:

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

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

图5 1OHMM 姿态识别模型

图6 2OHMM 姿态识别模型

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

3 实验分析

3.1 实验数据集

本文实验共采集有效数据35 478 条.对于实验数据窗口的设定本文对比了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 种姿态的高精度识别,在本数据集上与其他算法进行了对比,证明了本文算法的在算法耗时较少的情况下,识别性能较好.基于便携式传感器的人体姿态识别能够在保护使用者隐私的前提下进行工作,未来会成为研究热点.该领域的发展也将推动国家的物联网工程建设.

猜你喜欢
姿态传感器阶段
制作二氧化碳传感器
名师成长的四个阶段
舰船测风传感器安装位置数值仿真
氧传感器的基本检测
假期之后,你想成为谁?
攀爬的姿态
在学前教育阶段,提前抢跑,只能跑得快一时,却跑不快一生。
跟踪导练(三)2
不同的阶段 不同的方法
另一种姿态