凌海波, 楊靜, 周先存
(皖西學(xué)院a.電子與信息工程學(xué)院;b.體育學(xué)院, 安徽六安237012)
基于手機(jī)加速度傳感器的波峰波谷計(jì)步算法研究
凌海波a, 楊靜b, 周先存a
(皖西學(xué)院a.電子與信息工程學(xué)院;b.體育學(xué)院, 安徽六安237012)
智能手機(jī)及其內(nèi)置傳感器的普及可實(shí)現(xiàn)行人步數(shù)統(tǒng)計(jì),但是由于人行走的隨意性以及智能手機(jī)內(nèi)置傳感器精度不高,使計(jì)步精度難以滿足應(yīng)用要求,為此,提出了多種計(jì)步算法。為了解決傳統(tǒng)計(jì)步算法難以實(shí)現(xiàn)計(jì)步精度和算法復(fù)雜度之間的平衡問(wèn)題,提出了一種基于手機(jī)加速度傳感器波峰波谷檢測(cè)計(jì)步算法。分析了人體步行運(yùn)動(dòng)規(guī)律,給出了手機(jī)在不同姿態(tài)下的計(jì)步結(jié)果。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的閾值和幅值計(jì)步算法相比,在計(jì)步步數(shù)為1000步時(shí),該算法處理數(shù)據(jù)量降低了80%,明顯降低了算法復(fù)雜度,計(jì)步精度也達(dá)到95% 以上,計(jì)步性能有了很大的提高,能夠很好地滿足計(jì)步要求。
計(jì)步算法; 加速度傳感器; 波峰波谷檢測(cè)
隨著移動(dòng)互聯(lián)網(wǎng)發(fā)展,智能手機(jī)廣泛地被應(yīng)用于普通人群,其功能也被賦予多樣化,其中一個(gè)重要的功能就是獲取用戶(hù)的位置信息。其中以GPS為代表的室外定位已經(jīng)較為成熟,而現(xiàn)在的人們大多數(shù)生活在建筑物內(nèi)部,所以室內(nèi)定位的重要性越來(lái)越突出,而室內(nèi)定位中步數(shù)檢測(cè)是最基本的一項(xiàng),計(jì)步結(jié)果的好壞直接影響到室內(nèi)定位的精度[1-5]。
常用的計(jì)步手段都是利用智能移動(dòng)終端(主要指智能手機(jī))中的加速度計(jì)和陀螺儀來(lái)實(shí)現(xiàn)計(jì)步[6-12],加速度計(jì)可以獲取用戶(hù)運(yùn)動(dòng)時(shí)多個(gè)方向上的加速度值。文獻(xiàn)[13]提出了一種基于手機(jī)加速度傳感器的計(jì)步算法,該算法主要利用人體運(yùn)動(dòng)時(shí)加速度的幅值,通過(guò)對(duì)幅值檢測(cè)獲取用戶(hù)的步數(shù),但是該算法會(huì)隨著用戶(hù)步頻的改變其計(jì)步精度也隨之改變,在低步頻時(shí)其計(jì)步精度明顯降低。文獻(xiàn)[14]提出了一種自適應(yīng)計(jì)步算法,該算法分析了手機(jī)在不同狀態(tài)下計(jì)步結(jié)果,計(jì)步精度很高,但是該算法處理數(shù)據(jù)量龐大,計(jì)算過(guò)程復(fù)雜,在很大程度上降低了計(jì)步的實(shí)時(shí)效果。文獻(xiàn)[15]采用陀螺儀的過(guò)零檢測(cè)計(jì)步算法,該計(jì)步算法會(huì)隨著步頻的增加其計(jì)步精度逐漸降低,并且該算法對(duì)手機(jī)的擺放位置具有很高的要求。
針對(duì)以上問(wèn)題,同時(shí)考慮計(jì)步算法的復(fù)雜度和計(jì)步精度的問(wèn)題,本文提出一種基于手機(jī)加速度傳感器的波峰波谷檢測(cè)計(jì)步算法。該算法首先分析了人體步行時(shí)加速度的變化規(guī)律,同時(shí)也考慮到手機(jī)在不同姿態(tài)情況下傳感器每個(gè)軸會(huì)有不同的表現(xiàn),本算法采用整體加速度代替單軸加速度,計(jì)步中通過(guò)檢測(cè)合加速度值曲線的波峰和波谷實(shí)現(xiàn)計(jì)步效果。
對(duì)于人體而言,在行進(jìn)過(guò)程中主要包括三個(gè)方向上的運(yùn)動(dòng)分量,即前向、側(cè)向和垂直方向,設(shè)定手機(jī)坐標(biāo)系統(tǒng)中的三個(gè)分量如圖1所示,該坐標(biāo)系是以手機(jī)自身為參照,其中前向軸為X軸,側(cè)向軸為Y軸,垂向軸為Z軸。
圖1手機(jī)三軸加速度計(jì)坐標(biāo)系
人體步行一步之內(nèi)垂直加速度變化狀態(tài)如圖2所示。人的正常步行一步的過(guò)程可以分為8個(gè)狀態(tài),為大致的正弦波形,其中S0為人體準(zhǔn)備步行的初始狀態(tài),即處于靜止?fàn)顟B(tài);S1為一步的開(kāi)始,此時(shí)人抬起腳,產(chǎn)生向上的加速度;S2為人抬腳向前移動(dòng),此時(shí),垂直方向的加速度到達(dá)波谷;S3表示當(dāng)前腳到達(dá)最高點(diǎn)之前的狀態(tài),此時(shí)向上的加速度逐漸減?。籗4表示腳到達(dá)最高點(diǎn)的狀態(tài),此時(shí)垂直加速度降到0;S5表示人體開(kāi)始放腳,此時(shí)產(chǎn)生垂直向下的加速度;S6表示人體落腳并向前移動(dòng),此時(shí)垂直加速度達(dá)到波峰;S7表示當(dāng)前腳回到地面之前的狀態(tài),此時(shí)垂直加速度逐漸減?。籗8表示腳落到地面,即一步的結(jié)束,垂直加速度為0。當(dāng)檢測(cè)到S8的狀態(tài)時(shí),則檢測(cè)到1步,即一只腳離開(kāi)地面開(kāi)始到該腳再次接觸地面的過(guò)程,稱(chēng)為一個(gè)步態(tài)周期,如圖3所示。人體步行時(shí)的垂向加速度的變化規(guī)律是一個(gè)周期性的過(guò)程,大致為一個(gè)正弦曲線,且在某點(diǎn)有一個(gè)峰值或谷值。在實(shí)際的人體步行時(shí)由于手機(jī)在不同姿態(tài)下傳感器的每個(gè)軸都會(huì)表現(xiàn)不同,以及傳感器硬件本身的誤差,所以測(cè)得的加速度會(huì)存在很多干擾,如圖4所示,在連續(xù)行走中形成多個(gè)波峰或波谷,所以計(jì)步過(guò)程中需要對(duì)偽波峰和偽波谷進(jìn)行甄別獲取真實(shí)的波峰和波谷,然后通過(guò)波峰和波谷檢測(cè)算法實(shí)現(xiàn)計(jì)步。
圖2人體步行一步之內(nèi)垂直加速度變化狀態(tài)
圖3步態(tài)周期和加速度變化規(guī)律
圖4連續(xù)行走時(shí)出現(xiàn)的偽波峰和偽波谷
2.1自相關(guān)計(jì)步算法
自相關(guān)計(jì)步算法是利用人體連續(xù)運(yùn)動(dòng)產(chǎn)生的加速度序列直接的相似性來(lái)進(jìn)行判斷和計(jì)步[16]。該方法將人體狀態(tài)分為空閑和行走狀態(tài),當(dāng)人處于空閑狀態(tài)時(shí),人的運(yùn)動(dòng)無(wú)規(guī)律,而人處于行走狀態(tài)時(shí),其整體加速度值有明顯的周期性變化,自相關(guān)計(jì)步算法利用當(dāng)前計(jì)步周期和上一個(gè)計(jì)步周期的加速度序列的自相關(guān)系數(shù)大小判斷行人是否完成一步行走動(dòng)作。自相關(guān)算法過(guò)程包括:(1)計(jì)算當(dāng)前運(yùn)動(dòng)周期的整體加速度序列的標(biāo)準(zhǔn)差;(2)對(duì)行走狀態(tài)加速度序列,計(jì)算當(dāng)前周期與前一個(gè)計(jì)步周期整體加速度的自相關(guān)系數(shù)。其算法流程如圖5所示??梢钥闯鲎韵嚓P(guān)計(jì)步算法其算法的處理數(shù)據(jù)非常龐大,計(jì)算較為復(fù)雜。
圖5自相關(guān)計(jì)步算法流程圖
2.2波峰波谷計(jì)步算法
2.2.1加速度提取
人體在行進(jìn)過(guò)程中,身體在水平和垂直方向會(huì)呈現(xiàn)周期性的變化特征,為了避免手機(jī)在不同姿態(tài)情況下傳感器的每個(gè)軸會(huì)有不同表現(xiàn),本文采用獲取加速度強(qiáng)度SMA和整體加速度a進(jìn)行計(jì)步計(jì)算,其定義如下
(1)
(2)其中,a_X(i)、a_Y(i)、a_Z(i)分別表示第i次采集的X、Y、Z三個(gè)方向的加速度值,單位為g (1 g=9.8 N·m/S2)。SMA表示一段時(shí)間內(nèi)加速度值之和,整體加速度a(i)表示人體活動(dòng)加速度矢量強(qiáng)度,當(dāng)人體快速行走時(shí),其信號(hào)的強(qiáng)度矢量較大,當(dāng)人體慢步運(yùn)動(dòng)走動(dòng)時(shí),其人體的加速度矢量較小??梢酝ㄟ^(guò)設(shè)置閾值來(lái)判斷人體是走動(dòng)或是跑步狀態(tài)。
人走路的狀態(tài)分為步行和跑步兩種,其中步行的頻率基本維持在2.5 Hz以?xún)?nèi),跑步的頻率一般為5 Hz。為了完整地記錄人體運(yùn)動(dòng)的加速度值,本文選取45 Hz的采樣頻率采集加速度數(shù)據(jù),即每秒對(duì)傳感器采集45次,即相當(dāng)于每秒45組X、Y、Z方向的加速度值。
2.2.2波峰波谷計(jì)步算法
人行走過(guò)程中,垂直和前進(jìn)產(chǎn)生的加速度與時(shí)間大致為一個(gè)正弦曲線,且該正弦曲線上的會(huì)出現(xiàn)多個(gè)峰值和谷值,本文在計(jì)步算法中采用波峰波谷閾值檢測(cè)算法,即波峰檢測(cè)中,在新的波谷信號(hào)出現(xiàn)之前,連續(xù)多個(gè)波峰均可認(rèn)為屬于同一次步伐,本算法中對(duì)采集的數(shù)據(jù)進(jìn)行處理過(guò)程,將合成的加速度信號(hào)經(jīng)過(guò)提取,獲取行走過(guò)程中三軸合加速度的峰值信號(hào)。圖6所示為波峰波谷計(jì)步算法過(guò)程,在波峰檢測(cè)過(guò)程中首先獲取合加速度a(i)的值作為潛在的峰值,flag為波峰或者波谷的標(biāo)志,flag=1時(shí),表示檢測(cè)到的峰值為真實(shí)的波峰或波谷,當(dāng)flag=0時(shí),則表示檢測(cè)到為偽波峰或偽波谷。同理,波谷閾值檢測(cè)中,在新的波峰信號(hào)出現(xiàn)之前,連續(xù)多個(gè)波谷均可認(rèn)為屬于同一次步伐。
圖6波峰波谷計(jì)步算法
3.1實(shí)驗(yàn)環(huán)境
為了讓該算法具有更多的實(shí)用性,本文采用手機(jī)放置在不同的環(huán)境下,包括不同的位置和行人不同的行走狀態(tài)。選取40 Hz的采樣頻率采集加速度數(shù)據(jù),即每秒鐘對(duì)傳感器采集40次。本實(shí)驗(yàn)給出了手機(jī)在手持狀態(tài)、褲兜放置和褲兜放置下三種不同姿態(tài)下計(jì)步加速度值和計(jì)步結(jié)果。圖7~圖9給出了本次試驗(yàn)的部分采集點(diǎn)數(shù)加速度的輸出,單位均為重力加速度g。其中,圖7中為手持手機(jī)狀態(tài)下傳感器加速度與采集點(diǎn)數(shù)之間的關(guān)系;圖8為手機(jī)在褲兜放置時(shí)傳感器加速度與采集點(diǎn)數(shù)之間的關(guān)系;圖9為手機(jī)在背包中放置時(shí)傳感器的加速度值與采集點(diǎn)之間的關(guān)系。
圖7手機(jī)在手持狀態(tài)下加速度值與采集點(diǎn)數(shù)之間的關(guān)系
圖8手機(jī)在褲兜中加速度值與采集點(diǎn)數(shù)之間的關(guān)系
圖9手機(jī)在背包中加速度值與采集點(diǎn)數(shù)之間的關(guān)系
3.2實(shí)驗(yàn)結(jié)果分析
由圖7~圖9中的加速度的變化規(guī)律可以看出,每一組數(shù)據(jù)中合加速度的變化規(guī)律基本與三軸中Z軸的變化基本一致,即與垂向加速度保持一致,且呈正弦信號(hào)周期性的變化,驗(yàn)證了文中分析的垂向加速度變化狀態(tài)特點(diǎn)。通過(guò)合加速度波形中的偽波峰和偽波谷的甄別,利用波峰波谷計(jì)步算法得出手機(jī)在不同狀態(tài)下的計(jì)步的試驗(yàn)結(jié)果。針對(duì)采集的數(shù)據(jù),分別利用基于波峰波谷計(jì)步算法、基于閾值計(jì)步算法以及基于閾值進(jìn)行計(jì)步,對(duì)手機(jī)傳感器采集數(shù)據(jù)進(jìn)行處理,結(jié)果見(jiàn)表1。由計(jì)步結(jié)果可以看出,基于波峰波谷計(jì)步算法計(jì)步精度明顯高于其他兩種計(jì)步算法。
表1三種計(jì)步算法試驗(yàn)結(jié)果
圖10為基于波峰波谷計(jì)步算法與已有的幅值計(jì)步算法、閾值計(jì)步算法的性能比較圖,圖10(a)給出了三種計(jì)步算法累計(jì)分布函數(shù)CDF值與計(jì)步錯(cuò)誤之間的關(guān)系曲線,可以看出基于波峰波谷計(jì)步算法相較其他兩種算法其累計(jì)分布函數(shù)CDF在計(jì)步錯(cuò)誤接近于6步的情況下就近似飽和,即計(jì)步錯(cuò)誤數(shù)控制在6步以?xún)?nèi),而其他兩種算法的CDF值在接近于1的時(shí)候其計(jì)步錯(cuò)誤數(shù)接近于12步左右,所以與幅值計(jì)步算法和閾值計(jì)步算法相比,無(wú)論從計(jì)步精度還是計(jì)步效率上,該算法的累計(jì)分布函數(shù)CDF很快地接近于1,其計(jì)步精度和性能有了較大的提高。圖10(b)為三種算法在計(jì)步過(guò)程中處理數(shù)據(jù)的變化曲線,可以看出基于波峰波谷的計(jì)步算法處理的數(shù)據(jù)量較其他兩種算法有了很大的改善,算法復(fù)雜度明顯降低。
圖10與現(xiàn)有計(jì)步算法的性能比較
本文設(shè)計(jì)了一種基于手機(jī)加速度的波峰波谷計(jì)步算法,首先分析了人體步行的運(yùn)動(dòng)規(guī)律,實(shí)驗(yàn)給出了手機(jī)在不同狀態(tài)下的計(jì)步結(jié)果,并且與現(xiàn)有閾值計(jì)步算法和幅值計(jì)步算法進(jìn)行比較,由實(shí)驗(yàn)結(jié)果可以看出,基于波峰波谷計(jì)步算法能夠在降低算法復(fù)雜度的同時(shí)保持很高的計(jì)步精度,計(jì)步性能有了很大的提高。
[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ī)加速度傳感器的計(jì)步算法設(shè)計(jì)[J].工業(yè)控制計(jì)算機(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] 陳國(guó)良,張言哲,楊洲.一種基于手機(jī)傳感器自相關(guān)分析的計(jì)步器實(shí)現(xiàn)方法[J].中國(guó)慣性技術(shù)學(xué)報(bào),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
國(guó)家自然科學(xué)基金資助項(xiàng)目(61572366,61303209);皖西學(xué)院校級(jí)項(xiàng)目(WXSK201634)
凌海波(1989-),男,安徽廬江人,助教,碩士,主要從事無(wú)線傳感器網(wǎng)絡(luò)、無(wú)線室內(nèi)定位方面的研究,(E-mail)lhb1208lhb@163.com
1673-1549(2017)03-0021-05
10.11863/j.suse.2017.03.05
TP311
A