一种基于加速传感器和角速度传感器的记步方法与流程

文档序号:11858426阅读:321来源:国知局
一种基于加速传感器和角速度传感器的记步方法与流程

本发明属于一种基于加速传感器和角速度传感器的记步方法与运动行为方法。



背景技术:

早期的运动识别主要是基于视觉方式的,给定一段图像序列或者一个视频片段,识别出人物的运动类型。基于视觉的方法具有交互自然,提取的特征信息丰富等优点,但该方法在实际应用中也有一些局限性,需要克服很多问题。如环境中的光照条件,人物在摄像机前的位置,场地的大小等。传感器具有价格便宜,携带方便,不受场地限制等优点,随着这些设备的发展,运动识别又被带入了一片新的研究领域,补充了传统基于视觉的运动识别方法在实际应用中的不足,促使了运动识别在日常生活中的应用。这一技术已经被用在行为障碍病人的康复状况监视,老年人突发疾病预防监视等应用中。常用的传感器有加速度传感器,陀螺仪,麦克风等,一些内置传感器的设备如Apple iPhone,Nintendo Wiimote等,这些无线设备的发展使得大范围的交互应用成为可能,如智能家庭,混合现实等应用。

对于使用加速度传感器进行运动识别而言,主要问题有三:一为如何快速自动地分割传感器输出的加速度信号,以达到在线的进行运动分割的目的,为后续的在线识别做准备;二为如何建立有效的分类模型,以达到高效准确的对运动进行分类识别的目的;三为如何采用适当的方法,在运动结束之间进行识别,提高交互感。本发明将以这三个问题为基本出发点,对运动识别过程中的关键问题进行分析,解决以上提到的主要技术问题,实现一个高效的在线运动识别系统。

对于加速度信号分割问题,很多研究工作都是将传感器信号手动分割好,作为训练和测试的数据库。这样降低了信号处理的负担,并且数据比较理想化,在此基础上排除了数据的影响,可以对比分析识别算法的性能。但是实际应用中,手动的方法交互感不好,不便于操作和应用,因此我们需要对信号进行在线的分割处理;对于分类模型的选取,现阶段大多数研究与相应的系统采用动态时间卷曲算法(DTW)和隐马尔科夫模型方法(HMM),DTW算法所需的训练数据较少,并且能够动态的更新匹配的模板。但该算法的运算速度会随着待识别的时序数据的长度以及模板的数量的增大而明显的减慢,HMM方法用一个状态表示当前动作,但是很多全身性动作比较复杂,无法仅仅用一个状态充分表示出来,因此需要两个或多个状态变量来表示,本发明采用Fused HMM方法,解决了单独的一个HMM无法对具有相关关系的两个时序序列同时进行建模的问题,对于具有交互过程的全身性动作具有很好的描述能力,并且当一个HMM信息丢失时另一个HMM仍能正常工作,增加了算法的鲁棒性;对于提前进行运动识别问题,当前主要的处理方法是当一个运动完成之后再去调用识别过程,在有些应用中这种延迟感会降低用户体验度。本发明采用了自回归的预测模型,利用已知帧数据,预测出未知的数据,通过对预测得到的数据进行分析,可以在运动结束之前即开始识别的过程,并达到提前识别的效果。



技术实现要素:

本发明所要解决的技术问题是提供一种基于加速传感器和角速度传感器的记步与运动行为方法。

本发明解决上述技术问题所采取的技术方案如下:

一种基于加速度传感器和角速度传感器的记步方法,包括:

步骤一:将传感器放置于智能鞋中,采集人体运动过程中的加速度和角速度信息;其中,脚向前的方向为X轴正方向,向左的方向为Y轴的正方向, 抬脚方向为Z轴的负方向;

步骤二:将采集到的数据进行平滑滤波和卡尔曼滤波;

步骤三:对平滑滤波后的数据进行分析计算出运动的步数;

步骤四:对卡尔曼滤波后的数据切分出每一步的波形,分析波形的特征值,确认出人体运动状态;

步骤五:基于步骤三和步骤四,得到人体各种运动状态的步数;

获取一个周期内不同运动的波形,对波形的特征值加以区分以区分出每一种运动。

优选的是,所述智能鞋中设置有蓝牙模块,其实时将采集到的加速度和角速度信息通过蓝牙发送给手机或者通用单片机。

优选的是,所述步骤三中,在处理器获取到X,Y,Z轴的加速度和角速度数值后,把原始数据复制为两份,一份通过平滑滤波,一份通过卡尔曼滤波的方式去消除干扰信息。

优选的是,所述步骤四中,平滑滤波采用简单平均法进行,为求邻近像元点的平均亮度值,经过平滑滤波后的数据用于计算运动的步数。

优选的是,所述步骤五中卡尔曼滤波后的数据显示每一种运动的人体不同的加速度值在一定程度上反应了运动的剧烈程度,因此可以用加速度的大小来区分步行,快走和跑步,合加速度的计算公式如下:

<mrow> <mi>a</mi> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>a</mi> <mi>x</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>a</mi> <mi>y</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>a</mi> <mi>z</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> </mrow>

其中,a为合加速度,ax,ay,az分别为传感器测出的X轴,Y轴,Z轴的加速度,求出一个周期内合加速度的平均值a’,根据a’的大小即可区分出走路,快走和跑步。

优选的是,区分出走和跑之后,在此基础上进一步分析,提取出波形的特征值,根据特征值对波形进行分类,即可确认人体的运动状态;

其中,提取波形的征值,包括:

计算出一个周期内波形的平均值,平均差,四分位差,离散系数,偏态 系数等作为波形的特征值;

平均值的计算公式如下:

<mrow> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>a</mi> <mi>i</mi> </msub> </mrow>

其中N为一个周期内采样的数量,ai为i时刻的加速度。

平均差的计算公式如下:

<mrow> <mi>M</mi> <mi>D</mi> <mo>=</mo> <mfrac> <mrow> <mi>&Sigma;</mi> <mo>|</mo> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>-</mo> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mo>|</mo> </mrow> <mi>N</mi> </mfrac> </mrow>

其中N为一个周期内采样的数量,ai为i时刻的加速度,为一个周期内的加速度的平均值。

四分位差的计算公式如下:

Qd=QU-QL

其中QU为上四分位数,QL为下四分位数;

偏态系数的计算公式如下:

<mrow> <mi>S</mi> <mi>k</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mrow> <mo>(</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mo>(</mo> <mi>N</mi> <mo>-</mo> <mn>2</mn> <mo>)</mo> <msup> <mi>s</mi> <mn>3</mn> </msup> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>-</mo> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>3</mn> </msup> </mrow>

其中N为一个周期内采样的数量,ai为i时刻的加速度,为一个周期内的加速度的平均值,s为一个周期内加速度的标准差。

优选的是,通过对实际运动采样统计确定阈值,由此精确区分出各种运动。

优选的是,传感器的采样率为25Hz,采集大于8个采样点以计算人运动的一步;根据该规则去除那些因误差而多计算出的步数,从而精确计算步数。

本发明采取了上述方案以后,借助于平滑滤波和卡尔曼滤波,使波形更加光滑减少干扰信息,使得系统能够实时准确地记步;同时,还能够准确地区分出人的各种运动;其次,能够实时计算出各种各种运动的步数;再次,通过对算法的优化处理,大大减小算法的复杂度,降低对系统的计算能要求,普通配置的手机或者通用单片机(MCU)即可完成运算。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,

图1是本发明基于加速传感器和角速度传感器的记步与运动行为方法的运动过程中X轴的加速度示意图;

图2是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波后步行时加速度的波形示意图;

图3是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波之后前脚掌着地跑步时加速度的波形示意图;;

图4是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波之后上楼梯时加速度的波形示意图;

图5是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波之后下楼梯时加速度的波形示意图;

图6是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波之后全脚掌着地跑步时加速度的波形示意图;

图7是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波后后脚跟着地跑步时加速度的波形示意图;

图8是本发明基于加速传感器和角速度传感器的记步与运动行为方法的卡尔曼滤波后快走时加速度的波形示意图;

图9是本发明基于加速传感器和角速度传感器的记步与运动行为方法的流程图。

具体实施方式

以下将结合附图1-9及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

如图1和9所示,在一个优选实施例中,一种基于加速传感器和角速度传感器的记步与运动行为方法,包括以下步骤:

步骤一:将传感器放置于智能鞋中,采集人体运动过程中的加速度和角速度信息;其中,脚向前的方向为X轴正方向,向左的方向为Y轴的正方向,抬脚方向为Z轴的负方向;

步骤二:将采集到的数据进行平滑滤波和卡尔曼滤波;

步骤三:对平滑滤波后的数据进行分析计算出运动的步数;

步骤四:对卡尔曼滤波后的数据切分出每一步的波形,分析波形的特征值,确认出人体运动状态;

步骤五:基于步骤三和步骤四,得到人体各种运动状态的步数;

获取一个周期内不同运动的波形,对波形的特征值加以区分以区分出每一种运动。

具体来说,当手机端获取到X,Y,Z轴的加速度数值后,由于采样率,测量噪声等会对传感器的数据有一定的影响,导致数据误差很大,需要对原始数据进行滤波,本文采用把原始数据复制为两份,一份通过平滑滤波,一份通过卡尔曼滤波的方式去消除误差。

空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大,平滑会使边缘信息损失的越大,从而使输出的图像变得模糊,而 且平滑滤波会导致波形有一定的滞后性,不能实时反映出人体运动姿态。但是他却能很好的区分出人体运动的步数,经过平滑滤波的数据可以用来计算运动的步数。

本算法所采用的传感器的放置方式为:脚向前的方向为X轴正方向,向左的方向为Y轴的正方向,抬脚方向为Z轴的负方向。人体运动的时候X轴方向位移比较大,加速度变化也比较明显而且有很明显周期性(如图1所示)。只要设定合理的阈值就可以识别出运动的步数。

通过采集大量数据样本发现当X轴的加速度人体在运动时其加速度一定会大于一个阈值(设为Ax),当加速度从小于Ax变到Ax以上,然后再由Ax以上变到Ax一下刚好对应人体抬脚和落脚动作,即识别出人体运动了一步,由于受到传感器存在一些误差,可能出现在一步内出现多个点的加速度在Ax附近徘徊,通过上面的方式计算就会出现多计算步数的情况,为了排除这种情况,根据人体最大的运动速度推算,人在一秒钟运动的步数不会超过5步,设传感器的采样率为25Hz,那么在25个采样点内计算的步数不能多余5步,由于传感器只放在一只鞋子内,人体运动5步时,其实一只脚最多运动了3步,所以1秒内的计算出的步数不能超过3步。因此可以推算出人运动一步至少要大于8有个采样点,根据这个规则去除那些因误差而多计算出的步数,从而达到精确计算步数的目的。

卡尔曼滤波通过系统输入输出观测数据,对系统状态进行最优估计的算法即保证了波形的信息,又使波形很平滑,给波形的特征值提取提供了方便。为根据波形特征值区分运动状态提供了可能。

通过对以上几种常见运动时加速度和角速度波形的进行分析,可以看出每一种运动的波形都存在着周期性,而且在一个周期内不同运动的波形是不一样的,我们对波形的特征值加以区分就可以区分出每一种运动。

加速度的值在一定程度上反应了运动的剧烈程度,因此可以用加速度的 大小来区分步行,快走和跑步。合加速度的计算公式如下:

<mrow> <mi>a</mi> <mo>=</mo> <msqrt> <mrow> <msubsup> <mi>a</mi> <mi>x</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>a</mi> <mi>y</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>a</mi> <mi>z</mi> <mn>2</mn> </msubsup> </mrow> </msqrt> </mrow>

a:合加速度,ax,ay,az分别为传感器测出的X轴,Y轴,Z轴的加速度

求出一个周期内合加速度的平均值a’,根据a’的大小即可区分出走路,快走和跑步。区分出走和跑之后,在此基础上进一步分析,提取出波形的特征值,根据特征值对波形进行分类,即可确认人体的运动状态。有关于特征值提取,计算出一个周期内波形的平均值,平均差,四分位差,离散系数,偏态系数等作为波形的特征值。通过对实际运动采样统计确定合理的阈值,即可精确区分出各种运动。

平均值的计算公式如下:

<mrow> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>N</mi> </munderover> <msub> <mi>a</mi> <mi>i</mi> </msub> </mrow>

其中N为一个周期内采样的数量,ai为i时刻的加速度。

平均差的计算公式如下:

<mrow> <mi>M</mi> <mi>D</mi> <mo>=</mo> <mfrac> <mrow> <mi>&Sigma;</mi> <mo>|</mo> <msub> <mi>a</mi> <mi>i</mi> </msub> <mo>-</mo> <mover> <mi>a</mi> <mo>&OverBar;</mo> </mover> <mo>|</mo> </mrow> <mi>N</mi> </mfrac> </mrow>

其中N为一个周期内采样的数量,ai为i时刻的加速度,为一个周期内的加速度的平均值。

四分位差的计算公式如下:

Qd=QU-QL

其中QU为上四分位数,QL为下四分位数。

偏态系数的计算公式如下:

其中N为一个周期内采样的数量,ai为i时刻的加速度,为一个周期内的加速度的平均值,s为一个周期内加速度的标准差。

本发明采取了上述方案以后,借助于平滑滤波和卡尔曼滤波,使波形更加光滑减少误差,使得系统能够实时准确地记步;同时,还能够准确地区分出人的各种运动;其次,能够实时计算出各种各种运动的步数;再次,通过对算法的优化处理,大大减小算法的复杂度,降低对系统的计算能要求,普通配置的手机或者通用单片机(MCU)即可完成运算。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1