論文: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. ACM, 2013: 225-234.
下面内容主要是對上述文章的翻譯、總結、及部分自己的了解。
摘要
文章評估了一些正常的基于智能手機傳感器的步伐檢測(WD, walk detection)和步數統計(SC, step counting)算法。使用豐富的資料集(27個人,130次行走,6個智能手機放置位置)對這些算法參數了進行優化。結果表明步伐檢測WD中使用标準差門檻值法,步數統計(SC)中使用視窗峰值檢測法的誤差率低于3%。6種其他的手機放置位置中,隻有後口袋會顯著降低步數統計性能,諸多算法都會出現漏檢。
Introduction
文章目标是探索基于無限制智能手機有效且魯棒的步伐檢測和步數統計算法。作者調研目前幾種步伐檢測和步數統計算法,并基于不同位置的智能手機資料進行了評估。作者定義了一種用于統一比較不同算法的度量标準,基于此可以得出在将來基于智能手機的PDR系統中能夠使用的最優算法。本篇論文與其他目前已經存在的工作的不同之處在于:
- 采用消費級智能手機進行采集資料;
- 智能手機不需要與使用者固定,允許被自然的使用;
- 分析了大量的資料,涉及27個不同的個體以不同的行走速度産生的130組傳感器軌迹;
- 在某一個智能手機放置位置處,基于不同的标準算法可以得到一個公平,量化的比較結果。
本文研究中所使用的加速度計資料集(含說明)均可以在下面連結裡免費擷取:[資料集](http://www.cl.cam.ac.uk/ ̃ab818/ubicomp2013.html)。
1 算法測試
步伐檢測(walk detection) | 步數統計(step counting) | |
---|---|---|
時域 | 加速度計模長門檻值:MAGN_TH,加速度計信号能量門檻值:ENER_TH,标準差門檻值:STD_TH | |
時域 | 視窗峰值檢測:WPD | |
時域 | 過零統計:MCC | |
時域 | 歸一化步數統計+标準差門檻值:NASC+STD_TH | 歸一化步數統計:NASC |
時域 | 動态時間規劃:DTW | |
頻域 | 短時傅裡葉變換:STFT | 短時傅裡葉變換:STFT |
頻域 | 連續小波變換:CWT | 連續小波變換:CWT |
頻域 | 離散小波變換:DWT | 離散小波變換:DWT |
特征聚類 | 隐式馬爾科夫模型:HMM | 隐式馬爾科夫模型:HMM |
特征聚類 | K-Means聚類算法:KMC | K-Means聚類算法:KMC |
步伐檢測的任務是提取邁步發生的時間段;步數統計算法是在已經定義好的邁步時間段統計步數。
1.1 時域算法
- 門檻值法
步伐檢測:将所有的可用傳感器作為輸入,當這些變量的加速度計模值(MAGN_TH),加速度計信号的功率譜(ENER_TH,在一個大小為 e n e r w i n ener_{win} enerwin大小的視窗内計算),以及加速度計的标準差(STD_TH,視窗大小為 s t d w i n std_{win} stdwin)超過一定的門檻值時,認為檢測到了行走。
步數統計:無
- 視窗峰值檢測(WPD)
步伐檢測:無
步數統計:使用一個滑動中值濾波視窗對加速度計模值進行處理(視窗大小為 M o v A v r w i n MovAvr_{win} MovAvrwin),使用峰值檢測法(視窗大小為 P e a k w i n Peak_{win} Peakwin)找出與腳觸底時刻關聯的峰值信号。
- 過零統計(MCC)
步伐檢測:無
步數統計:使用一個大小為 M o v A v r w i n MovAvr_{win} MovAvrwin的中心滑動視窗首先平滑加速度計的模值信号,然後使用使用信号均值 M e a n w i n Mean_{win} Meanwin将視窗切成上下兩片,統計每一個正向穿過視窗均值的時刻為一步。
- 歸一化自相關步數統計(NASC)
步伐檢測:采用NASC算法進行。當超過标準差門檻值 σ t h r e s h \sigma_{thresh} σthresh,在一個2秒的視窗内評估歸一化自相關系數(大緻延遲為 T m i n T_{min} Tmin到 T m a x T_{max} Tmax),也就是對目前信号和過去的一段時間信号計算相關性的操作,可用來找出信号中的相似信号模式。如果自相關系數的最大值超過門檻值 R t h r e s h R_{thresh} Rthresh,認為使用者在行走。當标準差低于 σ t h r e s h \sigma_{thresh} σthresh,認為行走結束。
步數統計:在一個2秒的滑動視窗連續計算歸一化自相關系數。對每個視窗,将與最大自相關系數對應的滞後時間作為邁步周期,同時計算作為一步。步數是這些小步的累加值。
- 動态時間規劃(DTW)
步伐檢測:無
步數統計:使用DTW随着步伐的發生在加速度信号裡做步态模闆比對(基于DTW建立的非線性映射可以對步速或者信号形狀進行統計)。對每個對象人工識别最優的步态模闆,對平滑後的信号重複使用DTW子序列進行比對去提取單獨的步伐。最小步長和兩步之間的最大距離是動态變化的。當步态模闆能夠被通過一個預處理步驟進行提取時,這能夠最好的表現算法的性能。
1.2 頻域算法
- 短時傅裡葉變換(STFT)
步伐檢測:使用STFT将信号分隔成大小為 D F T w i n DFT_{win} DFTwin的連續時間視窗,當信号視窗有典型行走頻率 f r e q w a l k freq_{walk} freqwalk範圍内的典型能量譜時認為進行了行走。
步數統計:将視窗的寬度設定為檢測到行走時的時域步伐時間段,使用STFT計算每個視窗的子步數,然後将其累加便可以實作步數的統計。
- 連續/離散小波變換(CWT/DWT)
步伐檢測:通過計算行走頻率帶能量和所有頻率的能量比率,設定一定的門檻值提取行走時間段,能量的計算通過 C W T / D W T CWT/DWT CWT/DWT進行。
步數統計:将行走頻率帶之外的CWT/DWT系數置0,并進逆向變換,以消除信号中的直流分量,隻保留行走資訊。接着,對單獨的步伐使用過零檢測進行提取。
1.3 特征聚類
作者對兩種聚類方法進行了測試,隐形馬爾科夫(HMMS)和K-Means聚類(KMC),均是序列聚類的典型方法。沒有考慮諸如SVM之類的方法進行聚類是因為這些方法均需要不同程度的監督訓練。選擇KMC是因為由于其具有更少的計算量和更好的精度,有利于自組織圖?。相似的原因,選擇了HMMs(除了HMMs的序列自然性?)而不是GMMs。
文中使用的特征包含時域的信号均值、信号能量、信号标準差,頻域的譜熵指數、時域頻率。為了适應不同類型的步态,沒有單獨使用FFT系數作為無限制移動下的時域頻率。而且,也沒有包含次元衰減和奇異特征(比如輕微失重)。
- 隐形馬爾科夫模型(HMM)
步伐檢測:以無監督的方式使用Viterbi算法訓練一個高斯分布下的雙狀态(行走/空閑)隐形馬爾科夫模型。将特征向量傳遞進模型裡,并通過leave-one-out進行交叉驗證。使用關聯協方差矩陣,這對隐形馬爾科夫模型的所有狀态都是一樣的(這是為了從更少的資料的裡學習隐形馬爾科夫模型,而且避免過拟合)。
步數統計:當隐形馬爾科夫模型應用到行走信号上時,其可以被訓練識别步态區間步态的動作,比如擡腳跟,擡腳尖,腳跟觸底,腳靜止。對不同數量的隐形馬爾科夫狀态進行測試,發現使用兩個隐形狀态的簡單馬爾科夫模型會産生相同的步數統計結果。在噪聲比較大時刻,模型仍将會将一個狀态配置設定給正向峰值,另一個給邁步周期的負向谷值。為了考慮不同行走速率,在一個滑動視窗動态的訓練HMMs。
- K-Means聚類(KMC)
步伐檢測:KMC可以被直接用來進行步伐檢測【9】,但是作者在自己采集的資料集上進行測試法相效果很一般,是以作者沒有進行一步研究。
步數統計:使用LIoyd’s算法将特征向量在滑動視窗上分為兩類(峰/谷)【34】。每隔50次便使用不同的質心重新開機算法,避免陷入局部極小。通過計算最近聚類實作預測。對HMM,對選擇的不同特征使用leave-one-out進行交叉驗證。