姜 濤 葛艷紅
(武漢理工大學物流工程學院 湖北 武漢 430063)
步態相位特征是指人類在行走中支撐相、擺動相等時間周期方面的參數[1]。人體步態相位識別技術對老年人的異常步態診斷、跌倒預測和助行機器人運動控制等具有較大的意義。
目前常用的步態相位識別方式是基于可穿戴傳感器的步態識別方式,主要包括MEMS慣性傳感器[2]、壓力傳感器[3]和EMG傳感器[4]等,該類方式通過行走過程中可穿戴傳感器信號的變化識別對應的步態相位,成本低,但具有一定的侵入性。基于激光測距傳感器的步態識別方式通過檢測雙腿與激光傳感器的距離變化獲取步態相位特征,可以避免侵入性的問題。部分研究通過靜態的激光傳感器來檢測人體腿部,其檢測范圍有限[5]。針對這一問題,另有部分研究將激光傳感器安裝到移動機器人上,實現對目標人體的動態跟蹤和步態識別[6]。特征提取和識別方法是人體步態相位識別的一個重點,常用的特征包括時域特征和頻域特征等,常用的方法包括支持向量機[7]、神經網絡[8]和隱馬爾可夫模型(HMM)[9]等,不同的特征和方法都會對步態識別的效果產生一定的影響。其中HMM是一種時序變化性信號統計模型,能夠很好地描述動態過程并適應動態過程中的變化,被應用于語音識別、生物序列分析和手勢識別等多個領域中[10]。
考慮到老年人群對于助行器需求和使用的不斷增長[11-12],本研究將激光傳感器安裝在助行器上,在輔助老年人出行的同時以非侵入的方式識別老年人的步態相位。針對衣物厚度等因素對腿部數據段的影響,提出基于IEPF的再分割方法。由于激光雷達獲取的數據與運動狀態之間具有觀察值和隱含狀態的特性,使用HMM進行步態相位識別。考慮到腿部相對于助行器的坐標、速度和距離會受到人體身高和步速等因素的影響而存在個體差異性,通過劃分識別周期并對每個識別周期的測量數據進行歸一化,提高模型的泛化能力,并通過實驗驗證了基于HMM的步態識別系統具有較好的性能。
本研究將激光傳感器安裝在助行器上,安裝高度為離地30 cm,對人體雙腿進行掃描識別,如圖1(a)所示。通過測量雙腿與助行器之間的相對位移來識別步態的變化。由于激光傳感器測得數據為相對位移,故這里建立助行器相對坐標系,如圖1(b)所示,以助行器的前進方向為x軸,以激光傳感器的安裝位置為原點。

圖1 安裝激光傳感器的助行器具和助行器坐標系
對于每一個掃描幀數據,進行兩部分的處理:獲取腿部坐標和識別步態相位特征,如圖2所示。其中獲取腿部坐標包括三個流程,首先對掃描數據進行預處理和分割,然后識別腿部數據段,最后進行腿部輪廓圓擬合。識別步態相位包括三個流程,首先對獲取的腿部數據序列進行識別周期的劃分,然后對每個識別周期內的數據進行0~1歸一化,去除個體差異性,并使用處理后的腿部數據計算出該幀對應的特征向量,最后使用訓練好的HMM模型對特征向量進行識別,獲取隱含狀態變量,即為對應的步態相位。

圖2 步態分析流程
(1)數據預處理和分割。由于使用助行器時人體的活動范圍有限,故定義了一個矩形區域作為激光傳感器的掃描窗口。對于每幀數據,使用Savitzky-Golay濾波,并根據掃描點之間的連續性分割數據段,設定一個閾值,若連續掃描點間的歐氏距離高于閾值,則進行新數據段的分割。考慮到激光傳感器等因素引起的噪聲,刪除數據點數較低的數據段。
(2)腿部數據段識別。由于行走過程中人腿與助行器之間不可能存在障礙物,選擇距離原點最近的數據段作為腿部數據段,通過與上一幀雙腿位置的距離確定該數據段為左腿或右腿,表示為:
opt1=i
(1)
opt2=i
(2)

若掃描區域內僅剩余一個數據段,則以該數據段對應另一只腿。但在狹窄空間或助行器進行轉向時,容易在矩形搜索范圍內出現干擾物,使剩余數據段數大于1,圖3(a)為通過轉角前后的掃描數據段數,圖3(b)為該幀的二維點云。

圖3 腿部數據段數目和二維點云
針對該情況,定義了每個數據段的三個特征,腿部端點距離、彎曲度和點數:
(3)
(4)
nopi=n
(5)
式中:(xj,yj)為該數據段第j個掃描點;di、curvi和nopi分別對應腿部端點距離、彎曲度和點數。
計算各個數據段與上一幀對應腿部數據段的差異度,并以差異度最小的數據段對應人體另一只腿,表示為:
sidfi=α1×cdifi+α2×ddifi+α3×pdifi
(6)
opt3=i
(7)
s.t.minsdifi
式中:cdifi、ddifi和pdifi分別對應該數據段與上一幀該腿部數據段的彎曲度差、端點距離差和空間位置距離;α1、α2和α3對應加權系數;i對應數據段的下標。
(3)腿部圓擬合和坐標獲取。由于人體腿部輪廓似為圓型,使用最小二乘法進行腿部圓擬合,以擬合的圓心作為當前幀的腿部坐標。
在使用激光傳感器進行步態分析的實際應用中,衣物的寬松厚度會對數據的準確性造成一定的影響。這是由于老年人的步寬較低,當使用者的衣物較為寬松或者由于季節等原因衣物厚度較大時,容易出現欠分割,即雙腿臨界掃描點之間的距離低于設定閾值,從而把兩條腿識別為一個數據段的現象。針對該類情況,提出基于IEPF的數據段再分割方法。
欠分割一般在雙腿距離較小的時刻出現,以助行器前進的方向為基準,當使用者雙腿在該基準上的距離低于10 cm時,進行欠分割判斷。常見的欠分割情形如圖4所示。

圖4 常見的欠分割情形
若出現腿部欠分割情形,則距離原點最近的腿部數據段必定會出現異常,故首先對該數據段進行欠分割檢測,根據前后連續幀對應腿部的端點距離和點數變化判斷是否出現欠分割,表示為:
di>μ1×di-1
(8)
nopi=μ2×nopi-1
(9)
式中:μ1、μ2為變異系數。
針對欠分割,基于IEPF的思想進行再分割[13],具體過程如下。
連接數據段頭部點C(x1,y1)和尾部點D(xn,yn),得到直線CD:
a×x+b×y+c=0
(10)


(11)
(12)

正常情形下,腿部的掃描數據為兩段分離的近似圓弧,結合圖4,每種欠分割情形下均存在左右兩個較為明顯且掃描點數差異較小的近似圓弧,兩圓弧交點前后的y軸坐標變化方向相反,即兩段圓弧分別對應人體的左右腿,圓弧交點為左右腿數據的臨界點,且該點與直線CD的距離di最小。故首先比較每個掃描點到直線CD距離的大小,并以最小距離對應的點作為左右腿部數據段的臨界點,最后以該臨界點將欠分割數據段分成左右兩部分,完成再分割,表示為:
opt4=i
(13)
s.t.mindi
式中:opt4為到直線CD距離最小的掃描點下標。

為了去除測量值的個體差異性對模型的影響,對獲取的測量值時間序列進行識別周期劃分,將每個識別周期內的測量值從小到大均勻地映射到0~1區間內,進行歸一化,其具體流程如下。
(1)劃分識別周期。圖5展示了行走時腿部在x軸方向的坐標、相對速度和距離的變化曲線。

圖5 腿部坐標、速度和距離的變化
對于腿部坐標和距離,數據呈正弦波形變化,將任意一個極小值到相鄰極大值的階段定義為一個識別周期。
對于腿部相對速度,由于其在一個步態周期內的分布不均勻,故將任意一個極小值到相鄰極小值的階段(即一個步態周期)定義為一個識別周期。
為了去除數據中偽波峰和偽波谷的影響,設置極值坐標范圍閾值和相鄰極值間隔范圍閾值,并選取極值左右各5個點中的最大極大值和最小極小值[14]。
(2)根據每個識別周期內數據的最大值和最小值進行0~1區間映射。在每個識別周期內,對于非負的坐標數據,采用0~1標準化。以左腿x軸坐標為例,表示為:
(14)
式中:x、xmin、xmax分別對應標準化之前的x坐標、最小坐標、最大坐標。
對于正負不定的雙腿距離數據,以0為基準進行標準化。以雙腿距離為例,表示為:
(15)
(3)確定特征向量。通過歸一化后的數據,確定每個識別周期內每一幀掃描數據的特征向量,表示為:
(16)
本文將一個步態周期分為6個階段,支撐相包括3個階段,擺動相包括3個階段,對應HMM的隱含狀態,分別為S1、S2、S3、S4、S5和S6。以左腳的一個步態周期為例,各個階段定義如下。
S1:支撐相前期,左腳跟接觸地面到左腳掌全部接觸地面,左腳進入支撐相。
S2:支撐相中期,左腳掌全部接觸地面到左腳跟抬起離開地面。
S3:支撐相末期,左腳跟抬起離開地面到左腳趾離開地面,左腳開始進入擺動相。
S4:擺動相前期,左腳離開地面,通過屈髖加速向前。
S5:擺動相中期,左腳在空中擺動的中間階段。
S6:擺動相末期,擺動即將結束,左腳開始減速向前,準備接觸地面。
在正常的步態周期中,步態階段依次出現,即該模型為從左到右的模型,如圖6所示。根據HMM的定義,將模型λ表示為:

圖6 步態轉移
λ=(A,B,π)
(17)
A=[aij]
(18)
B=[bi(ot)]
(19)
式中:A表示隱含狀態轉移概率矩陣;aij表示從Si到Sj轉移的概率;B表示觀測狀態概率矩陣;bi(ot)表示Si時觀測值為ot的概率;π表示隱含狀態初始概率分布。
由于該模型中的觀測值為連續值,B不能直接通過矩陣表示,故需要使用觀測數據通過混合高斯分布將其表示為概率密度函數。本研究中特征向量包含9個維度,建立混合高斯分布:
g(x|μm,Σm)=

(20)
式中:x表示特征向量;μm表示數據樣本的均值向量;Σm表示數據樣本的協方差矩陣,m=(1,2,…,M);對應混合高斯模型的混合數n=9。
混合高斯模型對應的概率密度函數為:
(21)

為了建立模型,需要進行樣本集的訓練。通過激光測距傳感器可以獲取到觀測序列的數據,但是無法直接確定對應的步態相位序列,因此需要使用Baum-Welch算法[15],確定模型的參數,基本流程如下。
(1)使用隨機函數初始化模型的參數A、B、π。
(2)基于前向后向算法[16],通過迭代的方式更新模型參數。
(3)參數值收斂,迭代終止,即得到模型參數。
對于輸入的特征向量時間序列,根據建立的模型,使用Viterbi算法[17],求出最大概率的隱含狀態序列,即為對應的步態相位。
本文通過“RPLidar”激光傳感器獲取雙腿與助行器之間的距離,掃描周期約為150 ms。為了進一步提高識別模型的泛化能力,降低身高和步速因素對識別效果的干擾,共8名實驗者(年齡范圍為22歲至27歲)參與了實驗,身高如表1所示,前2位實驗人員為女性,后6位實驗人員為男性。

表1 實驗者身高
每名實驗者分別以由慢到快的速度進行3次實驗,表2為8名實驗者3次實驗中的平均步速。在每次實驗中,實驗者通過助行器的支撐,保持較為均勻的速度通過長度為25 m的筆直走廊。實驗數據由8名實驗者行走時激光傳感器測得的24組數據組成。

表2 實驗者步速
為了進行腿部數據段再分割方法的驗證,實驗人員穿著寬松衣物,并保持較小步寬前進,從實驗數據中截取10幀欠分割數據。圖7為欠分割掃描幀,左右兩圓分別對應再分割后的左右腿輪廓圓,左輪廓圓半徑為5.32 cm,右輪廓圓半徑為5.17 cm,兩個擬合圓的大小基本相同,且無重合部分。左右腿輪廓圓圓心與左右腿的實際位置誤差約在1 cm左右,擬合誤差小,這表明該方法能較好地對該欠分割數據進行再分割。

圖7 再分割后的雙腿擬合圓
圖8對應10幀欠分割數據中,腿部擬合圓圓心與腿部實際位置的誤差。其中:左腿擬合誤差范圍為1.04±0.42 cm。右腿擬合誤差范圍為1.10±0.37 cm。左右腿的擬合圓圓心均較為接近實際位置,表明該方法在大多情形能以較小的誤差完成再分割,使得該方法在欠分割情形下能更穩定地進行步態相位識別。

圖8 雙腿擬合圓誤差
為驗證HMM的有效性,建立兩個模型:(1)HMM1,該模型使用8名實驗者的24組數據,通過訓練建立模型;(2)HMM2,為了驗證模型的泛化能力,該模型使用身高相對低的前7名參與者在慢速和中速實驗中共14組數據作為訓練集,身高較高的第8名參與者在快速實驗中1組數據作為測試集。對比兩個模型在該測試集上的識別效果。以HMM1為例,其狀態轉移矩陣為:

隱含狀態初始概率分布為:
π=[0.221 7 0.048 5 0.177 9 0.197 4 0.153 9 0.200 6]
觀測狀態概率矩陣為服從混合9維高斯分布的概率密度函數。
圖9為經過歸一化處理后的部分測試集數據。在每個識別周期中,雙腿在前進方向(矢狀面)上的坐標、速度和距離均映射到0~1范圍內,且保持了原有波形,去除了實際測量值個體差異性的影響。這里以右腿為例,截取其中大約6個步態周期(時長11.45 s)對應的數據進行測試,以右腳跟著地,進入支撐相作為開始,以6個周期后右腳跟著地作為結尾。

圖9 歸一化處理后的腿部坐標、速度和距離
圖10中深色實線為HMM1對該測試集的步態相位估計,淺色虛線為HMM2對該測試集的步態相位估計。通過兩條曲線的變化可知,HMM估計的步態相位序列與正常人的步態相位序列相吻合,從S1到S6,依次出現,且6個步態周期中每個階段的時間比例基本一致。與以往的研究[18]對比顯示各個階段均處于正常的范圍。

圖10 兩個模型識別的步態相位
為了對比分別使用原始測量值和歸一化測量值作為特征向量兩種情形下識別模型的泛化能力,以HMM1和HMM2識別步態相位序列的時間重合度作為衡量模型泛化能力的指標。6個相位的時間重合度如圖11所示,其中:灰色柱狀圖為使用原始測量值時HMM1和HMM2在6個相位上的時間重合度;黑色柱狀圖為使用歸一化測量值時HMM1和HMM2在6個相位上的時間重合度。黑色圖的重合度值均大于灰色圖中的重合度,表明使用歸一化測量值建立的模型具有更好的泛化能力。

圖11 6個相位的時間重合度
本文將步態周期分為6個階段,基于隱馬爾可夫模型,使用安裝在助行器上的激光測距傳感器識別人體步態相位。與傳統方式相比,提供了一種非穿戴、無使用者移動范圍限制且能夠實時對行人進行步態相位識別的方式。針對腿部激光數據段欠分割的問題,提出基于IEPF的再分割方法,使得該方法能夠更穩定地應對實際使用中可能出現的欠分割情形。在識別周期內進行測量值的歸一化,相對于使用原始測量值的識別方式,提高了模型的泛化能力。本文對依賴助行器出行人群的異常步態診斷、跌倒預測等具有一定的意義。
針對本文中存在的一些不足,后續研究的重點主要包括兩個方面:(1)使用真實的老年人數據進行步態研究;(2)進行人體出現直行、轉彎,以及日常活動中的更復雜動作時的步態研究,建立適應多種情況下的識別模型。