隋修武,牛佳寶,李昊天,喬明敏
天津工業(yè)大學(xué) 天津市現(xiàn)代機(jī)電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300387
表面肌電信號(sEMG)是肌肉運(yùn)動過程中各運(yùn)動單元產(chǎn)生的生物電信號經(jīng)肌肉纖維傳到皮膚表層的微電信號的疊加[1],運(yùn)動神經(jīng)通過協(xié)調(diào)不同運(yùn)動單元實(shí)現(xiàn)目標(biāo)動作,因此對表面肌電信號中蘊(yùn)含的運(yùn)動信息的解析有利于區(qū)分不同的運(yùn)動模式。目前利用肌電信號對假肢進(jìn)行控制的主要研究集中在基礎(chǔ)層面,如林上耀等人利用ADS1198 對肌電信號進(jìn)行128 路的高密度采集[2],Joseph R K等人利用混合模型對肌電信號進(jìn)行去噪[3];Meng Q、楊大鵬、Nishad A等分別在時域、頻域和時-頻域?qū)π盘栠M(jìn)行特征值的選取[4-6];Li C 對反向傳播網(wǎng)絡(luò)進(jìn)行優(yōu)化,從而實(shí)現(xiàn)對假肢的控制[7]。雖然以上相關(guān)研究取得了良好的效果,但也同時存在一些問題。例如高密度信號采集導(dǎo)致的超高維數(shù)據(jù)處理速度延遲過高,模式識別的效果過于依賴分類器的選取且往往忽略肌肉間的協(xié)同而靠犧牲維數(shù)來增加信息量。
目前基于表面肌電信號進(jìn)行動作識別的研究多是采用首尾連接的方式將各通道計算出的特征值堆疊起來,并沒有考慮到各動作的形成是由不同激活程度的肌肉相協(xié)調(diào)完成的,同時若僅選取少量特征值又達(dá)不到應(yīng)有的分類效果。本文通過組成規(guī)律性的特征矩陣并降維得到代表不同動作對應(yīng)肌肉激活程度的系數(shù)矩陣進(jìn)行分類,充分利用所提取特征之間的關(guān)聯(lián)和肌肉的協(xié)同以提高信息的利用率。首先選取與目標(biāo)識別動作關(guān)系密切的上肢肌肉進(jìn)行肌電信號的采集并計算特征值之后,利用本文提出的特征值排列規(guī)則組成特征矩陣,運(yùn)用非負(fù)矩陣分解將特征矩陣在保留運(yùn)動信息的前提下進(jìn)行降維分解,進(jìn)而利用支持向量機(jī)對分解信息進(jìn)行訓(xùn)練和識別。本文還比較了傳統(tǒng)SVM 分類器的分類效果,結(jié)果證明特征矩陣的構(gòu)建較好地解決了信息量與維數(shù)之間的矛盾。本文將按照如圖1的思路展開研究。
圖1 基于sEMG的動作識別模型原理圖
實(shí)驗(yàn)對象均為右利手且無上肢運(yùn)動功能障礙或關(guān)節(jié)損傷病史。其中男性4名:年齡為23~25歲,體重55~75 kg,身高160~181 cm;女性4 名:年齡為23~25 歲,體重42~54 kg,身高152~175 cm。所有受試者均自愿參加此測試,受試前24 h 內(nèi)未作劇烈運(yùn)動,以滿足實(shí)驗(yàn)要求的非疲勞條件。
實(shí)驗(yàn)采集采用埃力智能科技有限公司TB0820表面肌電儀對肌電信號進(jìn)行采集,采樣頻率為1 000 Hz,儀器內(nèi)置截止頻率2 000 Hz 的低通濾波器和截止頻率為10 Hz的高通濾波器。記錄兩種手部動作和四種腕部基本動作方式,其中手部動作包括握拳和張手,腕部動作包括屈腕、抬腕、腕左旋、腕右旋。采樣頻率為1 000 Hz,采用貼片式一次性生物電極片采集表面肌電信號,采集片應(yīng)順著肌纖維方向粘貼。采集前先用酒精擦拭采集部位,去除皮膚表面油脂和皮屑。采集過程中記錄受試者的編號、信號采集開始時間、運(yùn)動狀態(tài)等信息。由于手部和腕部的運(yùn)動多與前臂肌肉群的尺側(cè)腕屈肌、指淺屈肌、掌長肌及指伸肌有關(guān),因此本實(shí)驗(yàn)主要選取以上四塊肌肉進(jìn)行采集,采集的具體位置如圖2所示。
圖2 上肢表面肌電采集位置
實(shí)驗(yàn)對象正坐且兩手臂自然下垂,受試者每個動作重復(fù)進(jìn)行,一組動作完成后受試者有5 min休息時間,每種動作各采集20 組,同種動作做完后受試者有足夠的休息時間。由于肌電信號頻率范圍在20~1 000 Hz且主要能量集中在50~150 Hz[8],因此對信號進(jìn)行截止頻率為20 Hz的巴特沃斯二階高通濾波,截止頻率為500 Hz的巴特沃斯二階低通濾波,以及50 Hz的工頻陷波。
表面肌電信號由于其微弱性,易受到電路及外界環(huán)境的干擾,其中以工頻干擾、基線漂移、白噪聲等干擾最為嚴(yán)重[9]。而僅僅利用采集裝置的濾波功能達(dá)不到對白噪聲的降噪,本文根據(jù)肌電信號的特點(diǎn)利用非線性小波變換閾值法對信號進(jìn)行濾波。首先用正交鏡像濾波器(QMF)對信號進(jìn)行濾波后得到噪聲信號的小波系數(shù)ω,之后利用非線性函數(shù)y(ω)=sign(ω)(|ω|-t)作用于數(shù)據(jù),并根據(jù)設(shè)定變閾值,由此給出小波系數(shù)的估值,其中σ為噪聲強(qiáng)度。再設(shè)置一個信號能量閾值,將大于等于此閾值的小波系數(shù)等于0,然后進(jìn)行小波反演重建,進(jìn)而獲得信號f(t)的估值[10],其濾波前后對比如圖3所示。
從濾波前后的頻譜對比圖4 可以看出帶通、帶阻、陷波器和非線性小波變換閾值濾波可以有效地將電路以及外界干擾產(chǎn)生的大部分噪音去除,同時由直流電路產(chǎn)生的干擾分量也被完全清除。
圖3 濾波前后信號對比圖(握拳)
圖4 降噪前后頻譜對比圖(握拳)
肌電信號一般可分為靜息信號和活動信號[11],靜息信號常伴隨著人體的背景噪聲信號,平均能量低;活動信號為肌肉運(yùn)動時產(chǎn)生的生理電信號,平均能量高;靜息信號和活動信號波形特點(diǎn)有明顯的不同,前者變化較為緩慢,而后者在幅度上變化劇烈。本文采用雙門限檢測法利用短時能量和過零率兩個特征進(jìn)行端點(diǎn)檢測。根據(jù)信號設(shè)置能量閾值、TL、TH和過零率閾值ZCR,當(dāng)其中一路的某幀信號大于TL或者大于ZCR時,即認(rèn)為信號的開始起點(diǎn),當(dāng)大于TH時,則認(rèn)為正式的活動信號,如果保持一段時間,則確認(rèn)這段信號即運(yùn)動信號。
圖5 肌電信號活動段檢測
根據(jù)此方法對握拳動作的尺側(cè)腕屈肌的肌電信號做端點(diǎn)檢測分析,其結(jié)果如圖5 所示,紅線表示通過雙門限檢測法檢測出的肌肉活動段肌電信號,可以看出做出握拳動作的兩段信號均被正確識別出。經(jīng)實(shí)驗(yàn)測試該方法監(jiān)測的有效率為95%,部分監(jiān)測失誤主要為肌肉疲勞引起的背景噪聲過大所致,該方法滿足了實(shí)驗(yàn)需要。
肌電信號的特征值種類可分為五大類:時域特征、頻域特征、時頻域特征、基于非線性分析特征和基于參數(shù)模型的特征[12]。本文選取了時域中的均方根值(RMS)、頻域中的中值頻率(MF)以及時頻域中的三級小波包系數(shù)方差最大值(Emm)、小波包系數(shù)能量最大值(VARmm)作為特征值。以上四種特征值計算方法如下。
均方根值能夠反映肌電信號振幅變化,常被用于實(shí)時地、無損傷地反映肌肉活動狀態(tài),具有較好的實(shí)時性。其計算方法如下:
其中,n代表信號的長度,x代表信號值。圖6 為由肌電信號計算得到的均方根變化圖。
圖6 sEMG和RMS信號示意圖
中值頻率反映了信號的不同頻率分量的變化,其計算公式為:
其中,Psd(f)為功率譜密度估計函數(shù)。
建立在小波分解基礎(chǔ)上的小波包變換是一種基于完整二叉樹結(jié)構(gòu)的信號分解與重構(gòu)算法[13]。它對肌電信號的子空間的低頻部分和高頻部分同時進(jìn)行分解,提高了其時頻分辨率,是一種精細(xì)的信號分析方法。小波包系數(shù)的計算為:
其中,h(m-2l)和g(m-2l)是尺度p下的兩組函數(shù),p代表級數(shù)。
在經(jīng)過3層小波包變換后,原始肌電信號f(t)被分解成為8個不同的頻段分量,如圖7所示,取分解得到的小波包系數(shù)的能量(Emm)和小波包系數(shù)的方差(VARmm),然后對兩項指標(biāo)分別取最大值。分解結(jié)果不僅可以反映原始信號的頻域細(xì)節(jié)信息,而且通過分解系數(shù)重構(gòu)的信號疊加后和原始信號保持一致,充分體現(xiàn)了分解系數(shù)對原始信號信息的還原能力。因此提取不同動作模式下肌電信號的小波包分解系數(shù)作為特征,可以為多樣性模式辨識提供良好的條件。
圖7 3層小波包分解樹
計算得到以上四種特征值后,本文提出了一種特征值的組織方式,即按照行代表示肌肉類型,列代表特征值類型的規(guī)則,對提取的四路信號特征值進(jìn)行排列組織,即可得到實(shí)驗(yàn)所需4×4維的特征矩陣。如表1為對握拳動作信號提取特征值后按照上述排列要求組成的一組特征矩陣。
表1 握拳動作特征值排列組成的特征矩陣
這種特征值的組織方法不僅可以存儲肌肉的運(yùn)動信息,且保存了運(yùn)動過程中肌肉的協(xié)同作用,在所選能夠代表運(yùn)動類型的有限的肌肉前提下最大限度還原了完整動作在時域、頻域以及時頻域的內(nèi)在聯(lián)系以及肌肉配合。
本文對上述組成的特征矩陣進(jìn)行降維以降低計算成本以及滿足實(shí)時性識別的要求。非負(fù)矩陣分解具有占用存儲空間少、分解形式和分解結(jié)果的可解釋性以及實(shí)現(xiàn)的簡便性等優(yōu)點(diǎn),剛好滿足實(shí)驗(yàn)快速準(zhǔn)確的要求。且特征矩陣的元素均為非負(fù)數(shù),也符合運(yùn)用非負(fù)矩陣分解的前提條件。
為了達(dá)到降維且便于分類器訓(xùn)練識別的目的,將上述組成的4×4 維的特征矩陣分解為一個4×1 維和一個1×4 維的矩陣的乘積,即n=4,r=1。為了確保分解得到的矩陣包含原矩陣的運(yùn)動信息,需要對分解的過程進(jìn)行優(yōu)化。分解過程中W、H的初始值是隨機(jī)的,由于殘差優(yōu)化目標(biāo)D可能存在局部最小,所以不同的初始W、H值可能會得到不同的分解結(jié)果。非負(fù)矩陣分解通常有兩種更新規(guī)則,分別是交替最小二乘法和乘性更新法[16],其中前者的收斂速度更快且相對穩(wěn)定而后者對初始值較為敏感,因此可以先利用乘性更新法從多個初始值估計W、H,再用交替最小二乘法從前者估計的W、H中尋找更優(yōu)結(jié)果。更新計算方法如下:
步驟1分解得到的矩陣與原矩陣之間的噪聲可表示為:
其中,V表示原矩陣,W表示分解后的基矩陣,H表示分解后的系數(shù)矩陣。
步驟2為保證分解的精度,需要尋找WH使||E||最小,這里引入損失函數(shù)D(V,WH),即分解模型可表示為優(yōu)化問題:
則目標(biāo)函數(shù)可表示為:
步驟3假設(shè)||E||符合高斯分布,那么可求得最大似然函數(shù):
步驟4通過迭代計算,得到多組初始系數(shù)矩陣W和基矩陣H。
步驟5再利用交替最小二乘法計算最優(yōu)解,為了規(guī)避過擬合等問題,使優(yōu)化問題正則化,目標(biāo)函數(shù)可表達(dá)為:
其中λ是正則化項的系數(shù)。
步驟6先固定H,將損失函數(shù)D(W,H)對Wi求偏導(dǎo),令倒數(shù)為0,得到:
同理固定W可得:
其中,vi是V的第i行,vj是V的第j列,I是單位矩陣。
步驟7通過對乘性更新法得到的多組初始矩陣分別進(jìn)行多次迭代優(yōu)化,得到損失函數(shù)最小時的系數(shù)矩陣W和基矩陣H。
通過非負(fù)矩陣分解將由肌電信號特征值組成的4×4 維特征矩陣降維為包含肌電信號肌肉間內(nèi)在聯(lián)系的1×4維的基矩陣與4×1維的系數(shù)矩陣的乘積,以降低分類器的學(xué)習(xí)訓(xùn)練時間與計算復(fù)雜度。
將六種動作的特征矩陣降維后得到的系數(shù)矩陣送入到分類器進(jìn)行訓(xùn)練,實(shí)驗(yàn)選取了支持向量機(jī)作為動作識別實(shí)驗(yàn)的分類器。
支持向量機(jī)是針對小樣本學(xué)習(xí)問題而提出的一種新的機(jī)器學(xué)習(xí)方法,其較好地解決了以往機(jī)器學(xué)習(xí)模型的過學(xué)習(xí)、非線性、維數(shù)災(zāi)難以及局部極小值等問題,具有較好的泛化能力[17]。然而,該方法在大規(guī)模訓(xùn)練樣本時,同樣存在訓(xùn)練速度慢、穩(wěn)定性差等缺陷,因此通過上述的非負(fù)矩陣分解方法將樣本進(jìn)行降維大大緩解了訓(xùn)練的復(fù)雜度,能夠有效解決支持向量機(jī)的局限性。
由于支持向量機(jī)最初是為二值分類問題設(shè)計的,當(dāng)處理多類問題時,就需要構(gòu)造合適的多類分類器。本文采用“一對一法”對六類動作進(jìn)行分識別,分類器的個數(shù)G可由公式計算:
其中k為需要識別的類別數(shù)。
實(shí)驗(yàn)將從兩方面對所提模型進(jìn)行分析:(1)為驗(yàn)證模型的有效性,將利用相同樣本信號對NMF-SVM模型與傳統(tǒng)SVM 進(jìn)行對比實(shí)驗(yàn)。(2)為判斷模型的識別性能,將訓(xùn)練樣本與驗(yàn)證樣本的數(shù)據(jù)來源分割開來用以實(shí)驗(yàn),以評估方法的通用性。
利用支持向量機(jī)對降維后的特征矩陣進(jìn)行分類,每種動作使用1 000組特征矩陣按照7∶3的比例參與分類器的訓(xùn)練和驗(yàn)證,訓(xùn)練和驗(yàn)證的樣本不重疊且從實(shí)驗(yàn)者中平均調(diào)取。采用特異度、靈敏度、準(zhǔn)確率作為識別效果的評價指標(biāo),將某一動作模式被正確判別為該模式的情況記為真陽性,將不屬于某一動作模式被判別為不是該動作的情況記為真陰性,則特異度表示不屬于某一類且被正確判定的概率,靈敏度表示屬于某一類且被正確判定的概率,此處的靈敏度和準(zhǔn)確率數(shù)值上相等,將分類效果通過混淆矩陣定量顯示出來。
表2 所示為相同實(shí)驗(yàn)條件下NMF-SVM 模型與傳統(tǒng)SVM 的對比實(shí)驗(yàn)結(jié)果,A 組實(shí)驗(yàn)為利用NMF-SVM模型進(jìn)行的實(shí)驗(yàn)分類結(jié)果,混淆矩陣的每一行代表分類器對某一動作實(shí)際分類的標(biāo)簽分布,每一列代表原始標(biāo)簽樣本被分類器判定的標(biāo)簽分布情況。例如,表2的第一行表示分類器對受試者男A 的300 組“握拳”動作的識別分布,其中292組被正確分類為“握拳”動作,5組被錯誤歸類為“左旋”動作,3組被錯誤歸類為“右旋”動作,分類器的靈敏度、特異度和準(zhǔn)確率分別為97.3%、99.8%和97.3%。第一列表示標(biāo)準(zhǔn)的“握拳”動作樣本中有292組被成功分類,另有1組樣本被分類器錯分入“左旋”模式,2組樣本被錯分入“右旋”模式。
表2 NMF-SVM模型與傳統(tǒng)SVM動作模式識別結(jié)果統(tǒng)計
與B 組實(shí)驗(yàn)中傳統(tǒng)SVM 的識別結(jié)果比較,統(tǒng)計結(jié)果表明:(1)實(shí)驗(yàn)對象的平均動作模式識別率在95.55%以上,各動作模式識別準(zhǔn)確率普遍高于傳統(tǒng)支持向量機(jī)。(2)識別模型對于各動作判別發(fā)生錯誤分類的樣本主要集中在“左旋”和“右旋”動作。分析原因在于左旋和右旋動作涉及到尺側(cè)腕屈肌、掌長肌的皮下滑動旋轉(zhuǎn),而表面貼片電極僅隨著表面皮膚移動,兩者之間發(fā)生較大相對位移,進(jìn)而導(dǎo)致采集到的表面肌電信號混有來自于其他信號源的信號,因此在進(jìn)行模型訓(xùn)練時左旋和右旋與其他動作的支持向量存在重疊的現(xiàn)象。
考慮到模型的通用性,即模型中參數(shù)的確定是基于提取了部分受試者肌電信號通過訓(xùn)練的,但模型的確立應(yīng)對其他部分人同樣適用。同時為了分析所提模型在相同被試和不同被試條件下的識別性能,實(shí)驗(yàn)設(shè)計了男女混合驗(yàn)證的方式以消除性別的影響,按照性別將實(shí)驗(yàn)對象劃分為兩組,其中男女組中分別隨機(jī)抽兩位的肌電信號作為訓(xùn)練信號,其余四位的肌電信號則作為驗(yàn)證信號。
表3 所示為訓(xùn)練與驗(yàn)證的數(shù)據(jù)分別來源于不同的實(shí)驗(yàn)對象,即訓(xùn)練樣本與驗(yàn)證樣本不相關(guān)。由表3的統(tǒng)計結(jié)果分析可知:(1)所提模型的平均準(zhǔn)確率為95.0%,依然具有較高的識別率。(2)本實(shí)驗(yàn)對比表2 中實(shí)驗(yàn)訓(xùn)練樣本容量小的情況下平均準(zhǔn)確率僅降低了0.55%,說明由模型計算得到的各動作系數(shù)矩陣有較好的辨別性。(3)男女肌電信號樣本實(shí)驗(yàn)的識別效果無明顯差別,在訓(xùn)練樣本足夠的情況下,模型的兼容性良好。同時可以看出,各受試者在“左旋”和“右旋”動作的識別率依然較其他動作偏小,電極片與肌肉間的相對滑動是之后模型需要針對優(yōu)化的一個重要方面。
表3 樣本分離實(shí)驗(yàn)動作模式識別結(jié)果統(tǒng)計
本文采用的表面肌電信號采集儀的轉(zhuǎn)換和傳輸延時小于2 ms;特征提取過程采用的是128個采樣點(diǎn)的短窗,延時時間小于28 ms。特征的提取及降維算法簡潔快速,單條特征向量提取耗時小于18 ms,基于SVM 的分類器分類時間小于5 μs/次,所以從表面肌電信號采集到模式識別輸出的總延時小于150 ms。因此本文提出的方法可以滿足主動康復(fù)訓(xùn)練和普通人機(jī)交互控制領(lǐng)域的實(shí)時性要求。
本文對基于表面肌電信號形態(tài)特征的手部動作模式識別進(jìn)行了研究,實(shí)現(xiàn)了手部的6種精細(xì)動作模式張手、握拳、腕屈、腕伸、腕右旋、腕左旋的識別。運(yùn)用本文中提出的NMF-SVM模型,首先將從肌電信號中提取的高維特征值按照規(guī)則組成特征矩陣,再對其進(jìn)行降維和識別,實(shí)驗(yàn)結(jié)果證明該模型較好解決了維數(shù)與時間成本之間的矛盾。
模式識別的輸入特征值的選取兼顧了肌電信號的時域、頻域以及時頻域的特性,將特征值按照行表示肌肉類型,列表示特征值類型的規(guī)則,對提取的四路信號特征值進(jìn)行排列組成特征矩陣,這種組織方式保留了運(yùn)動過程中肌肉間的協(xié)同信息,利用非負(fù)矩陣分解對高維特證矩陣進(jìn)行降維得到表示各肌肉對動作貢獻(xiàn)率的基矩陣,以及表征各肌肉激活程度的系數(shù)矩陣。不但降低了分類器的訓(xùn)練時間成本,同時與普通SVM相比,達(dá)到了93%以上的準(zhǔn)確識別率,其平均識別率提高了5.2%,識別效率提高了一半,具有實(shí)用價值。