吳劍鋒 吳 群 孫守遷
1.浙江大學,杭州,310027 2.浙江理工大學,杭州,310018
智能人體運動輔助系統(tǒng)可以增強行動受損人群的肢體運動能力,幫助其恢復正常的社會生活,改善其心理和生理狀態(tài),是目前智能機器人系統(tǒng)研究的一個熱點。保持輔助系統(tǒng)的執(zhí)行動作與使用者運動一致、避免對人體自由活動產生干擾、同時保證使用者的靈活性是智能輔助的重要目標[1],其中使用者肢體動作的有效識別是系統(tǒng)設計的關鍵技術之一。
從現有研究成果來看,根據研究重點的不同,不同研究學者完成動作識別的方法主要有三種。第一種方法試圖直接從人體運動神經系統(tǒng)獲取相關運動信息,例如非植入式誘發(fā)腦電分析[2-3],但其受人類大腦工作機理研究的限制,基于腦電的動作識別和控制多限于簡單的肢體動作。第二種方法利用安裝在使用者身上的信息傳感裝置,間接獲取人體運動信息[4-5]。如何在控制系統(tǒng)復雜度和成本的前提下,盡可能多地獲取運動信息是該研究方向的重點。第三種方法擬建立人體模型,通過數學建模的方法進行動作預測,以完成動作識別的目的[6]。如何解決人體關節(jié)冗余特性帶來的影響是該類研究的主要內容。
中樞神經系統(tǒng)支配肌肉活動時伴隨著生物電變化,肌電信號(electromyography,EMG)是肌肉電活動在時間和空間上綜合特性的顯示,反映人體動作中各肌肉的活動情況。表面肌電信號(surface electromyography:sEMG)是一種重要的運動生物力學信息源,測量時對人體無創(chuàng)傷。利用表面肌電信號分析技術提取反映運動意愿的有效特征,進行動作辨識已經廣泛應用在類人機械和人工假肢的控制策略以及人體康復治療中。另外,基于小樣本統(tǒng)計理論的支持向量機(support vector machine,SVM)技術能夠較好地解決小樣本學習問題,具有良好的泛化能力。近年來較多的國內外學者以SVM和sEMG技術為基礎,結合不同的特征提取方法,對人體運動辨識進行了深入研究,并取得了豐富成果。例如,Castellini等[7]證實了支持向量機技術對人體手部姿勢判定的有效性;Yan等[8]則進一步提出模糊最小二乘支持向量機技術,完成了手部動作識別;Lucas等[9]結合SVM和小波分析的方法對人體前臂和手部動作進行了識別;羅志增等的研究小組,利用支持向量機技術,分別對人體手部運動和下肢行走等動作進行了識別研究[10-11];顏志國[12]也進行了類似的研究。
目前的研究多集中在人體上肢動作識別上,利用表面肌電信號快速準確地識別出下肢的動作模式存在一定的難度。一方面,相對上肢而言,下肢肌電信號是典型的時變非平穩(wěn)信號,而且經常夾雜較大的下肢運動噪聲。另一方面,利用SVM進行動作識別本質上是一個多元分類問題,在實際應用中則是將多元分類逐步歸屬到二元分類上。由于支持向量機的性能不僅受到核函數和參數選擇的影響,同時也受到支持向量數目的影響,因此,本文構造了基于核聚類簡化的多元支持向量分類方法,以提高對人體下肢多動作識別的準確性和實時性,并以起立、常速行走和上下樓梯等日常行為為例,對算法進行了驗證。
本文將人體下肢運動的7個分解片段識別問題轉化為利用支持向量機分類算法進行分類的問題。而使用SVM進行分類的主要思想是建立一個空間最優(yōu)決策超平面,使處于該超平面兩側的樣本到它的距離達到最大,以確保SVM模型具有良好的泛化性能。設給定樣本為(xi,yi),其中,x i為訓練樣本,x i∈Rd,i=1,2,…,l,y i為目標類,y i∈{1,2,…,M};M為目標類的個數;l為訓練樣本個數;d為輸入空間維數。通過構造最優(yōu)超平面對該樣本進行分類,實質上是在約束條件下求解一個二次規(guī)劃問題,分類函數可表述為
其中,b為偏置,αi為對應的拉格朗日乘子,k(x i,x)為滿足條件的核函數,其主要作用是針對復雜的模式分類問題,通過非線性映射變換到維數足夠高的特征空間中,產生一個線性可分的高維特征空間,再在這個新的空間尋找具有最大Margin的最優(yōu)決策超平面。但是SVM的分類思想是針對兩類問題的分類,對于多類分類,必須重新構建SVM分類器來求解,即尋求一個把屬于Rd的點劃分為M個部分的規(guī)則。常用方法是將多元分類問題逐步轉化為兩元分類問題,即用多個兩元分類支持向量機組成專用的多元分類器。本研究中采用兩元分類方法中的1-a-r分類器(oneagainst-rest classifiers),通過構造M個兩元目標子分類器的方法,將多元分類問題逐步轉化為兩元分類問題,從而建立多個兩元分類支持向量機組成的專用多元分類器。
1-a-r分類雖然建立方法簡單,但是在面對人體下肢多模式動作分類任務時,其正負訓練樣本不均衡性更加突出。傳統(tǒng)SVM在面對這類不對稱分類問題時,會因為建立劃分正類和負類決策函數而產生最優(yōu)分類面向負類集合偏移的情況,而且當支持向量數目很大時,分類器的分類速度會明顯降低。而智能人體運動輔助系統(tǒng)在實際應用中又要求在有限的時間內完成動作辨識。因此傳統(tǒng)的SVM多元分類算法在多模式下肢動作識別中應用受到限制。
針對該問題,在曾志強[13]研究的基礎上,本研究提出精簡分離器的方法以簡化支持向量,加快分類效率。
在建立正類和負類集合時,首先在特征空間中對正負兩類支持向量分別進行聚類,設待聚類的正(負)支持向量集為聚類半徑設為r,φ為將輸入空間中的點映射到特征空間F的非線性映射為特征空間中從屬于類Ck的支持向量。設選擇樣本和第k個類的質心O k之間的距離:
如果d(φ(xi),Oj)≤r,則將 φ(xi)加入類Cj,重新計算質心位置。在此基礎上找到距離最近的質心 Oj,即
其中,Cluster_num為求取O j過程中的分類數量,其初始值設定為 1,當迭代過程中 d(φ(x i),O j)>r時,增加一個分類數量,直至 d(φ(x i),O j)≤r。
在上述研究基礎上用聚類后所形成的簇的質心代替簇內的支持向量來簡化SVM分類器,從而降低因數據集合不平衡性引起的分類錯誤;另外,在基本保持原始分類器泛化性能的同時簡化支持向量,以提高SVM分類器的分類速度。定義向量為Ok的原像z k和它的近鄰x k在輸入空間中的距離。質心Ok在輸入空間中的原像的近似值可用下式表示:
其中,zk為質心原像為nk個近鄰在輸入空間中的原像的均值,E1=(e1,e2,…,eq)為由一組標準正交列向量ei組成的d×q矩陣,設列向量c i為向量在E 1上的投影,則
在上述算法中,聚類半徑越大,所形成的簇的數量就越少,支持向量的削減率就越高,約簡前后分類超平面之間差異就越大,泛化性能損失也就越多。因此,聚類半徑的大小在支持向量的約簡率和泛化性能損失之間起折中作用。在實際運算中,在設定差異閾值對簡化前后分類超平面變化的最大值作出限制(即限制分類器的泛化性能損失)的情況下,以迭代方法增加聚類半徑的大小來盡可能地約簡支持向量。在每次迭代中,計算所形成的超平面和原始分類超平面之間的差異,超過差異閾值τ,則迭代簡化過程終止,取上一次迭代所得的簡化SVM分類器作為最終的精簡SVM分類器,否則,增大聚類半徑以進一步約簡支持向量。
建立識別目標集是進行下肢動作識別的首要任務。從人體動作的運動學描述來看:一個復雜的肢體動作可以視為是由幾種常見的簡單動作片段根據一定的規(guī)則組合而成的。例如上樓梯動作可以簡單分解為擺腿和支撐兩個簡單的動作片段。在實際應用中,如果可以有效識別這些簡單的動作片段,就可以給智能輔助系統(tǒng)提供明確的控制指令。本研究采用動作分解方法,將起立、常速行走和上、下樓梯這四個日常下肢動作分解為如表1所示的7個動作片段,并以之建立識別目標集。
表1 日常人體下肢動作分解
在實際識別過程中,僅根據單一信息源對每一動作片段進行劃分,其分類的效率和精度都會受到一定程度的影響。由于足底壓力信息可以簡單而準確地將各擺動動作與支撐動作(含起立動作)區(qū)分開來,因此我們引入足底壓力信息,通過壓力數據將下肢動作識別目標集分解為擺動動作集合和支撐動作集合,在此基礎上利用肌電信號對每一個集合內的動作進行進一步的細分。
人體在完成不同下肢動作任務時,相應肌群各肌肉的興奮持續(xù)時間和興奮程度各不相同[14]。因此,本研究中特征向量空間由反映幅值變化的表面肌電信號時域特征值和反映趨勢變化的表面肌電信號頻域特征值共同組成??紤]到短時統(tǒng)計值計算量小,而且分段的信號統(tǒng)計特征可以近似反映統(tǒng)計特征隨時間的變化規(guī)律[15],在時域特征值中選擇均方根值(root mean square,RMS)、絕對值平均(mean of absolute value,MAV)以及方差(variance,VAR)三個分段統(tǒng)計值。另外,考慮到傳統(tǒng)的傅里葉分析并不適合用于非平穩(wěn)信號分析,而時頻分析作為研究非平穩(wěn)信號的一種有效方法,通過在時頻平面上表述信號的時變特征,能夠清晰地反映出信號的頻率特性隨時間的變化。其中,小波變換作為時頻分析的工具,能夠同時提供關于信號時域和頻域兩方面的信息,是分析肌電信號的一種有效手段。因此在本研究中通過Mallat小波分解獲取肌電信號的時頻特征,并選取dB2小波作為Mallat分解的小波基。在實際實驗過程中,肌電信號的采樣頻率為256Hz,如果進行四層以上的分解,得到的點數將下降到10左右,影響分析精度,所以在實際處理過程中,Mallat分解的次數定為4。由于Mallat分解的結果代表了在不同帶寬內信號的強度隨時間的變化情況。在每級分解中,采用奇異值分解的方法將高頻系數壓縮成一個參數。這樣,對于每段肌電信號可以得到4個頻域特征參數。
在建立動作識別向量特征空間時,每塊下肢肌肉的表面肌電信號特征值包括3個短時時頻特征值和4個Mallat小波分解特征值,因為由于過多的向量維數會極大地增加識別算法復雜度,因此在實際研究中,采用主元分析(principal component analysis,PCA)方法,對向量空間進行降維處理。整個下肢動作識別流程可以簡單地用圖1來表示。
圖1 下肢動作識別流程圖
為避免性別及年齡因素對肌電信號造成影響,本研究選擇浙江大學6位男性在讀碩士研究生作為實驗被試,基本資料如表2所示。
表2 被試基本資料
所有被試在實驗期間身體健康狀況良好,體態(tài)正常,無任何下肢關節(jié)損傷或疾病,以及任何其他行動受限的病癥。為避免肌肉疲勞對實驗造成影響,確保實驗數據的客觀性,所有受試者在實驗前24小時內未進行任何形式的劇烈運動,無肌肉疲勞現象。
文獻[14]研究結果表明,股直肌、股外側肌、股內側肌、股二頭肌、半腱肌在下肢各個動作變化時信號變化明顯,同時在動作變化之間保持了較強的穩(wěn)定性,因此在實際應用中,我們選用該5塊最具代表性的肌肉肌電信號作為信息源進行人體下肢動作識別研究。對選取的下肢肌肉,用細砂紙清除皮膚表面角質,并用醫(yī)用酒精棉球清除油脂后,沿選取肌肉肌纖維方向貼好一次性導電電極。具體電極安放位置如圖2所示。
圖2 肌肉選取及電極安放位置示意圖
被試貼好電極后,將加拿大XSensor公司提供的足底壓力測量鞋墊置于足底,設定閾值,以簡單區(qū)分擺動與支撐兩個動作集合。
在實驗指導員的蜂鳴節(jié)拍器的指引下,被試重復完成起立、行走與上下樓梯等各日常下肢動作。利用加拿大Thought Technology公司生產的BioGraph Infinity TM 20通道表面肌電分析及訓練系統(tǒng)和XSensor壓力測量系統(tǒng)同步采集各肌肉表面肌電信號和足底壓力信號相關數據,采樣頻率為1k Hz。每名被試重復動作30次(每次實驗中,常速行走完成3個步態(tài)周期,上下樓梯實驗中臺階數目都設定為3個)。
完成所有規(guī)定動作后,實驗結束。
在實驗數據處理過程中,肌電信號的數據處理和特征提取及SVM簡化算法均利用MATLAB7.0實現。
在實驗過程中,每名被試的7個動作狀態(tài)都截取512個數據點。參考移動窗采樣方法[15],RMS、MAV和VAR等三個分段統(tǒng)計特征值取值周期為64個采樣點組成的數據段。設移動窗大小為64點,每采集256點后進行一次Mallat小波分解。因此,5塊下肢肌肉在512個數據點內(通過移動窗獲得5組數據),共得到特征向量5×30×7=1050組。將每個被試的每個運動狀況中隨機取10組信號,共70組信號組成測試集,其余980組信號組成訓練集。將訓練集分為10等份,每次留一份驗證模型性能,其余9份用來訓練模型。
在利用支持向量進行分類訓練時,核函數選取為高斯核函數,差異閾值τ=0.15。采用交叉校驗(cross validation)的方法,優(yōu)化后確定兩個學習參數值:C=156,σ=0.5。確定參數后,采用本文提出的簡約SVM分類方法對數據集進行測試。圖3給出使用本研究所用SVM核主元簡化算法對6名被試不同下肢動作的分類結果(圖中用圓點表示實際動作被識別出的結果)。
表3給出6名被試的下肢動作識別的正確率。
圖3 6名被試下肢動作識別結果
表3 6名被試下肢動作識別正確率表 %
為有效削減支持向量的數量,在基本保持SVM分類器分類精度的基礎上提高SVM分類器的分類速度,以保證下肢運動狀態(tài)快速識別,本文提出了簡約SVM思想。從實驗結果來看,每個被試的整體識別正確率在80.0%~87.1%之間,表明使用本文所述方法能夠以較高的識別率識別多模式的下肢運動狀況,但該結果與實際應用還有相當大的距離:首先,只有100%的識別率才能保證智能輔助系統(tǒng)不會由于辨識失誤而產生誤操作,甚至傷害使用者;其次,正常人的日常下肢動作包含了行走、跑、跳、上下臺階等多種模式的運動,本研究雖然選擇了7種宏觀差異性較大的人體下肢動作片段進行了分類與識別,但還未涉及精細動作的分析。例如僅根據足前掌、足后跟和地面的關系就可以將平地行走劃分為雙腿支撐、單腿足前掌支撐、小腿加速擺動、小腿減速擺動、足后跟支撐、全足支撐等多個細分動作。后續(xù)的研究將重點分析如何細分并描述多模式的下肢動作,并對這些細分動作進行識別。同時,由于在具體的下肢動作識別操作過程中,核函數的構建和分類器最優(yōu)參數的選擇還沒有十分完美的方法,如何在保證最優(yōu)的泛化能力、最大簡約率和分類精度的前提下,選擇最優(yōu)的差異閾值等分類器參數以及優(yōu)化核函數是未來簡約SVM算法研究的重點。另外,如何獲取更優(yōu)的肌電信號特征向量,也是下階段研究的主要內容之一。
6個被試對象所有7個不同動作片段的整體識別正確率在80%~90%之間,其中以起立和上樓梯支撐動作片段的識別精度最高,而平地勻速行走擺腿動作的識別精度最低。行走擺腿誤判率高的原因主要可能在于人體腿部懸空前擺動作同時涉及到腿部肌群的向心收縮和離心收縮。雖然從絕對值上看,腿部各肌肉用于拉動腿從靜止加速到某一速度后再減速到靜止的過程中,腿部用于克服重力和提高加速度的肌肉施力并不大,但各肌肉在協同動作過程中肌電信號頻率和幅值多變,增加了識別難度。受到表面肌電信號獲取條件的限制,后續(xù)的研究將考慮引入其他人體生理信息傳感器作為補充,采用多傳感器信息融合技術,并將行走擺腿動作進一步細分,以提高識別精度。
為了避免性別、年齡、實驗環(huán)境等因素對實驗結果造成影響,而在研究中對被試對象進行了簡單限制,但導電電極安放位置等其他因素也會對識別率產生一定的影響。未來的研究將考慮設計表面肌電信號“標定”方法,以降低該類影響的干擾,將基于肌電信號的智能人體運動輔助系統(tǒng)推向實用。
本文提出了基于簡約支持向量機多元分類的下肢動作識別算法。以股直肌、股內側肌、股外側肌、股二頭肌和半腱肌5塊下肢肌肉的表面肌電信號為信息源,綜合RMS、MAV和VAR等三個分段統(tǒng)計特征值和Mallat小波4層分解出的時頻特征值建立了特征向量空間。通過將起立、常速平地行走和上下樓梯等日常下肢動作分解為7個動作片段,進行了動作識別。實驗結果證明了本研究方法的有效性,豐富了人體下肢動作識別的方法,為人體下肢智能輔助設備的研發(fā)提供了理論基礎。
[1] 陳鷹,楊燦軍.人機智能系統(tǒng)理論與方法[M].杭州:浙江大學出版社,2006.
[2] Leuthardt E C,Schalk G,Wolpaw J R,et al.A Brain-computer Interface Using Electrocorticographic Signals in Humans[J].Journal of Neural Engineering,2004,1(2):63-71.
[3] Li Yong,Gao Xiaorong,Liu H,et al.Classification of Single-trial Electroencephalogram During Finger Movement[J].IEEE Transactions on Bio-medical Engineering,2004,51(6):1019-1025.
[4] Zhou H,Hu H,Harris N D,et al.Applications of Wearable Inertial Sensors in Estimation of Upper Limb M ovements[J].Journal of Biomedical Signal Processing and Control,2006,1(1):22-32.
[5] Sazonov E S,Bumpus T,Zeigler S,et al.Classification of Plantar Pressure and Heel Acceleration Patterns Using Neural Networks[C]//Proceedings of 2005 IEEE International Joint Conferenceon Neural Networks.Montreal,Canada,2005:3007-3010.
[6] Kuzelicki J,Zefran M,Burger H,et al.Synthesis of Standing-up Trajectories Using Dynamic Optimization[J].Gait&Posture,2005,21(1):1-11.
[7] Castellini C,Smagt P.Surface EMG in Advanced Hand Prosthetics[J].Biological Cybernetics,2009,100:35-47.
[8] Yan Zhiguo,Wang Zhizhong,Xie Hongbo.The Application of Mutual Information-based Feature Selection and Fuzzy LS-SVM Based Classifier in Motion Classification[J].Computer Methods and Programs in Biomedicine,2008,90:275-284.
[9] Lucas M F,Gaufriau A S,Pascual S,et al.M ultichannel Surface EMG Classification Using Support Vector Machines and Signal-based Wavelet Optimization[J].Biomedical Signal Processing and Control,2008,3(2):169-174.
[10] 席旭剛,李仲寧,羅志增.基于相關性分析和支持向量機的手部肌電信號動作識別[J].電子與信息學報,2008,30(10):2315-2319.
[11] 佘青山,孟明,羅志增,等.基于多核學習的下肢肌電信號動作識別[J].浙江大學學報(工學版),2010,44(7):1292-1297.
[12] 顏志國.基于粗糙集和支持向量機的表面肌電特征約簡和分類研究[D].上海:上海交通大學,2008.
[13] 曾志強.支持分類向量機的訓練與簡化算法研究[D].杭州:浙江大學,2007.
[14] 吳劍鋒.基于肌電信號的人體下肢運動信息獲取技術研究[D].杭州:浙江大學,2008.
[15] 何樂生.基于肌電信號的人機接口技術的研究[D].南京:東南大學,2007.