(中國礦業大學 環境與測繪學院,徐州 221116)
(中國礦業大學 環境與測繪學院,徐州 221116)
針對計步器采用的波峰檢測算法要求行人必須將設備佩戴在身體特定部位的問題,提出了一種利用手機加速度傳感器信息實現計步器的解決方案。同時,為了降低手機位置不同以及行人的不同運動狀態對手機計步器計步結果的影響,設計了一種自相關分析的計步算法。該算法將運動狀態分為空閑和行走兩種基本類型,根據經驗閾值判斷運動人員的運動狀態進而進行計步計算。試驗結果驗證了算法的有效性:相對于波峰檢測算法,運動狀態為行走時計步結果的正確率從 92.5%提高到 98.6%,運動狀態為空閑時計步結果的正確率從96.0%提高到98.8%。表明新設計的自相關分析算法有效地提高了行人計步結果的正確率,為室內人員定位技術的發展提供了新的途徑。
計步器;自相關分析;波峰檢測;手機傳感器;室內定位
計步器是一種被廣泛應用的測量運動參數的設備,其工作原理是感應運動人員的加速度,經過處理后輸出運動人員的累計步數[1]。步行作為人類活動中最基礎、最普及、最重要的運動形式[2],使得深入地研究計步器具有重要的意義。特別是隨著GNSS(全球導航衛星系統)提供的位置服務在室外已得到廣泛應用,如今人們也希望能夠在室內空間獲取類似的位置服務。但是衛星信號容易受到多路徑效應、建筑物的遮擋等因素的影響使其無法在室內環境中取得令人滿意的定位結果[3-4]。國內外許多高校和研究機構研究并開發了許多室內定位系統,其中具有代表性的有AT&T Cambridge的 Active Badges系統,微軟的RADARD系統,MIT的Cricket系統[5]等。上述項目取得了一定的效果,但這些定位系統往往需要添加額外的硬件設施,系統部署復雜,維護成本高,可擴展性差。目前大多數研究人員運用步數-步長模型[6-7]結合方向信息來計算室內行人的位移量,因此計步器作為一種可靠、低成本、不受外界環境干擾的距離量測方法成為解決室內定位的新途徑。但是現有計步器都是單獨的設備且大多數采用波峰檢測算法[8-9],故需要行人佩戴在身體的特定部位才能有效的工作,這就造成使用麻煩的問題。本文結合廣泛存在的手機傳感器信息可以充分、方便利用的特點,提出一種基于手機傳感器自相關分析的手機計步器實現方法。該方法可以方便、快捷地應用在人們日常生活中使用的手機平臺上,無需額外的設備。初步試驗的結果表明:相比波峰檢測算法,該方法可以很大程度上降低手機放置的位置以及行人的不同運動姿態對計步結果的影響,可以滿足室內定位的基本要求。
人體的自然行走運動包括前向、側向以及垂直向三個分量,其三個分量以及手機坐標軸的定義如圖 1所示。將手機屏幕朝上水平放置在手掌中三個運動分量與手機坐標軸的對應關系為:垂直軸與Z軸重合,前向軸與Y軸重合,側向軸與X軸重合。

圖1 坐標軸示意圖Fig.1 Schematic diagram of coordinate axis

圖2 手機三軸加速度Fig.2 Three-axial accelerometer of mobile phone
在一個邁步周期中垂直向的加速度會隨著雙腳的離地再次觸地發生規律性的變化。圖2為步行中手機的加速度傳感器檢測到的三個軸的加速度變化情況。
可以看出:Z軸加速度數據具有明顯的周期性。計步器最常用的一種算法是波峰檢測算法。
1.1 波峰檢測算法
手機在具體使用時,其放置位置是隨意的,加速度傳感器的3個軸有可能不與人體模型定義的3個軸重合。為了充分利用加速度傳感器輸出的三軸信號,將三軸加速度信號進行取模后得到整體加速度用來計步計算[10]。利用設定的閾值判斷是否為波峰波谷,如果連續檢測到一個波峰和一個波谷就記為一步。

圖3 偽波峰與偽波谷Fig.3 False peak and trough
波峰檢測的優點是算法實現簡單計算量小,可以方便地做到實時檢測。但手機傳感器的硬件設備精度不高,以及行人行走狀態的隨機變化造成采集到的加速度信號含有噪聲,由噪聲造成的偽波峰和偽波谷如圖3所示。再者手機在運動過程中所放置不同的位置對加速度影響非常大,比如拿在手中,放在上衣口袋、褲子口袋、背包中產生的信號差別很大,都很難用統一閾值來做判斷。另外手機在使用時、靜止時行人的起立坐下轉彎等不同的運動狀態都會給閾值判斷帶來很大困難。

表1 波峰檢測算法的試驗結果Tab.1 Performance of peak detection algorithm
表1為利用波峰檢測算法在手機不同的放置位置以及行人不同的行走狀態下的計步結果。表中“空閑”狀態是指起立坐下、身體轉動、基本手勢動作等。由統計的結果可知:波峰檢測算法對手機位置和行人運動狀態的要求比較高,不能很好地適應各種情況,這就造成了該算法使用上的局限性。
1.2 自相關分析算法
相關性分析算法是利用行人連續運動產生的加速度序列之間的相似性來進行步數的計算。該方法將行人的運動狀態分為空閑和行走兩種:空閑包括靜止、起立坐下、身體轉動、基本手勢動作等未導致人員位置變化的運動;行走指人員將手機放置在口袋、拿在手中擺動或使用狀態下行走。該算法在每一計步周期的判別分為兩個過程:第一是標準差計算;第二是自相關計算。
1.2.1 標準差計算
為了降低手機放置位置對結果的影響,該算法將三軸加速度信號進行取模后得到整體加速度a來進行計步計算。

式中ax、ay、az為手機三軸的加速度值。根據整體加速度的標準差σ判斷人員的運動狀態為空閑狀態。

式中,u是該周期內整體加速度序列{a1,a2,…,aN}的均值。

圖4 行走與空閑狀態的整體加速度標準差比重分布Fig.4 Distribution of standard deviation of entirety acceleration during idle and walking states
圖4是統計行走和空閑兩種狀態各5000次,以1 s為周期計算整體加速度的標準差的分布。通過圖4的統計結果可以看出,當標準差低于0.5時,行人狀態為空閑的概率大于99%。利用此統計結果作為判斷行人狀態的經驗閾值,可以判斷出當整體加速度標準差低于0.5時行人為空閑狀態。由于諸如起立坐下、身體轉動、基本手勢等動作都造成整體加速度有比較大的標準差,因此當整體加速度標準差大于0.5時不能直接將行人狀態判別為行走,此時需要利用自相關分析算法進一步判別。
1.2.2 自相關計算
從圖2中可以看出,加速度值隨著時間推移有很明顯的周期性變化,這種周期性的變化是由于行人連續有節奏的行走所產生的。不同行人行走時的變化周期可能不同,但是同一個行人的行走周期僅僅在一個小范圍內變化。利用這種周期性的變化來求出當前邁步周期和上個邁步周期的整體加速度的自相關性,根據自相關性大小來進一步判斷行人的運動狀態。
當行人走動時,手機加速度傳感器就會連續記錄數據,計算整體加速度后利用公式(3)求整體加速度的自相關系數。

式中,u(m,t)和σ(m,t)表示加速度序列{a(k), a(k+1), …a(k+t-1)}的均值和標準差。當采樣周期 t接近行人的行走周期時,x(m,t)的值接近1。然而不同行人或者同一個人不同時刻的步頻是不一樣的,所以t是一個變化的量,這就需要使用加框算法來實現t的動態確定。加框算法是將t選定一個范圍區間 tmin- tmax,通過式(4)計算自相關系數 ρ( m,t),當 ρ( m,t)達到最大值時的t值即為該次行走的周期。ρ ( m,t)的計算公式如下:

正常人們行走的步頻為1~2.5 Hz,因此本文設置t的范圍為0.4~1 s。圖5為利用自相關算法計算行走和空閑兩種狀態各1000次自相關系數的統計結果,該結果表明當自相關系數大于0.7時行人的運動狀態為行走的概率大于90%。

圖5 行走與空閑狀態的整體加速度自相關系數比重分布Fig.5 Distribution of auto-correlation during idle and walking
根據上述判斷空閑和行走狀態的兩個閾值,作者對上文波峰檢測的計步數據做了以下對比試驗:設置步伐周期t為0.4~1 s,計算整體序列的標準差σ,若σ小于 0.5判定該行走周期內為空閑狀態不做計步處理,若σ大于0.5再計算自相關系數 ρ( m,t),若 ρ(m,t)大于0.7則記為一步,否則不做計步處理。表2為試驗的結果。

表2 相關性分析算法試驗結果Tab.2 Performance of auto-correlation algorithm
試驗結果表明,相關性分析算法與波峰檢測算法相比,很大程度上降低了手機位置以及行人運動狀態對計步結果的影響,有很好的適應性,可以廣泛的應用于各種情況下的計步工作。
手機是人們日常生活最常用的設備,尤其是智能手機的出現后,手機的使用量迅速增加。根據美國調研公司lurry發布的報告稱,在2014年內全球的智能手機和平板電腦的數量將達到20億部。智能手機和平板電腦都內嵌了加速度傳感器,開發者可以方便快捷地得到這些數據并進行應用程序的開發。以搭載Android 4.1.1 JRO03L操作系統的小米手機(型號為MI 2A)為試驗平臺實現手機計步器的功能。其內嵌的加速度傳感器為STMicroeelectronics生產的LIS3DH加速度傳感器,它的最大量程為39.227 m/s2,分辨率為0.0196 m/s2。
2.1 手機計步器設計
Android操作系統的API為開發者提供了四種操作手機加速度傳感器的響應頻率:SENSOR_DELAY_ FASTEST、SENSOR _DELAY _GAME、SENSOR _DELAY_UI以及SENSOR_ DELAY_NORMAL。經測試,SENSOR_ DELAY _FASTEST采樣頻率為100 Hz左右,SENSOR_ DELAY_GAME采樣頻率為50 Hz左右,SENSOR_ DELAY_UI采樣頻率為15 Hz左右,SENSOR_ DELAY_NORMAL采樣頻率為5 Hz左右。考慮到行人正常的步頻以及手機計算能力等因素,設置加速度采樣頻率為15 Hz。手機計步器的算法流程如圖6所示,具體步驟為:
1)當計步器開始工作時定義一個長度為24的靜態數組valueArray來存儲整體加速度的實時序列值,當數組valueArray長度達到24后進行下述步驟的計算。
2)循環計算7次,第i次計算過程為:對長度為i+5的數組 aArray和 bArray賦值,其中 aArray[j]= valueArray[j],bArray[j] =valueArray[j+7(]j=0,1,…, i+4; i=1,2,…,7)。計算bArray的標準差σb以及aArray與bArray的相關系數ρab。循環7次得出7個ρab及對應的σb,求出7個ρab的最大值MAX ρ及對應該次的σb和數組bArray的長度bLength。

圖6 自相關算法流程圖Fig.6 Flowchart of auto-correlation algorithm
3)進行判斷,若σb>0.5且MAXρ>0.7則記為一步,否則不做計步處理。
4)根據bLength值對數組valueArray做以下更新處理:刪除valueArray的前bLength項,剩余項依次平移至數組前端。數組valueArray變化如圖7所示。
5)該次計步周期結束,數組valueArray繼續接收新的加速度值,當長度再次達到24時做上述循環計算。

圖7 valueArray數組變化示意圖Fig.7 Schematic diagram of valueArrray’s change
2.2 手機計步器實現
Android系統中提供了Sensor、Sensor Manager、SensorEventListener、Sensor Event、四個相關類來操作手機上的傳感器。由于手機加速度傳感器每次響應的間隔時間不固定,會在一個小范圍內波動。圖8為一段實際采樣的變化圖,可以看出間隔時間會在62~65 ms之間波動。為了消除這種影響,本文采用更高的50 Hz的采樣頻率即SENSOR _DELAY_ GAME來采集加速度值,將其保存在一個靜態變量中。另外新開一個時間控制線程,按15 Hz的頻率循環取出該靜態變量里的加速度瞬時值,從而保證了加速度是嚴格按照15 Hz的采樣頻率進行采樣的。

圖8 加速度傳感器響應間隔時間Fig.8 Response interval of acceleration sensor
計步器程序分為四個模塊:加速度采樣模塊、間隔時間控制模塊、計算模塊和結果保存模塊。四個模塊作用為:加速度采樣模塊以50 Hz的頻率采集手機三軸的加速度值存入一個靜態變量 staticValue中;間隔時間控制模塊為一個單獨線程,以 15Hz頻率去讀取staticValue中的三軸瞬時加速度值;計算模塊計算整體加速度的標準差和自相關系數,并作出計步結果的判斷;結果保存模塊保存計步結果。程序最終在手機上運行界面如圖9所示。

圖9 程序運行界面Fig.9 Application’s running interface
在復雜多變的行人運動狀態和手機位置對手機計步器計步結果的影響下,通過采用手機加速度傳感器自相關分析算法實現行人計步工作。初步試驗結果表明,此算法比起常用的波峰檢測算法可以很大程度上消除行人運動狀態以及手機位置對手機計步器計步結果的影響,此技術可以方便快捷地應用在室內人員定位技術中,為室內人員定位技術的發展提供了新的途徑。
(References):
[1] 戴劍松,李靖,顧忠科,孫飆. 應用計步器測量日常體力活動的研究[J]. 中國組織工程研究與臨床康復,2008,35(12):6883-6887.
DAI Jian-song, LI Jing, GU Zhong-ke, SUN Biao. Utility of pedometer to access daily physical activity[J]. Journal of Clinical Rehabilitative Tissue Engineering Research, 2008, 35(12): 6883-6887.
[2] 戴劍松,李靖,顧忠科,孫飆. 運用計步器測量步行之研究[J]. 北京體育大學學報,2008,31(2):219-222. DAI Jian-song, LI Jing, GU Zhong-ke, SUN Biao. A research on utility of pedometer to measure walking[J]. Journal of Beijing Sport University, 2008, 31(2): 219-222.
[3] Luoh L. ZigBee-based intelligent indoor positioning system soft computing[J]. Soft Computing, 2014, 18(3): 443-456.
[4] Ficco M, Palmieri F, Castiglione A. Hybrid indoor and outdoor location services for new generation mobile terminals[J]. Personal And Ubiquitous Computing, 2014, 18(2): 271-285.
[5] 曹世華. 室內定位技術和系統的研究進展[J]. 計算機系統應用,2013,22(9):1-5.
CAO Shi-hua. Research progress of indoor location technology and system[J]. Computer System & Applications, 2013, 22(9): 1-5.
[6] Shih W Y, Chen L Y, Lan K C. Estimating walking distance with a smart phone[C]//5th International Symposium on Parallel Architectures, Algorithms and Programming. Taipei, Taiwan, 2012: 166-171.
[7] Subramanian S P, Sommer J, Zeh F P. PBIL-PDR for scalable bluetooth indoor localization[C]//3rd International Conference on Next Generation Mobile Applications, Services, and Technologies. Wales Millennium Ctr, Cardiff, WALES, 2009: 170-175.
[8] Lan K C, Shih W Y. Using smart-phones and floor plans for indoor location tracking[J]. IEEE Transactions on Human-Machine Systems, 2014, 44(2): 211-221.
[9] Liu J B, Chen R Z, Pei L, Guinness R, Kuusniemi H. A hybrid smartphone indoor positioning solution for mobile LBS[J]. Sensors, 2012, 12(12): 17208-17233.
[10] 韓文正,馮迪,李鵬,馬文超. 基于加速度傳感器LIS3DH的計步器設計[J]. 傳感器與微系統,2012,31(11):97-99.
HAN Wen-zheng, FENG Di, LI Peng, MA Wen-chao. Design of pedometer based on acceleration sensor LIS3DH[J]. Transducer and Microsystem Technologies, 2012, 31(11): 97-99.
一種基于手機傳感器自相關分析的計步器實現方法
陳國良,張言哲,楊 洲
Realization of pedometer with auto-correlation analysis based on mobile phone sensor
CHEN Guo-liang, ZHANG Yan-zhe, YANG Zhou
(School of Environment Science and Spatial Informatics, China University of Mining and Technology, Xuzhou 221116, China)
In view that a pedometer using peak detection algorithm must be worn in specific parts of human body, a method for realizing pedometer by using the acceleration of mobile phone was proposed. Meanwhile, an step-counting algorithm by autocorrelation analysis is designed, which can significantly reduce the influence of position differences of the mobile phones and motion differences of the personnel on the result of step counting. The motion is divided into idle and walking, then the personnel’s motion state is judged by experience threshold in step counting algorithm. The tests by the proposed method show that, compared with the peak detection algorithm, the correct rate increases from 92.5% to 98.6 when walking, and from 96.0% to 98.8% when idle. This result indicates that the new method with auto-correlation analysis can effectively improve the accuracy of step counting and provides a new way for the development of indoor positioning technology.
pedometer; auto-correlation analysis; peak detection; mobile phone sensor; indoor positioning
陳國良(1977—),男,博士,副教授,從事室內外無縫定位技術研究。Email:chglcumt@163.com
1005-6734(2014)06-0794-05
10.13695/j.cnki.12-1222/o3.2014.06.017
TH72
A
2014-07-04;
2014-10-10
國家自然科學基金資助項目(41371423);國家863計劃資助(2013AA12A201)