多场景下的行人步频自适应检测方法

2022-01-24 15:13:00郭丞吴飞朱海
全球定位系统 2021年6期
关键词:步频峰谷行人

郭丞,吴飞,朱海

( 上海工程技术大学 电子与电气工程学院, 上海 201620 )

0 引 言

在市区和室内环境中,对目标用户的准确定位有很多应用,如大型会展中心的导览、养老院对老年人的安全看护、消防救援人员的定位等. 由于建筑物对卫星信号的遮蔽,全球卫星导航系统(GNSS)在室内应用中的定位精度不高[1]. 而现有的室内定位技术中,如无线保真(Wi-Fi)、低功耗蓝牙(BLE)、超宽带(UWB)、雷达等需要在定位场所提前部署定位设备,并且成本与定位区域的面积成正比,限制了这些室内定位方法的普及应用[2]. 基于智能手机内置传感器的行人航迹推算(PDR)算法[3]室内定位方法不需要提前布置设备,适用于一些未知环境,而高精度的步频检测对基于加速度计的PDR定位是很重要的一部分.

步行是人们日常最基础的运动形式,很多人通过手机自带的运动健康软件来检验自己一天运动量是否达标. 在近几年的步频检测文献中,峰值检测[4-6]和阈值检测[7-9]是较为常见的计步方法. 文献[10]基于智能手机内置加速度计,提出了阈值来检测波峰波谷来实现计步,并使用峰谷值间的最小距离特征,以避免过度计数问题. 文献[11]基于低成本的微机电系统(MEMS)传感器,提出一种支持向量机(SVM)的运动状态分类方法,将峰值检测和带通滤波器结合起来,再根据不同的运动状态设定阈值,但该方法在分类中运用了SVM,这将需要大量的计算. 由于低成本的传感器精度不高,导致记录的原始运动数据中包含了很多噪声干扰,在进行步频检测时,会影响真实步数. 文献[12]介绍了一种能检测手机用户运动状态的分类器,并根据运动状态采用自适应步频检测,同时对传感器数据进行低通滤波和移动平均滤波的预处理,计步精度达97%,但是该方法对用户佩戴设备要求高,限制了应用的便捷性. 文献[13]提出将手机传感器的采集数据通过卡尔曼滤波(KF)[14]处理,再根据加速度信号幅值提取步频数据,处理后数据的准确度和鲁棒性都有所改善. 文献[15]提出运动分类的区间对称步频检测,将运动分类为慢速、常速和快速,但是这种算法在长距离的运动中容易忽略真实步伐.文献[16]在峰值检测算法的基础上,提出了最小峰值及距离、动态阈值和静止消振的检测方法,能够实现99.42%的检测精度,但是在应用场景上受到了限制且算法相对复杂.

针对上述问题,本文作者提出了一种基于智能手机加速度传感器的加速度数据预处理和步频检测方法,分析了不同类型的行人手持手机在不同场景、速度行走下的加速度数据特征,将预处理后的加速度数据通过检测其峰谷值进行计步. 针对运动状态下的原始数据信号夹杂着由于手部额外施加的力、传感器自身漂移等因素所带来的伪波峰波谷噪声等问题,提出一种加速度数据预处理算法,该方法通过赫尔指数移动平均法[17]减弱一定的噪声,再利用KF去除原始加速度数据中存在的部分高斯噪声,最后再通过巴特沃斯低通滤波[18]得到更利于步频检测的加速度数据峰谷值模型. 针对行人运动场景的复杂性,提出自适应的步频检测方法:峰谷值去异、自适应动态阈值、峰谷值成对. 通过行人在上下楼场景下行走以及在水平地面上慢速走、常速走、快速走的测试表明:本文方法在不同行走速度和场景下能达到较好的计步精度,有效剔除加速度信号中的异常峰谷值.

1 加速度数据的采集

本文是基于安卓(Android)操作系统的智能手机内置加速度计采集数据的,经手机内置传感器的输出频率通过设置输出模式来调控,频率在15~200 Hz[19].过高的采样频率会导致数据质量较差并不利于研究,为了更好地反映行人行走状态,设置软件的采样频率为50 Hz. 现如今在Android手机里都有线性加速度计,即去除了重力加速度的加速度值其坐标系也与加速度计相同,因此文中选用线性加速度值进行实验,行人保持手持手机姿态如图1所示,手机保持在身体平衡的水平姿态且屏幕朝上.

图1 行人手持手机姿态

图2为行人手持手机在平面上直线行走时所采集的用户加速度以及x、y、z轴 的合加速度 A cc ,Acc如下式所示:

式中:ax、ay、az分别是去除重力加速度g之 后的x、y和z轴用户加速度大小,其中g=9.8 m/s2. 图2中所示的加速度是去除重力加速度的行人线性加速度,但是波形中依然存在很多类似毛刺的噪声,尤其是x轴和合加速度的数据. 此时的y轴和z轴上的数据相对平缓,在以零线为对称轴时,z轴数据更具有对称性,其更好地显示了行人行走时在垂直方向上受力作用产生的周期性波动. 综上本文选用z轴加速度进行步频检测,在行人完成一步行走的周期内,加速度数据产生一对峰谷值时即可判定行人行走了一步.

图2 行人行走时三轴及合加速度

2 预处理算法及计步算法

2.1 数据预处理

智能手机的加速度信号是由重力、行人加速度和噪音组成. 但是智能手机内置的加速度传感器精度不高,采集的过程中易受行人相对运动的抖动影响,从而得到采集完的数据噪声偏高,在放大加速度计信号时会影响步频检测. 因此需要采用合适的预处理算法,还原采集数据的规律性,是步频检测的重要一环.赫尔指数移动平均可过滤高频噪声,保留有用的低频趋势,且随着计算阶数的增大,移动平均线越平滑,能在一定程度上去除噪声. KF具有去除高斯噪声的特性,能够去除原始数据中的高斯噪声. 经过上面两步去噪后,加速度数据依然还存在着毛刺干扰,而巴特沃斯低通滤波具有通频带的频率响应曲线,处理后的数据更利于步态检测.

1) 赫尔指数移动平均法

大多数移动平均法普遍存在滞后问题,该方法在对样本值赋予高权重来提高低频趋势的同时,还能有效地减少滞后,可用来剔除比较明显的连贯抖动误差和周期性干扰误差. 通过不断的实验发现,较高的阶数不利于加速度数据的处理,故设置阶数为3阶. 公式如下:

式中:T为阶数;xn为n时 刻的加速度数据;AT(xn) 为处理后的加速度数据.

2) KF

KF可以处理随机离散线性系统,而加速度信号是离散的,用KF对加速度数据进行误差修正后,得到更接近真实值的数据. 滤波将加速度计的输出看作是一个平稳的随机过程,同时将原始信号中掺杂的干扰因素当作白噪声(WN)来去除. 其中滤波包括两个步骤:第一步是基于线性随机差分方程的预测信号生成预测信号;第二步是根据预测信号和噪声协方差找到合适的信号,然后用它来更新噪声协方差,使加速度信号平滑化.

原理如下:

式中:Xk为系统状态向量;Uk-1为 系统控制向量;Wk-1为系统状态噪声;A为状态转移矩阵;B为噪声转移矩阵.

式中:Zk为量测向量;H为量测矩阵;Vk为量测噪声矩阵.

预测阶段:

式中:Kk为 卡尔曼增益;Pk为误差协方差矩阵;依据实验环境,Wk和Vk是不相关的WN,其方差矩阵分别为Qk和Rk.

3) 低通滤波

对于低通滤波,是低于某个频率为通带,高于某个频率为阻带,巴特沃斯滤波的特点是通频带的频率响应曲线最平滑. 而选定的z轴数据在经过上两步处理后仍然存在着毛刺干扰,本文选用巴特沃斯低通滤波器对数据信号预处理. 行人的行走步频为1~3 Hz[20],设置低通滤波器的截止频率为3 Hz. 如式(11)所示:

式中:n为滤波器的阶数;wc为截至频率;wp为通频带边缘频率在通频带的数值为

2.2 预处理结果分析

如图3所示,将初始加速度数据信号依次通过预处理算法.

图3 加速度数据预处理前后对比

图3(b)为原始加速度数据经过赫尔指数移动平均滤波后消除的部分误差噪声,图3(c)为紧接着经过KF后,消除了大部分的干扰噪声引起的伪波峰波谷,最后将数据信号通过低通滤波如图3(d)后,波形显得愈加平滑,正弦特征越加明显,更有利于峰谷值检测.

2.3 峰值检测

通过对行人步态的分析可知,步行时加速度会出现周期性类正弦波的振荡特性,峰值检测方法是通过检测加速度数据中出现的峰值个数来计算行人的行走步数[21]. 峰值检测方法可以表示为

式中:xt为当前时刻下的加速度;xt-1和xt+1分别为上一时刻和下一时刻的加速度. 经过预处理算法平滑处理后的数据仍然存在伪波峰影响最终的检测精度和准确度. 因此,下文提出了自适应峰谷值检测法,用以剔除异常峰值和谷值以提高检测精度.

2.4 步频检测

图4为基于加速度数据预处理的步频检测流程图. 经过预处理后的加速度数据能直观地看到其峰谷值数目,但是并不能直接作为步频检测的依据,还需要通过本文所提的步频检测方法进行提炼,步骤如下:

图4 数据预处理和步频检测流程

1) 峰谷值去异

行人在行走时会存在短暂的停留,因此需要识别静止和运动状态下的所有峰谷值,但是不包括小于零的峰值和大于零的谷值. 通过式(13)提取步行信号中的静止异常值

式中:ap(n) 和av(k) 是行人行走下识别出来的所有峰值和谷值;n和k为待处理数据序列;i和j分别是提取加速度峰谷值阶段时的峰值数目和谷值数目. 在静止状态下经过实验,如图5所示,得到的z轴加速度的最大和最小阈值分别为0.05和-0.05. 通过式(13)可以剔除大部分静止状态下的峰谷值,并且能够完整地将步行峰谷值保留下来.

图5 静止时加速度数据

2) 自适应动态阈值

动态阈值法是根据在一个窗口大小内的加速度数据的最大值和最小值建立的,窗口的阈值设定取决于行人的运动状态,它的阈值直接影响系统判定的精度. 通常,步行速度在慢速、正常和快速行走状态下会产生接近零线或者离真值较远的伪波峰波谷值,可能还包括在提取运动信号时遗留下来的少数静态信号,动态阈值的设置可以剔除这些伪真实值.

普遍的动态阈值只是针对某一特定场景下,而在行人行走在上下楼的复杂场景时,由于两层楼梯之间的连接处是中间休息平台,会导致行人采集在连续上楼或下楼经过楼梯间的相对平地时数据波动较大.图6为上下楼的数据波动图,矩形圈处为在楼层连接处的平地时行走的数据波动,容易被阈值忽略. 但是针对上下楼场景时设置的动态阈值并不适用于平地行走的情况,因此,提出一种自适应的动态阈值. 图7为根据实验数据的经验值,设置峰值和谷值均方差α=0.2为衡量阈值来判断加速度数据的离散程度,窗口大小为50,当峰谷的均方差大于 α 时,说明数据波动较大,即行人行走时有较大起伏或者运动场所较为复杂,定义动态阈值如式(14)所示:

图6 上下楼的数据波动

图7 随机5组的阈值选取实验对比

式中:apeak(i) 和avalley(i) 分 别是i时刻的峰值、谷值;n和k分别为峰值数和谷值数;a¯peak和a¯valley分别是所有峰值、谷值的均值. 用峰值和谷值的均方差来作为阈值能更明显地过滤波动较大的步频曲线特性,图8(a)为圆圈处该动态阈值在行人行走在连续上下楼时截取到的伪真值.

图8 动态阈值截取伪真值

当峰谷的均方差小于 α 时,说明数据的波动程度较小,即行人行走时步态较为平缓或者行走地面较为平坦,则定义动态阈值如式(15)所示:式中:用峰值和谷值的均方差来作为阈值. 实验中当行人行走在较平坦的地面时,数据起伏较小,数据离散程度较中心偏低,此时峰谷值的均方差比方差更为精确. 图8(b)为矩形框处为该动态阈值在行人行走在水平地面时截取到的伪真值.

3) 峰谷值成对

为了得到成对的峰谷值,即单步发生的加速度峰谷值应该是按照时间顺序间隔出现. 根据采集的步行数据,行人行走的每一步数据应该是峰谷成对显示的,因此剔除不成对的伪真值. 图9所示实线圈出来的值,相邻的峰值、谷值之间没有一个峰值或谷值间隔,即删除靠近零的峰值或谷值,最后获得的峰谷值对个数即为行人的执行步数.

图9 峰谷值对去伪

3 实验测试与结果分析

实验使用设备型号为Samsung Note10(系统:Android 11). 测试时,行人保持手持手机平端在胸口状态行走,且手机屏幕朝上. 步行估计误差按照式(16)进行计算:

式中:Error为实验误差;teststep和truestep分别为测试步数和实际步数.

首先,检验了本文的预处理算法和只用低通滤波的前后对比. 如图10(b)圆圈处所示,只经过低通滤波的数据存在很多毛刺,这些毛刺会影响步频检测结果.

图10 预处理算法对比

其次,峰值检测法和动态阈值法在常速走和快速走时的检测精度有不错的效果,但是在上下楼场景下行走,甚至在慢速行走时,其平均检测误差高达19.52%和8.68%. 图11(a)和(c)为上下楼时行走和慢速行走的峰值检测结果,图11(b)和(d)为本文方法的步频检测结果. 由图中看出峰值检测在上下楼行走、慢速行走时出现过计、错计的主要原因在于将靠近真实峰值的异常值也认为是步行信号,而本文的方法能够克服步行中的这类干扰值达到更高的检测精度.

图11 两种步频检测算法对比

表1 对比了峰值检测和本文提出方法的实验结果. 由表1数据可知,本文测试了5名行人(年龄在22~26岁,身高在1.75 ~1.86 m,体重在65~85 kg)在上下楼场景下以及在水平地面慢速走、常速走、快速走时行走100步的步频检测结果. 文章方法在上下楼场景下的步频检测中,检测精度平均高达99.40%,在水平地面不限制步速的行走状态下,检测精度平均高达99.47%以上. 本文的步频检测算法适用于不同的运动场景和运动状态,不仅适用于上下楼的运动场景,还适用于行人行走过程中的变速行走的运动状态. 在进行了一段慢、常、快三种步速分别行进各40步合计共120步的路程实验中,得到最终的行走数与实际步数相差仅1步,实现在运动过程中不受运动状态变化影响的准确计步.

表1 (续)

表1 5名行人的步频检测结果

综合上述实验结果表明:本文提出的基于加速度数据的预处理算法能够有效地过滤原始加速度信号中的毛刺噪声,提出的自适应步频检测算法适用于不同运动场景且步行速度不受限制,能够克服步行过程中的干扰信号,达到较高的步频检测精确度.

4 结束语

针对手机内置传感器的加速度原始信号存在许多噪声干扰等问题,将加速度信号通过赫尔指数移动平均滤波、KF以及低通滤波的组合进行数据预处理,对峰值检测中存在错计以及应用场景单调受限等问题,提出一种自适应的步频检测算法,该方法针对多种运动场景和状态去自适应调节检测阈值,有效剔除了用户步行过程中的假步,实现在多种运动场景和行走步态下的高精度计步. 实验结果表明:该算法在各种场景和步态下的平均精度为99.44%,具有抗干扰能力强、计步精确度高、自适应多场景的优点. 但本文的方法是基于行人手持手机平行于胸口的单一姿态且处理数据是离线进行的. 在未来,可以设计一个应用软件实现实时计步和定位,还可以研究在更多行人姿态下的运动,如放在背包、口袋以及单手握持手机前后摆臂等.

猜你喜欢
步频峰谷行人
苏炳添、谢震业百米跑技术变化特征的比较分析
毒舌出没,行人避让
意林(2021年5期)2021-04-18 12:21:17
湖南省峰谷分时电价分析及优化策略研究
湖南电力(2021年1期)2021-04-13 01:37:02
浅谈峰谷时段的划分方法
科技风(2019年1期)2019-10-14 01:36:13
苏炳添60米跑全程节奏研究
苏炳添与世界优秀男子60 m跑运动员步频节奏对比分析
路不为寻找者而设
扬子江(2019年1期)2019-03-08 02:52:34
谢震业与世界优秀100m运动员步频节奏比较研究
我是行人
电动汽车峰谷分时电价时段充电优化模型
电源技术(2016年9期)2016-02-27 09:05:41