轉載-一種基於陀螺儀傳感器的準確計步器算法

一種基於陀螺儀傳感器的準確計步器算法

A Gyroscope Based Accurate Pedometer Algorithm
作者:Sampath Jayalath、Nimsiri Abhayasinghe、Iain Murray
翻譯:boxertan@精益攻城獅

摘要

在室內定位系統中,計步器的計步準確是至關重要。特別是在陌生的環境下,人們需要觀察環境,或是行走速度緩慢,那麼現有的步伐檢測技術對前面的情況檢測仍然不夠準確。更重要的是,在光線受阻礙的室內,或者視力受損的人羣,走路通常都會比正常人慢。現在幾乎所有的計步器,所用的技術都是通過重力加速度來識別步伐,但對於步行速度較低的情況,這種技術是不夠準確的。本文描述了一種基於智能手機陀螺儀傳感器的計步器算法。通常大家都把手機放在褲袋裏,而陀螺儀就能通過大腿帶動手機,識別出步伐。本算法設計已經考慮到最小的計算資源需求,以便可以很容易地移植到嵌入式平臺上。對於陀螺儀傳感器收集到的原始數據,本算法使用六階巴特沃斯低通濾波器來進行降噪濾波。再通過“過零檢測器”,來識別行走的每一步。2個最接近的過零點可以檢測爲一步有效步,這樣就能避免用波峯檢測法時候,因爲圖形波動而引入誤差(boxer注:意思是若在2個過零點之間,存在多個波峯,那麼用一個波峯一步的方法,就會比實際算多幾步,這樣就不準確的了)。本算法有一個校準模式,通過設置閾值來過濾一些誤差數據.這種方法證明了即使在平地上非常緩慢地行走,準確率在96%以上;向上/向下爬山達到95%以上;上下樓梯能達到90%以上。因此,這種使用陀螺儀的算法可以有效地用於室內定位系統和導航系統。

一、介紹

基於計步器的室內定位系統,計步準確是非常關鍵的一項指標,有必要提高其準確性和可靠性。現有的檢測技術,不論是硬件還是軟件,都不能滿足高精度的定位系統,尤其是在緩慢步行的情況下。特別是在一個陌生的環境,或者使用者是視力受損的人羣,室內導航表現的更糟糕(譯者注:就是說室內導航軟件,用常規方法根本檢測不到用戶移動,更不提導航作用了)。現有的大多數的計步器使用加速度數據,基於閾值來檢測步伐。
本文討論的計步器算法是基於使用陀螺儀,在室內定位中識別出人類步行狀態。本算法是由Abhayasinghe和Murray提出。本研究作爲一個室內導航系統的一部分,針對的人羣是視力受損的人羣(譯者注:文章的3位作者可能是針對視力受損的人做室內導航軟件的)。
現有的一些計步器的性能會在“背景”一節所討論,而基於陀螺儀的計步器算法及其性能將在“步檢測算法”部分和“實驗結果”部分體現。

二、背景

Jerome 和Albright 測試了5款商業計步器,測試對象是13名視力受損的成年人和10位老人,結果發現這些商業計步器檢測精度非常差,在平地行走精度只有41%−67%,而上下樓梯的情況更糟,上樓梯爲9%−28%,下樓梯爲11−41%。Crouter 等人測試了10款商用電子計步器,發現這些計步器在緩慢行走時,檢測的步數都是偏少的。Garcia 等人對比了軟件計步器和硬件的計步器,觀察這兩種類型計步器在所有速度下表現都差不多,在緩慢步行速度下(58 ~ 98步/分鐘),硬件計步器精度只有20.5%±30%,軟件計步器精度更是隻有10%±30%。Waqar等人曾在一個室內定位系統,使用了基於重力加速度計和固定閾值算法的計步器作爲測試。他們的統計數據顯示,在6次40步的測試中,平均準確率爲86.67%,其中最低的一次準確率爲82.5%,最高一次的準確率爲95%,取中位數精度爲85%。Oner 等人討論也提出了基於加速度計的智能手機計步器算法 :當步行的速度超過90bps(beats per second 每秒90拍,樂曲的節拍,音樂節奏速度單位)的時候,其算法顯示出足夠的精度。但當速度低於90bps時,其精度就會下降。在步行速度爲80bps時,其算法誤差大約是20%;步行速度在70bps時,誤差爲60%,步行速度在60bps時誤差達到90%。lim等人提出了在腳上安裝陀螺儀計步器,但是lim等人沒有提到他們系統的準確性。那不如讓他們使用力敏電阻器(force sensitive resisters ,FSR )接觸腳趾和腳後跟,這樣精度肯定會更高,因爲使用力敏電阻接觸身體更容易地檢測到結果(譯者注:論文作者開始吐槽了)。Ayabe等人的統計了一些商用計步器,在爬樓梯和踏凳練習(譯者注:應該是站立,然後單腳放在凳上,之後左右換腳踏凳)中,速度80到120步/分鐘的時候,誤差爲±5%。然而,速度越低,精度也越低(> 40±40%步/分鐘)。這裏討論的大多數例子都是使用重力加速度去檢測步數。但是,他們都有一個相同的問題,在緩慢的行走速度中表現不佳。低速表現不佳的主要原因是:低速行走時,重力加速度幾乎爲固定值,而且加速度計反應遲緩,再加上這些算法不能採用分級的閾值(譯者注:這裏應該是想引出動態閾值概念)以適應走路的步伐,這就引出了一個要求在緩慢行走時也能計算準確的計步檢測算法。

三、計步算法

A、介紹

論文[6]提到,陀螺儀數據可以用在室內定位軟件裏的計步算法中。該文作者提出,把手機放在褲袋裏,通過手機陀螺儀的單值數據(陀螺儀數據有3個值,分別爲x,y,z軸數據)就可以追蹤大腿的運動,從而進行計步檢測。

B、陀螺儀數據與大腿運動之間的關係

一個步態週期的測量方法是從邁出一步腳後跟觸地,到相同的腳後跟下一步的接觸。在邁出一步觸地時,大腿向前邁出的距離是最大的,比其他方向的距離都要大。圖1顯示了使用陀螺儀x軸數據去記錄大腿的運動波形,該圖形已經使用了低通濾波降噪(使用的是6階巴特沃斯低通濾波,截止頻率微5Hz)。觸地點和步態週期都在圖1進行了標記。當大腿靜止時,通過融合加速度計和羅盤數據,可以計算出初始位置。對於這種狀態的計算,陀螺儀的靜態數值將會被計算平均值所去除。可以清楚的看出,裝有手機的那一條腿在觸地時,在經過濾波後的陀螺儀讀數接近於0的,而且斜率是負。因此,濾波後的陀螺儀讀數從一個負斜率通過零點再上穿零點爲一個步態週期。圖1 走在平坦地面,大腿運動方向圖形(實線),經過濾波的陀螺儀x軸圖形(虛線)同時也觀察到當走樓梯和走斜坡時候,腳觸地的圖形和陀螺儀濾波後負斜率過零點的圖形相符。顯而易見,經過濾波後的陀螺儀數據結合過零點檢測法,就可以檢測出步態週期,即使是走樓梯或走斜面。以上所有的結論,都是基於手機垂直地放着大腿褲袋裏所得出的,包括腳的運動波形和陀螺儀x軸波形。因此,實際上只要處理陀螺儀x軸即可。

C、數據預處理

陀螺儀x軸數據使用截止頻率爲3Hz的六階巴特沃斯低通濾波器來濾波降噪,再使用過零點檢測法去檢測步數。之所以選擇3Hz截止頻率,是因爲人類快走時平均範圍是每秒2.5步[10]。截止頻率越低,對平滑波形效果越好,把在零點附近的毛刺過濾到最小,又能清晰地顯示步態週期的波形。

D、過零點檢測

使用簡單的波形經過2個零點的檢測法,可以簡化算法。一隻腳向前走或者併攏,形成的波形都能通過正、負2個零點。因此,過零點的總數,就是人走的步數。

E、規避誤差

如圖1的紅圈所示,從一段腳觸地到離開,過濾後的陀螺儀信號以一個負斜率過零,但仍可能在短時間內以正斜率過零。這就會造成誤差。然而,因爲這一小段只是在一個步態週期佔到0-10%時間,完全可以用一個超時機制來避免這種不必要的過零點。一旦一個過零點被成功確認,那麼,過零檢測器就設認爲100毫秒內,不允許有下一個過零點,這樣就避免了多餘的零點。爲什麼選用100毫秒?首先,選用前15%的步態週期時間,足夠避免前10%的過零點引入誤差。而一個緩慢的步態週期是每秒1.5步,因此15%時間約爲100毫秒。100ms這個時間比在每秒3步這種快速的步態週期延遲了30%,因此它是不會干擾到快速行走情況下的過零檢測。

F、驗證過零檢測

在步伐檢測中,我們在每一次的過零檢測之後,還要使用一種閾值去驗證是否符合步伐判斷條件。如圖1所示,陀螺儀讀數在每一次過零點之後都會達到峯值。然而,在紅圈裏有一個波峯,該波峯相對其他波峯的讀數來說,明顯要小很多,而且它並不對應大腿的擺動,因此這個波峯是要消除的。本算法包含一個校準模式,用戶以最慢的速度去行走,算法就能夠調校出最小偏差的陀螺儀信號。當檢測到一個過零點,本算法檢測該過零點接下來的一個波峯,還檢測該波峯是否大於閾值。當波峯大於閾值,步數就會加1。

G、計步算法

檢測算法的流程步驟,見圖2。要指出的是,本算法對正負斜率過零點都會檢測,而且在每次檢測後對應切換波峯波谷閾值。然而,切換波峯波谷並不是表示會減少波形的複雜性。

圖2 計步算法流程圖

H、本算法的實現

本算法是由iPhone 4S來進行數據採集,並通過matlab仿真器進行驗證。需要指出的是,本算法會把手機放進、取出褲袋等動作計算爲步數。因爲蘋果軟件許可裏,不允許使用一些手機特性,例如使用環境光傳感器去檢測手機是否進入了褲袋,當確認手機進入了口袋,計步器纔開始計步;當手機離開褲袋,計步器停止計步。當按下開始按鈕,程序可以設置一個時限,讓用戶把手機放進褲袋。當時限一到,計步算法自動啓動。而當用戶拿出手機,算法可以從總步數裏減少點步數,以修正爲真實的步數。

四、實驗結果

MATLAB仿真結果表明,針對原有的數據統計,本算法計算的步數準確率爲100%。本算法是在五種不同的真實活動場景中進行測試:平地,上樓梯,下樓梯,上坡和下坡。有5男5女共10名志願者參與。他們被要求把手機垂直在褲袋裏,並進行的活動。試驗分兩個階段進行:第一階段用正常速度行走,第二階段用五種不同的步行速度(50,75,100,125和150步/分鐘)進行。每個階段每個步驟都有真實的數據記錄。表一顯示在普通速度下不同活動場景的樣本結果。這組試驗表明,本算法在每個活動場景都達到95%以上的精度。

表1

表二顯示了實際步數,計算步數,以及在所有試驗的精度。可以看出,本算法在下樓梯時的平均準確度最低,但仍爲94.55%。最低準確度爲上下樓梯,但仍有90.91%。另外,在平地中行走的最低準確度爲96%,最大爲100%。本算法在斜坡上的準確度大於95%,下斜坡平均準確度爲98.18%,上斜坡爲平均準確度爲97.17%。

表2

第二組實驗是在平地和上樓梯中進行。在自願者被要求用五種速度去走:50,75,100,125和150步/分鐘。表3顯示,在平地走的平均準確率最小75步/分鐘的速度,但仍爲94.59%,而平均準確率仍高達97.89%。值得注意的時,速度最慢的50步/分鐘測試中,最小準確率都有96%。而所有步行速度的平均準確率都大於96%。

表3

表2顯示,每次測試步數在11步的情況下,上下樓梯的最小準確率爲90.91%。雖然這是整組實驗中最低的,但是在表3看出,上樓梯平均精度最低也有96.36%,速度在75和125步/分鐘。下樓梯時,最低的平均準確率爲95.45%,速度爲50和125的步/分鐘。

五、討論與展望

爲毛我們測試上下樓的只走了11步呢?因爲我們的樓梯就這麼一個(-_-!!!)。就是因爲這個原因,搞到我們的實驗數據在上下樓梯很難看啊,引入了差一步就差了10%的誤差。樓梯級數多點準確率肯定會比現在高。雖然檢測結果會比真實步數少,但是真正情況中,沒人會在下到樓梯盡頭時,將手機拿出褲袋,因此上述錯誤是不用發生的。(譯者注:這是啥邏輯?!我看不懂這個意思)另外,一些軟件條例也限制我們不能檢測手機是否在褲袋,導致我們的準確率沒辦法達到100%。
下一步,本算法會應用到其他平臺,以觀察本算法的真實表現。在本文中,本算法是假設手機必須垂直地放在較緊的褲袋裏。作者正在優化本算法,使得手機可以適應各個方向,考慮結合陀螺儀其他軸,編寫朝向修正算法。但是,把手機放在比較緊的褲袋裏固定起來,是保證本算法準確的關鍵。

六、結論

本文提出了一種智能手機基於單點陀螺計步器爲視力障礙人羣提供室內定位系統而發展出來的一個功能部分。通過測試不同的活動和不同的步行速度,該算法能得到滿意的結果,即使在非常緩慢的步行速度,步數檢測仍具有非常高的精度。不管是平地還是斜坡、樓梯,基於陀螺儀的計步器都能容易用作室內定位系統和導航系統的精準計步功能。

參考文獻

[1] G. J. Jerome and C. Albright. (2011, June). “Accuracy of five talk-ing pedometers under controlled conditions,”The Journal of Blind-ness Innovation and Research[On-line], vol. 1(2), Available: www.nfb-jbir.org/index.php/JBIR/article/view/17/38 [Oct. 27, 2011].

[2] S. E. Crouter, P. L. Schneider, M. Karabulut and D. R. Bassett, “Validityof 10 electronic pedometers for measuring steps, distance, and energycost,”Medicine & Science in Sports & Exercise, vol.35 no. 8, pp.1455-1460, Aug., 2003.

[3] E. Garcia, Hang Ding, A. Sarela and M. Karunanithi, “Can a mobilephone be used as a pedometer in an outpatient cardiac rehabilitationprogram?,” inIEEE/ICME International Conference on Complex MedicalEngineering (CME) 2010, Gold Coast, QLD, 2010, pp.250-253.

[4] W. Waqar, A. Vardy and Y. Chen. “Motion modellingusing smartphones for indoor mobilephone positioning,” in20thNewfoundland Electrical and Computer EngineeringConference[Online], Newfoundland, Canada, 2011, Available:http://necec.engr.mun.ca/ocs2011/viewpaper.php?id=55&print=1

[5] M. Oner, J.A. Pulcifer-Stump, P. Seeling and T. Kaya, “Towards the runand walk activity classification through Step detection - An Android appli-cation,” in34th Annual International Conference of the IEEE Engineeringin Medicine and Biology, San Diego, CA, 2012, pp.1980-1983.

[6] K. Abhayasinghe and I. Murray. (2012, Nov.). “A novel approach forindoor localization using human gait analysis with gyroscopic data,”inThird International Conference on Indoor Positioning and IndoorNavigation (IPIN2012)[Online], Sydney, Australia, 2012. Available:http://www.surveying.unsw.edu.au/ipin2012/proceedings/submissions/22_Paper.pdf [Mar. 5, 2013].

[7] Y. P. Lim, I. T. Brown and J. C. T. Khoo, “An accurate and robustgyroscope-based pedometer,” in30th Annual International Conferenceof the IEEE Engineering in Medicine and Biology Society (EMBS 2008),Vancouver, BC, 2008, pp.4587-4590.

[8] M. Ayabe, J. Aoki, K. Ishii, K. Takayama and H. Tanaka “Pedometeraccuracy during stair climbing and bench stepping exercises,”Journal ofSports Science and Medicine, vol. 7, pp.249-254, June, 2008.

[9] J.Perry,GaitAnalysis:Normalgaitandpathologicalfunction.Thorafare,NJ Slack, 1999, ch. 1-2.

[10] T. Oberg, A. Karsznia and K. Oberg, “Basic gait parameters: Referencedata for normal subjects, 10–79 years of age,”J. Rehabil. Res. Dev., vol.30no. 2, pp.210–223, 1993.

[11] Apple Inc. (2010, Aug. 10) “Ambient Light Sen-sor”[Weblog entry].Apple Developer Forums. Availabel:https://devforums.apple.com/message/274229 [July 8, 2013].

翻譯後記:

boxer最近對這個東西特別感興趣,就找了些資料來看。發現這個文章觀點很新穎,而且經過boxer測試,效果的確不錯。不過也存在一些問題,比如說只能放褲袋裏,用手拿着都不準。如果大家有什麼好的想法,可以跟boxer交流,boxer微信是:boxertan

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章