劉今越,李慧宇,賈曉輝,李佳蕊
(河北工業(yè)大學 機械工程學院,天津 300401)
人體運動步態(tài)識別在外骨骼機器人運動控制、醫(yī)療檢查等領域應用廣泛[1-3]。助力型外骨骼機器人主要用于部隊后勤、搶險救災等場景,必須及時感知人體運動狀態(tài),使外骨骼機器人更精準地與人體協同運動,達到助力效果[4]。在醫(yī)療康復領域,準確的步態(tài)識別技術可以檢測運動狀態(tài),對帕金森病癥中的步態(tài)功能障礙進行預警,避免可能發(fā)生的跌倒損傷等危險[5]。
運動狀態(tài)識別的關鍵是準確采集人體運動信息并進行特征提取。國內外學者在該領域開展了廣泛研究。表面肌電信號方法(surface ElectroMyoGraphy,sEMG)采用非侵入方式將傳感器電極連接到人體表面皮膚,通過采集表面肌電信號、分析神經肌肉和步態(tài)相位的相關性[6-7]以檢測人體運動信息。由于肌電信號比較微弱復雜,電極的連接狀態(tài)易受皮膚表面出汗等因素影響,不能穩(wěn)定采集人體運動信息,而且導線會對人體運動產生一定的阻礙作用。另外,使用Kniect深度相機[8]或光學運動捕捉系統動態(tài)捕捉人體高精度三維位置與運動姿態(tài)信息,可檢測并識別步態(tài)[9],但是使用場景限制較大。目前,基于機器學習的人體運動步態(tài)識別方法應用較廣[10]。Weigand等[11]使用壓力傳感器和慣性測量單元(Inertial Measurement Unit,IMU)分別測定步態(tài)周期起止位置以及小腿的運動變量,并結合k-最近鄰(k-Nearest Neighbor,kNN)和人工神經網絡方法識別步態(tài),但未對步態(tài)進行細分,無法準確得知當前的運動狀態(tài)。Su等[12]將IMU 分別布置在大腿、小腿與腳踝處,將測量出的運動數據組成“圖像”并輸入深度卷積神經網絡(Convolutional Neural Network,CNN),可實現多個步態(tài)相位的識別,但使用的傳感器個數較多且布置復雜,不利于人體自由運動。趙飛[13]將IMU 布置在足跟部位采集運動數據,將4 個薄膜壓力傳感器放置于足底采集足底壓力數據,采用支持向量機識別不同步態(tài)模式,雖然減少了對人體運動的影響,但因壓力傳感器分辨率低且只能采集4 個測量點的足底壓力數據,容易丟失關鍵的壓力信息。
針對步態(tài)檢測受場景限制、傳感器布置復雜以及壓力傳感器分辨率低等問題,本文提出一種基于人體模型約束的步態(tài)動態(tài)識別方法。識別流程如圖1 所示,首先,利用AMS(Anybody Modeling System)軟件建立人體仿真模型,進行運動學和動力學分析,得到足底壓力、足部運動位移仿真數據以及對應的姿勢,并劃分運動過程中的步態(tài)相位,構建真實數據與仿真數據間的映射模型;然后,應用柔性壓力傳感器采集行走過程的足底壓力數據,動態(tài)判斷支撐相步態(tài)相位;應用IMU 采集足部運動數據,運用零速修正算法消除累積誤差獲得足部運動位移量,根據位移規(guī)律確定擺動相步態(tài)相位;最后,使用CNN 訓練行走步態(tài)數據,以準確識別步態(tài)。
圖1 步態(tài)識別流程Fig.1 Flow of gait recognition
在人體運動過程中,完整采集足底壓力分布與足部運動特征可獲取運動關鍵信息。本文結合足底壓力傳感器與IMU 搭建足部運動數據采集系統。如圖2 所示,采集高分辨率足底壓力與足部運動數據。足底壓力傳感器選用電容式柔性壓力傳感器[14],結構及工作原理如圖3 所示。
圖2 傳感器布局Fig.2 Sensor layout
圖3 壓力傳感器結構及工作原理Fig.3 Structure and operation principle of pressure sensor
傳感器中上電極層鋪設32 行、下電極層鋪設16 列相互平行的條狀電極,上下電極層的條狀電極垂直布置,各導電電極相互交叉,共形成512 個交叉點陣列分布,每一個電極交叉點即為一個電容單元。當有壓力作用于傳感器表面時,受壓區(qū)域的電容單元電介質層發(fā)生變形導致電容值改變,實現足底相應區(qū)域壓力數據的高分辨率采集,以保證足底壓力數據的完整性。IMU 選用包含3 個單軸加速度計和3 個單軸陀螺儀的6 軸IMU,其中:3 個加速度計分別輸出物體在載體坐標系下的3 個線性加速度;3 個陀螺儀分別輸出載體相較于導航坐標系的3 個角速度。
AMS 軟件可用于人體動力學和運動學仿真分析。本文修改軟件內置模型庫中的模型參數,搭建了身高1.78 m、體重75 kg 的肌肉骨骼模型,模型空間坐標系設定為X方向指向人體右側,Y方向指向人體前進方向,Z方向由右手坐標系確定。按照AMS 中模型標記點的布置規(guī)則,將光學標記點粘貼在捕捉對象的相應位置,應用OptiTrack 運動捕捉設備采集捕捉對象上光學標記點的空間位置,將數據保存為C3D格式,導入AMS 中進行運動學與逆動力學仿真。
本文在模型足底創(chuàng)建了24 個測力點,分8 行排列,列數隨足底形狀不規(guī)則分布,最寬處為4 列。根據實際IMU 的安裝位置,在人體模型對應部位設置測量點,記錄步態(tài)過程中的位移數據,如圖4(a)所示。在逆動力學仿真過程中,當測力點接觸地面時,產生使模型保持平衡所需要的支反力,將它作為足底壓力仿真數據。采用自然鄰點插值算法將足底壓力仿真數據拓展為與真實足底壓力數據相等的32 行16 列并處理成腳印形狀,如圖4(b)所示。
圖4 足部測量點分布與足底壓力仿真結果Fig.4 Distribution of measurement points in foot and plantar pressure simulation results
步態(tài)周期指行走過程中兩個相同事件發(fā)生的時間間隔,以右足足跟觸地為步態(tài)周期分界點,一個步態(tài)周期包括支撐相和擺動相兩部分,分別占整個步態(tài)周期的60%和40%[15]。本文分析足底壓力數據與模型步態(tài)特征,將支撐相的壓力數據步態(tài)相位細分為足跟觸地(Heel Contact,HC)、足弓觸地(Arch Contact,AC)、足平放(Stance,ST)、足跟離地(Heel Off,HO)、足前支撐(Forefoot Support,FS)五種狀態(tài)。
在運動過程中,足部位移數據的步態(tài)特征相較于加速度或角速度數據更加明顯。因此,根據模型運動規(guī)律及仿真位移曲線可以分析行走過程中下肢的步態(tài)特征。由于足部位移數據無法區(qū)分除足平放之外的其他支撐相狀態(tài),故將足跟離地、足前支撐狀態(tài)合并為預擺動;將足跟觸地、足弓觸地狀態(tài)合并為預支撐。沿Z軸方向的仿真位移曲線如圖5 所示,將整個步態(tài)周期劃分為6 個區(qū)域。其中:Ⅰ為預擺動;Ⅱ為足尖離地至位移曲線第1 高點,設為擺動初期(Initial Swing,IS);Ⅲ為小腿開始擺動至位移曲線最低點,設為擺動中期(Mid Swing,MS);Ⅳ為小腿繼續(xù)擺動直至足跟觸地,設為擺動末期(Terminal Swing,TS);Ⅴ為預支撐;Ⅵ為足平放。
圖5 行走運動的仿真位移曲線Fig.5 Simulated displacement curve of walking action
對仿真數據進行步態(tài)劃分以確定真實數據支撐相的步態(tài)特征。本文應用多元線性回歸方法建立真實壓力數據與仿真壓力數據之間映射模型以確定對應關系。多元線性回歸模型的矩陣形式為:
選取支撐相內2 000 幀真實壓力數據訓練映射模型回歸系數,建立映射模型,將仿真數據輸入模型,獲得映射數據。
本文利用運動過程產生的動態(tài)信息,將足底壓力數據按照不同步態(tài)相位進行分割。足底接觸面積占全足底接觸面積的百分比與足底各區(qū)域壓強峰值、沖量隨著受試者身體質量指數(Body Mass Index,BMI)的增加而增大[16]。因此,需對不同BMI 人群的足底壓力數據進行泛化處理。為避免使用單一數據特征造成的壓力數據區(qū)分不明顯,首先,利用高分辨率壓力傳感器,得到足底壓力圖像面積、壓力均值以及方差特征;然后,分別求取這三種特征在運動狀態(tài)與站立狀態(tài)的比例關系,通過計算特征比例的模值進行特征融合,得到不同BMI 人群足底壓力數據特征的統一描述,公式表示為:
其中:Sk、Mk、Vk分別表示運動過程中k時刻足底與地面接觸面積、足底壓力平均值、足底壓力方差。運動從站立狀態(tài)開始,故S1、M1、V1為第1 時刻站立狀態(tài)下的三種特征。
為描述運動中足底壓力的變化過程,以確定不同的步態(tài)相位,基于足底的結構和形狀特點將足底按照1∶2∶1∶2 的比例分為趾骨、跖骨、足弓、跟骨區(qū)域四個區(qū)域,如圖6 所示。
圖6 足底壓力區(qū)域劃分Fig.6 Plantar pressure area division
行走過程中的足底壓力連續(xù)變化,因此,通過各區(qū)域特征值的動態(tài)變化信息提取步態(tài)相位。本文使用當前幀特征值與前一幀特征值的差異比例表示足底壓力數據的動態(tài)變化信息,可表示為:
分析映射數據在步態(tài)相位轉換時4 個區(qū)域動態(tài)信息fk的變化情況,以確定每個步態(tài)相位的判斷條件,如表1 所示。表1 中,fk=-inf 表示前一幀數據為0,當前幀數據不為0;fk<0 表示前一幀數據小于當前幀數據;fk=0 表示前一幀數據與當前幀數據相等;fk>0 表示前一幀數據大于當前幀數據;fk=1 表示前一幀數據不為0,當前幀數據為0。
表1 步態(tài)相位判斷條件Tab.1 Gait phase judgment conditions
使用基于卡爾曼濾波的零速修正算法消除捷聯式導航系統工作時產生的累積位移誤差,獲得足部運動位移。設卡爾曼濾波系統模型為慣性導航系統,狀態(tài)量為速度與位移的估計誤差,測量值為零速狀態(tài)下IMU 的輸出數據。
零速檢測失敗會使位移累積誤差增大。通過固定閾值判斷加速度特征進而確定零速區(qū)間的方法,對于不同個體需要重新選取閾值,因為不同人的下肢擺動加速度不同[17]。本文基于足底壓力傳感器動態(tài)檢測步態(tài),可獲取不同速度下足平放步態(tài)相位,根據人體運動規(guī)律可以判定,當足平放時足部為零速狀態(tài)。
本文使用的IMU 可直接輸出校準后的歐拉角和四元數??紤]到四元數法計算量小且精度較高[18],因此利用四元數法對線性加速度進行坐標系轉換,即:
其中:aN為導航坐標系下的線性加速度;aB為IMU 坐標系下的線性加速度;q為四元數,q*為四元數的共軛。
將9 維的誤差狀態(tài)向量xk=[ ΔψkT,ΔpkT,ΔvkT]設為卡爾曼濾波的狀態(tài)量,其中:Δψk、Δpk和Δvk分別為三維姿態(tài)角、位移和速度估計。因此,狀態(tài)方程表示為:
測量方程表示為:
其中:Zk為測量誤差;H=[ 0,0,I]為測量矩陣;I為3×3 的單位矩陣;nk為協方差Rk=E(nk·nkT)的測量噪聲。
圖7 為通過上述方法獲得的真實足部在Z軸的位移與速度曲線。依據人體模型得到的擺動相劃分規(guī)律,確定圖中位移曲線A 點為擺動中期相位起始幀,對應速度曲線上的C點,為一個步態(tài)周期內速度曲線上第1 個零點;位移曲線B點為擺動末期相位起始幀,對應速度曲線上的D 點,為一個步態(tài)周期內速度曲線上第2 個零點。因此可通過判斷速度曲線零點的方法確定擺動中期與擺動末期的相位起始幀,其他擺動相位可通過壓力數據判斷。
圖7 足部Z軸位移與速度Fig.7 Z-axis displacement and velocity of foot
將帶有步態(tài)標簽的壓力與位移數據組合成34×16 的完整足部運動數據圖像,其中:32 行為足底壓力數據,2 行為IMU 位移數據。將位移數據轉化為灰度值顯示在足底壓力云圖下方,不同步態(tài)相位的足部運動數據圖像如圖8 所示。
圖8 足部運動數據圖像Fig.8 Foot motion data images
利用CNN 訓練數據,以檢測步態(tài)相位。CNN 的網絡結構如圖9 所示,各層參數如表2 所示。輸入層為足部運動數據圖像,通過CNN 提取圖像的有效特征;池化層采用最大池化,激活函數采用ReLU(Rectified Linear Unit)函數;全連接層和輸出層作為網絡的分類器,將經過卷積降采樣提取出的特征映射到標記空間,計算每一類的概率值并采用Softmax分類器進行分類。
圖9 CNN結構Fig.9 Structure of CNN
表2 CNN參數Tab.2 Parameters of CNN
數據采集系統由壓力傳感器、數據采集卡、IMU 和數據采集顯示程序組成,如圖10 所示。IMU 型號為LPMS-B2,為避免行走過程中鞋面變形造成的IMU 安裝誤差,選用鞋面較硬的鞋,將IMU 安裝于鞋面足尖位置;將足底壓力傳感器布置在鞋內。數據采集顯示程序用LabVIEW 軟件編寫,將壓力傳感器和IMU 采集到的數據通過藍牙傳輸到上位機,采用形態(tài)學濾波方法去除壓力數據的底層噪聲和邊緣噪聲,然后進行二維線性插值得到足底壓力圖像;調用Matlab 編寫的慣性導航算法對足部運動加速度數據進行處理,得到足部運動位移的結果,并采用卡爾曼濾波對軌跡進行修正。
圖10 足部運動數據采集系統Fig.10 Foot motion data acquisition system
選取4 名不同BMI 的實驗對象,利用足部運動數據采集系統分別采集站立狀態(tài)下跟骨區(qū)域的壓力數據各100 幀,計算融合特征值并進行泛化效果測試,結果如圖11 所示。由圖11 可知,4 種BMI 對象站立狀態(tài)跟骨區(qū)域的壓力融合特征值與標準值1.732 1 的誤差絕對值最大約為0.048,不同BMI對象之間的最大誤差絕對值約為0.066,誤差較小。表明本采集系統中壓力傳感器與數據處理方法對不同BMI 人群足底壓力數據的泛化處理具有普適性。
圖11 站立狀態(tài)的特征值誤差Fig.11 Eigenvalue error of standing state
招募12 名體重范圍為52~86 kg,BMI 范圍為17.2~26.5的實驗對象,采集他們平地行走動作的支撐相內的HC、AC、ST、HO、FS 五種步態(tài)相位以及擺動相中IS、MS、TS 三個步態(tài)相位,各2 000 幀數據,將足底壓力數據與足部位移數據組合為足部運動數據,并按照6∶2∶2 的比例關系劃分為訓練集、驗證集與測試集。將訓練集輸入至CNN 進行訓練,識別準確率如圖12(a)所示。可以看出,在整個步態(tài)周期內,平均識別準確率為94.58%。
圖12 行走步態(tài)識別Fig.12 Walking gait recognition
隨機選定一名實驗對象進行行走步態(tài)識別實驗,實驗對象穿戴實驗設備,行走10 個步態(tài)周期,雙足共產生646 幀數據。步態(tài)識別效果如圖12(b)所示,可以看出,識別錯誤一般出現在兩個相鄰步態(tài)轉換時,主要因為兩個相鄰步態(tài)銜接過程的足部運動數據圖像較為相似。
應用本文方法對上、下樓梯兩種運動步態(tài)進行識別。通過人體模型的上、下樓梯動作仿真可知,上樓梯過程中,足底與地面接觸、分離的過程與行走狀態(tài)一致,因此支撐相劃分與行走一致。下肢擺動動作為向斜上跨越動作,分為加速與減速階段,因此可將擺動相劃分為以足底壓力消失為起始幀的擺動初期和以Z軸速度曲線最大值點為起始幀的擺動末期。下樓梯過程中,足底與地面接觸過程為趾骨與跖骨先觸地,設定為足前觸地狀態(tài)(Forefoot Contact,FC);繼而足弓與地面開始接觸,設定為足弓觸地狀態(tài);當跟骨部位產生壓力時,為足平放狀態(tài),離地過程與行走一致。擺動相足部運動過程為向斜下跨越,可分為以足底壓力消失為起始幀的擺動初期和以Z軸速度曲線最小值點為起始幀的擺動末期。
采集12 名實驗對象的上、下樓梯的足部運動數據各2 000 幀。將足底壓力數據與足部運動速度數據組合為足部運動數據圖像,輸入至CNN 訓練。另選1 名實驗對象進行上、下樓梯步態(tài)識別實驗,兩種動作各進行10 個步態(tài)周期,通過CNN 進行識別,步態(tài)相位的識別準確率如圖13 所示。
圖13 上下樓梯步態(tài)識別Fig.13 Gait recognition of going upstairs and downstairs
上樓梯過程中因足弓觸地狀態(tài)持續(xù)時間較短,足底壓力圖像特征不明顯,導致識別準確率較低,約為90.12%。擺動相步態(tài)識別準確率較行走過程更高,主要原因為上樓梯時擺動初期與擺動末期特征分別為加速與減速,特征區(qū)分明顯。下樓梯時,觸地過程中的足前觸地狀態(tài)、足弓觸地狀態(tài)壓力云圖特征分別與離地過程中的足前支撐狀態(tài)與足跟離地狀態(tài)特征相似,因此,主要以足部速度特征進行區(qū)分,導致下樓梯過程中足弓觸地相位識別準確率較低,約為89.32%。
為了驗證本文通過動態(tài)分割壓力數據,并結合位移數據組成足部運動數據圖像進行識別方法的有效性,使用未經動態(tài)分割的足底壓力數據進行CNN 訓練并通過步態(tài)識別實驗作為對比。識別準確率如表3 所示,本文方法的步態(tài)識別準確率明顯更高。本文方法的行走動作步態(tài)識別準確率為94.58%,而上、下樓梯的步態(tài)識別準確率分別為93.21%和94.64%。相較于未經動態(tài)分割足底壓力數據的步態(tài)識別,本文方法的行走、上樓梯與下樓梯動作的步態(tài)識別準確率分別提高了11.34、12.19 和16.03 個百分點。這是由于在人體模型約束下進行動態(tài)分割后的數據集可準確分割相鄰步態(tài)相位的壓力數據,更加客觀準確,且足部運動數據圖像包含足部位移數據,在不同步態(tài)但是壓力圖像相似的情況下也可以正確識別。
表3 不同數據的步態(tài)識別準確率 單位:%Tab.3 Gait recognition accuracy of different data unit:%
本文將足底壓力數據、足部運動數據和人體仿真數據相結合,構建了一種適用于不同運動的步態(tài)識別方法。采用電容式柔性壓力傳感器和IMU 分別采集真實足底壓力數據及足部運動數據。通過人體模型進行人體運動過程的運動學和動力學仿真分析,根據仿真壓力與位移數據劃分步態(tài)相位,采用回歸映射方法建立真實數據與仿真數據對應關系。根據真實壓力數據幀間差異比例,動態(tài)判斷步態(tài)相位?;诹闼傩拚惴ǐ@得足部運動學特征后,利用速度特征點判斷運動數據步態(tài)相位。將足底壓力數據與足部運動數據組合,利用CNN 對行走過程人體步態(tài)相位進行識別,平均識別準確率達到94.58%。另外,對上樓梯和下樓梯動作進行步態(tài)相位識別實驗,上、下樓梯的平均識別準確率為93.21%、94.64%,表明本文方法對于上、下樓梯的步態(tài)相位識別也是適用的。下一步工作是對方法進行改進,使其能識別區(qū)分不同運動,提前感知不同運動變化,進行人體運動意圖感知。