一种基于人工神经网络的步频探测方法与流程

文档序号:16906053发布日期:2019-02-19 18:21阅读:643来源:国知局
一种基于人工神经网络的步频探测方法与流程

本发明属于导航定位领域,具体涉及一种基于人工神经网络的步频探测方法。



背景技术:

随着社会和科学技术的快速发展,人们在室内日常生活中对基于位置服务的需求正变得越来越大,室内定位技术也得到了广泛的研究,其中行人航迹推算(pedestriandeadreckoning,pdr)技术凭借其独有的优势获得了大量的研究,步频探测方法是pdr技术的至关重要的一部分。同时随着智能手机的普及,人们对身体健康和身体锻炼问题也越来越关注,基于智能手机的计步方法也越来越多,步频探测是计步方法的基础。

目前,步频探测方法主要基于加速度实现,常用的方法有平滑区域检测、零点交叉检测、峰值检测及自相关等。但是,他们都有一些缺陷。其中最常用的方法是峰值检测,峰值检测通过检测波峰或者波谷来判断行人是否行走一步,通常需要一系列的辅助阈值来筛选峰值,剔除一些因身体手臂异常抖动等原因造成的波峰波谷。因此峰值检测需要通过大量的数据和实验来训练这些阈值。训练出的阈值往往是固定的,以固定的阈值来处理动态的加速度数据,往往容易漏检或者多检。



技术实现要素:

本发明的目的是提供一种基于人工神经网络的步频探测方法,利用神经网络算法强大的拟合能力,对加速度数据波形进行处理,实现自动探测步频的目的。

本发明一种基于人工神经网络的步频探测方法,它的步骤如下:

步骤1、采集神经网络模型训练数据,行人手持手机分别以不同的速度和步长行走多次,记录保存行走时硬件设备采集到的加速度数据。

步骤2、预处理,将步骤1采集到的加速度数据按照如下步骤进行预处理:

步骤21、将三轴加速度合成三轴总加速度,计算方法如下:

其中ai表示第i个采样点的总加速度数据,表示第i个采样点三轴加速度计x,y,z轴的加速度值。

步骤22、对经过步骤21处理后的加速度数据进行平滑去噪。

步骤3、找到步骤2预处理后的数据中的波峰,对于是波峰的加速度值打上标签1,不是波峰的加速度值打上标签0。将加速度数据波形可视化,根据已知的步数,人为的将不是步点的波峰的标签1改为0。这样,每一个加速度值对应了一个标签。其中步点是指能代表行人行走了一步的加速度数据时间点,一般以波峰对应的时刻作为步点。

步骤4、采用滑动窗口截取训练数据。滑动窗口包含奇数个连续的加速度数据。数据形式如下:

[ai-j,…,ai-2,ai-1,ai,ai+1,ai+2,…,ai+j]

其中j表示窗口内中点左右两边加速度数据的个数,窗口内数据个数2j+1不超过一个步态周期内的加速度数据个数,不小于半个步态周期内加速度数据个数,行人自然行走时的步态周期一般在0.40~0.70秒。因此,j的大小可以由加速度计采样频率和窗口内数据个数范围确定。

步骤5、突出窗口内加速度数据的波形特征,定义符号函数sign:

其中|x|表示x的绝对值。

步骤6、取窗口内中间加速度的标签(步骤3获得的标签)作为窗口数据的标签。数据形式如下:

[ai-j,…,ai-2,ai-1,ai,ai+1,ai+2,…,ai+j,labeli]

步骤7、对数据集进行重采样或者调整正负样本权重,平衡训练数据中正负样本比例。

步骤8、神经网络模型搭建与训练。人工神经网络采用bp神经网络,模型输入神经元个数为窗口内加速度数据个数。隐藏层层数和每个隐藏层神经元个数通过多次实验获得,每次实验取不同的层数和神经元个数,取使得模型预测准确性最高的隐藏层个数和相应神经元个数即可,实验次数不限。输出神经元输出值表征该输入波形为步点的概率。将经过步骤2、3、4、5、6、7处理得到的训练数据输入神经网络模型进行训练,得到训练好的神经网络模型。

步骤9、在线步频检测时,依照步骤4,将行人行走时携带的硬件接收到的加速度数据依次存入滑动窗口中,并对窗口内的数据依次按照步骤2和步骤5进行处理。

步骤10、将步骤9处理后的数据输入步骤8得到的神经网络模型。若神经网络模型预测概率小于或者等于0.5,则直接判定为非步点,若预测概率大于0.5,则按照步骤11处理。

步骤11、剔除多余步点。设置一个时间阈值δδt,δδt取2~3个相邻加速度采样时间间隔即可。用窗口内中间数据对应的时间tt减去上一个步点对应的时间tt-1得到时间差δt,若δt>δδt,则窗口内中间加速度数据判定为步点,否则判定为非步点。

本发明提供一种基于人工神经网络的步频探测方法,按照步骤1、2、3、4、5、6、7、8得到步频检测神经网络模型。在线步频检测时,按照步骤9、10、11,完成步频检测。

本发明提出的一种基于人工神经网络的步频探测方法,与现有技术相比,其优点在于:1、在保留了加速度数据绝对值大小的基础上,引入窗口内左右加速度值与中间加速度值相减后的符号,加强了波形特征,能够更加有效提取行人行走时加速度数据反映出的步态特征;2、模型利用了人工神经网络强大的拟合能力,同时辅以时间阈值δδt,达到了更加精准的识别步频的能力。如果对本发明的各种改动和变形不脱离本发明范围,仍然属于本发明的权利要求和同等技术范围之内。

【附图说明】

图1为本发明一种基于人工神经网络的步频探测方法流程示意图。

【具体实施方式】

本发明提出了一种基于人工神经网络的步频探测方法,其流程图如附图1所示,它包含以下十一个步骤:

步骤1、采集神经网络模型训练数据,行人手持手机分别以不同的速度和步长行走多次,记录保存行走时硬件设备采集到的加速度数据。

步骤2、预处理,将步骤1采集到的加速度数据按照如下步骤进行处理:

步骤21、将三轴加速度合成三轴总加速度,计算方法如下:

其中ai表示第i个采样点的总加速度数据,分别表示第i个采样点三轴加速度计x,y,z轴的加速度值。

步骤22、对经过步骤21处理后的加速度数据进行平滑去噪。

步骤3、找到步骤2预处理后的数据中的波峰,对于是波峰的加速度值打上标签1,不是波峰的加速度值打上标签0。将数据波形可视化,根据已知的步数,人为的将不是步点的波峰的标签1改为0。这样,每一个加速度值对应了一个标签。其中步点是指能代表行人行走了一步的加速度数据时间点,一般以波峰对应的时刻作为步点。

步骤4、采用滑动窗口截取训练数据。滑动窗口包含奇数个连续的加速度数据。数据形式如下:

[ai-j,…,ai-2,ai-1,ai,ai+1,ai+2,…,ai+j]

其中j表示窗口内中点左右两边加速度数据的个数,窗口内数据个数2j+1不超过步行周期内加速度数据个数,不小于半个步行周期内加速度数据个数,行人自然行走时的步态周期一般在0.40~0.70秒。因此,j的大小可以由加速度计采样频率和窗口内数据个数范围确定。

步骤5、突出窗口内加速度数据的波形特征,定义符号函数sign:

其中|x|表示x的绝对值。

步骤6、取窗口内中间加速度对应的标签(步骤3获得的标签)作为窗口数据的标签。数据形式如下:

[ai-j,…,ai-2,ai-1,ai,ai+1,ai+2,…,ai+j,labeli]

步骤7、对数据集重采样或者调整正负样本权重,平衡训练数据中正负样本比例。

步骤8、神经网络模型搭建与训练。人工神经网络采用bp神经网络,模型输入神经元个数为窗口内加速度数据个数。隐藏层层数和每个隐藏层神经元个数通过多次实验获得,每次实验取不同的层数和神经元个数,取使得模型预测准确性最高的隐藏层个数和相应神经元个数即可,实验次数不限。输出神经元输出值表征该输入波形为步点的概率。将经过步骤2、3、4、5、6、7处理得到的训练数据输入神经网络模型进行训练,得到训练好的神经网络模型。

步骤9、在线步频检测时,依照步骤4,将行人行走时携带的硬件接收到的加速度数据依次存入滑动窗口中,并对窗口内的数据依次按照步骤2和步骤5进行处理。

步骤10、将步骤9处理后的数据输入步骤8得到的神经网络模型。若神经网络模型预测概率小于或者等于0.5,则直接判定为非步点,若预测概率大于0.5,则按照步骤11处理。

步骤11、用窗口内中间数据对应的时间tt减去上一个步点对应的时间tt-1得到时间差δt,若δt>δδt,则窗口内中间加速度数据判定为步点,并记录tt。否则判定为非步点。

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