一种步长估计方法、移动终端及存储介质与流程

文档序号:17151664发布日期:2019-03-19 23:29阅读:207来源:国知局
一种步长估计方法、移动终端及存储介质与流程

本发明涉及计算机技术领域,特别是涉及一种步长估计方法、移动终端及存储介质。



背景技术:

随着经济、科技以及商业模式的发展,个人导航在生活中扮演着日益重要的角色。但由于建筑物的功能越来越完善,其结构也越来越复杂,人们大部分时间活动于办公楼、博物馆、图书馆,以及大型商场等建筑物内部,gnss(globalnavigationsatellitesystem,全球导航卫星系统)会因为建筑物的遮挡和其他因素而受到干扰,进而导致卫星信号差、定位时间长、定位误差增大,甚至无法完成定位。

目前不采用gps等信号的定位方法主要是利用惯导设备实现,如加速度传感器、陀螺仪等。但由于目前如手机等设备配备的消费级惯导传感器属于低成本、低精度传感器,无法提供精确的数据,难以直接用于定位和导航。而采用通过步伐行为间接实现定位的pdr(pedestriandeadreckoning,步行者航位推算)系统是一种更为有效方法。

在pdr系统中,步长估计是核心技术之一。现有的步长获取方法主要有:直接测量,可以依靠尺子、红外线或超声波等测量工具,但由于需要人工测量或额外的设备,测量开销大,不灵活,难以满足室内定位的便捷性需求;间接估计,基于步长和相关因素的关联关系,来间接估计步长,但已有的间接测量方法,主要基于身高和步长间的线性相关性等,虽然可以保证步长估计的实时性与动态性,但是实际应用中的精确度难以满足室内定位和导航的要求。因而,如何实时、准确获取步伐长度,相关领域尚无有效的解决方案。



技术实现要素:

本发明要解决的技术问题是提供一种步长估计方法、移动终端及存储介质,用以解决现有技术中无法实时、准确获取步伐长度的问题。

一方面,本发明提供一种步长估计方法,包括:建立步长估计模型并进行模型训练以估算其中的待定系数,其中,所述步长估计模型包括步伐强度;所述步伐强度为每个步伐中所有数据采集点的采集强度之和;每个所述数据采集点的采集强度等于加速度传感器在该数据采集点上的加速度值在空间直角坐标系的三个坐标轴的加速度分量的平方和再开平方后减去重力加速度;将用户的身高及测量到的步伐参数输入所述步长估计模型,以获取所述用户的步长。

可选的,建立步长估计模型并进行模型训练以估算其中的待定系数包括:根据身高、步频和所述步伐强度对步长的影响建立所述步长估计模型;所述步长估计模型包括身高步频乘积项、身高项、步伐强度项及待定系数;根据已知的步长、身高、步频及步伐强度进行模型训练以确定所述步长估计模型中的待定系数。

进一步的,所述将用户的身高及测量到的步伐参数输入所述步长估计模型之前,所述方法还包括:采集用户行走的加速度数据;在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据;根据所述单个步伐的加速度数据确定相应的步频和步伐强度;所述将用户的身高及测量到的步伐参数输入所述步长估计模型包括:将用户的身高、所述步频以及所述步伐强度输入所述步长估计模型。

可选的,所述在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据包括:根据所述加速度数据随时间的波动情况将所述加速度数据分为若干个数据组,每个数据组对应一个单个步伐,每个数据组中预设位置的加速度数据为所述单个步伐的步伐标志。

可选的,所述根据所述加速度数据随时间的波动情况将所述加速度数据分为若干个数据组包括:根据相邻数据采集点的加速度数据的变化趋势查找每个波动对应的加速度波峰;根据所述加速度波峰将所述加速度数据分为若干个数据组,每个数据组中的加速度波峰为对应的单个步伐的步伐标志。

可选的,相邻两个步伐标志之间间隔的数据采集点的个数大于预设阈值。

可选的,所述预设阈值在0.2*facc至0.5*facc之间,其中facc为所述加速度数据的采样速率。

可选的,在所述采集用户行走的加速度数据之后,在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据之前,所述方法还包括:对所述加速度数据进行带通滤波,所述带通滤波的上限截止频率和下限截止频率的取值范围为经验值。

另一方面,本发明还提供一种移动终端,包括:加速度传感器、处理器和存储器;所述加速度传感器用于采集用户行走的加速度数据;所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现本发明提供的任一种步长估计方法。

另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明提供的任一种步长估计方法。

本发明的实施例提供的步长估计方法、移动终端及存储介质,能够建立步长估计模型并进行模型训练以估算其中的待定系数,然后将用户的身高及测量到的步频输入所述步长估计模型,以获取所述用户的步长。由于步长估计模型中包括自定义的步伐强度,因此能够改善线性模型中步伐强度对步长影响力度的估计不足,从而获得了更好的步长估计精度。

附图说明

图1是本发明实施例提供的步长估计方法的一种流程图;

图2是本发明实施例提供的步长估计方法的一种过程示意图;

图3是本发明实施例提供的步长估计方法的一种详细流程图。

具体实施方式

以下结合附图对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

如图1所示,本发明实施例提供一种步长估计方法,包括:

s11,建立步长估计模型并进行模型训练以估算其中的待定系数,其中,所述步长估计模型包括步伐强度;所述步伐强度为每个步伐中所有数据采集点的采集强度之和;每个所述数据采集点的采集强度等于加速度传感器在该数据采集点上的加速度值在空间直角坐标系的三个坐标轴的加速度分量的平方和再开平方后减去重力加速度;

s12,将用户的身高及测量到的步伐参数输入所述步长估计模型,以获取所述用户的步长。

本发明的实施例提供的步长估计方法,能够建立步长估计模型并进行模型训练以估算其中的待定系数,然后将用户的身高及测量到的步频输入所述步长估计模型,以获取所述用户的步长。由于步长估计模型中包括自定义的步伐强度,因此能够改善线性模型中步伐强度对步长影响力度的估计不足,从而获得了更好的步长估计精度。

具体而言,由于步长估计面向的人群广,个体差异大,影响因素多,因此简单的模型难以描述步伐长度的特点。例如,不同人的身高、体重、行走习惯等都有各自的特点,难以用相同标准去估计他们的步长。在众多影响步长的因素中,身高、步频以及步伐强度相对较为重要。其中,身高描述了步长随身高的正线性变化关系,步频描述了相同身高下步长随步频变化的关系,步伐强度描述了相同身高和相同步频下,步长随步伐行为强度的动态变化关系,因而准确的估计结果需要综合考虑三者的影响因素,并且简单的线性关系也难以构建出这些因素与步伐长度之间的准确模型。

为了构建准确的模型,可选的,步骤s11建立步长估计模型并进行模型训练以估算其中的待定系数可具体包括:

根据身高、步频和所述步伐强度对步长的影响建立所述步长估计模型;所述步长估计模型包括身高步频乘积项、身高项、步伐强度项及待定系数;

根据已知的步长、身高、步频及步伐强度进行模型训练以确定所述步长估计模型中的待定系数。

例如,在本发明的一个实施例中,可以建立步长估计模型:

sl=a*h*f+b*h+c*s+m(1)

其中,sl为步长,h为身高,f为步频,s为步伐强度,m为补偿因子,a、b、c分别为待定系数;可选的,m可以为0或者服从正态分布的补偿因子;

可以根据已知的步长、身高、步频及步伐强度进行模型训练以确定所述待定系数a、b、c的值。

在具体实施时,用于模型训练的步长、身高、步频等数据可以通过实验进行测量。将实验测得的大量数据带入含有待定系数的步长估计模型中,即可将其中的未知参数估计出来,从而获得完整的步长估计模型。

获得了式(1)的步长估计模型后,在步骤s12中,只需知道用户的身高、用户的步频以及步伐强度等步伐参数,即可利用该步长估计模型来估算用户的步长。

为了获得上述步伐参数,可选的,在将用户的身高及测量到的步伐参数输入所述步长估计模型之前,本发明实施例提供的步长估计方法还可包括:

采集用户行走的加速度数据;

在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据;

根据所述单个步伐的加速度数据确定相应的步频和步伐强度;

相应的,将用户的身高及测量到的步伐参数输入所述步长估计模型可包括:

将用户的身高、所述步频以及所述步伐强度输入所述步长估计模型。

具体而言,可以通过移动终端上设置的加速度传感器等装置采集用户行走的加速度数据。然后在采集到的加速度数据中区分每个步伐包括哪些数据。具体原理如下:人在走路时,两腿交错迈步前进,人的加速度也会做近似周期性的变化,单步步伐内应该只有一个波峰,只要在采集到的加速度数据中区分出每个变化周期也就找到了相应的单个步伐。

为了准确找出加速度数据中的每个变化周期,可以分析每个变化周期中加速度数据共有的变化趋势,以该变化趋势的出现作为每个单个步伐的步伐标志。也就是说,每个步伐标志的出现意味着一个步伐事件的发生,即迈出了一步。

可选的,在本发明的一个实施例中,在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据具体可包括:

根据所述加速度数据随时间的波动情况将所述加速度数据分为若干个数据组,每个数据组对应一个单个步伐,每个数据组中预设位置的加速度数据为所述单个步伐的步伐标志。

具体而言,根据所述加速度数据随时间的波动情况将所述加速度数据分为若干个数据组可包括:

根据相邻数据采集点的加速度数据的变化趋势查找每个波动对应的加速度波峰;

根据所述加速度波峰将所述加速度数据分为若干个数据组,每个数据组中的加速度波峰为对应的单个步伐的步伐标志。

为了排除数据的随机波动从而获得更准确的分组,可以根据人来步伐速度的取值范围,令相邻两个步伐标志之间间隔的数据采集点的个数大于预设阈值。

进一步的,将步伐数据分成一个一个的单个步伐之后,根据所述单个步伐的加速度数据确定相应的步频和步伐强度可包括:

确定所述步频f等于相邻两个步伐标志的时间间隔的倒数;

确定所述步伐强度为每个步伐中所有数据采集点的采集强度之和;每个所述数据采集点的采集强度等于加速度传感器在该数据采集点上的加速度值在空间直角坐标系的三个坐标轴的加速度分量的平方和再开平方后减去重力加速度。

以公式(1)对应的步伐强度为例,可确定步伐强度s为:

其中axt、ayt、azt分别为加速度传感器在第t个数据采集点对应的x,y,z轴的加速度,g为重力加速度,t为每个单个步伐中加速度数据的个数。

举例说明,在本发明的一个实施例中,所述根据所述加速度数据随时间的波动情况将所述加速度数据分为若干个数据组可包括:

在所述加速度数据中,确定符合以下条件的数据点s[t]作为一个步伐的步伐标志:

s[t-3]<s[t-2]<s[t-1]<s[t]>=s[t+1]>s[t+2]>s[t+3],

其中,s[t]表示第t个数据采集点的加速度数据;

根据所述步伐标志将所述加速度数据分为若干个数据组。

也就是说,只要找到相邻的7个数据采集点,其中,加速度数据的数值随采集时间先增大后减小,即可确定发生了一次步伐事件。此时,波峰顶端数据向两边延伸的下降趋势各取3个采样点。即由波峰向前和向后两端,都呈下降趋势,每一端的趋势检测范围都基于3个采样点。当然,在本发明的其他实施例中,可以根据需要改变所考察的相邻数据采集点的个数,本发明的实施例对此不做限定。例如可以找到是否存在5个、9个或者更多符合上述规则的数据采集点,来确定是否产生了步伐标志,是否发生了步伐事件。数据采集点的考察数目与用户步频以及加速度数据的采样率相关。

由实际情况可知,人走路时两步之间的时间间隔应该在一个合理的范围内,不可能过快。也就是说,考虑到行人步伐的生理特性,不可能在极端的时间内迈出两步。反映到数据采集点的数量方面,相邻的两个步伐标志之间所间隔的数据采集点的数量也应该在一个合理的范围内,因此,如果分析得出的步伐标志之间的间隔超出以上所述的合理范围,则应该考虑步伐标志有可能没有找对,有可能将一些干扰数据误认为是步伐标志,因此要对这样错误的步伐标志进行剔除。

可选的,在本发明的一个实施例中,相邻两个步伐标志之间间隔的数据采集点的个数大于预设阈值,所述预设阈值在0.2*facc至0.5*facc之间,其中facc为所述加速度数据的采样速率。

为了能够对采集到的加速度数据进行更有效的分析和提取单个步伐数据,进一步的,在所述采集用户行走的加速度数据之后,在所述加速度数据中确定步伐标志以获得单个步伐的加速度数据之前,本发明实施例提供的步长估计方法还包括:

对所述加速度数据进行带通滤波,所述带通滤波的上限截止频率和下限截止频率的取值范围为经验值。例如上限截止频率的取值范围可以为3hz至3.75hz,所述带通滤波的下限截止频率的取值范围为0.5hz至0.75hz。经过这样的带通滤波后,加速度数据中大部分杂散干扰即可被滤除,剩下与步伐行为相关频率区域的加速度数据。

下面通过具体实施例对本发明提供的步长估计方法进行详细说明。

如图2所示,本实施例提供了一种利用身高、步频以及步伐强度等信息估计步伐长度的方法。其核心是利用加速度传感器对行人行走的加速度数据进行采集,通过信号的频率分析得出步伐数据的频域分布特性,设置合适的带通滤波器参数对数据进行滤波,得到和步伐相关的数据。然后再利用单峰步伐检测方法寻找到单步加速度数据,并在时域内计算步频与步伐强度(频域内计算步频会受到频率解析度的影响)。随后利用步频、步伐强度以及身高数据推导出多元回归模型参数。在随后过程中,将每次得到的步频、步伐强度以及身高数据代入模型之中就可以得到步伐长度估计值。如图3所示,具体可包括步骤如下:

s301,利用加速度传感器采集行人步伐的加速度数据。

s302,通过分析步伐行为频率特性,确定步伐信号最高分布于2.7-3.75hz,最低分布于0.5-1hz;

s303,利用步骤s302中所得到的步伐频率特性,应用带通滤波器,上截止频率设置为2.7-3.75hz范围内,下截止频率设置为0.5-1hz范围内,对加速度数据进行滤波,得到步伐行为相关频率区域的加速度数据。

s304,基于步骤s303中的数据处理,步伐的加速度数据会在每个步伐周期内只出现一个波峰,因而采取基于单峰的步伐行为检测方法,寻找符合以下要求的数据点s[t]作为步伐事件的产生标志,即步伐标志满足如下条件:

s[t-3]<s[t-2]<s[t-1]<s[t]>=s[t+1]>s[t+2]>s[t+3],

其中s[t]表示t时刻的加速度数据,且考虑到步伐事件的特性,两个步伐事件的间隔不少于n=0.4*facc个数据点,其中facc指加速度传感器的采样频率;

s305,利用步伐标志对加速度数据进行分割,得出单个步伐的加速度数据;

s306,步频的计算公式为:其中δt为单个步伐持续的时间,可由步骤s305中所得到的单步步伐数据得出。

s307,步伐强度的计算公式为:其中axt、ayt、azt分别为第t个时间点的加速度传感器的x,y,z轴的加速度值,g是重力加速度值。

s308,步伐长度估计的多元回归模型为:

sl=a*h*f+b*h+c*s+m(1)

其中a,b,c为参数因子,h为身高,f为步频,s为步伐强度,m为服从正态分布的补偿因子。

s309,将已知的步频、步伐强度、行人的身高以及该歩的真实长度代入式(1)中的模型进行模型训练,利用多元线性回归方法计算出式(1)中模型的各个参数,确定最终模型,例如利用最小递归二乘法计算出模型的各个参数,使结果的均方误差最小,得出模型的最终参数值。

s310,将步骤s306中实时得到步频和步伐强度,并结合行人身高输入式(1)的模型得出步长的估计值。

本实施例提供的步长估计方法,建立了基于身高、步频和步伐强度的步长估计模型。其中,身高参数描述了步长随身高的正线性变化关系,步频描述了相同身高下,步长随步频变化的关系,步伐强度描述了相同身高和相同步频下,步长随步伐行为强度的动态变化关系。模型中引入了身高、步频和步伐强度这三个变量,并赋予了不同的权重参数,但是相同步频下不同身高对于步伐长度有着很大的影响,上述模型没有只是对三者进行简单的线性组合,而综合考虑三者对于步长的影响,以及三者之间的联系,引入了步频和身高乘积的交叉项,并使用服从正态分布的补偿因子对模型进行一定的修正与补偿。

根据上述步长估计方法建立相应的步长估计模型并进行相应的步长估计,其各项参数及估算结果可如表1所示。由于身高对步长的影响显著,可以进一步对模型进行分段表示:在身高大于170cm时,使用表1中上面一组a、b、c参数,在身高小于170cm时,使用表1中下面一组a、b、c参数,以获得更准确的步长估计。

表1

相应的,本发明的实施例还提供一种移动终端,包括:加速度传感器、处理器和存储器;

所述加速度传感器用于采集用户行走的加速度数据;

所述存储器用于存储计算机指令,所述处理器用于运行所述存储器存储的计算机指令,以实现前述实施例提供的任一种步长估计方法,因此也能实现相应的技术效果,前文已经进行了详细的说明,此处不再赘述。

相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种步长估计方法,因此也能实现相应的技术效果,前文已经进行了详细的说明,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

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