吳建超,劉 昱
(天津大學(xué)微電子學(xué)院 天津 300072)
隨著微機電系統(tǒng)MEMS(Micro-Electro-Mechanical System)的迅速發(fā)展,組合了加速度計和陀螺儀的慣性傳感單元IMU(Inertial Measurement Unit)被學(xué)者建議固定在人體的不同位置來進行人員航位推算PDR(Pedestrian Dead Reckoning)[1]。其中的一種步長-航行系統(tǒng)SHSs(Step-and-Heading Systems)已經(jīng)被學(xué)者廣泛用于對行人進行運動軌跡的追蹤。SHSs的主要基礎(chǔ)包括:識別單步數(shù)據(jù)子集、估計單步步長、估計單步航向或航向變化[2]。由于人員運動速度與步長呈正相關(guān),且相關(guān)性十分顯著[3]。所以人員運動速度無疑是SHSs系統(tǒng)中的一個重要參數(shù),識別運動單步的速度對于提高SHSs系統(tǒng)的精度有重要作用。
由于人員在行進過程中下肢會經(jīng)歷一個周期性變化[4],所以許多利用IMU進行速度估計的方法建議將IMU固定在人員下肢,利用步態(tài)周期中的關(guān)鍵階段,例如腳掌著地、小腿豎直等來估計相應(yīng)的行進速度[5]。當前利用固定在下肢的IMU進行速度估計的方法主要有兩類:①利用人體步態(tài)模型[6];②直接積分[7]。利用預(yù)先定義好的人體步態(tài)模型來估計速度是一種被廣泛采用的速度估計方法,這種方法根據(jù)固定在下肢的IMU獲得的慣性數(shù)據(jù)來確定下肢的運動學(xué)信息,結(jié)合人體步態(tài)模型間接的獲得步長。例如根據(jù)固定在下肢的IMU獲得一條腿的臀部前后擺動的周期,采用倒立擺模型估計速度[8],該方法的速度估計結(jié)果嚴重依賴于步態(tài)模型的設(shè)計,并未被學(xué)者廣泛采用。第2種直接積分的方法是首先利用固定在下肢的IMU獲得IMU坐標系的慣性數(shù)據(jù),然后將IMU坐標系下的加速度轉(zhuǎn)換到地面坐標系下,最后通過直接積分地面坐標系下的加速度獲得估計速度[9]。該方法近年來也被廣泛用于室內(nèi)定位與導(dǎo)航之中[10]。
基于腳部慣性傳感數(shù)據(jù)對人員運動時的速度進行估計主要采用的是直接積分的方法,采用該方法針對低速行走的行人可以獲得較高的速度估計準確性。當行人以0.6m/s至1.6m/s的速度慢速行走時,速度估計的最大均方誤差RMSE(Root Mean Square Error)為0.14m/s[5]。但當人員運動速度增加,處于快速行走以及跑步狀態(tài)下時,人體的步態(tài)模型會發(fā)生改變[11],腳掌著地的時間會隨著速度的增加而減小,加之消費級IMU自身存在的傳感誤差[12],繼續(xù)采用直接積分的方法估計人員運動速度會產(chǎn)生較大誤差。所以,當行人運動速度增加至快速行走后,運動速度的估計需要采用其他方法。
由于同一人員行走(Walking)、慢速跑步(Jogging)、快速跑步(Running)3種狀態(tài)的步長會產(chǎn)生顯著差異[13]。所以本文的主要研究范圍需要覆蓋快速行走、慢速跑步、快速跑步。針對這3種狀態(tài)進行速度區(qū)間細分,識別不同運動狀態(tài)下的單步運動速度。識別結(jié)果可用于進一步探究行人運動速度與步長之間的關(guān)系,并可用于進一步提高SHSs的精度。
本文提出了一種基于單步統(tǒng)計特征進行速度識別方法。此方法首先利用固定在腳部的IMU獲取人員在跑步機上以1.5 m/s~4 m/s的不同的速度運動的慣性傳感數(shù)據(jù),其次采用峰值檢測的方法對采集到的大量慣性傳感數(shù)據(jù)進行單步數(shù)據(jù)單元劃分,然后從每個單步數(shù)據(jù)單元中提取指定的65維統(tǒng)計特征,最后采用機器學(xué)習(xí)分類算法對每種速度的特征進行學(xué)習(xí),使用訓(xùn)練獲得的模型識別不同的單步慣性傳感數(shù)據(jù)所對應(yīng)的速度。
本文提出的識別方法整體流程如圖1所示。首先利用腳部IMU采集人員運動時IMU坐標系下的三軸加速度和三軸角速度數(shù)據(jù)。其次根據(jù)三軸加速度信息使用峰值檢測的方法對運動過程進行單步的劃分,定義每兩個峰值之間的數(shù)據(jù)為一個單步[14],獲得每一個單步的起始位置和終止位置。然后取出每一個單步起始位置和終止位置之間的三軸加速度和三軸角速度信息即為單步慣性數(shù)據(jù)。接著我們從每個單步慣性數(shù)據(jù)中提取選定的65維統(tǒng)計特征用來表征當前單步的速度,將65維統(tǒng)計特征輸入到利用大量單步統(tǒng)計特征-速度數(shù)據(jù)訓(xùn)練好的識別模型之中即可以獲得速度識別結(jié)果。
圖1 基于腳部慣性傳感數(shù)據(jù)的人員運動速度 識別方法流程圖
關(guān)于識別模型的訓(xùn)練方法,該方法要求制作一個足夠大的單步統(tǒng)計特征-速度數(shù)據(jù)集。即采集不同人員在不同速度下的慣性數(shù)據(jù),利用加速度數(shù)據(jù)峰值檢測單步劃分之后,將從單步慣性數(shù)據(jù)中提取的65維統(tǒng)計特征與該單步對應(yīng)的實際速度對應(yīng),利用該數(shù)據(jù)集訓(xùn)練速度識別模型。采用最小二乘法(LS)分類器、支持向量機(SVM)分類器、k近鄰(KNN)分類器、線型貝葉斯正態(tài)分類器(LDC)4種常見機器學(xué)習(xí)分類算法對以上數(shù)據(jù)集進行訓(xùn)練并驗證其識別準確性,尋找其中最佳的識別方法。
本文的數(shù)據(jù)采集選取Xsens公司的MTw組件作為獲取慣性數(shù)據(jù)的IMU。
圖2 IMU固定位置
如圖2所示,將IMU固定在右腳腳背上進行數(shù)據(jù)采集,并通過配套的軟件實時記錄獲取的慣性數(shù)據(jù)。固定時注意將IMU坐標系的x軸指向運動前方,y軸指向人員正右側(cè),z軸指向地心。設(shè)定IMU的采樣頻率為100 Hz。獲取到的數(shù)據(jù)主要包括三軸加速度信息:
(1)
三軸角速度信息:
(2)
式中:k代表采樣點的樣本,k=1,2,3,…N。B代表IMU坐標系。
(3)
圖3展示的是行人在跑步機上以4 m/s的速度前進時第2 000個采樣點至第2 500個采樣點(第20 s到第25 s)之間的峰值檢測效果。每兩個星號之間定義為一個單步。從峰值檢測的結(jié)果中獲取每一步的起始位置和終止位置,返回慣性數(shù)據(jù)中取出每一步的三軸加速度數(shù)據(jù)和三軸角速度數(shù)據(jù)。不同速度下的單步慣性數(shù)據(jù)均按照上述方法獲得。
圖3 峰值檢測分步效果樣例
由于當人員以不同的速度前進時其步頻會發(fā)生變化,即使人員以相同的速度前進,其每一步的持續(xù)時間也會發(fā)生變化[16]。為了保證人員以不同的速度前進時能夠獲得相同維度的特征以表征其速度特性,該方法需要從每一單步中提取指定維度的統(tǒng)計特征。
特征選取的目標在于選擇最小數(shù)目的特征來獲取最佳的識別準確性。這就要求我們設(shè)計的特征提取模塊不要使用過多過于復(fù)雜的特征量,這樣才能夠盡量降低計算復(fù)雜度,同時減小內(nèi)存、能量的消耗。本文選取的65維特征如表1所列。表1中的特征,均值、最大值、最小值表征數(shù)據(jù)的集中度趨勢,理論上來講,隨著行人運動速度的增加,加速度和角速度的單步均值、最大值、最小值會相應(yīng)的增加;標準偏差、平均絕對偏差、四分位距表征數(shù)據(jù)的分散規(guī)律,也就是用來分析數(shù)據(jù)是相互接近還是分散,理論上來講,隨著行人運動速度的增加,其數(shù)據(jù)分散程度會增加;信號幅度區(qū)域、平方和(也稱之為能量)的特征類似于均值特征,隨著行人運動速度的增加,其數(shù)據(jù)的能量、信號幅度區(qū)域?qū)黾???傮w來講,使用統(tǒng)計特征進行速度估計是因為它們的計算復(fù)雜度較低[15],對內(nèi)存的需求不高,可以滿足我們對特征提取模塊的要求,同時提高速度估計的效率。
表1 速度識別的統(tǒng)計特征
注:①四分位距:用于確定信號中第三四分位數(shù)與第一四分位數(shù)的區(qū)別,具體定義如下:
IQR=Q3-Q1
(4)
②信息熵:將待求信息熵的單步信號均勻等分,求出每段出現(xiàn)的概率,利用信息熵的定義求出單步信號的信息熵。
③自回歸系數(shù):采用4階Burg算法求出AR模型的各階系數(shù)。注意此特征僅對三軸加速度信號進行提取。
④相關(guān)系數(shù):用于確定信號之間的線性線性相關(guān)程度,注意此特征僅對三軸加速度信號進行提取。具體定義如下:
(5)
隨著近些年來機器學(xué)習(xí)技術(shù)的發(fā)展,機器學(xué)習(xí)中的分類方法已經(jīng)越來越多的被用于各種識別問題。常見的機器學(xué)習(xí)分類技術(shù)由兩部分組成:訓(xùn)練階段和評估階段。訓(xùn)練階段利用訓(xùn)練集產(chǎn)生離線的分類模型,評估階段利用另外獨立的數(shù)據(jù)集進行性能評估。所以在進行分類識別之前,有必要將通過之前步驟制作的單步統(tǒng)計特征-速度數(shù)據(jù)集隨機劃分兩個相互獨立的數(shù)據(jù)集,按照機器學(xué)習(xí)中傳統(tǒng)的測試集-訓(xùn)練集劃分方法,首先將其中80%劃分為訓(xùn)練集,其余20%劃分為測試集。為了進一步的驗證識別方法的可靠性,進一步擴大測試集數(shù)量同時降低訓(xùn)練集數(shù)量,將單步統(tǒng)計特征-速度數(shù)據(jù)集的70%劃分為訓(xùn)練集,其余30%劃分為測試集進行識別性能驗證。
常見的有監(jiān)督機器學(xué)習(xí)分類算法有KNN、SVM、決策樹、隨機森林、樸素貝葉斯等方法。針對相同的數(shù)據(jù)集,每種分類方法擁有不同的準確性性能。本文采用LS分類器、SVM分類器、KNN分類器、LDC4種常見分類算法進行對比驗證,對比各自分類器的識別準確性,從中尋找出識別率最高的分類算法用于基于腳步慣性傳感數(shù)據(jù)的人員運動速度識別。
該文章將通過一組實驗來獲得單步統(tǒng)計特征-速度數(shù)據(jù)集。12位志愿者(年齡23~28周歲,身高168cm~182cm)參加了此次數(shù)據(jù)集的制作。每位實驗者均按照圖2所示的固定位置將IMU固定在右腳腳背上進行實驗,然后依次按照表2所示的要求在跑步機上進行實驗。實驗過程中參與實驗人員均采用自己的鞋進行實驗,且每次實驗前IMU人為的固定在指定位置。
由于同一人員行走、慢速跑步、快速跑步3種狀態(tài)的步長會產(chǎn)生顯著差異,對應(yīng)的單步步長分別為0.74m、1.01m、1.70m,相對于行走狀態(tài),單步步長的改變程度分別為0%、36%、130%[13]。所以本文的主要研究范圍包括快速行走、慢速跑步、快速跑步。當運動速度增加至2m/s后,行人開始跑步狀態(tài)。我們將行人以1.5m/s和1.75m/s運動表征快速行走狀態(tài),以2m/s~2.75m/s表征行人慢速跑步狀態(tài),以3m/s~4m/s表征快速跑步狀態(tài)。
由于實驗人員的運動速度會逐漸加快,當運動速度大于3m/s后,每組之間安排休息時間,在休息時間內(nèi)停止跑步機,使實驗者在跑步機上站立休息。每種速度下持續(xù)運動120s,截取第2min內(nèi)的慣性數(shù)據(jù)作為該速度對應(yīng)的有效慣性數(shù)據(jù)存儲。因為跑步機的加速需要一個過程,應(yīng)當記錄的是實驗者運動速度穩(wěn)定后的數(shù)據(jù)。每位實驗者的實驗時長大概40min。從每位實驗者數(shù)據(jù)中獲取的有效數(shù)據(jù)時長660s左右。經(jīng)過以上過程,12位實驗者共獲取的有效數(shù)據(jù)時長為11 071s,約184.52min。
表2 實驗數(shù)據(jù)獲取過程
在進行分步之前,首先對原始數(shù)據(jù)使用截止頻率為20 Hz的3階巴特沃斯低通濾波器進行濾波處理,去除其中的高頻噪聲。之后采用峰值檢測方法對每位實驗者在每種速度下的有效數(shù)據(jù)進行單步劃分并存儲,共獲得11 739步的有效數(shù)據(jù)。然后對每一步的慣性數(shù)據(jù)進行65維的統(tǒng)計特征提取,將65維的特征與該單步所對應(yīng)的真實速度一一對應(yīng)保存在數(shù)據(jù)中。也就是通過以上步驟獲得了11 739×65維的速度特征數(shù)組,以及11 739×1維的速度標簽數(shù)組,且它們是一一對應(yīng)的。那么單步統(tǒng)計特征-速度數(shù)據(jù)集就制作完成。
依據(jù)本文提出的方法,試驗前需要隨機將數(shù)據(jù)集劃分為訓(xùn)練集以訓(xùn)練識別模型,和測試集以測試模型的識別效果。據(jù)前所述,首先隨機將整體數(shù)據(jù)集的80%(9 391步)用來訓(xùn)練識別模型,其余20%(2 348步)的數(shù)據(jù)用來測試模型的識別準確性。然后隨機將整體數(shù)據(jù)集的70%(8 218步)用來訓(xùn)練識別模型,其余30%(3 521步)的數(shù)據(jù)用來測試模型的識別準確性。通過兩次互相獨立的測試,以此確保選定的方法可以有效的用來對人員運動速度進行識別。接下來分別采用LS分類器、SVM分類器、KNN分類器、LDC 4種分類算法對以上數(shù)據(jù)集進行速度識別測試。比較4種算法在兩種不同訓(xùn)練集-測試集劃分情況下的識別準確性,識別準確性最高的算法即為最佳分類算法。
實驗采集到的數(shù)據(jù)的濾波處理、峰值檢測、特征提取、分類算法的實現(xiàn)均是由MATLAB R2014a編程實現(xiàn)。
根據(jù)以上提出的方法,在確定每種分類算法的最優(yōu)參數(shù)之后,使用劃分好的兩種訓(xùn)練集-測試集對每種算法分類準確性進行測試,準確性結(jié)果如表3所示。
表3 分類器的識別準確率
從表3中可以看出,4種分類算法中SVM分類器的識別準確性最高,在兩種訓(xùn)練集-測試集劃分方法下其識別準確性均高于95%。為了進一步分析SVM對每種速度下的單步識別性能,表4展示的是以70%。
表4 70%∶30%情況下測試集識別結(jié)果
30%劃分訓(xùn)練集和測試集的情況下SVM分類器對測試集的識別準確性分析,表5展示的是以80%:20%劃分訓(xùn)練集和測試集情況下SVM分類器對測試集的識別準確性分析。
表5 80%∶20%情況下測試集識別結(jié)果
從表4以及表5中我們可以看到,采用SVM分類器識別單步運動速度時,針對人員行走狀態(tài)的識別準確性相對較高,采用本文提出的方法,可以將人員以1.5 m/s和1.75 m/s快速行走狀態(tài)的單步從數(shù)據(jù)集中區(qū)分出來。理論上分析是因為人員處于行走狀態(tài)時,即使是快速行走,腳部觸地的時間相對跑步狀態(tài)腳部觸底時間相對較長,其特征值相對較穩(wěn)定。另外,從表4與表5中的數(shù)據(jù)我們還可以看到,當人員運動速度大于3 m/s后,其單步速度誤判相對低速運動出現(xiàn)顯著波動。理論上分析是因為當人員運動大于3 m/s后,腳部觸地的時間出現(xiàn)顯著地減少,數(shù)據(jù)的波動增大,本文所選取的特征出現(xiàn)波動,從而影響分類器的識別過程。
但是從整體上來講,無論是以80%∶20%劃分訓(xùn)練集和測試集,還是以70%∶30%劃分訓(xùn)練集和測試集,采用SVM分類器針對本文創(chuàng)建的數(shù)據(jù)集的速度識別準確率均高于95%,最高達到了96.3%。
目前基于腳部慣性傳感數(shù)據(jù)進行人員運動速度識別的方法大多采用直接積分的算法對慢速行走的行人進行速度估計。但是當行人運動速度增加至快速行走或者奔跑時,繼續(xù)使用該方法進行速度估計會出現(xiàn)顯著偏差。所以本文提出了一種基于腳部慣性傳感數(shù)據(jù)、利用單步統(tǒng)計特征對行人運動速度進行估計的方法。
本文的主要貢獻在于將IMU固定在腳部,采用SVM分類器識別單步運動速度,當行人在1.5 m/s~4 m/s內(nèi)運動時,我們認為單步運動速度識別誤差將小于0.25 m/s。本文提出的方法存在一定的誤差。但是由于同一人員運動狀態(tài)改變時步長會發(fā)生顯著變化,且已證明運動速度與運動步長之間有強相關(guān)關(guān)系。本文提出的方法存在一定誤差,但是利用本文提出的方法,針對存在速度劇烈變化的運動過程,可以根據(jù)識別的單步運動狀態(tài)改變行人的運動步長,相對于用戶輸入步長固定值,將有助于提高SHSs的追蹤精度。