一种检测用户速度的方法及装置与流程

文档序号:16236962发布日期:2018-12-11 22:42阅读:216来源:国知局
一种检测用户速度的方法及装置与流程

本发明涉及智能可穿戴设备领域,尤其涉及一种检测用户速度的方法及装置。

背景技术

由于穿戴式设备的兴起,穿戴式设备上的传感器也越来越丰富,基于运动传感器的应用也蓬勃发展,出现了很多基于运动传感器,进行行人状态跟踪,健康侦测的应用。多种方法,如姿态检测,行人步态学,数字信号处理,机器学习等技术也被应用到此领域。

现有技术中测量用户的速度主要有以下几种方案:

方案1:通过加速度计,陀螺仪直接推算速度。

方案2:通过建立腿部运动,建立步态模型,进行速度估计。

方案3:建立模型,采集传感器的数据,抽取特征值,如加速度计,陀螺仪的最小值,最大值,均值,频域信息等,建立训练样本,通过模型估计速度。

上述方案均是对固定在身体部位的设备进行速度监测,不方便佩戴,影响日常活动。方案1需要对加速度计和陀螺仪进行零值校准,要求将设备佩戴在脚上,且消费机电子产品的sensor精度不高,用此方法误差大。方案2的方法需要将设备佩戴在腿上,且根据佩戴位置和佩戴者身高影响较大。方案3采用监督学习的方法,需要采集大量标注样本进行学习。



技术实现要素:

为克服上述现有技术的缺陷,本发明提供一种行走速度检测方法及装置,具体的,技术方案如下:

一方面,本发明公开了一种行走速度检测方法,包括:采集用户的运动参数数据;对采集的所述运动参数数据进行预处理;对预处理后的数据进行极值点检测,获取极值点信息;根据所述极值点信息获取每一步行走的时间;根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度。

优选地,所述对采集的所述运动参数数据进行预处理包括:对采集的所述运动参数数据做归一化处理;将归一化处理后的运动参数数据进行低通滤波处理。

优选地,所述对预处理后的数据进行极值点检测,获取极值点信息包括:对预处理后的运动参数数据进行极值点检测,根据预设的α值,若第i个采样点满足下述任一条件,则可以将所述第i个采样点视为极值点:

(yi-2<yi)and(yi-1<yi)and(yi>yi+1)and(yi+2<yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(1)

(yi-3<yi-2)and(yi-2<yi-1)and(yi-1<yi)and(yi>yi+1)

andyi-max(yi-2,yi-1yi+1,yi+2)>a(2)

(yi-1<yi)and(yi>yi+1)and(yi>yi+2)and(yi+3>yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(3)

其中,yi表示第i个采样点的归一化幅值;α为预设的阈值。

优选地,在所述对预处理后的数据进行极值点检测,获取极值点信息之后,根据所述极值点信息获取每一步行走的时间之前还包括:通过卡尔曼滤波,恢复漏检的极值点。

优选地,根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度包括:根据所述极值点信息获取每一步行走的时间;根据所述每一步行走的时间,通过下述公式,计算行走速度:

其中:a、b为拟合系数,tk为每一步行走的时间。

另一方面,本发明还公开了一种行走速度检测装置,包括:数据采集模块,用于采集用户的运动参数数据;预处理模块,用于对所述数据采集模块采集的所述运动参数数据进行预处理;极值点检测模块,用于对所述预处理模块预处理后的数据进行极值点检测,获取极值点信息;计算处理模块,用于根据所述极值点信息获取每一步行走的时间;并根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度。

优选地,所述预处理模块包括:归一化子模块,用于对所述数据采集模块采集的所述运动参数数据做归一化处理;滤波子模块,用于将所述归一化子模块进行归一化处理后的运动参数数据进行低通滤波处理。

优选地,所述极值点检测模块进行极值点检测采用的检测条件为:根据预设的α值,若第i个采样点满足下述任一条件,则可以将所述第i个采样点视为极值点:

(yi-2<yi)and(yi-1<yi)and(yi>yi+1)and(yi+2<yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(1)

(yi-3<yi-2)and(yi-2<yi-1)and(yi-1<yi)and(yi>yi+1)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(2)

(yi-1<yi)and(yi>yi+1)and(yi>yi+2)and(yi+3>yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(3)

其中,yi表示第i个采样点的归一化幅值;α为预设的阈值。

优选地,所述行走速度检测装置还包括:极值点恢复模块,用于通过卡尔曼滤波,恢复所述极值点检测模块漏检的极值点。

优选地,所述计算处理模块包括:时间获取子模块,用于根据所述极值点信息获取每一步行走的时间;

速度计算子模块,用于根据所述每一步行走的时间,通过下述公式,计算行走速度:

其中:a、b为拟合系数,tk为每一步行走的时间。

本发明至少包括以下一项有益效果:

(1)本发明采集用户的运动参数数据,并对数据做滤波处理,处理后的数据再进行极值点检测,以极值点之间的时间来估计每一步的行走时间,然后根据预先建立的每一步行走时间与速度的关系模型,通过此关系模型得到行走速度。本发明的速度检测装置对佩戴方式没有要求,极大的方便了使用,且此方法的运算量小,实时性高,速度准确率。

(2)本发明对采集的运动参数数据进行了归一化和滤波处理,方便后续数据处理,且避免了无规则抖动等对数据采集带来的误差,去除了干扰,提高了后续速度计算的准确率。

(3)本发明采用了卡尔曼滤波来恢复漏检的极值点,使得采集的运动参数数据中的极值点尽可能不会漏掉,保证极值点信息的准确度,从而也提高了后续速度计算的准确率。

(4)本发明采用了预先建立的时间与速度的关系模型来计算行走速度,具体的,根据设定的速度与时间的公式来计算用户行走速度,该方法运算量小,且由于该速度计算公式中的拟合系数的值是预先采用最小二乘法拟合而来,使得计算出的速度的误差比较小,更为接近用户的真实速度值。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种行走速度检测方法的实施例的流程图;

图2为本发明一种行走速度检测方法的另一实施例的流程图;

图3为本发明检测出的极值点示意图;

图4为本发明一种行走速度检测装置的实施例的框图;

图5为本发明一种行走速度检测装置的另一实施例的框图。

附图标记说明:

10--数据采集模块;20--预处理模块;30--极值点检测模块;40--计算处理模块;50--极值点恢复模块;21--归一化子模块;22--滤波子模块;41--时间获取子模块;42--速度计算子模块。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明提供一种行走速度检测方法,实施例如图1所示,包括:

s101采集用户的运动参数数据;

s102对采集的所述运动参数数据进行预处理;

s103对预处理后的数据进行极值点检测,获取极值点信息;

s104根据所述极值点信息获取每一步行走的时间;

s105根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度。

本实施例中,运动参数数可以用来反映用户行走这一周期性运动即可,比如运动参数可以是加速度数据,或者陀螺仪数据。一般的,由于加速度计的功耗更低,因此选用加速度数据作为运动参数数据更佳。

采集加速度或者陀螺仪的数据后,并对数据做预处理,比如滤波处理等,然后将处理后的数据再进行极值点检测,以极值点之间的时间来估计每一步的行走时间,然后根据预先建立的每一步行走时间与速度的关系模型,通过此关系模型得到行走速度。

本实施例不限定用户佩戴可穿戴设备的方式,也不影响用户的日常活动,通过简单的采集用户的加速度或者陀螺仪数据进行处理,再根据预先建立的时间与速度的关系模型,便可较为准确的获取到用户的行走速度。本方法方便、快捷、成本低且准确度高。

较佳的,上述实施例中,所述对采集的所述运动参数数据进行预处理包括:对采集的所述运动参数数据做归一化处理;将归一化处理后的运动参数数据进行低通滤波处理。

归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系。简化计算,缩小量值的有效办法。鉴于归一化处理是现有技术中较为常用的一种数据处理方式,此处不再赘述。

具体到本实施例中,先采集一段时间的加速度或陀螺仪数据,并做归一化处理,将此归一化数据进行低通滤波处理,过滤掉噪声和微小的无规则的抖动。通过对采集的数据做这一系列的预处理,方便了后续数据的处理,且提高了速度计算的准确度。

对采集的加速度数据或者陀螺仪数据进行预处理后,接下来便要进行极值点检测了,通过极值点检测最终可以获取到每一步行走的时间。具体的,所述对预处理后的数据进行极值点检测,可以根据预设的α值,将若第i个采样点满足下述任一条件,则可以将所述第i个采样点视为极值点:

(yi-2<yi)and(yi-1<yi)and(yi>yi+1)and(yi+2<yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(1)

(yi-3<yi-2)and(yi-2<yi-1)and(yi-1<yi)and(yi>yi+1)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(2)

(yi-1<yi)and(yi>yi+1)and(yi>yi+2)and(yi+3>yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(3)

其中,yi表示第i个采样点的归一化幅值;α为预设的阈值;yi-2则表示第i-2个采样点的归一化幅值;yi-1则表示第i-1个采样点的归一化幅值;yi+1则表示第i+1个采样点的归一化幅值;yi+2则表示第i+2个采样点的归一化幅值。如果第i个采样点满足上述任一条件,则可以将该i个采样点视为极值点。

比如,如果某采样点比紧挨的前面几个连续的采样点的归一化幅值高,也比紧挨的后面几个连续的采样点的归一化幅值高,那么这个采样点就是极值点。相当于从处理后的采样数据中查找峰值点。图3中标记出坐标的几个采样点便是极值点。

本发明方法的另一实施例,如图2所示,包括:

s201采集用户的运动参数数据;

s202对采集的所述运动参数数据做归一化处理;

s203将归一化处理后的运动参数数据进行低通滤波处理;

s204对预处理后的数据进行极值点检测,获取极值点信息;

s205通过卡尔曼滤波,恢复漏检的极值点;

s206根据所述极值点信息获取每一步行走的时间;

s207根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度。

本实施例相对于上一实施例,增加了卡尔曼滤波步骤。具体的,在对预处理后的数据进行极值点检测,获取极值点信息之后,再通过卡尔曼滤波,恢复漏检的极值点。从而再根据所有的极值点信息来获取每一步行走时间,计算行走速度。

卡尔曼滤波(kalmanfiltering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。这里所说的系统状态,是总结系统所有过去的输入和扰动对系统的作用的最小参数的集合,知道了系统的状态就能够与未来的输入与系统的扰动一起确定系统的整个行为。

状态估计是卡尔曼滤波的重要组成部分。一般来说,根据观测数据对随机量进行定量推断就是估计问题,特别是对动态行为的状态估计,它能实现实时运行状态的估计和预测功能。

我们定义如下状态方程:

其中,xk-1|k-1是第k-1个极值点的状态;pk-1为极值点时间,tk-1为行走一步需要的时间。

状态转移方程:

其中,xk|k-1表示第k-1个极值点的状态转移到第k个极值点的状态;wk为状态估计误差。

观测方程:

zk=hxk+vk(8)

其中,h为单位矩阵,vk为量测误差。

状态估计:

xk|k=xk|k-1+kg(zk-hxk|k-1)(9)

其中,xk|k表示第k个极值点的状态;kg为卡尔曼增益。

通过卡尔曼滤波,我们可以恢复漏检测的极值点。获取到所有极值点后,则再根据这些极值点信息获得每一步行走的时间。

根据所述每一步行走的时间,通过下述公式,计算行走速度:

其中:a、b为拟合系数,tk为每一步行走的时间。

这里的行走速度计算公式便是预先建立的时间与速度的关系模型。该公式中,a、b为拟合系数,预先已设置好。

具体的,该a、b的值则是预先通过下述公式,采用最小二乘法拟合,得出a、b。

其中,fe为误差估计函数,sk为速度真实值。

最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

一般的,我们通过多次测量检测出真实速度与计算速度的误差,然后采用最小二乘法拟合出最小误差情况时,a、b的值,如此获得的a、b的值则会使得公式(4)计算出来的行走速度更接近真实速度,提高了速度计算的精确度。

较佳的,鉴于人之间的个体差异,本发明也可以根据用户进行个性化设置,获取该用户对应的拟合系数的值,这就要求用户在最初使用的一段时间内进行用户行走运动的学习与检测。比如用户开始佩戴本发明的行走速度检测装置后,在初步的学习阶段,还需要另一个标准的速度检测装置作为参照标准。将该标准的速度检测装置检测出的速度作为速度真实值,本发明的行走速度检测装置则可以根据该速度真实值,结合自身通过极值点获取到的每一步行走的时间,再根据公式(5)拟合出a、b的值。获取到a、b的值后,后续用户再使用该行走速度检测装置时,则无需再使用另一标准速度检测装置做参考了,本发明的速度检测装置则可以通过公式(4)计算出用户的行走速度了。用户在后续使用过程中便可直接通过本发明的行走速度检测装置精确的计算出用户的行走速度。

具体的,采用本发明的速度检测方法,假如采样率为50hz,横轴为采样点,纵轴为归一化幅值,获取极值点如图3所示,从图上可以获得用户每步行走的时间,再通过公式(4)便可计算得出速度为:1.45m/s。

基于相同的技术构思,本发明还公开了一种行走速度检测装置,该装置可采用本发明上述的任一行走速度检测方法对用户进行速度检测,具体的,本发明的行走速度检测装置如图4所示,包括:数据采集模块10,用于采集用户的运动参数数据;预处理模块20,用于对所述数据采集模块10采集的所述运动参数数据进行预处理;极值点检测模块30,用于对所述预处理模块20预处理后的数据进行极值点检测,获取极值点信息;计算处理模块40,用于根据所述极值点信息获取每一步行走的时间;并根据所述极值点信息及每一步行走的时间信息,采用预先建立的时间与速度的关系模型,获取行走速度。

本实施例中,数据采集模块10可以是加速度计或者陀螺仪等,通过加速度计采集用户的加速度数据或者通过陀螺仪采集用户步行时的陀螺仪数据。然后通过预处理模块20将采集的运动参数数据进行预处理,比如滤波处理等。然后再通过极值点检测模块30将对预处理后的数据进行极值点检测,获取极值点信息。计算处理模块40则会根据极值点信息获取出每一步行走的时间。再利用预先建立的速度与时间的关系模型,获取行走速度。

本发明的行走速度检测装置,实时监测行人速度,对佩戴方式没有要求,极大的方便了使用,且此方法的运算量小,实时性高,速度准确率达到90%以上。

本发明装置的另一实施例,如图5所示,在上述装置实施例的基础上,所述预处理模块20包括:归一化子模块21,用于对所述数据采集模块10采集的所述运动参数数据做归一化处理;滤波子模块22,用于将所述归一化子模块21进行归一化处理后的运动参数数据进行低通滤波处理。

数据采集模块10先采集一段时间的加速度或陀螺仪数据,预处理模块20中的归一化子模块21则将采集的数据做归一化处理,滤波子模块22再将此归一化数据进行低通滤波处理,过滤掉噪声和微小的无规则的抖动。通过对采集的数据做这一系列的预处理,方便了后续数据的处理,且提高了速度计算的准确度。

较佳的,上述任一实施例中,所述极值点检测模块30进行极值点检测采用的检测条件为:根据预设的α值,满足以下(1)、(2)、(3)中任一条件的采样点判定为极值点:

(yi-2<yi)and(yi-1<yi)and(yi>yi+1)and(yi+2<yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(1)

(yi-3<yi-2)and(yi-2<yi-1)and(yi-1<yi)and(yi>yi+1)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(2)

(yi-1<yi)and(yi>yi+1)and(yi>yi+2)and(yi+3>yi)

andyi-max(yi-2,yi-1,yi+1,yi+2)>a(3)

其中,yi表示第i个采样点的归一化幅值;α为预设的阈值。如果第i个采样点满足上述任一条件,则可以将该i个采样点视为极值点。

该极值点检测相当于是对采样数据的峰值点检测,连续的两个采样点之间间隔的时间便是步行一步的时间。

由于极值点检测可能存在漏检的情况,因此,较佳的,本发明的行走速度检测装置还包括:极值点恢复模块50,用于通过卡尔曼滤波,恢复所述极值点检测模块30漏检的极值点。

卡尔曼滤波(kalmanfiltering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。状态估计是卡尔曼滤波的重要组成部分。一般来说,根据观测数据对随机量进行定量推断就是估计问题,特别是对动态行为的状态估计,它能实现实时运行状态的估计和预测功能。

我们定义如下状态方程:

其中,xk-1|k-1是第k-1个极值点的状态;pk-1为极值点时间,tk-1为行走一步需要的时间。

状态转移方程:

其中,xk|k-1表示第k-1个极值点的状态转移到第k个极值点的状态;wk为状态估计误差。

观测方程:

zk=hxk+vk(8)

其中,h为单位矩阵,vk为量测误差。

状态估计:

xk|k=xk|k-1+kg(zk-hxk|k-1)(9)

其中,xk|k表示第k个极值点的状态;kg为卡尔曼增益。

通过卡尔曼滤波,我们可以恢复漏检测的极值点。获取到所有极值点后,则再根据这些极值点信息获得每一步行走的时间。

获取到每一步行走的时间后,再通过计算处理模块40计算用户的行走速度。具体的,在上述任一实施例的基础上,所述计算处理模块40包括:时间获取子模块41和速度计算子模块42;其中,时间获取子模块41,用于根据所述极值点信息获取每一步行走的时间;

速度计算子模块42,用于根据所述每一步行走的时间,通过下述公式,计算行走速度:

其中:a、b为拟合系数,tk为每一步行走的时间。

这里的行走速度计算公式便是预先建立的时间与速度的关系模型。该公式中,a、b为拟合系数,该a、b的值则是预先通过下述公式,采用最小二乘法拟合,得出a、b。

其中,fe为误差估计函数,sk为速度真实值。

一般的,本发明的速度检测装置在出厂之前,便会提前设置好拟合系数a、b的值,而a、b的值则是通过很多次测量检测出行人真实步行速度与计算速度的误差,然后采用最小二乘法拟合出最小误差情况时a、b的值,如此获得的a、b的值则会使得公式(4)计算出来的行走速度更接近真实速度,提高了速度计算的精确度。

较佳的,鉴于人之间的个体差异,本发明也可以根据用户进行个性化设置,也就是说本发明的速度检测装置还包括系数获取模块,用于获取该用户对应的拟合系数a、b的值,这就要求用户在最初使用的一段时间内进行用户行走运动的学习与检测。比如用户开始佩戴本发明的行走速度检测装置后,在初步的学习阶段,还需要另一个标准的速度检测装置作为参照标准。将该标准的速度检测装置检测出的速度作为速度真实值,本发明的行走速度检测装置的系数获取模块则可以根据该速度真实值,结合自身通过极值点获取到的每一步行走的时间,再根据公式(5)拟合出a、b的值。获取到a、b的值后,后续用户再使用该行走速度检测装置时,则无需再使用另一标准速度检测装置做参考,本发明的速度检测装置则可以通过公式(4)计算出用户的行走速度了。用户在后续使用过程中便可直接通过本发明的行走速度检测装置精确的计算出用户的行走速度。

通过本发明的行走速度检测装置算法计算量小,误差表现好,实时响应性高,且不限定用户的佩戴方式,可以较为准确的检测出用户的行走速度。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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