人體動作和路況的快速準確識別是實現智能假肢自主控制的基礎與前提。本文提出了一種基于假肢(下肢)慣導信號的高斯混合模型(GMM)和隱馬爾可夫模型(HMM)融合的人體動作和路況識別方法。首先,使用慣性傳感器采集膝關節處 x 、y 和 z 軸方向上的加速度、角度和角速度信號,然后用時間窗截取信號段并用小波包變換消除信號的抖動噪聲;接著對預處理后的信號進行快速傅里葉變換,提取其系數作為特征值;隨后對特征進行主成分分析(PCA),去除冗余信息;最后采用高斯混合模型和隱馬爾可夫模型進行假肢動作和路況識別。試驗結果表明,本文方法對常規的動作(散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯)的識別率分別達到 96.25%、92.5%、96.25%、91.25%、93.75%、88.75% 和 90%。同等試驗條件下,將本文方法與常規的支持向量機(SVM)識別方法進行比較,結果顯示本文方法的識別率明顯較高。本文研究結果或可為智能假肢的監測和控制提供新的思路和途徑。
引用本文: 王永雄, 陳晗, 尹鐘, 喻洪流, 孟巧玲. 基于慣導信息的人體動作和路況識別. 生物醫學工程學雜志, 2018, 35(4): 621-630. doi: 10.7507/1001-5515.201712081 復制
引言
應用于人體下肢的智能假肢的研發是最近幾年假肢制備技術的主要研究方向之一,其主要思路為利用多種傳感器實時監測人體行走狀態、推測環境信息,并根據不同的行走步態和環境特征,實現智能假肢膝關節自適應控制,讓被動式智能假肢獲得較佳的屈伸阻尼,使假肢使用者更加方便和舒適[1-2]。在多變的路況和不同動作模式(例如:上下坡道、行走和跑步)下,假肢所需的控制量或者參數有較大變化[3],體現在腿部各關節力矩不僅在數值上有很大變化,而且頻率上也有較大差別,所以智能假肢自主學習人體運動模式和感知環境信息是實現自適應控制的先決條件[4-5]。
人體行為識別的信息源主要有力學信息、慣導信息、生物電信息和視頻圖像信息。基于力學信息的識別是根據不同行為的地面反作用力信息,提取其時域特征,然后采用隱馬爾可夫模型(hidden Markov model,HMM)等方法進行人體行為識別[6]。基于生物電信息的識別則是把下肢表面肌電信號作為識別信息源,提取其時域特征和頻域特征,再采用神經網絡等模型進行識別[7];或者提取小波包能量特征,然后采用核主元分析降維步態特征值后利用相關向量機方法進行分類識別[8],這些方法均取得了不錯的效果和進展。但已有的研究指出,肌電信號產生復雜,容易受人體自身狀態等因素影響,穩定性較差,因此距實際應用還有較大距離[9]。此外,還有基于視頻圖像信息的識別方法[10-11],雖然這些方法分析人體行為圖像取得了不錯的效果,但是圖像信息采集難以始終對假肢跟蹤,并且容易發生遮擋、超出視野等問題,并不適合在真實假肢中使用。
針對以上不足,本文側重研究基于慣導信息的人體行為識別方法,這是由于慣性傳感器小巧、靈敏、傳輸速度快,滿足易安裝性和實時性等要求[12-13]。然而,慣導信號的特征可以是時域特征的均值、方差、標準差、相關系數、時域積分等,也可以是頻域特征的快速傅里葉變換(fast Fourier transform,FFT)系數、頻域熵、能譜密度,還可以是時頻特征的小波系數[14]。特征的選擇能很大程度上影響人體動作識別的最終結果,為此 Preece 等[15]比較了時域、頻域和時頻域等 14 種特征,發現頻域特征比時頻域特征更適合用來描述非平穩信號,對主體的動態活動進行分類時更加穩定和精確,因此本文提取信號的 FFT 系數作為描述路況和動作的特征值。
早期的方法是根據慣導信號的平均加速度、極值、相鄰兩波峰時間等參數之間的差異作為依據進行人體動作識別[16],或者采用峰值檢測和零交叉檢測的識別方法[17],這些方法計算量小,實用性強,但總體識別率不高。隨著人工智能研究的不斷深入,機器學習算法已經在生物信息識別、語音識別等領域得到廣泛應用。Shi 等[18]提出用 FFT 生成特征,然后再用支持向量機(support vector machine,SVM)進行識別,該方法在識別種類和識別率兩方面均有所提升。Dehzangi 等[19]也提出將慣性信號的頻譜作為特征,利用卷積神經網絡識別人體下肢行為。雖然該方法新穎,識別率也很高,但計算量大,需要的訓練數據極大,目前還難以在實際中使用。此外,Panahandeh 等[20]利用慣導信號和雙層 HMM 的方法進行人體行為分類和步態分析,取得了良好的效果,說明了 HMM 在路況識別和動作識別方面具有較佳優勢。最后,考慮到高斯混合模型(Gaussian mixture model,GMM)和 HMM 融合在語音識別中效果良好[21],而且下肢運動的慣導信號與音頻信號有很多相似之處,因此,融合 GMM 和 HMM 算法是慣導信號的人體動作和路況識別的較佳選擇。
基于以上原因,本文提出了一種高斯混合隱馬爾可夫模型(Gaussian mixture hidden Markov model,GMHMM)的人體動作和路況識別方法。首先采用時間窗法截取信號,并將每個窗口內的信號進行標準化處理,然后對標準化的信號進行降噪并提取 FFT 系數作為特征值,最后采用主成分分析(principal component analysis,PCA)將 FFT 系數矩陣降維并輸入到 GMHMM 模型中進行訓練和分類。本文將 GMM 和 HMM 融合算法應用到智能假肢上,不僅比傳統的識別方法運算量少,而且提高了識別范圍和準確率。同時本方法利用小巧、易安裝的慣性傳感器,可使智能假肢擺脫繁重的設備限制而變得更加輕便,適合更多的應用場景,對智能假肢的實用化和智能化有著重要的意義。
1 算法原理
GMHMM 模型主要由 GMM 和 HMM 兩個部分組成。GMM 能夠將一個向量表示成若干個高斯概率密度函數方程之和。HMM 則是一個雙重隨機過程,其中隱狀態到隱狀態之間的轉移是隨機的,而且每個狀態的觀測值也是隨機的。雖然 HMM 可以根據觀測到的數據,利用觀測概率矩陣確定隱含狀態,但由于 HMM 中隱含狀態不能直接觀測,只能通過觀測向量感知它的存在,所以對于連續特征數據需要用 GMM 解決隱狀態和數據之間的觀測概率問題。
1.1 GMM 原理介紹
GMM 具有很強的擬合能力,幾乎可以擬合任何一種復雜的概率分布函數。GMM 的表達式,如式(1)所示:
![]() |
其中 x 是人體動作和路況樣本的 D 維特征向量,t 為其樣本序號;αk 是混合權值;θ ={αk,μk,δk},k = 1,2,
,K,是 GMM;
(xt)是高斯密度函數;每一個成員密度函數是一個關于 D 維變量的均值矢量 μk 和協方差 δk 的高斯函數,形式如式(2)所示:
![]() |
對于 GMM 的參數估計,可以采用最大期望(expectation maximization,EM)算法進行。其關鍵是根據當前模型 θ 去計算第 t 個觀測向量來自第 k 個高斯分模型的概率 γtk,稱其為第 k 個分模型對觀測數據 xt 的響應度,然后用它去估計一個新的模型
,使得
。
1.2 HMM 原理介紹
HMM 定義為 λ =(τ,B,A),τ 為初始概率分布矩陣,表示隱藏狀態在初始時刻的概率。B 為觀測概率矩陣,在本文中觀測概率由上一節的 GMM 決定,其元素 bj(x)表示在樣本矩陣 X 下矢量 x 來自隱狀態 sj 的概率,如式(3)所示:
![]() |
其中 N 表示高斯密度函數,cjm 表示在隱狀態 sj 下第 m 個高斯分模型的權重。A 為隱藏狀態概率分布矩陣,它描述了 HMM 中各個狀態之間的轉移概率,其元素 aij 代表當前隱狀態為 si,且下一狀態為 sj 的概率。隱狀態的個數決定了矩陣的階數,且 A 矩陣中每一行的概率和都為 1。根據訓練樣本重估狀態轉移率
,需先計算出前向概率和后向概率。前向概率
(sj)和后向概率
(si)如式(4)、式(5)所示:
![]() |
![]() |
其中
(sj)表示在 t – 1 時刻的前向概率, aij 表示重估前的狀態轉移率。
(si)表示在 t + 1 時刻的后向概率。然后計算 HMM 下,從 t 到 t + 1 時刻,從隱狀態 si 轉移到 sj 的概率,如式(6)所示:
![]() |
![]() |
為了重估 GMM 的第 m 個高斯分模型的均值
、協方差
和權值
,需將 HMM 下,在 t 時刻隱狀態為 sj 和第 m 個分模型的概率作為響應度,如式(8)所示:
![]() |
則重估后的參數計算方式如式(9)、式(10)、式(11)所示:
![]() |
![]() |
![]() |
2 基于 GMHMM 方法的人體動作和路況識別
基于 GMHMM 方法的人體動作和路況識別主要包含 3 個步驟:① 信號的預處理和特征提取;②GMHMM 訓練;③ 行為和路況識別。在信號預處理過程中,本文使用動態時間窗口法、數據標準化法和小波包去噪法來使運動信號更加的平滑,以方便提取 FFT 系數。然后采用 PCA 降維 FFT 系數矩陣作為特征。在 GMHMM 訓練階段,本文設計了散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個動作模式,并根據這 7 個動作模式的樣本特征分別訓練出相應的 7 個 GMHMM 模型。在行為和路況識別階段,只須將待識別信號輸入到這 7 個訓練好的模型中進行識別,依據待測信號與每個模型的匹配率,即可確定待識別信號所屬的人體行為或路況。
2.1 數據預處理和特征提取方法
針對連續變化的人體運動信號,通常使用動態時間窗法提取階段性信息。常規的時間窗法主要有鄰近窗口法和重疊窗口法。其中,鄰近窗口法處理完一段數據之后,必須等待下一個時間窗的數據全部到達才能接著處理,因此處理器有個空閑的等待時間;而重疊窗口法可以利用上個窗口的部分數據,產生更密集、半冗余的信息,更能夠充分使用信息和更高效使用 CPU[22]。本文試驗中采用重疊率為 50% 的重疊窗口提取窗內的 FFT 系數作為特征,每個窗口約有 750 個樣本點,窗口時間跨度通常在 0.5~2 s 內,以散步動作模式下的膝關節 y 軸方向加速度信號提取為例,如圖 1 所示。

其次,由于加速度、角度和角速度數據存在量綱差別,所以需先對每個窗口內信號進行歸一化處理。這里采用標準差標準化方法,如式(12)所示:
![]() |
其中 X 表示原數據,μ 表示信號均值,σ 表示信號方差。
采集到的原始信號存在許多噪音,在試驗中這些噪音會對特征提取帶來很強的干擾,因此本文采用分解層數為 4 層,基波為席勒(Symlets)函波的小波包去噪來減少噪聲影響。選擇小波包去噪的原因在于小波包變換是建立在小波變換的基礎上,但比小波分析更加精細,通過對信號多層次分解和重構,提取信號的時頻特性,可更有效地實現去噪[23]。
接下來是信號的特征提取,人體下肢運動呈周期性,而且不同動作模式的加速度之間有明顯差異,以 z 軸方向的加速度為例,隨機選取本文某位受試者的 7 種不同動作信號,如圖 2 所示。

針對這種周期性信號,頻域特征能夠很好地體現信號的本質。此外 Preece 等[15]也表明,頻域特征對下肢行為分類具有更高的準確率。基于此,本文提取窗內的 FFT 系數作為特征。每個窗口提取出 14 × 9 的系數矩陣,其中每一列分別是某狀態下的 x 軸加速度、y 軸加速度、z 軸加速度、x 軸角度、y 軸角度、z 軸角度、x 軸角速度、y 軸角速度和 z 軸角速度的 FFT 系數,但提取的系數矩陣維數較大,包含大量冗余特征。為了提高處理速度,本文采用 PCA 方法對提取的 FFT 系數矩陣進行降維,把原始的 14 × 9 矩陣降維到 6 × 6。這樣既減少了計算量,同時保留原始數據中有鑒別力的特征。
2.2 GMHMM 訓練過程
針對散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 種動作模式,對應地訓練出 7 個 GMHMM。每個 GMHMM 包含 4 個隱狀態,每個隱狀態對應一個 GMM,其中每個 GMM 包含 3 個高斯分模型。單個行為的 GMHMM 的訓練過程如圖 3 所示。

圖中 α 為前向概率縮寫;β 為后向概率縮寫;γ 表示第 t 個列向量屬于隱狀態 sj 的概率;
表示當 t 到 t + 1 時,狀態從 si 轉移到 sj 的概率。具體訓練過程是先對高斯分模型進行參數初始化,其中隱狀態概率分布矩陣 A 初始化為 6 × 6 的單位陣,高斯分模型的初始化為均值是[0,0,0,0,0,0],協方差是[1,1,1,1,1,1],權重是 1/3。然后根據式(4)、式(5)分別計算特征矩陣Xn = {x1,x2,
,x6}的前向概率 αt(sj)和后向概率 βt(si);其次根據式(6)、式(8),計算出
t(si,sj),接著計算特征矩陣下第 t 個列向量屬于隱狀態 sj 的概率 γt(sj),如式(13)所示:
![]() |
式中 P(X|λ)表示特征矩陣在 HMM 下的概率。最后根據公式(9)、(11)和(13),重新估算新 GMHMM 模型
,其中初始概率計算如式(14)所示:
![]() |
迭代過程多次循環,直到 P(X|λ)值趨于穩定。得到的模型訓練結果為狀態轉移概率矩陣 A,GMM 權值參數 cjm,GMM 均值向量 μjm,GMM 協方差矩陣 δjm 和初始概率分布矩陣 τi。
2.3 人體行為和路況的識別
根據訓練好的模型去識別路況和人體動作的過程如圖 4 所示。待識別信號經過上述同樣的預處理和特征提取后,生成一個 6 × 6 的待識別特征矩陣 O ={o1,o2,
,o6}。然后將待識別特征矩陣分別輸入到已經訓練好的散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個 GMHMM 模型中。

圖中的 P(O |λ)表示待識別矩陣屬于模型 λ 的概率。首先取出一個 GMHMM 模型,根據模型的 μjm、cjm、δjm 和觀測概率計算公式,如式(3)所示,計算出該特征矩陣的觀測概率 bj(ot),接著根據前向概率計算公式,如式(4)所示,計算待識別特征矩陣屬于隱狀態 si 的概率 α6(si)。最后計算特征矩陣在每個模型下的概率 P(O|λ),如式(15)所示:
![]() |
這樣待識別特征對于每個 GMHMM 模型中均有一個對應的 P(O|λ),最后選擇 P(O|λ)最大者為該數據所屬的人體行為。
3 試驗和結果分析
影響人體動作和路況識別率的因素有很多,例如去噪方式對降噪效果的影響、模型參數對識別結果的影響等。因此,為了驗證各種因素對識別結果的影響程度,本文首先采用多種降噪策略進行對比,然后將不同組合的隱狀態數和高斯分模型數進行了試驗對比,最后為了驗證算法的優越性,與經典的 SVM 算法做了對比試驗,并給出試驗分析。
3.1 試驗硬件平臺
慣導信息采集系統包含一個高性能慣導傳感器(MPU6050,深圳維特智能)、三軸數字羅盤(HMC5883,深圳維特智能)、一個藍牙接收器(HC-06,深圳維特智能)和一臺計算機(Precision 5520,美國戴爾)。其中,高性能慣導傳感器 MPU6050 內部集成了三軸陀螺儀和三軸加速度計,陀螺儀用來檢測轉動角速度,加速度計用來測量線運動加速度。MPU6050 的采樣率為 50 Hz,其中三軸陀螺儀量程為 ± 2 000 (°)/s,分辨率高達 16 位;三軸加速度計的測量范圍為 ± 160 m/s2,有 16 位分辨率,可以滿足本系統的需求。
3.2 數據采集和預處理
在數據采集階段,為了保證數據的完整性和合理性,試驗共招募 20 名年齡在 18~30 歲之間,身高范圍在 152~185 cm,身體健康、下肢無任何疾病的受試者進行試驗數據采集。考慮到假肢需要模擬正常腿的動作方式,試驗中慣性傳感器固定在正常腿的下肢膝蓋處,其中 z 軸朝著人體正前方,x 軸與地面垂直向上,x 軸到 y 軸旋轉方向符合右手定則(拇指方向為 z 軸正方向)。在相似的數據采集場景中,每個人在 30~40 min 內完成散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個動作模式。散步時的平均速度約 3 km/h,上下樓梯、上下坡的平均速度約為 3 km/h,跑步的平均速度為 6 km/h,騎車平均速度約為 15 km/h。實際錄制數據總時長超過 300 min,共包含了約 185 萬組數據。
在信號預處理過程中,最重要的是信號去噪。常用的信號去噪方法主要包括:有限長單位沖激響應低通濾波、移動均值濾波、加權移動均值濾波及小波去噪等,但策略的不同,降噪效果也不盡相同。為了驗證各種降噪策略的去噪效果,本試驗中將小波降噪中的伯奇-馬薩特(Birge-Massart)策略、懲罰(penalty)策略、小波包去噪與原始信號進行了對比,具體試驗結果如圖 5 所示。

從圖 5中可以發現基于 penalty 策略的降噪方法去除高頻噪音的效果較差,而基于 Birge-Massart 策略的效果略好,但依然包含較多的高頻信號,只有小波包降噪后曲線平滑,有效地減少了高頻噪音信號,并保留了數據的主要特征。
本文還將無效特征比重作為參考對象,進一步驗證各種策略的降噪效果。因為當 FFT 系數的某個值過大時,會嚴重影響后續的模型訓練,所以這些特征可歸類為無效特征。無效特征越少,模型訓練效果越好,同時識別率也就越高。基于不同策略的降噪方法在特征提取之后,包含無效特征的結果對比如圖 6 所示,縱坐標表示無效特征占所有特征中的比重。通過本文試驗發現,采用 Birge-Massart 策略的去噪效果不明顯,而使用小波包降噪后的無效特征遠低于其他幾種降噪策略。以上試驗結果證明,小波包降噪對于特征提取來說更有效,對比結果如圖 6 所示。

3.3 隱狀態和分模型個數對識別結果的影響
為了避免模型過擬合或欠擬合問題,需要設置合適的 GMHMM 參數組合(隱狀態數目、高斯分模型數目等)提高模型泛化能力。本文在試驗中設置多個不同的參數組合進行對比,隱含狀態數分別取 3~8 個,高斯分模型個數取 1~5 個,試驗結果對比如圖 7 所示。

從圖 7 中可以看出,這些參數組合的平均識別率約在 83%~89% 之間,彼此之間差別不是很大。但大部分組合的識別率隨著隱藏狀態數量增加,識別率均有下降。由于隱藏狀態數增多會增加模型訓練和識別的計算量,并且當組合策略為 4 個隱狀態、3 個高斯分模型時平均識別率最高,因此本文在每個行為的 HMM 模型下均設置 4 個隱狀態,每個 GMM 有 3 個高斯分模型。
3.4 識別結果及與 SVM 的對比試驗分析
針對散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 種動作模式,經過小波包去噪后,每個人每種狀態取 300 個窗口,共 2 100 個窗口。每個狀態的前 200 個窗口用于訓練模型,訓練出 7 個 GMHMM 模型,后 100 個窗口用于驗證模型的識別率,識別結果如表 1 所示。

從表 1 中可以看出,散步、跑步、騎行、上坡、下坡和下樓梯的識別率均高于 90%,散步和騎行的識別率甚至高達 96.25%,說明了本方法對人體動作和路況識別具有良好的識別效果,并且對差異比較明顯的行為識別效果更好。雖然上樓梯的識別率偏低只有 88.75%,但從總體上來看,本文方法可以滿足智能假肢對于人體動作和路況的識別要求。
此外,本文和應用較為廣泛的 SVM 算法進行了試驗對比。在特征提取方法、模型的訓練樣本、測試樣本均與 GMHMM 方法相同。SVM 的核函數采用徑向基函數(radial basis function,RBF),識別結果如表 2 所示。

從表 2 得出,SVM 方法下的散步狀態識別率最高達到 97.78%,上樓梯狀態識別率最低僅僅為 68.63%,并且把上樓梯誤判為上坡的比例達到 15.69%,說明對于比較相似的路況或人體動作,SVM 區分能力不是很強。此外,在 SVM 算法下的騎行狀態識別率有 75.26%,下坡狀態識別率只有 72%,本文方法在同模式的識別率分別達到 96.25% 和 93.75%,并且本文方法 92.69% 平均識別率遠高于 83.36% 的 SVM 平均識別率,充分證明本文方法的優越性。
4 討論
本文提出了一種基于慣導信號的人體動作和路況識別方法,可用于正常人和智能假肢(下肢)的動作和路況識別。慣導傳感器的廉價、小巧、易安裝,使得慣導信號在假肢上的應用比圖像信號和肌電信號處理更可靠、更合適。最終試驗結果顯示,本文所提出的識別模型識別率較高,今后或可在智能假肢、運動康復等多個研究領域方向上具有一定的應用前景。本文提出的方法是針對時間窗內信號進行信號分析,所以識別存在一定的滯后性,當人體行為模式切換較為頻繁時行為識別率也會降低。今后的研究需增加基于慣導信息的人體動作和路況的預測,使假肢更加智能化和實用化。
引言
應用于人體下肢的智能假肢的研發是最近幾年假肢制備技術的主要研究方向之一,其主要思路為利用多種傳感器實時監測人體行走狀態、推測環境信息,并根據不同的行走步態和環境特征,實現智能假肢膝關節自適應控制,讓被動式智能假肢獲得較佳的屈伸阻尼,使假肢使用者更加方便和舒適[1-2]。在多變的路況和不同動作模式(例如:上下坡道、行走和跑步)下,假肢所需的控制量或者參數有較大變化[3],體現在腿部各關節力矩不僅在數值上有很大變化,而且頻率上也有較大差別,所以智能假肢自主學習人體運動模式和感知環境信息是實現自適應控制的先決條件[4-5]。
人體行為識別的信息源主要有力學信息、慣導信息、生物電信息和視頻圖像信息。基于力學信息的識別是根據不同行為的地面反作用力信息,提取其時域特征,然后采用隱馬爾可夫模型(hidden Markov model,HMM)等方法進行人體行為識別[6]。基于生物電信息的識別則是把下肢表面肌電信號作為識別信息源,提取其時域特征和頻域特征,再采用神經網絡等模型進行識別[7];或者提取小波包能量特征,然后采用核主元分析降維步態特征值后利用相關向量機方法進行分類識別[8],這些方法均取得了不錯的效果和進展。但已有的研究指出,肌電信號產生復雜,容易受人體自身狀態等因素影響,穩定性較差,因此距實際應用還有較大距離[9]。此外,還有基于視頻圖像信息的識別方法[10-11],雖然這些方法分析人體行為圖像取得了不錯的效果,但是圖像信息采集難以始終對假肢跟蹤,并且容易發生遮擋、超出視野等問題,并不適合在真實假肢中使用。
針對以上不足,本文側重研究基于慣導信息的人體行為識別方法,這是由于慣性傳感器小巧、靈敏、傳輸速度快,滿足易安裝性和實時性等要求[12-13]。然而,慣導信號的特征可以是時域特征的均值、方差、標準差、相關系數、時域積分等,也可以是頻域特征的快速傅里葉變換(fast Fourier transform,FFT)系數、頻域熵、能譜密度,還可以是時頻特征的小波系數[14]。特征的選擇能很大程度上影響人體動作識別的最終結果,為此 Preece 等[15]比較了時域、頻域和時頻域等 14 種特征,發現頻域特征比時頻域特征更適合用來描述非平穩信號,對主體的動態活動進行分類時更加穩定和精確,因此本文提取信號的 FFT 系數作為描述路況和動作的特征值。
早期的方法是根據慣導信號的平均加速度、極值、相鄰兩波峰時間等參數之間的差異作為依據進行人體動作識別[16],或者采用峰值檢測和零交叉檢測的識別方法[17],這些方法計算量小,實用性強,但總體識別率不高。隨著人工智能研究的不斷深入,機器學習算法已經在生物信息識別、語音識別等領域得到廣泛應用。Shi 等[18]提出用 FFT 生成特征,然后再用支持向量機(support vector machine,SVM)進行識別,該方法在識別種類和識別率兩方面均有所提升。Dehzangi 等[19]也提出將慣性信號的頻譜作為特征,利用卷積神經網絡識別人體下肢行為。雖然該方法新穎,識別率也很高,但計算量大,需要的訓練數據極大,目前還難以在實際中使用。此外,Panahandeh 等[20]利用慣導信號和雙層 HMM 的方法進行人體行為分類和步態分析,取得了良好的效果,說明了 HMM 在路況識別和動作識別方面具有較佳優勢。最后,考慮到高斯混合模型(Gaussian mixture model,GMM)和 HMM 融合在語音識別中效果良好[21],而且下肢運動的慣導信號與音頻信號有很多相似之處,因此,融合 GMM 和 HMM 算法是慣導信號的人體動作和路況識別的較佳選擇。
基于以上原因,本文提出了一種高斯混合隱馬爾可夫模型(Gaussian mixture hidden Markov model,GMHMM)的人體動作和路況識別方法。首先采用時間窗法截取信號,并將每個窗口內的信號進行標準化處理,然后對標準化的信號進行降噪并提取 FFT 系數作為特征值,最后采用主成分分析(principal component analysis,PCA)將 FFT 系數矩陣降維并輸入到 GMHMM 模型中進行訓練和分類。本文將 GMM 和 HMM 融合算法應用到智能假肢上,不僅比傳統的識別方法運算量少,而且提高了識別范圍和準確率。同時本方法利用小巧、易安裝的慣性傳感器,可使智能假肢擺脫繁重的設備限制而變得更加輕便,適合更多的應用場景,對智能假肢的實用化和智能化有著重要的意義。
1 算法原理
GMHMM 模型主要由 GMM 和 HMM 兩個部分組成。GMM 能夠將一個向量表示成若干個高斯概率密度函數方程之和。HMM 則是一個雙重隨機過程,其中隱狀態到隱狀態之間的轉移是隨機的,而且每個狀態的觀測值也是隨機的。雖然 HMM 可以根據觀測到的數據,利用觀測概率矩陣確定隱含狀態,但由于 HMM 中隱含狀態不能直接觀測,只能通過觀測向量感知它的存在,所以對于連續特征數據需要用 GMM 解決隱狀態和數據之間的觀測概率問題。
1.1 GMM 原理介紹
GMM 具有很強的擬合能力,幾乎可以擬合任何一種復雜的概率分布函數。GMM 的表達式,如式(1)所示:
![]() |
其中 x 是人體動作和路況樣本的 D 維特征向量,t 為其樣本序號;αk 是混合權值;θ ={αk,μk,δk},k = 1,2,
,K,是 GMM;
(xt)是高斯密度函數;每一個成員密度函數是一個關于 D 維變量的均值矢量 μk 和協方差 δk 的高斯函數,形式如式(2)所示:
![]() |
對于 GMM 的參數估計,可以采用最大期望(expectation maximization,EM)算法進行。其關鍵是根據當前模型 θ 去計算第 t 個觀測向量來自第 k 個高斯分模型的概率 γtk,稱其為第 k 個分模型對觀測數據 xt 的響應度,然后用它去估計一個新的模型
,使得
。
1.2 HMM 原理介紹
HMM 定義為 λ =(τ,B,A),τ 為初始概率分布矩陣,表示隱藏狀態在初始時刻的概率。B 為觀測概率矩陣,在本文中觀測概率由上一節的 GMM 決定,其元素 bj(x)表示在樣本矩陣 X 下矢量 x 來自隱狀態 sj 的概率,如式(3)所示:
![]() |
其中 N 表示高斯密度函數,cjm 表示在隱狀態 sj 下第 m 個高斯分模型的權重。A 為隱藏狀態概率分布矩陣,它描述了 HMM 中各個狀態之間的轉移概率,其元素 aij 代表當前隱狀態為 si,且下一狀態為 sj 的概率。隱狀態的個數決定了矩陣的階數,且 A 矩陣中每一行的概率和都為 1。根據訓練樣本重估狀態轉移率
,需先計算出前向概率和后向概率。前向概率
(sj)和后向概率
(si)如式(4)、式(5)所示:
![]() |
![]() |
其中
(sj)表示在 t – 1 時刻的前向概率, aij 表示重估前的狀態轉移率。
(si)表示在 t + 1 時刻的后向概率。然后計算 HMM 下,從 t 到 t + 1 時刻,從隱狀態 si 轉移到 sj 的概率,如式(6)所示:
![]() |
![]() |
為了重估 GMM 的第 m 個高斯分模型的均值
、協方差
和權值
,需將 HMM 下,在 t 時刻隱狀態為 sj 和第 m 個分模型的概率作為響應度,如式(8)所示:
![]() |
則重估后的參數計算方式如式(9)、式(10)、式(11)所示:
![]() |
![]() |
![]() |
2 基于 GMHMM 方法的人體動作和路況識別
基于 GMHMM 方法的人體動作和路況識別主要包含 3 個步驟:① 信號的預處理和特征提取;②GMHMM 訓練;③ 行為和路況識別。在信號預處理過程中,本文使用動態時間窗口法、數據標準化法和小波包去噪法來使運動信號更加的平滑,以方便提取 FFT 系數。然后采用 PCA 降維 FFT 系數矩陣作為特征。在 GMHMM 訓練階段,本文設計了散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個動作模式,并根據這 7 個動作模式的樣本特征分別訓練出相應的 7 個 GMHMM 模型。在行為和路況識別階段,只須將待識別信號輸入到這 7 個訓練好的模型中進行識別,依據待測信號與每個模型的匹配率,即可確定待識別信號所屬的人體行為或路況。
2.1 數據預處理和特征提取方法
針對連續變化的人體運動信號,通常使用動態時間窗法提取階段性信息。常規的時間窗法主要有鄰近窗口法和重疊窗口法。其中,鄰近窗口法處理完一段數據之后,必須等待下一個時間窗的數據全部到達才能接著處理,因此處理器有個空閑的等待時間;而重疊窗口法可以利用上個窗口的部分數據,產生更密集、半冗余的信息,更能夠充分使用信息和更高效使用 CPU[22]。本文試驗中采用重疊率為 50% 的重疊窗口提取窗內的 FFT 系數作為特征,每個窗口約有 750 個樣本點,窗口時間跨度通常在 0.5~2 s 內,以散步動作模式下的膝關節 y 軸方向加速度信號提取為例,如圖 1 所示。

其次,由于加速度、角度和角速度數據存在量綱差別,所以需先對每個窗口內信號進行歸一化處理。這里采用標準差標準化方法,如式(12)所示:
![]() |
其中 X 表示原數據,μ 表示信號均值,σ 表示信號方差。
采集到的原始信號存在許多噪音,在試驗中這些噪音會對特征提取帶來很強的干擾,因此本文采用分解層數為 4 層,基波為席勒(Symlets)函波的小波包去噪來減少噪聲影響。選擇小波包去噪的原因在于小波包變換是建立在小波變換的基礎上,但比小波分析更加精細,通過對信號多層次分解和重構,提取信號的時頻特性,可更有效地實現去噪[23]。
接下來是信號的特征提取,人體下肢運動呈周期性,而且不同動作模式的加速度之間有明顯差異,以 z 軸方向的加速度為例,隨機選取本文某位受試者的 7 種不同動作信號,如圖 2 所示。

針對這種周期性信號,頻域特征能夠很好地體現信號的本質。此外 Preece 等[15]也表明,頻域特征對下肢行為分類具有更高的準確率。基于此,本文提取窗內的 FFT 系數作為特征。每個窗口提取出 14 × 9 的系數矩陣,其中每一列分別是某狀態下的 x 軸加速度、y 軸加速度、z 軸加速度、x 軸角度、y 軸角度、z 軸角度、x 軸角速度、y 軸角速度和 z 軸角速度的 FFT 系數,但提取的系數矩陣維數較大,包含大量冗余特征。為了提高處理速度,本文采用 PCA 方法對提取的 FFT 系數矩陣進行降維,把原始的 14 × 9 矩陣降維到 6 × 6。這樣既減少了計算量,同時保留原始數據中有鑒別力的特征。
2.2 GMHMM 訓練過程
針對散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 種動作模式,對應地訓練出 7 個 GMHMM。每個 GMHMM 包含 4 個隱狀態,每個隱狀態對應一個 GMM,其中每個 GMM 包含 3 個高斯分模型。單個行為的 GMHMM 的訓練過程如圖 3 所示。

圖中 α 為前向概率縮寫;β 為后向概率縮寫;γ 表示第 t 個列向量屬于隱狀態 sj 的概率;
表示當 t 到 t + 1 時,狀態從 si 轉移到 sj 的概率。具體訓練過程是先對高斯分模型進行參數初始化,其中隱狀態概率分布矩陣 A 初始化為 6 × 6 的單位陣,高斯分模型的初始化為均值是[0,0,0,0,0,0],協方差是[1,1,1,1,1,1],權重是 1/3。然后根據式(4)、式(5)分別計算特征矩陣Xn = {x1,x2,
,x6}的前向概率 αt(sj)和后向概率 βt(si);其次根據式(6)、式(8),計算出
t(si,sj),接著計算特征矩陣下第 t 個列向量屬于隱狀態 sj 的概率 γt(sj),如式(13)所示:
![]() |
式中 P(X|λ)表示特征矩陣在 HMM 下的概率。最后根據公式(9)、(11)和(13),重新估算新 GMHMM 模型
,其中初始概率計算如式(14)所示:
![]() |
迭代過程多次循環,直到 P(X|λ)值趨于穩定。得到的模型訓練結果為狀態轉移概率矩陣 A,GMM 權值參數 cjm,GMM 均值向量 μjm,GMM 協方差矩陣 δjm 和初始概率分布矩陣 τi。
2.3 人體行為和路況的識別
根據訓練好的模型去識別路況和人體動作的過程如圖 4 所示。待識別信號經過上述同樣的預處理和特征提取后,生成一個 6 × 6 的待識別特征矩陣 O ={o1,o2,
,o6}。然后將待識別特征矩陣分別輸入到已經訓練好的散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個 GMHMM 模型中。

圖中的 P(O |λ)表示待識別矩陣屬于模型 λ 的概率。首先取出一個 GMHMM 模型,根據模型的 μjm、cjm、δjm 和觀測概率計算公式,如式(3)所示,計算出該特征矩陣的觀測概率 bj(ot),接著根據前向概率計算公式,如式(4)所示,計算待識別特征矩陣屬于隱狀態 si 的概率 α6(si)。最后計算特征矩陣在每個模型下的概率 P(O|λ),如式(15)所示:
![]() |
這樣待識別特征對于每個 GMHMM 模型中均有一個對應的 P(O|λ),最后選擇 P(O|λ)最大者為該數據所屬的人體行為。
3 試驗和結果分析
影響人體動作和路況識別率的因素有很多,例如去噪方式對降噪效果的影響、模型參數對識別結果的影響等。因此,為了驗證各種因素對識別結果的影響程度,本文首先采用多種降噪策略進行對比,然后將不同組合的隱狀態數和高斯分模型數進行了試驗對比,最后為了驗證算法的優越性,與經典的 SVM 算法做了對比試驗,并給出試驗分析。
3.1 試驗硬件平臺
慣導信息采集系統包含一個高性能慣導傳感器(MPU6050,深圳維特智能)、三軸數字羅盤(HMC5883,深圳維特智能)、一個藍牙接收器(HC-06,深圳維特智能)和一臺計算機(Precision 5520,美國戴爾)。其中,高性能慣導傳感器 MPU6050 內部集成了三軸陀螺儀和三軸加速度計,陀螺儀用來檢測轉動角速度,加速度計用來測量線運動加速度。MPU6050 的采樣率為 50 Hz,其中三軸陀螺儀量程為 ± 2 000 (°)/s,分辨率高達 16 位;三軸加速度計的測量范圍為 ± 160 m/s2,有 16 位分辨率,可以滿足本系統的需求。
3.2 數據采集和預處理
在數據采集階段,為了保證數據的完整性和合理性,試驗共招募 20 名年齡在 18~30 歲之間,身高范圍在 152~185 cm,身體健康、下肢無任何疾病的受試者進行試驗數據采集。考慮到假肢需要模擬正常腿的動作方式,試驗中慣性傳感器固定在正常腿的下肢膝蓋處,其中 z 軸朝著人體正前方,x 軸與地面垂直向上,x 軸到 y 軸旋轉方向符合右手定則(拇指方向為 z 軸正方向)。在相似的數據采集場景中,每個人在 30~40 min 內完成散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 個動作模式。散步時的平均速度約 3 km/h,上下樓梯、上下坡的平均速度約為 3 km/h,跑步的平均速度為 6 km/h,騎車平均速度約為 15 km/h。實際錄制數據總時長超過 300 min,共包含了約 185 萬組數據。
在信號預處理過程中,最重要的是信號去噪。常用的信號去噪方法主要包括:有限長單位沖激響應低通濾波、移動均值濾波、加權移動均值濾波及小波去噪等,但策略的不同,降噪效果也不盡相同。為了驗證各種降噪策略的去噪效果,本試驗中將小波降噪中的伯奇-馬薩特(Birge-Massart)策略、懲罰(penalty)策略、小波包去噪與原始信號進行了對比,具體試驗結果如圖 5 所示。

從圖 5中可以發現基于 penalty 策略的降噪方法去除高頻噪音的效果較差,而基于 Birge-Massart 策略的效果略好,但依然包含較多的高頻信號,只有小波包降噪后曲線平滑,有效地減少了高頻噪音信號,并保留了數據的主要特征。
本文還將無效特征比重作為參考對象,進一步驗證各種策略的降噪效果。因為當 FFT 系數的某個值過大時,會嚴重影響后續的模型訓練,所以這些特征可歸類為無效特征。無效特征越少,模型訓練效果越好,同時識別率也就越高。基于不同策略的降噪方法在特征提取之后,包含無效特征的結果對比如圖 6 所示,縱坐標表示無效特征占所有特征中的比重。通過本文試驗發現,采用 Birge-Massart 策略的去噪效果不明顯,而使用小波包降噪后的無效特征遠低于其他幾種降噪策略。以上試驗結果證明,小波包降噪對于特征提取來說更有效,對比結果如圖 6 所示。

3.3 隱狀態和分模型個數對識別結果的影響
為了避免模型過擬合或欠擬合問題,需要設置合適的 GMHMM 參數組合(隱狀態數目、高斯分模型數目等)提高模型泛化能力。本文在試驗中設置多個不同的參數組合進行對比,隱含狀態數分別取 3~8 個,高斯分模型個數取 1~5 個,試驗結果對比如圖 7 所示。

從圖 7 中可以看出,這些參數組合的平均識別率約在 83%~89% 之間,彼此之間差別不是很大。但大部分組合的識別率隨著隱藏狀態數量增加,識別率均有下降。由于隱藏狀態數增多會增加模型訓練和識別的計算量,并且當組合策略為 4 個隱狀態、3 個高斯分模型時平均識別率最高,因此本文在每個行為的 HMM 模型下均設置 4 個隱狀態,每個 GMM 有 3 個高斯分模型。
3.4 識別結果及與 SVM 的對比試驗分析
針對散步、跑步、騎行、上坡、下坡、上樓梯和下樓梯這 7 種動作模式,經過小波包去噪后,每個人每種狀態取 300 個窗口,共 2 100 個窗口。每個狀態的前 200 個窗口用于訓練模型,訓練出 7 個 GMHMM 模型,后 100 個窗口用于驗證模型的識別率,識別結果如表 1 所示。

從表 1 中可以看出,散步、跑步、騎行、上坡、下坡和下樓梯的識別率均高于 90%,散步和騎行的識別率甚至高達 96.25%,說明了本方法對人體動作和路況識別具有良好的識別效果,并且對差異比較明顯的行為識別效果更好。雖然上樓梯的識別率偏低只有 88.75%,但從總體上來看,本文方法可以滿足智能假肢對于人體動作和路況的識別要求。
此外,本文和應用較為廣泛的 SVM 算法進行了試驗對比。在特征提取方法、模型的訓練樣本、測試樣本均與 GMHMM 方法相同。SVM 的核函數采用徑向基函數(radial basis function,RBF),識別結果如表 2 所示。

從表 2 得出,SVM 方法下的散步狀態識別率最高達到 97.78%,上樓梯狀態識別率最低僅僅為 68.63%,并且把上樓梯誤判為上坡的比例達到 15.69%,說明對于比較相似的路況或人體動作,SVM 區分能力不是很強。此外,在 SVM 算法下的騎行狀態識別率有 75.26%,下坡狀態識別率只有 72%,本文方法在同模式的識別率分別達到 96.25% 和 93.75%,并且本文方法 92.69% 平均識別率遠高于 83.36% 的 SVM 平均識別率,充分證明本文方法的優越性。
4 討論
本文提出了一種基于慣導信號的人體動作和路況識別方法,可用于正常人和智能假肢(下肢)的動作和路況識別。慣導傳感器的廉價、小巧、易安裝,使得慣導信號在假肢上的應用比圖像信號和肌電信號處理更可靠、更合適。最終試驗結果顯示,本文所提出的識別模型識別率較高,今后或可在智能假肢、運動康復等多個研究領域方向上具有一定的應用前景。本文提出的方法是針對時間窗內信號進行信號分析,所以識別存在一定的滯后性,當人體行為模式切換較為頻繁時行為識別率也會降低。今后的研究需增加基于慣導信息的人體動作和路況的預測,使假肢更加智能化和實用化。