?

基于手機加速度傳感器的高精低采樣計步算法設計

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 輔助計步算法

首先對合成加速度數據進行卡爾曼濾波處理??柭鼮V波在消減噪聲和平滑數值方面具有非常好的效果,如圖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中校正鏡頭與透視畸變
機內校正
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合