一种计步方法、装置、设备和存储介质与流程

文档序号:16236593发布日期:2018-12-11 22:39阅读:149来源:国知局
一种计步方法、装置、设备和存储介质与流程

本发明涉及可穿戴设备领域,尤其是一种计步方法、装置、设备和存储介质。

背景技术

随着生活水平的不断提高,人们越来越注重自己的身体健康。为了科学健身,计步器作为一种便捷的运动监管设备受到了大家广泛的认可。传统的基于加速度传感器的计步方法主要是通过加速度信号的极值点来判断步伐。

其中公开号为cn101354265b的中国专利申请提出了一种基本方法及装置。该方案首先计算三轴合成加速度的值,然后根据三轴合成加速度的幅度判断是跑步还是步行,最后依据运动状态计算步数。公开号为cn104406604b的中国专利申请提出了一种计步方法。该方案中,计算采集到的三轴加速度的合加速度值,并使用自适应滤波器对当前数据窗中的合加速度数据进行滤波,如果滤波后的三轴合成加速度数据中的波峰满足一定的阈值并且相邻波峰之间的时间间隔超过一定的阈值,那么该波峰为有效波峰,每一个有效波峰表示一步。但是现有技术中,均是利用设定的阈值来判断是否开始计步,而且大部分计步器只是使用加速度数据的幅度、方差、均值、最大值、最小值中的几种作为特征数据,导致计步不准确,因此需要提出一种能够提高计步准确的计步算法。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种计步方法、装置、设备和存储介质

本发明所采用的技术方案是:

一种计步方法,包括步骤:

s1:采集运动过程中传感器的运动数据,所述传感器为三轴加速度传感器;s2:获取采集到的运动数据的特征值,并计算计步运动数据;s3:对所述特征值进行标准化处理得到标准化特征值;s4:根据所述标准化特征值,利用计步模型判断计步状态;s5:如果处于计步状态时,则根据计步运动数据的峰值和参考阈值的大小来进行步数计步;所述运动数据包括:x轴加速度值、y轴加速度值、z轴加速度值和三轴合成加速度平方值;所述计步运动数据为三轴合成加速度平方值。

进一步地,步骤s2中,所述的特征值包括以下特征值:

时间窗内三轴合成加速度平方值的均值、x轴加速度值的均值、y轴加速度值的均值、z轴加速度值的均值、

时间窗内三轴合成加速度平方值的方差、x轴加速度值的方差、y轴加速度值的方差、z轴加速度值的方差、

时间窗内三轴合成加速度平方值的最大值、x轴加速度值的最大值、y轴加速度值的最大值、z轴加速度值的最大值、

时间窗内三轴合成加速度平方值的最小值、x轴加速度值的最小值、y轴加速度值的最小值、z轴加速度值的最小值、

时间窗内三轴合成加速度平方值的最大值和最小值差值、x轴加速度值的最大值和最小值差值、y轴加速度值的最大值和最小值差值和z轴加速度值的最大值和最小值差值。

进一步地,步骤s3中所述标准化处理的公式具体为:

其中,表示进过标准化处理后的特征值数据,xi表示第i维特征值,μi和σi为标准化参数,n表示特征值的维度。

进一步地,所述μi和σi的计算公式具体为:

其中m表示训练集中样本的个数,xi(j)表示第j个样本的第i维特征值。

进一步地,步骤s4中判断计步状态具体包括:

s41:对s3中经过标准化处理后的特征值数据,利用计步模型判断计步状态,计步模型具体为:

其中,为步骤s3中获得的标准化特征值组成的向量,w表示由系数组成的向量,t表示向量的转置;

所述w的计算公式为:

其中,m表示训练集中样本的个数,表示第i个样本的标准化特征值,y(i)表示第i个样本的标记值,α为正则化参数,并通过梯度下降法求解获得w值;

s42:根据计步模型得到计步状态值进行计步状态判断,

如果s41中的f(x)>0.5,则判定为计步状态并执行s5;

如果s41中的f(x)≤0.5,则判定为非计步状态并返回s1重新开始计步。

进一步地,步骤s5前还包括数据滤波,具体为:

通过快速傅里叶变换原理对所述计步运动数据进行滤波。

进一步地,所述参考阈值包括动态峰值阈值和第一预设阈值,步骤s5具体包括:

s51:判断计步运动数据的峰值,具体为:

ai>ai-1且ai>ai+1

其中ai为当前时刻的计步运动数据,ai-1为前一时刻的计步运动数据,ai+1为后一时刻的计步运动数据;

s52:根据峰值计算动态峰值阈值,具体为:

其中b为动态峰值阈值,n为时间窗口内的峰值数量,ai为时间窗口内第i个峰值的数值,c为系数;

s53:进行步数计步,具体为:

将时间窗口内的每一个峰值数值与动态峰值阈值b和第一预设阈值a比较,如果该峰值数值既大于a也大于b,则计步步数加一。

另一方面,本发明还提供一种计步装置,包括:

采集装置:用于采集运动过程中传感器的运动数据;

特征值获取装置:用于获取采集到的运动数据的特征值;

特征值标准化装置:对所述特征值进行标准化处理得到标准化特征值;

计步状态判断装置:用于根据所述标准化特征值,利用计步模型判断计步状态;

步数计步装置,用于如果处于计步状态时,则根据计步运动数据的峰值和参考阈值的大小来进行步数计步。

另一方面,本发明还提供一种计步方法的控制设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的计步方法。

另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述任一项所述的计步方法。

本发明的有益效果是:

本发明的一种计步方法通过采集运动过程中三轴加速度传感器的运动数据,获取采集到的运动数据的特征值,对所述特征值进行标准化处理得到标准化特征值,然后利用机器学习方法(logistical线性分类器),根据标准化特征值来判断计步状态,当处于计步状态时,根据计步运动数据的峰值和预设阈值的大小来进行步数计步,其中由于用户的活动状态有很多种,如走路、跑步、骑行、坐、游泳等,因此仅仅使用少量的特征很难准确的判断是否开始计步,导致计步不准确,本发明采集的运动数据的特征值为20维的特征数据,能够较为准确的反应用户真实的计步状态,有效提高计步的准确度。

附图说明

图1是本发明一种实施方式的计步方法基本流程图;

图2是本发明一种实施方式的计步方法具体流程图;

图3是本发明一种实施方式的计步装置结构框图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例一:

如图1所示,为本实施例的计步方法的基本流程图,其中包括s11:采集运动过程中传感器的运动数据,其中传感器为加速度传感器;s12:获取采集到的运动数据的特征值,并计算计步运动数据,其中计步运动数据为三轴合成加速度平方值;s13:对特征值进行标准化处理得到标准化特征值;s14:根据所述标准化特征值,利用计步模型判断计步状态;s15:通过快速傅里叶变换原理对s12中计步运动数据,即三轴合成加速度平方值数据进行滤波;s16:进行步数计步。

步骤s11中运动数据包括:x轴加速度值y轴加速度值z轴加速度值和三轴合成加速度平方值ai,其中

步骤s12中运动数据的特征值包括但不限于以下20维特征值,其计算公式如下:

三轴合成加速度平方值的均值mean:

x轴加速度值的均值meanx:

y轴加速度值的均值meany:

z轴加速度值的均值meanz:

三轴合成加速度平方值的方差σ:

x轴加速度值的方差σx:

y轴加速度值的方差σy:

z轴加速度值的方差σz:

三轴合成加速度平方值的最大值max:max=max(ai),i∈{1,2…,n}(10)

x轴加速度值的最大值maxx:maxx=max(aix),i∈{1,2…,n}(11)

y轴加速度值的最大值maxy:maxy=max(aiy),i∈{1,2…,n}(12)

z轴加速度值的最大值maxz:maxz=max(aiz),i∈{1,2…,n}(13)

三轴合成加速度平方值的最小值min:min=min(ai),i∈{1,2…,n}(14)

x轴加速度值的最小值minx:minx=min(aix),i∈{1,2…,n}(15)

y轴加速度值的最小值miny:miny=min(aiy),i∈{1,2…,n}(16)

z轴加速度值的最小值minz:minz=min(aiz),i∈{1,2…,n}(17)

三轴合成加速度平方值的最大值和最小值差值r:r=|max-min|(18)

x轴加速度值的最大值和最小值差值rx:rx=|maxx-minx|(19)

y轴加速度值的最大值和最小值差值ry:ry=|maxy-miny|(20)

z轴加速度值的最大值和最小值差值rz:rz=|maxz-minz|(21)

除了上述的20维特征值外,还可以包括主频、能量、x和z轴相关系数、x,y,z三轴加速度和合成加速度平方的区间分布等特征值。

下面结合图2来说明本发明的一种计步算法具体流程。

1)首先初始化参数,包括步数值num、时间窗口t(单位为秒)、采样频率f(单位为hz)和第一预设阈值a,在一些实施例中,采样频率f的取值可以为20hz、25hz或30hz,步数值num的初始化分为两种,第一种是开机进行步数计步,此时num的值为0,另一种是开始计步后持续计步,此时num的值为前一次计步的步数值。

其中第一预设阈值a通过网格搜索得到,网格搜索是指遍历第一预设阈值a所有可能的取值,从中选择计步数据最准确的取值作为参数a的最终值。比如,采集很多的走路数据,并且知道这些数据中用户真实地走路步数,此时,可以假设a为(1.5,1,5,10,15,20,…,100),真实的步数是20000,将每一个a可能的取值,带入本实施例的计步算法中,计算得到的计步步数,比如,当a=1时计算得到的计步步数为10000,a=5时计算得到的计步步数为19000,…,a=15时计算得到的计步步数为15000,可以得知,当a=1时计算步数为10000,真实步数为20000,误差为10000,a=5时计算步数为19000,误差为1000,a=15时计算步数为15000,误差为5000,因此a=5时误差最小,其计算值最接近真实值的步数,此时取a为5,实际应用时,对大量的步行数据进行网格搜索以确定一个合适的a值,特别地,a值一旦计算出来就不再改变,作为一个经验值常量使用,本实施例中a取值为2。

2)采集运动过程中传感器的运动数据,运动数据包括:x轴加速度值、y轴加速度值、z轴加速度值和三轴合成加速度平方值。

每一个时间窗口内样本数量为:m=f*t,缓存得到的采样数据直到数据量为m的整数倍,比如,从加速度传感器中获得了一段10秒的运动数据,设定的时间窗口t为2s,采样频率f为50hz,则根据数据采集时生成的时间戳,可以获取采集的运动数据的起始时间t1和结束时间t2,然后将这段10s数据根据时间窗口t划分为5个不存在数据重叠的时间窗口,第一个时间窗口的时间范围是[t1,t1+2),即t1≤t<t1+2,最后一个窗口的时间范围是(t2-2,t2],即t2-2<t≤t2,每个时间窗口内的采样样本数量m为100=2s*50hz。

3)获取采集到的运动数据的特征值,即通过x轴加速度值、y轴加速度值、z轴加速度值和三轴合成加速度平方值根据公式(1)~公式(21)提取出20维特征值。

4)对特征值进行标准化处理得到标准化特征值,标准化处理的公式具体为:

其中,表示进过标准化处理后的特征值数据,xi表示第i维特征值,μi和σi为标准化参数,n表示特征值的维度。

其中μi和σi的计算公式具体为:

其中m表示训练集中样本的个数,xi(j)表示第j个样本的第i维特征值。

在实际的算法中,可以提前通过大量样本数据获得μi和σi,可以将其作为一个常量用于公式(22)中。

5)判断是否为计步状态,具体包括步骤:

首先对经过标准化处理后的特征值数据,利用计步模型判断计步状态,计步模型具体为:

其中,为步骤4)中经过标准化处理的标准化特征值组成的向量,t表示向量的转置,w表示由系数组成的向量。

例如在本实施例中,在步骤3)中计算获得一个时间窗口内的20维特征值分别为(-0.91427,-0.22424,..,-0.29868,-0.74205),则可展开为表示第n维的标准化特征值,wn表示第n个系数,n表示特征值的个数,即n维。

系数组成的向量w的计算公式为:

其中m表示训练集中样本的个数,表示第i个样本的标准化特征值,y(i)表示第i个样本的标记值,一般取值为1或-1,α为正则化参数,取值为0.1,通过梯度下降法求解获得w值,w值会受到机器学习模型和训练集的样本数等很多因素影响,在不同情况下获得的w的最优值不一样,例如在某一个实施例中w经过机器学习之后的取值为(-3.691413e-2,-8.136777e-2,…,1.968664e+00),并且如前面的第一预设阈值a,w值一旦计算出来也不再改变,作为一个常量应用在公式(25)中。

然后根据计步模型得到计步状态值进行计步状态判断,

当f(x)>0.5,则判定为计步状态并继续计步;

当f(x)≤0.5,则判定为非计步状态并返回步骤1)初始化参数,重新开始计步。

6)通过快速傅里叶变换原理对三轴合成加速度平方值ai进行滤波,由于人体运动过程中,加速度传感器会有一定的无序晃动,其采集的数据中会引入较大的噪声,但是人体运动过程的频率处于一定的范围内,因此可以采用快速傅里叶变换来过滤掉不在人体正常运动频率范围内的频率信号,例如,人在走路时的频率范围为0.5~5hz,那么高于5hz或者低于0.5hz的信号均定义为无用的噪声,通过快速傅里叶变换将采集到的三轴合成加速度平方值ai信号由时域转化为频域,然后将频率范围0.5~5hz之外的信号幅值设为0,最后通过快速傅里叶逆变换将频域数据转化为时域数据,即可完成三轴合成加速度平方值ai的数据滤波。

7)比较计步运动数据的峰值和参考阈值的大小来进行计步,具体包括:

首先判断三轴合成加速度平方值ai的数据的峰值,峰值判断公式为:

ai>ai-1且ai>ai+1(26)

其中ai为当前时刻的计步运动数据,ai-1为前一时刻的计步运动数据,ai+1为后一时刻的计步运动数据;

然后根据峰值计算动态峰值阈值b,具体公式为:

其中,n为时间窗口内的峰值数量,ai为时间窗口内第i个峰值的数值,c为系数;

最后进行步数计步,将时间窗口内的每一个峰值数值与动态峰值阈值b和第一预设阈值a比较,如果该峰值数值既大于a也大于b,则计步步数加一。

本实施例使用的机器学习算法为logistical线性分类器,其还可以用随机森林,决策树,支撑向量基等其他机器学习算法来替代。

实施例二:

如图3所示,为本实施例的一种计步装置结构框图,包括采集装置:用于采集运动过程中传感器的运动数据;特征值获取装置:用于获取采集到的运动数据的特征值;特征值标准化装置:对特征值进行标准化处理得到标准化特征值;计步状态判断装置:用于根据所述标准化特征值,利用计步模型判断计步状态;步数计步装置,用于如果处于计步状态时,则根据计步运动数据的峰值和参考阈值的大小来进行步数计步。

本发明还公开了一种计步方法的控制设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项一种计步方法。

本发明还公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机上述任一项一种计步方法。

本发明的一种计步方法通过采集运动过程中三轴加速度传感器的运动数据,获取采集到的运动数据的特征值,对所述特征值进行标准化处理得到标准化特征值,然后利用机器学习方法(logistical线性分类器),根据标准化特征值来判断计步状态,当处于计步状态时,根据计步运动数据的峰值和预设阈值的大小来进行步数计步,其中由于用户的活动状态有很多种,如走路、跑步、骑行、坐、游泳等,因此仅仅使用少量的特征很难准确的判断是否开始计步,导致计步不准确,本发明采集的运动数据的特征值为20维的特征数据,能够较为准确的反应用户真实的计步状态,有效提高计步的准确度。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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