基于加速度传感器的人体运动状态识别的制作方法
【专利摘要】本发明提供了一种基于加速度传感器的人体运动状态识别方法及系统,分为离线阶段和在线阶段;其中,离线阶段采用K?Means聚类方法构建人体运动状态识别模型,基于现有带标签的数据进行训练研究,提出分类策略;然后在线阶段基于Android手机设计人体运动状态识别实时系统,分别从数据采集、数据处理、运动识别、模型更新、数据展示等5个功能进行设计;最后通过实验证明聚类算法的有效性,实验结果表明,基于聚类方法构建人体运动识别模型是可行的,而且该模型具有实时性好、轻量易调整等优点。
【专利说明】
基于加速度传感器的人体运动状态识别
技术领域
[0001] 本发明属于数据挖掘技术领域,尤其涉及一种数据挖掘中的聚类算法的设计分类 方法。
【背景技术】
[0002] 随着移动互联网技术兴起和无线传感器技术的发展,时刻都在产生传感器数据, 这些数据蕴含着丰富的信息,具有深远的研究意义。计步器的广泛使用就是其中的一个研 究成果。运动识别目前也是其中比较热门的一个方向,通过分析加速度传感器数据,发现人 体运动的固定模型。目前为止,该研究都主要使用传统的分类技术,对聚类方法少有涉及。 由于此方法采取的是采样的过程,事先要知道全部的数据集,因此只适合于静态的时间序 列数据。又由于时间序列具有流动性和不可预测性,数据都是随着时间而产生,且无法预知 数据变化的范围,因此,此方法有很大的局限性。
[0003] 人体运动状态识别研究主要是对人体运动数据进行分析,利用数据挖掘和机器学 习技术挖掘出数据中的固定模式,该模式主要有两个方面的用途:a.运动状态识别,即根据 现有数据判断出某人处于哪一种运动状态;b.身份识别,即可以通过计算模式之间的相似 度可以判断出该运动模式属于哪个人,主要用于刑侦方面。
[0004] 目前,根据研究的数据类型不同可以将运动状态识别研究分成以下3个方向:
[0005] (1)基于声音的运动状态识别:该方法有个明显的缺陷:适用的场景非常有限而且 使用该方法的成本较大。
[0006] (2)基于图像视频的运动状态识别:该方法主要通过分析挖掘摄像头采集的数据 来捕捉人体的运动类别。由于摄像头采集数据很容易受天气、光线、距离、方位等因素的影 响,使用的场景也非常有限,并且由于视频图像非常占用存储空间无法长期投入使用。
[0007] (3)基于可穿戴设备的运动状态识别:该方法主要通过随身携带的穿戴设备中的 传感器采集数据然后分析研究。相对于以上2种方法,该方法有以下几种优势:a、成本低且 携带方便:穿戴设备价格低廉且小巧可以随身佩带;b、抗干扰性强:采集数据过程受外界环 境影响小;c、持续获取数据的能力:随身携带可以保证持续地获取数据。
[0008] 运动状态识别不仅可以很好地帮助人们监测一天的运动状况,而且也智能家居的 一个重要研究领域,它可能带来一种新的人机交互方式,例如体感游戏,从而使人们的生活 更加智能化。所以说,运动状态的识别研究对提高人类的生活质量具有很大的意义。
[0009] 基于这方面的研究国外比国内要早。多年前在国外就有人做实验室通过在人体身 上佩戴传感器来识别监测人体的运动状态,这主要运用于运动员和术后病人的康复上面, 使用领域极窄。在智能家居研究领域,有人提出传感器网络系统,通过在家里安装各类传感 器,数据统一输入到控制平台,然后分析识别出人在家里的具体运动;还有人通过在人体腰 部固定一个加速度传感器,可以非常好地识别出走路、跑步、站立等9种运动类别;还有的研 究中,为了保证数据的采集效率和传输的可靠性,通过USB数据线把加速度传感器和存储设 备连接起来并佩戴在身上,最后尽管能达到94 %的准确度,但是佩戴很不方便,一般用户无 法接受;由于人的日常运动多种多样且很复杂,为了能非常准确地识别出更多的运动模式, 有的研究人员通过做实验在人的腰部、臀部、手腕、大腿、脚踝等5个人体部分放置加速度传 感器,最后实验结果能准确地识别出20多种运动类别,但是由于佩戴的传感器太多,用户体 验极差,很难得到推广,不过这也说明了多个传感器数据能提高识别准确率。
[0010]由于目前绝大多数研究方法只考虑到先验知识,忽略了流数据动态变化的特点, 从而造成构建的分类模型在静态数据下准确率高而实际体验效果差等问题。此外,目前的 研究方法没有考虑到用户差异,训练的分类模型个性化严重。
【发明内容】
[0011] 为了解决现有技术中问题,本发明提供了一种基于加速度传感器的人体运动状态 识别,本发明通过如下技术方案实现:
[0012] -种基于加速度传感器的人体运动状态识别方法,所述方法分为离线阶段和在线 阶段;其中,所述离线阶段采用K-Means聚类方法构建人体运动状态识别模型,基于现有带 标签的数据进行训练研究,提出分类策略;所述分类策略如下:A.通过连续的窗口提供待预 测的数据;B.把窗口中的每个样本点根据离每个簇的存心的距离划分到对应的簇;C.根据 每个簇的类别分布情况,计算所有样本点属于每个类别的概率和,求出最大的概率值P以及 对应的类别label ;D.如果p大于等于第一阈值,则输出这个窗口数据的运动类别label,否 则无法预测,需要用户手动标记;所述在线阶段使用所述离线阶段训练所得的模型,实时采 集人体的加速度数据进行人体运动状态的识别。
[0013] 作为本发明的进一步改进,所述窗口大小不小于所研究的人体运动类别的周期的 最大值。
[0014] 作为本发明的进一步改进,所述窗口大小为2秒,窗口的步长为1秒。
[0015] 作为本发明的进一步改进,所述第一阈值为0.6。
[0016] 作为本发明的进一步改进,所述步骤B还包括当某个数据点划分到某个簇时,如果 离该簇簇心的距离超过该簇半径的N倍,则说明这个数据点是噪声点,则进行丢弃处理,其 中,N根据实验效果适当设置,N多1.2。
[0017] 本发明还提供了一种基于加速度传感器的人体运动状态识别系统,所述系统通过 Android程序来实现,所述系统包括:数据采集模块、数据处理模块、运动识别模块、模型更 新模块,数据展示模块;其中,所述数据采集模块采集人体运动的加速度数据;所述模型更 新模块采用K-Means聚类方法构建人体运动状态识别模型,基于现有带标签的数据进行训 练研究,提出分类策略;所述分类策略如下:A.通过连续的窗口提供待预测的数据;B.把窗 口中的每个样本点根据离每个簇的存心的距离划分到对应的簇;C.根据每个簇的类别分布 情况,计算所有样本点属于每个类别的概率和,求出最大的概率值P以及对应的类别labe 1; D.如果p大于等于第一阈值,则输出这个窗口数据的运动类别label,否则无法预测,需要用 户手动标记。
[0018] 本发明的有益效果是:基于聚类方法构建人体运动识别模型是可行的,而且该模 型具有实时性好、轻量易调整等优点。
【附图说明】
[0019] 图1是本发明的人体运动状态识别方法的框图;
[0020] 图2是走路时的加速度数据示意图;
[0021 ]图3是上楼梯时的加速度数据示意图;
[0022]图4是下楼梯时的加速度数据示意图。
【具体实施方式】
[0023]下面结合【附图说明】及【具体实施方式】对本发明进一步说明。
[0024]本发明使用K-Means聚类方法来构建人体运动状态识别模型,并基于Android手机 上设计人体运动识别系统。首先在离线阶段研究构建分类模型的方法,为了解决目前存在 的问题,提出了一种基于聚类方法构建识别模型的方法;然后在线阶段基于Android手机设 计人体运动状态识别实时系统,分别从数据采集、数据处理、运动识别、模型更新、数据展示 等5个功能进行设计;最后通过实验证明聚类算法的有效性,实验结果表明,基于聚类方法 构建人体运动识别模型是可行的,而且该模型具有实时性好、轻量易调整等优点。
[0025]附图1所示,人体运动状态识别研究主要分为两个阶段:离线阶段和在线阶段。 [0026]离线阶段是构建学习模型阶段。基于现有带标签的数据进行训练研究,提出分类 策略,验证模型的好坏。
[0027] 分类策略如下:首先,通过连续的窗口提供待预测的数据。窗口大小只要不小于所 研究运动类别的周期的最大值即可,本发明使用了 2秒的窗口大小,窗口的步长为1秒,这样 每次预测的数据都有50%与上一次预测数据重叠,保证数据的连续性。然后,把窗口中的每 个样本点根据离每个簇的存心的距离划分到对应的簇;接着,根据每个簇的类别分布情况, 计算所有样本点属于每个类别的概率和,求出最大的概率值P以及对应的类别1 abe 1。最后, 如果p多0.6,则输出这个窗口数据的运动类别label,否则无法预测,需要用户手动标记。分 类为了识别出噪声数据,当某个数据点划分到某个簇时,如果离该簇簇心的距离超过该簇 半径的1.5倍,则说明这个数据点是噪声点,丢弃处理。判断噪声的条件可以根据实验效果 适当调整。
[0028] 在线阶段主要是基于手机设计一款人体运动识别实时系统。在这一阶段将使用离 线阶段训练所得的学习模型。将在Android智能手机上使用该模型来设计运动识别系统,在 实际动态环境下使用该模型。
[0029]下面本发明将通过Andro i d程序来实现该识别系统。系统主要包含如下模块:数据 采集模块、数据处理模块、运动识别模块、模型更新模块,数据展示。系统中设计模型更新模 块可以保证模型随着数据变化而变化,随着用户变化而变化,这种设计思想更适合现实使 用环境,这种模型具有自适应调整能力。刚开始使用这种模型时,准确度可能不太高,随着 时间的推移,调整的次数增加,模型会越来越适合使用它的用户,准确度也会越来越高。
[0030] 数据处理模块通过对采集的数据进行去噪,平滑,归一化处理之后,采用聚类算法 进行建模,并部署到手机上进行识别,其对其他模型而言,有着速度快,模型轻量等特点,其 具体识别算法如下:
[0031] (1)使用一阶低通滤波器求重力加速度分量。
[0032] gj(i)=agj(i-l) + (l-a)aj(i)
[0033]其中α是滤波参数,j表示三个坐标轴分量,gj(〇) = a j(0),滤波参数α-般人为设定 即可,且满足〇<α<1,实验过程中会根据实验效果调整滤波参数,初始值设定为0.8(来自 Android文档建议)。除了直接设定还可以通过如下公式计算:
[0035]其中t是指低通滤波器的时间常量,dT是指采集数据频率。
[0036] 使用上述公式求得了重力加速度在X、Y、Z三轴上的分量之后,直接使用对应坐标 轴上的原始加速度值减去重力加速度对应的分量即可得到设备真实运动的加速度值。 [0037] (2)通过增维的方式降低坐标轴互换的影响。
[0038]主要有三种方式来降低坐标互换对实验结果的影响:(a)通过求合加速度的方式 来降低影响。将三维数据点P(x,y,z)通过公另 ^
转换成一维数据点V,这 种方式存在数据丢失严重问题,它完全忽略了三轴间的相互关系,使得最后识别准确率不 会太理想;(b)将X轴与Z轴、Y轴与Z轴分别求合加速度,这样数据就由三维降成二维,这样既 可以消除部分因坐标互换带来的影响又可以有不错的准确率;(c)增加数据维度,通过增加 三个重力分量和消除重力分量之后的对应加速度值将数据由三维扩增到九维数据,这样就 将加速度值和重力分量对应起来了,降低了坐标翻转的影响。本发明采用第三种方案。 [0039] (3)基于采样点的聚类
[0040]这种方式直接把每个采样点当成一个样本,特征就是三个轴上的原始加速度值和 消除重力之后的加速度值,例如("走路",χ,Υ,ζ,χ',/,z')代表着一个样本。由于是基于采 样点的聚类,聚类的样本会非常大,聚类的过程可能耗时较长。聚类方法使用K-Means聚类, 选取K-Means方法原因主要是该方法原理简单,设置参数容易,可以很快的确定合适的参 数。K-Means聚类的目标是使得簇类样本相似度高,簇间样本差异大。可以通过如下目标函 数来实现:
[0042] η代表样本总数,i代表簇C的id,C代表簇集,error (Ci)计算公式如下:
[0044] 其中Ci代表簇Ci的簇心,指点p与簇心Ci之间的距离。计算距离 的公式多种多样,这里采用的是欧式距离。
[0045] 为了验证本发明方法的有效性,实验环境如下:离线阶段主要在PC机器上进行实 验,构建学习模型。离线阶段实验环境如下:64位Windows 7旗舰版系统、Python(2.7.8);在 该阶段主要使用了第三方库。
[0046]本发明是基于加速度数据研究的,所以使用了WISDM的最新加速度数据来构建模 型。表1所示的数据集是2012年12月份收集的,该数据集收集过程如下:在实验环境下,36个 志愿者携带Android手机通过使用同一款Android采集加速度数据APP采集走路、慢跑、上楼 梯、下楼梯、静坐、站立这六种运动状态下的加速度数据。采集的过程都是按要求进行某种 运动的,所以数据都是自带标签的,即数据都是已知类别的。数据采集之后会自动上传给后 台。
[0047]表1数据处理之后分类结果
[0049] 从表1可以得出,该分类模型对"慢跑"、"静坐"和"站立"三种类别数据具有很好的 分类效果,精确率和召回率都达到85%以上,分类器整体识别正确率为0.8195。造成其它类 别数据效果差的原因是:"上楼梯"和"下楼梯"数据无法预测出来,都分类成了"走路"数据, 导致这三种类别数据分类准确率低。为了解决这个问题,本发明研究这三种运作状态下的 加速度曲线(如附图2至4所示),并单独研究了真实类别是"上楼梯"或"下楼梯"而最终分类 成"走路"的数据。
[0050] 研究发现,这些错分成"走路"的数据属于"走路"的概率尽管最大,但是与属于"上 楼梯"或"下楼梯"的概率差距不大,分类成"走路"的置信度不高。通过观察附图2至4可以发 现,"走路"数据与"上楼梯"数据和"走路"数据与"下楼梯"数据还是差别明显,而"上楼梯" 数据与"下楼梯"数据差别较小,仅仅通过这种聚类方式很难将它们区分开,本发明将这两 种数据合并成一种,命名为"Stairs"。为了从"走路"数据中区分出"楼梯"数据,如果数据属 于"楼梯"的概率仅次于最大概率且接近,则预测为"楼梯"。实验结果如表2所示。
[0051] 表2合并上下楼梯后的数据
[0053]观察表2可以看出,上述解决方案把"楼梯"数据从"走路"区分出来了。整体的分类 正确率达到0.8740,对每一种运动类别都有较好的分类效果。
[0054]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
【主权项】
1. 一种基于加速度传感器的人体运动状态识别方法,其特征在于,所述方法分为离线 阶段和在线阶段;其中,所述离线阶段采用K-Means聚类方法构建人体运动状态识别模型, 基于现有带标签的数据进行训练研究,提出分类策略;所述分类策略如下:A.通过连续的窗 口提供待预测的数据;B.把窗口中的每个样本点根据离每个簇的存心的距离划分到对应的 簇;C.根据每个簇的类别分布情况,计算所有样本点属于每个类别的概率和,求出最大的概 率值P以及对应的类别label;D.如果p大于等于第一阈值,则输出这个窗口数据的运动类别 label,否则无法预测,需要用户手动标记;所述在线阶段使用所述离线阶段训练所得的模 型,实时采集人体的加速度数据进行人体运动状态的识别。2. 根据权利要求1所述的方法,其特征在于:所述窗口大小不小于所研究的人体运动类 别的周期的最大值。3. 根据权利要求2所述的方法,其特征在于:所述窗口大小为2秒,窗口的步长为1秒。4. 根据权利要求1所述的方法,其特征在于:所述第一阈值为0.6。5. 根据权利要求1所述的方法,其特征在于:所述步骤B还包括当某个数据点划分到某 个簇时,如果离该簇簇心的距离超过该簇半径的N倍,则说明这个数据点是噪声点,则进行 丢弃处理,其中,N根据实验效果适当设置,N>1.2。6. -种基于加速度传感器的人体运动状态识别系统,所述系统通过Android程序来实 现,其特征在于,所述系统包括:数据采集模块、数据处理模块、运动识别模块、模型更新模 块,数据展示模块;其中,所述数据采集模块采集人体运动的加速度数据;所述模型更新模 块采用K-Means聚类方法构建人体运动状态识别模型,基于现有带标签的数据进行训练研 究,提出分类策略;所述分类策略如下:A.通过连续的窗口提供待预测的数据;B.把窗口中 的每个样本点根据离每个簇的存心的距离划分到对应的簇;C.根据每个簇的类别分布情 况,计算所有样本点属于每个类别的概率和,求出最大的概率值P以及对应的类别labe 1; D. 如果P大于等于第一阈值,则输出这个窗口数据的运动类别label,否则无法预测,需要用户 手动标记。7. 根据权利要求6系统的方法,其特征在于:所述窗口大小不小于所研究的人体运动类 别的周期的最大值。8. 根据权利要求7系统的方法,其特征在于:所述窗口大小为2秒,窗口的步长为1秒。9. 根据权利要求6系统的方法,其特征在于:所述第一阈值为0.6。10. 根据权利要求6系统的方法,其特征在于:所述步骤B还包括当某个数据点划分到某 个簇时,如果离该簇簇心的距离超过该簇半径的N倍,则说明这个数据点是噪声点,则进行 丢弃处理,其中,N根据实验效果适当设置,N多1.2。
【文档编号】G06K9/62GK106096662SQ201610472604
【公开日】2016年11月9日
【申请日】2016年6月24日
【发明人】张春慨
【申请人】深圳市颐通科技有限公司