一种基于深度学习的步数测量方法与流程

文档序号:22113375发布日期:2020-09-04 15:18阅读:840来源:国知局
一种基于深度学习的步数测量方法与流程

本发明涉及测量技术领域,具体涉及一种基于深度学习的步数测量方法。



背景技术:

由于建筑结构对于gps信号等卫星信号的屏蔽与干涉,使得室内定位不能依赖于此类常用于室外定位的方法。因此,大量的研究试图寻找一种稳定、精确且实时的面向室内场景的导航系统。

室内定位系统按照所用传感器类型可分为有源室内定位系统和无源定位系统。其中,有源室内定位系统利用环境中的信号源(如wi-fi、蓝牙等),通过信号接受强度(rss)进行室内定位。而无源定位系统依靠载体自身携带的传感器(如惯性测量单元、相机、激光雷达等),通过相应的算法计算出相邻时刻间相对的运动姿态。相比于有源定位系统,无源定位系统具有对外界依赖度低、适用范围广、成本低等优点。

在无源定位系统中,基于惯性测量单元(imu)的行人航位推算系统(pdr)是一种常用的定位算法。该算法可分为:基于对陀螺仪加速度计的二次积分获得位姿的惯性导航系统(ins);基于惯性测量单元数据获得行人步数和步长,进而推算行人二维平面位置信息的步数-航向系统(shs)。

对于步数-航向系统,算法流程可以分为三个部分:步数检测、步长估计和航向估算。其中步数估计利用行人身上佩戴的传感器数据,通过分析人行走这一周期性过程的规律,实现测量步数的过程。当前步数检测主要依赖于时域分析和频域分析两种方法,其中时域分析利用陀螺仪加速度计的模值和方差结合峰值检测、谷值检测、过零检测等进行分析;频域分析则是将传感器读数进行短时傅里叶变换(stft)、小波变换等转换到频域进一步分析。但是这些传统方法有一定的局限性,主要表现在两个方面:

1)行人的运动模式是多样且复杂的(如慢走、快走、跑步、跳跃、匍匐前进等),这导致传统方法根据领域知识和丰富的经验调整好的检测模型可能在只针对某一种运动模式具有良好的表现。

2)由于年龄、性别、运动习惯的差异,使得人群间运动行为的差异也是比较大的,这使得传统方法不能够对于不同的使用者都维持一个较高的步数检测精度。传统步数检测方法的鲁棒性较差,直接影响着模型的实用性。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种基于深度学习的步数测量方法解决了传统步数检测方法鲁棒性较差的问题。

为了达到上述发明目的,本发明采用的技术方案为:

提供一种基于深度学习的步数测量方法,其包括以下步骤:

s1、将惯性测量单元设置在目标对象的足部,采集足部的惯性原始数据;

s2、采用固定步长滑动窗口对惯性原始数据进行分割,得到若干分割后的序列数据;

s3、对于每个序列数据,将其拆分并排列为前向数据和后向数据;

s4、将同一个序列数据对应的前向数据和后向数据分别输入对称型循环卷积神经网络,并通过对称型循环卷积神经网络获取目标对象处于站立状态的概率;

s5、根据目标对象处于站立状态的概率值与阈值的大小关系,判断目标对象的足部是处于摆动状态还是处于站立状态;

s6、将目标对象由站立状态切换为摆动状态的总次数作为其测量过程中的总步数,完成步数测量。

进一步地,步骤s1中的惯性测量单元包括采样率为400hz的加速度计和陀螺仪。

进一步地,步骤s2的具体方法为:

采用步长为1、长度为199的滑动窗口对惯性原始数据进行分割,得到若干长度为199的序列数据;其中每个序列数据均为三维矩阵,包含滑动窗口长度下加速度计和陀螺仪在三维坐标系中的数值。

进一步地,步骤s3的具体方法为:

将每个长度为199的序列数据中的前100个数值构成的序列作为前向数据,将后100个数据进行逆向排列后得到的序列作为后向数据。

进一步地,步骤s4中的对称型循环卷积神经网络包括两个相同的循环卷积神经网络分支和两层串联的全连接层,两个循环卷积神经网络分支的输出拼接后与全连接层的输入相连接;每个循环卷积神经网络分支包括三层卷积层,每层卷积层后均设置有一个最大池化层,最后一个最大池化层的输出与四层串联的长短时记忆网络相连,最后一层长短时记忆网络的输出为该循环卷积神经网络分支的输出。

进一步地,三层卷积层的卷积核大小均为15×3,卷积核数量分别为32、32和64。

进一步地,三层最大池化层的池化核尺寸均为2×2。

进一步地,两层串联的全连接层的神经元个数分别为64和1。

进一步地,四层串联的长短时记忆网络的输出维度均为192,最后一层长短时记忆网络只取最后一个时间歩的输出。

进一步地,步骤s5的具体方法为:

若目标对象处于站立状态的概率值大于等于0.5,则判定目标对象处于站立状态;若目标对象处于站立状态的概率值小于0.5,则判定目标对象处于摆动状态。

本发明的有益效果为:本方法基于惯性测量单元中的加速度计和陀螺仪,设计对称型循环卷积神经网络通过挖掘传感器数据中高纬度特征,获得对于每一个采样点上行人状态的判断(即站立或摆动),最后将网络的输出信息转换为步数信息。本方法在不需要运动模式和行人信息的情况下,将原始的惯性单元数据通过滑动窗口的形式送入神经网络,可以准确且鲁棒的实现行人步数的检测。

附图说明

图1为本发明的流程示意图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

如图1所示,该基于深度学习的步数测量方法包括以下步骤:

s1、将惯性测量单元设置在目标对象的足部,采集足部的惯性原始数据;惯性测量单元包括采样率为400hz的加速度计和陀螺仪;

s2、采用固定步长滑动窗口对惯性原始数据进行分割,得到若干分割后的序列数据;

s3、对于每个序列数据,将其拆分并排列为前向数据和后向数据;

s4、将同一个序列数据对应的前向数据和后向数据分别输入对称型循环卷积神经网络,并通过对称型循环卷积神经网络获取目标对象处于站立状态的概率;

s5、根据目标对象处于站立状态的概率值与阈值的大小关系,判断目标对象的足部是处于摆动状态还是处于站立状态;

s6、将目标对象由站立状态切换为摆动状态的总次数作为其测量过程中的总步数,完成步数测量。

步骤s2的具体方法为:采用步长为1、长度为199的滑动窗口对惯性原始数据进行分割,得到若干长度为199的序列数据;其中每个序列数据均为三维矩阵,包含滑动窗口长度下加速度计和陀螺仪在三维坐标系中的数值,具体矩阵表示形式可如下:

其中分别为加速度计在t时刻的x轴数值、y轴数值和z轴数值;分别为陀螺仪在t时刻的x轴数值、y轴数值和z轴数值。

步骤s3的具体方法为:将每个长度为199的序列数据中的前100个数值构成的序列作为前向数据,将后100个数据进行逆向排列后得到的序列作为后向数据。例如对于分割得到的序列数据xk=[xk-99,xk-98,...,xk,...,xk+99],其对应的前向数据为后向数据为

步骤s4中的对称型循环卷积神经网络包括两个相同的循环卷积神经网络分支和两层串联的全连接层,两个循环卷积神经网络分支的输出拼接后与全连接层的输入相连接;每个循环卷积神经网络分支包括三层卷积层,每层卷积层后均设置有一个最大池化层,最后一个最大池化层的输出与四层串联的长短时记忆网络相连,最后一层长短时记忆网络的输出为该循环卷积神经网络分支的输出。

在本发明的一个实施例中,三层卷积层的卷积核大小均为15×3,卷积核数量分别为32、32和64。三层最大池化层的池化核尺寸均为2×2。两层串联的全连接层的神经元个数分别为64和1。四层串联的长短时记忆网络的输出维度均为192,最后一层长短时记忆网络只取最后一个时间歩的输出。

步骤s5的具体方法为:若目标对象处于站立状态的概率值大于等于0.5,则判定目标对象处于站立状态;若目标对象处于站立状态的概率值小于0.5,则判定目标对象处于摆动状态。

在具体实施过程,卷积层利用卷积核对输入数据进行特征提取,具体公式为:

其中为卷积层l第i个神经元上第j个特征图的输出;为卷积核;bj为解决特征图的偏置;m为卷积操作的总运算次数;relu(·)为relu激活函数。

最大池化层统计不同位置的特征,将卷积后有用的信息筛选出来。长短时记忆网络将提取经过三次卷积和池化处理后的数据间的时序关系,具体公式为:

it=σ(ωixxt+ωihht-1+bi)

gt=tanh(ωgxxt+ωghht-1+bg)

ft=σ(ωfxxt+ωfhht-1+bf)

ct=ft⊙ct-1+it⊙gt

ot=σ(ωoxxt+ωohht-1+bo)

ht=ot⊙tanh(ct-1)

其中it表示长短时记忆网络t时刻的输入门状态;xt和ht-1分别表示t时刻输入状态和t-1时刻隐藏单元状态;ωix和ωih分别表示对应输入和隐藏单元的权重;bi为偏置;σ(·)为sigmoid激活函数;gt为针对t时刻的输入数据得到的候选信息;ωgx和ωgh分别表示对应输入和隐藏单元的权重;bg为偏置;tanh(·)为tanh激活函数;ft为t时刻的遗忘门状态;ωfx和ωfh分别表示对应输入和隐藏单元的权重;bf为偏置;ct为t时刻的神经元状态,ct-1为t-1时刻的神经元状态;⊙表示点乘操作;ot为t时刻的输出门状态;ωox和ωoh分别表示对应输入和隐藏单元的权重;bo为偏置;,ht表示t时刻的隐藏单元状态,即长短时记忆网络在t时刻的输出。

两个循环卷积神经网络分支的最后一层长短时记忆网络均输出一维特征,维度为(1,192)。那么只要将前向数据对应的分支的输出与后向数据对应的分支的输出按第一维度连接成一个新的一维特征,维度为(1,384),即完成拼接操作。最后,全连接层对经过拼接两个循环卷积神经网络分支输出的特征得到的数据进行加权求和整合出更加高阶抽象的数据特征,并输出关于输入数据对应的站立状态的概率。在具体实施过程中,可以采用标记好的数据对对称型循环卷积神经网络的参数进行训练。

综上所述,本发明基于惯性测量单元中的加速度计和陀螺仪,设计对称型循环卷积神经网络通过挖掘传感器数据中高纬度特征,获得对于每一个采样点上行人状态的判断(即站立或摆动),最后将网络的输出信息转换为步数信息。本方法在不需要运动模式和行人信息的情况下,将原始的惯性单元数据通过滑动窗口的形式送入神经网络,可以准确且鲁棒的实现行人步数的检测。

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