基于手机加速度传感器的高精低采样计步算法设计

2015-01-01 03:14梁久祯朱向军
关键词:步频测试者校正

梁久祯,朱向军,陈 璟

(江南大学物联网工程学院,江苏无锡 214122)

目前,大部分智能手机中都内置了多种微机电 MEMS(micro-electromechanical systems)传感器,许多研究者开始利用这些传感器开发新的功能,其中一个典型应用就是步数检测。

使用智能手机进行计步所使用的传感器主要是加速度计和陀螺仪[1-7]。加速度传感器可以检测人体运动过程中加速度的变化,通过时域或频域分析提取出步态特征。陀螺仪一般通过检测人体运动过程中的角速度变化规律进行计步,如大腿的摆动。相比来讲,使用加速度传感器进行计步比陀螺仪具有更好的适用性和更方便的用户体验。文献[4]使用零速率更新ZUPT(zero velocity update)方法进行步数检测,对加速度积分获得垂直位移,并通过几何计算得出步长信息。但该方法需要将传感器装置固定在腰上,对噪声的抗干扰能力较差。文献[5]提出的基于加速度的计步算法引入了校正因子,用于修正幅值检测的阈值。该算法在步频大于90beat/min时具有较高的计步精度,但在低步频情况下,其准确率明显降低。在80beat/min时的准确率为80%,70beat/min时为40%,60beat/min时仅有10%。为了提高低步频时的算法精度,文献[6]使用手机内置的陀螺仪进行计步,并将其应用于室内定位系统。此外,该方法通过幅值分析可以进行简单的活动识别,如走路、上下楼梯、上下斜坡等。在此基础之上,文献[7]将过零检测(Zero Crossing)方法应用于陀螺仪计步,在低步频情况下的计步准确度可以达到90%以上。使用陀螺仪虽然在低步频时能够获得较好的计步效果,但该方法对手机的摆放位置具有较高的要求。

计步算法研究所面临的另一个问题是算法复杂性和计步准确性的矛盾问题。由于智能设备的续航能力非常有限,为了满足较高的计步精度,进行复杂的数据处理是不切实际的。对此,本文提出了一种基于加速度传感器的计步模型。该方法不需固定的手机摆放位置,使用双算法结构来解决算法复杂性和计步准确性的矛盾问题,并通过自主数据通道选择进一步减少算法处理的数据量,能够在低步频时保持较好的计步精度。

1 问题描述与计步理论

人体的步态运动是一个周期性的过程,步态周期是指从一只脚离开地面开始到该脚再次接触地面的过程[8]。在这种运动过程中,身体重心会由于大腿的交替弯曲而产生上下浮动。此外,人的行走过程从微观来讲并非匀速的,而是一种变加速运动[9]。通过手机内置的加速度计可以检测到运动过程中的加速度变化,其垂直方向及前进方向的加速度变化规律如图1所示。

图1 步态周期与加速度变化规律[8]Fig.1 Gait cycle and acceleration pattern[8]

2 计步算法设计

本文设计的计步算法共分为4个部分:数据通道选择、辅助计步算法、校正因子估计和主体计步算法。(1)数据通道选择阶段主要是对三轴加速度数据通道进行选择以减少算法处理的数据量。(2)辅助计步算法阶段通过对选取的一小段加速度信号进行卡尔曼滤波和信号幅值分析,然后使用阈值判定方法进行计步。该计步算法具有较高的计步精度,但同时需要较强的计算能力和存储能力。(3)校正因子估计阶段主要是根据辅助计步算法的计步结果和信号峰值分析,得出一个校正因子用于后续的主体计步算法。(4)主体计步算法阶段是计步的主要过程,它利用校正因子设定一个动态的自适应阈值进行峰值判断。该算法采用差分滤波,需要的采样频率较低,但其计步精度依赖于阈值校正因子,与辅助计步算法的计步精度密切相关。本文设计的计步模型,不仅可以考虑用户的步态习惯和手机摆放,而且能够适应用户的不同运动状态,具有很强的鲁棒性。

2.1 数据通道选择

手机内置的加速度传感器一般都是3轴的,可以测得手机发生运动时的前向加速度、侧向加速度以及垂直加速度。为了使计步算法能够适用于不同位置上的手机摆放,一般采取的方法是对3轴加速度数据进行平方求和,如公式(1)所示。

由前面的分析可知,运动过程中侧向加速度的幅值变化较为微弱,且不具有周期性特征,因此在利用公式(1)计算加速度幅值时不必考虑该部分数据。侧向加速度可以通过检测各组数据的方差获得,将方差最小的一组认为是侧向数据,并将其数据全部置零。图2使用不同加速度通道进行数据合成的结果,各轴的数据方差分别为0.51,0.91和1.59。由图可以看出,使用y轴和z轴合成的加速度幅值图2-b与3轴合成的加速度幅值图2-d几乎相同。

2.2 辅助计步算法

首先对合成加速度数据进行卡尔曼滤波处理。卡尔曼滤波在消减噪声和平滑数值方面具有非常好的效果,如图3-b所示。使用阈值方法对加速度峰值进行判定易受多种因素的影响。为此,本文在文献[11]工作基础上对其算法进行改进。

图2 使用不同数据通道合成的加速度幅值Fig.2 The acceleration magnitude calculated by different data channel

当相邻采样点的加速度幅值变化大于阈值T时,分别使用计数变量Cin与Cde来对一个步态周期内的累加次数进行统计,并且在一个步态周期临近结束时将累加量Q置零,以避免产生累加漂移现象。该方法能够在不同步频、不同手机摆放情况下保持较高的计步准确性。该算法的伪代码如算法1所示。其中,P为经过卡尔曼滤波得到的加速度信号,即输入信号,Q为输出信号;T值用来抑制缓慢噪声,通常将其设为0.02;K值作为累加常量,本文将其设为1;SF为加速度采样频率。经过该方法处理后的滤波效果如图3-c所示,信号为高频率采样(50Hz)。

图3 辅助计步算法数据处理过程Fig.3 The data processing in auxiliary algorithm

images/BZ_55_1288_433_2192_491.png1. if Pi-Pi-1>T then 2. Qi=Qi+K,Cin=Cm+1;3. if Cin>SF/6 then 4. Cde=0,Cin=0;5. if Pi-1-Pi>T then 6. Qi=Qi-1,Cde=Cde+1;7. if Cde>SF/6 then 8. Qi=0,Cde=0,Cin=0 9. if|Pi-1-Pi|<T then Qi=Qi-1

2.3 校正因子估计

2.3.1 数据预处理 校正因子估计阶段与辅助计步阶段使用的是同一时间的数据。由于主体计步算法在低采样频率(10Hz)时即可进行较为准确的计步,因此首先对该段加速度数据进行信号抽取,然后根据数据通道选择结果合成加速度幅值(公式(2)),并对结果进行差分(公式(3))。差分的目的是提取出加速度变化较快的点作为步态特征,同时抑制变化缓慢的噪声。

2.3.2 阈值校正因子 首先,截取一小段时间数据并使用辅助计步算法进行计步,其计步结果记为Nas。通过实验分析可知,加速度幅值在经过差分后,其谷值较峰值具有更好的规律性,如图4-b所示。因此,本文对预处理后的数据进行谷值检测,计算其平均谷值并升序排列,将序列号为Nas的谷值作为非校准阈值,记为Thnon。通过实验可知,直接使用非校准阈值或者平均谷值进行阈值判定很难获得较为准确的计步结果。为此,文献[10]中定义了一种阈值校正因子,如公式(4)所示

其中,Thnon为非校准阈值,Pavg为平均峰值(谷值),Fcal为校正因子。

2.4 主体计步算法

2.4.1 算法计步过程 首先设定一个时间窗,对该时间窗内的加速度数据进行预处理,然后进行谷值检测并计算其平均值。校正阈值的定义如公式(5)所示

其中,Fcal即校正因子,P'avg为时间窗内数据的平均谷值,Thcal为校正后的阈值。

如果加速度谷值不大于校正阈值Thcal,则将步数加1。对该时间窗内的所有谷值进行判定以后,将时间窗向后滑动一个窗口的长度,再次进行上述检测和判定。

2.4.2 延时机制 由于噪声干扰或步态的特殊性,在一个步态周期中可能出现两个峰值,如图4-c中的圆圈标注。这种情况的连续出现会对计步准确性产生较大的影响,利用延时机制可以减少这种误判。首先设定一个延迟时间,在检测到第一个峰值后的延迟时间窗内,如果再次出现一个峰值,则将较大的峰值保留,并将较小的峰值置零。延迟时间的设定对计步算法有很大的影响,延迟时间太小将失去该机制的作用,延迟时间太大可能会对峰值造成漏检。人体步频变化范围一般在为50~180beat/min,因此将延迟时间设为200ms能够很好地消减多峰值(谷值)的影响。

2.4.3 状态反馈机制 在数据通道选择过程中,系统仅使用加速度变化较为明显的数据进行步数检测。但一般在行走过程中,由于手机相对人体的朝向发生改变,使得各数据通道的加速度特征发生变化,丢失有效的加速度信息,对步数检测造成困难。为此,本文在主体计步算法中设计了一个状态反馈机制来定期跟踪传感器各数据通道的加速度特征,以及时更新数据通道的选择。反馈的方法与数据通道选择的原则相似,通过计算各通道数据一小段时间内数据的方差来确定通道的选择。一旦选择的数据通道发生变化,则需要重新调用辅助计步算法并更新阈值校正因子。

图4 主体计步算法数据处理过程Fig.4 The data processing in primary algorithm

3 实验评估

3.1 实验设置

在实验环节共有7名测试者(4男3女)参与,每名测试者在实验过程中携带两部相同的手机(MI3),分别标记为主机和副机,其携带位置如表1所示。在计步过程中通过节拍器控制测试者的步频,步频变化范围为50~130beat/min。

表1 测试者的手机位置摆放Tab.1 The placement of smartphone

3.2 实验分析

3.2.1 计步算法的准确性分析 在本文设计的计步算法中,由于主体计步阶段的校正因子依赖于辅助计步阶段的结果,因此需要首先保证辅助计步算法的准确性。表2为在不同步频情况下加速度传感器采样频率对辅助计步算法准确性的影响,其数据来源于测试者4的主机。由表2可以看出,在采样频率为12.5Hz时,其平均准确率只有90.44%,且计步结果极不稳定。当采样频率为25Hz时,平均计步准确率达到96.67%。为了保证算法的稳定性,本文将辅助计步阶段的采样频率设为50Hz,在正常步频(80~120beat/min)情况下,其计步准确率非常接近于1,且计步结果较为稳定。

图5为7名测试者在100beat/min情况下行走50步时的计步准确性结果,其数据来源于各测试者的主机。其中,单通道是使用加速度方差最大的一轴数据进行计步的结果,双通道时使用方差较大的两个轴上的加速度数据,自主选择即采用本文的数据通道选择方法进行计步。由图5可以看出,使用单轴加速度数据在一些情况下的计步准确性非常低,平均准确度为72.85%,且计步结果极不稳定。与自主选择通道相比,使用三轴加速度数据的计步准确性并没有明显提升。因此,数据通道选择机制在保证计步准确性的前提下,可以减少计步算法处理的数据量。

表2 采样频率对辅助计步算法计步准确度的影响Tab.2 The effect of sampling rate on accuracy of the auxiliary algorithm /%

表3 步频对计步准确性的影响Tab.3 The effect of stride frequency on the accuracy of step counting /%

图5 数据通道选择对计步准确性的影响Fig.5 The effect of data channel selecting on the accuracy of step counting

3.2.2 计步算法的鲁棒性分析 当用户在不同步频,或者进行不同活动的情况下,身体不同组织的加速度具有较大的差异,这将影响计步算法的准确性和鲁棒性。

表3是7名测试者在不同步频情况下计步准确性的结果,其数据来源于各测试者的主机。由表中数据可以看出,在低步频情况下,计步算法的准确性相对较低,其主要原因是在缓慢行走过程中,身体各组织的加速度变化较为微弱,对步态的误判和漏判均较为严重。由图可以看出,在步频达到90bpm时,计步的准确率可以稳定在90%以上。

表4 运动状态对计步准确性的影响Tab.4 The effect of data channel selecting on the accuracy of step counting /%

表4是7名测试者在进行不同活动时的计步准确性结果,其数据来源于各测试者的主机。在低步频情况下身体各部组织的加速度变化较为微弱,因此计步准确度相对较低。而在慢跑情况下,由于引入的噪声成分较大,因此计步准确性不是非常稳定。由表中数据可以看出,本文的计步算法能够较好地适应各种活动,除了低步频情况下,其平均准确率均能够达到90%以上。

表5是在不同手机摆放位置情况下的平均准确性结果,其数据来源于各测试者的主机和副机。通过比较可知,在手持情况下的计步准确度最高,且较为稳定,其原因主要是系统引入的振动噪声较少。在其他位置摆放情况下,其平均准确率可以达到90%以上。因此可以看出,本文设计的计步算法即使在低频率采样情况下,也能够较好地适应不同位置上的手机摆放。

表5 手机摆放位置对计步准确性的影响Tab.5 The effect of smartphone's placement on the accuracy of step counting /%

3.2.3 算法对比 本文设计的计步算法包括两个主要部分,其中辅助计步算法在文献[11]的算法思想上进行改进,主体计步算法采用了文献[10]提出的校正因子,因此本文将这两种算法作为比较的对象,并分别记为TRAN算法和HUANG算法。

首先由一名测试者携带手机自由行走1 000步,并分别在150,300,500,800步时任意更换手机的携带位置。图6是使用不同计步算法得到的计步准确性结果。由图可以看出,辅助计步算法在整个行走过程中能够一直保持较高的计步准确度,而TRAN算法鲁棒性较差,其主要原因是该算法只有在滤波结果非常接近于正弦曲线时才能达到较好的计步效果。HUANG算法使用前50步作为训练数据,在100步时的计步结果较为准确。但当改变手机的摆放位置后,加速度幅值特征发生变化,其计步准确性开始下降。而本文计步模型通过间歇性地更新校正因子,能够及时地适应加速度幅值特征的变化,保持计步结果的准确性。

本文的计步算法虽然包括辅助计步阶段,但该阶段的运行时间非常少(5% ~10%),因此其总体的数据处理量与HUANG非常接近。综合图6和图7可以看出,本文的计步模型在数据量降低了70%的情况下,其准确性较辅助计步算法仅降低了5%。此外,由于计步模型在90%以上的时间是使用差分滤波,因此降低了算法的复杂度。

图6 计步算法的准确性比较Fig.6 The complication of algorithm accuracy

图6是不同计步算法在计步过程中处理数据量的变化曲线。由于辅助计步算法和TRAN算法设置的采样频率为50Hz,因此算法处理的数据量较大。

图7 不同计步算法处理的数据量变化曲线Fig.7 The total quantity of data processed in different algorithm

4 结语

本文设计的计步算法能够在降低数据处理量和算法复杂度的同时保持较高的计步精度,并且可以适应不同用户的步态习惯,进行自适应阈值修正。其中辅助计步阶段通过信号幅值分析,避免了对直接加速度幅值大小进行判定,具有较高的准确度和鲁棒性,可以用于室内定位等对计步精度要求较高的应用。主体计步阶段利用辅助计步算法提供的校正因子,使计步算法准确度达到90%以上,可以对日常运动量提供较为准确的评估。此外,本文在实验环节总结了影响计步算法的主要因素,并分别通过实验对计步算法的准确性和鲁棒性进行了验证。

[1] PAN M S,LIN H W.A step counting algorithm for smartphnone users:Design and implementation[J].Sensors Journal,2015,15(4):2296-2305.

[2] BRAJDIC A,HARLE R.Walk detection and step counting on unconstrained smartphones[C].The International Joint Conference on Pervasive and ubiquitous computing.New York:ACM,2013:225-234.

[3] OSHIN T O,POSLAD S.ERSP:An energy-efficient real-time smartphone pedometer[C].IEEE International Conference on Systems,Man,and Cybernetics(SMC),Manchester:IEEE,2013:2067-2072.

[4] LAN K C,SHIH W Y.Using simple harmonic motion to estimate walking distance for waist-mounted PDR[C].Wireless Communications and Networking Conference,Shanghai:IEEE,2012:2445-2450.

[5] ONER M,PULCIFER-STUMP J A,SEELING P,et al.Towards the run and walk activity classification through step detection-An android application[C].Engineering in Medicine and Biology Society,San Diego:IEEE,2012:1980-1983.

[6] ABHAYASINGHE N,MURRAY I.A novel approach for indoor localization using human gait analysis with gyroscopic data[C].International Conferenc on Indoor Positioning and Indoor Navigation,Sydney,2012.

[7] JAYALATH S,ABHAYASINGHE N.A gyroscopic data based pedometer algorithm[C].International Conference on Computer Science& Education,Colombo:IEEE,2013:551-555.

[8] ZHAO N.Full-featured pedometer design realized with 3-Axis digital accelerometer[J].Analog Dialogue,2010,44(6):1-5.

[9] YANG M J,ZHENG H R,WANG H Y,et al.Assessing the utility of smart mobile phones in gait pattern analysis[J].Health and Technology,2012,2(1):81-88.

[10]YANG M J,ZHENG H R,WANG H Y,et al.An orientation free adaptive step detection algorithm using a smart phone in physical activity monitoring[J].Health and Technology,2012,2(4):249-258.

[11] TRAN F,LE T,DINH T.A high-accuracy step counting algorithm for iPhones using accelerometer[C].International Symposium on Signal Processing and Information Technology,Ho Chi Minh City:IEEE,2012:213-217.

猜你喜欢
步频测试者校正
劉光第《南旋記》校正
苏炳添60米跑全程节奏研究
苏炳添与世界优秀男子60 m跑运动员步频节奏对比分析
搜救犬幼犬挑选测试
谢震业与世界优秀100m运动员步频节奏比较研究
博尔特百米全程节奏的跟踪研究
基于MR衰减校正出现的PET/MR常见伪影类型
指纹收集器
在Lightroom中校正镜头与透视畸变
机内校正