凌海波, 杨静, 周先存
(皖西学院a.电子与信息工程学院;b.体育学院, 安徽六安237012)
基于手机加速度传感器的波峰波谷计步算法研究
凌海波a, 杨静b, 周先存a
(皖西学院a.电子与信息工程学院;b.体育学院, 安徽六安237012)
智能手机及其内置传感器的普及可实现行人步数统计,但是由于人行走的随意性以及智能手机内置传感器精度不高,使计步精度难以满足应用要求,为此,提出了多种计步算法。为了解决传统计步算法难以实现计步精度和算法复杂度之间的平衡问题,提出了一种基于手机加速度传感器波峰波谷检测计步算法。分析了人体步行运动规律,给出了手机在不同姿态下的计步结果。实验结果表明,与现有的阈值和幅值计步算法相比,在计步步数为1000步时,该算法处理数据量降低了80%,明显降低了算法复杂度,计步精度也达到95% 以上,计步性能有了很大的提高,能够很好地满足计步要求。
计步算法; 加速度传感器; 波峰波谷检测
随着移动互联网发展,智能手机广泛地被应用于普通人群,其功能也被赋予多样化,其中一个重要的功能就是获取用户的位置信息。其中以GPS为代表的室外定位已经较为成熟,而现在的人们大多数生活在建筑物内部,所以室内定位的重要性越来越突出,而室内定位中步数检测是最基本的一项,计步结果的好坏直接影响到室内定位的精度[1-5]。
常用的计步手段都是利用智能移动终端(主要指智能手机)中的加速度计和陀螺仪来实现计步[6-12],加速度计可以获取用户运动时多个方向上的加速度值。文献[13]提出了一种基于手机加速度传感器的计步算法,该算法主要利用人体运动时加速度的幅值,通过对幅值检测获取用户的步数,但是该算法会随着用户步频的改变其计步精度也随之改变,在低步频时其计步精度明显降低。文献[14]提出了一种自适应计步算法,该算法分析了手机在不同状态下计步结果,计步精度很高,但是该算法处理数据量庞大,计算过程复杂,在很大程度上降低了计步的实时效果。文献[15]采用陀螺仪的过零检测计步算法,该计步算法会随着步频的增加其计步精度逐渐降低,并且该算法对手机的摆放位置具有很高的要求。
针对以上问题,同时考虑计步算法的复杂度和计步精度的问题,本文提出一种基于手机加速度传感器的波峰波谷检测计步算法。该算法首先分析了人体步行时加速度的变化规律,同时也考虑到手机在不同姿态情况下传感器每个轴会有不同的表现,本算法采用整体加速度代替单轴加速度,计步中通过检测合加速度值曲线的波峰和波谷实现计步效果。
对于人体而言,在行进过程中主要包括三个方向上的运动分量,即前向、侧向和垂直方向,设定手机坐标系统中的三个分量如图1所示,该坐标系是以手机自身为参照,其中前向轴为X轴,侧向轴为Y轴,垂向轴为Z轴。
图1手机三轴加速度计坐标系
人体步行一步之内垂直加速度变化状态如图2所示。人的正常步行一步的过程可以分为8个状态,为大致的正弦波形,其中S0为人体准备步行的初始状态,即处于静止状态;S1为一步的开始,此时人抬起脚,产生向上的加速度;S2为人抬脚向前移动,此时,垂直方向的加速度到达波谷;S3表示当前脚到达最高点之前的状态,此时向上的加速度逐渐减小;S4表示脚到达最高点的状态,此时垂直加速度降到0;S5表示人体开始放脚,此时产生垂直向下的加速度;S6表示人体落脚并向前移动,此时垂直加速度达到波峰;S7表示当前脚回到地面之前的状态,此时垂直加速度逐渐减小;S8表示脚落到地面,即一步的结束,垂直加速度为0。当检测到S8的状态时,则检测到1步,即一只脚离开地面开始到该脚再次接触地面的过程,称为一个步态周期,如图3所示。人体步行时的垂向加速度的变化规律是一个周期性的过程,大致为一个正弦曲线,且在某点有一个峰值或谷值。在实际的人体步行时由于手机在不同姿态下传感器的每个轴都会表现不同,以及传感器硬件本身的误差,所以测得的加速度会存在很多干扰,如图4所示,在连续行走中形成多个波峰或波谷,所以计步过程中需要对伪波峰和伪波谷进行甄别获取真实的波峰和波谷,然后通过波峰和波谷检测算法实现计步。
图2人体步行一步之内垂直加速度变化状态
图3步态周期和加速度变化规律
图4连续行走时出现的伪波峰和伪波谷
2.1自相关计步算法
自相关计步算法是利用人体连续运动产生的加速度序列直接的相似性来进行判断和计步[16]。该方法将人体状态分为空闲和行走状态,当人处于空闲状态时,人的运动无规律,而人处于行走状态时,其整体加速度值有明显的周期性变化,自相关计步算法利用当前计步周期和上一个计步周期的加速度序列的自相关系数大小判断行人是否完成一步行走动作。自相关算法过程包括:(1)计算当前运动周期的整体加速度序列的标准差;(2)对行走状态加速度序列,计算当前周期与前一个计步周期整体加速度的自相关系数。其算法流程如图5所示。可以看出自相关计步算法其算法的处理数据非常庞大,计算较为复杂。
图5自相关计步算法流程图
2.2波峰波谷计步算法
2.2.1加速度提取
人体在行进过程中,身体在水平和垂直方向会呈现周期性的变化特征,为了避免手机在不同姿态情况下传感器的每个轴会有不同表现,本文采用获取加速度强度SMA和整体加速度a进行计步计算,其定义如下
(1)
(2)其中,a_X(i)、a_Y(i)、a_Z(i)分别表示第i次采集的X、Y、Z三个方向的加速度值,单位为g (1 g=9.8 N·m/S2)。SMA表示一段时间内加速度值之和,整体加速度a(i)表示人体活动加速度矢量强度,当人体快速行走时,其信号的强度矢量较大,当人体慢步运动走动时,其人体的加速度矢量较小。可以通过设置阈值来判断人体是走动或是跑步状态。
人走路的状态分为步行和跑步两种,其中步行的频率基本维持在2.5 Hz以内,跑步的频率一般为5 Hz。为了完整地记录人体运动的加速度值,本文选取45 Hz的采样频率采集加速度数据,即每秒对传感器采集45次,即相当于每秒45组X、Y、Z方向的加速度值。
2.2.2波峰波谷计步算法
人行走过程中,垂直和前进产生的加速度与时间大致为一个正弦曲线,且该正弦曲线上的会出现多个峰值和谷值,本文在计步算法中采用波峰波谷阈值检测算法,即波峰检测中,在新的波谷信号出现之前,连续多个波峰均可认为属于同一次步伐,本算法中对采集的数据进行处理过程,将合成的加速度信号经过提取,获取行走过程中三轴合加速度的峰值信号。图6所示为波峰波谷计步算法过程,在波峰检测过程中首先获取合加速度a(i)的值作为潜在的峰值,flag为波峰或者波谷的标志,flag=1时,表示检测到的峰值为真实的波峰或波谷,当flag=0时,则表示检测到为伪波峰或伪波谷。同理,波谷阈值检测中,在新的波峰信号出现之前,连续多个波谷均可认为属于同一次步伐。
图6波峰波谷计步算法
3.1实验环境
为了让该算法具有更多的实用性,本文采用手机放置在不同的环境下,包括不同的位置和行人不同的行走状态。选取40 Hz的采样频率采集加速度数据,即每秒钟对传感器采集40次。本实验给出了手机在手持状态、裤兜放置和裤兜放置下三种不同姿态下计步加速度值和计步结果。图7~图9给出了本次试验的部分采集点数加速度的输出,单位均为重力加速度g。其中,图7中为手持手机状态下传感器加速度与采集点数之间的关系;图8为手机在裤兜放置时传感器加速度与采集点数之间的关系;图9为手机在背包中放置时传感器的加速度值与采集点之间的关系。
图7手机在手持状态下加速度值与采集点数之间的关系
图8手机在裤兜中加速度值与采集点数之间的关系
图9手机在背包中加速度值与采集点数之间的关系
3.2实验结果分析
由图7~图9中的加速度的变化规律可以看出,每一组数据中合加速度的变化规律基本与三轴中Z轴的变化基本一致,即与垂向加速度保持一致,且呈正弦信号周期性的变化,验证了文中分析的垂向加速度变化状态特点。通过合加速度波形中的伪波峰和伪波谷的甄别,利用波峰波谷计步算法得出手机在不同状态下的计步的试验结果。针对采集的数据,分别利用基于波峰波谷计步算法、基于阈值计步算法以及基于阈值进行计步,对手机传感器采集数据进行处理,结果见表1。由计步结果可以看出,基于波峰波谷计步算法计步精度明显高于其他两种计步算法。
表1三种计步算法试验结果
图10为基于波峰波谷计步算法与已有的幅值计步算法、阈值计步算法的性能比较图,图10(a)给出了三种计步算法累计分布函数CDF值与计步错误之间的关系曲线,可以看出基于波峰波谷计步算法相较其他两种算法其累计分布函数CDF在计步错误接近于6步的情况下就近似饱和,即计步错误数控制在6步以内,而其他两种算法的CDF值在接近于1的时候其计步错误数接近于12步左右,所以与幅值计步算法和阈值计步算法相比,无论从计步精度还是计步效率上,该算法的累计分布函数CDF很快地接近于1,其计步精度和性能有了较大的提高。图10(b)为三种算法在计步过程中处理数据的变化曲线,可以看出基于波峰波谷的计步算法处理的数据量较其他两种算法有了很大的改善,算法复杂度明显降低。
图10与现有计步算法的性能比较
本文设计了一种基于手机加速度的波峰波谷计步算法,首先分析了人体步行的运动规律,实验给出了手机在不同状态下的计步结果,并且与现有阈值计步算法和幅值计步算法进行比较,由实验结果可以看出,基于波峰波谷计步算法能够在降低算法复杂度的同时保持很高的计步精度,计步性能有了很大的提高。
[1] FICCO M,PALMIERI F,CASTGILIONE A.Hybrid indoor and outdoor location services for new generation mobile terminals[J].Personal and Ubiquitous Computing,2014,18(2):271-285.
[2] JIMENEZ A R,SECO F,PRIET C,et al.A comparison of pedestrian dead-reckoning algorithms using a low-cost MEMS IMU[C]//Proceeding of 6th IEEE International Symposium on Intelligent Signal Processing,Budapest,Hungary,August 26-28,2009:37-42.
[3] JIN Y,TOH H S,SOH W S,et al.A robust dead-reckoning pedestrian tracking system with low cost sensors[C]//Proceedings of the 2011 IEEE International Conference on Pervasive Computing and Communications,Seattle,USA,March 21-25,2011:222-230.
[4] PAN M S,LIN H W.A step counting algorithm for smartphone users:design and implementation[J].IEEE Sensors Journal,2015,15(4):2296-2305.
[5] BRAJDIC A,HARLE R.Walk detection and step counting on unconstrained smartphones[C]//Proceedings of the 2013 ACM International Joint Conference on Pervasive and ubiquitous computing,Zurich,Switzerland,September 8-12,2013:225-234.
[6] LAN K C,SHIH W Y.Using simple harmonic motion to estimate walking distance for waist- mounted PDR[C]//Proceedings of 2012 IEEE Wireless Communications and Networking Conference,Paris,France,April 1-4,2012:2445-2450.
[7] ABHAYASINGHE N,MURRAY I.A novel approach for indoor localization using human gait analysis with gyroscopic data[C]//International Conference on Indoor Positioning and indoor Navigation,Sydney,Australia,November 11-15,2012:127-132.
[8] 王文杰,李军.基于手机加速度传感器的计步算法设计[J].工业控制计算机,2016,29(1):75-79.
[9] LIU J B,CHEN R Z,PEI L,et al.A hybrid smartphone indoor positioning Solution for LBS[J].Sensors,2012,12(12):17208-17233.
[10] CHERNBUMROONG S,CANG S,YU H N.A practical multi-sensor activity recognition system for home-based care[J].Decision Support Systems,2014,66:61-70.
[11] TRAN K,LE T,DINH T.A high-accuracy step counting algorithm for iPhones using accelerometer[C]//Proceedings of The 12th IEEE International Symposium on Signal Processing and Information Technology(ISSPIT 2012),Ho Chi Minh City,Vietnam,December 12-15,2012:213-217.
[12] OSHIN T O,POSLAD S.ERSP:An energy-efficient real-time smartphone pedometer[C]//Proceedings of 2013 IEEE International Conference on Systems,Man,and Cybernetics (SMC 2013),Manchester,United Kingdom,October 13-16,2013:2067-2072.
[13] YE J,STEVENSON G,DOBSON S.KCAR:A knowledge-driven approach for concurrent activity recognition[J].Pervasive & Mobile Computing,2015,19:47-70.
[14] 陈国良,张言哲,杨洲.一种基于手机传感器自相关分析的计步器实现方法[J].中国惯性技术学报,2014,22(6):794-798.
[15] JAYALATH S,ABHAYASINGHE N.A gyroscopic data based pedometer algorithm[C]//Proceedings of the 8th International Conference on Computer Science & Education(ICCSE 2013),Sri Lanka,April 26-28,2013:551-555.
[16] RAI A,CHINTALAPUDI K K,PADMANABHAN V N,et al.Zee:zero-effort crowdsourcing for indoor localization[C]//Proceedings of the 18th Annual International Conference on Mobile Computing and Networking,Istanbul,Turkey,August 22-26,2012:293-304.
Research on Peak and Trough Step Counting Algorithm Based on Mobile Accelerometer
LINGHaiboa,YANGJingb,ZHOUXiancuna
(a.College of Information Engineering;b.Physical Education Institute, West Anhui University, Lu’an 237012, China)
Advances on smartphones and built-in inertial sensors have given rise to count the number of steps. However,the smartphone sensors are not accurate enough and pedestrians have natural swings during walking, so that step accuracy is difficult to meet the application requirements. Thus many step-by-step algorithms are presented. In order to solve the problem of the balance between algorithm' s accuracy and complexity of traditional step-counting algorithm, a new step-counting algorithm based on Mobile phone accelerometer detecting peak and trough is proposed. The law of human walking is analyzed, and some step results of the mobile phone in different posture are given. The experiment demonstrates that the algorithm, compared with the existing threshold and amplitude’s step-counting when the number of steps is 1000 steps, can reduce the data volume by 80%, reduce the complexity of the algorithm obviously, and achieve step accuracy which over 95%, besides, the step-counting performance has been greatly improved, and can fulfill the step-counting requirements.
step-counting algorithm; accelerometer; peak and trough detection
2017-03-10
国家自然科学基金资助项目(61572366,61303209);皖西学院校级项目(WXSK201634)
凌海波(1989-),男,安徽庐江人,助教,硕士,主要从事无线传感器网络、无线室内定位方面的研究,(E-mail)lhb1208lhb@163.com
1673-1549(2017)03-0021-05
10.11863/j.suse.2017.03.05
TP311
A