景甜甜,洪 潔
(1.安徽建筑大學 機械與電氣工程學院,合肥 230601;2.安徽江淮汽車集團股份有限公司,合肥 230601)
表面肌電信號(surface electromyogram,sEMG)是肌肉收縮時通過表面電極與相關(guān)儀器記錄下來的一種能反映人體運動特征的微弱生物電信號[1]。當肢體進行不同的動作時,對應的肌肉收縮也不同,因此,通過對肌肉收縮時產(chǎn)生的表面肌電信號進行處理可以得到不同的肢體動作特征信息,這些特征信息也就成為肢體動作識別的關(guān)鍵。近年來,隨著相關(guān)技術(shù)的發(fā)展,表面肌電信號被廣泛應用于臨床醫(yī)學、康復醫(yī)學等領域[2]。
在肌電信號對肢體動作的識別過程中,如何準確地提取肢體動作信息以及選擇何種分類器決定著肢體動作識別的準確度。通常,為了獲取較高的肢體動作識別率,采集多通道肌電信號并提取相關(guān)特征構(gòu)成高維特征向量。但是這些高維特征向量包含許多無效信息,影響肢體動作識別準確度,且處理復雜。因此,對高維特征向量進行降維,剔除無效信息是一種有效的處理方法。主成分分析(PCA)能在保留有效特征信息的同時對高維數(shù)據(jù)進行降維,因而在表面肌電信號的處理中被廣泛應用[3]。在挖掘出信號的特征信息后,隨之就是分類器的選擇,它決定著信號識別的準確程度。目前用于肌電信號識別的方法主要有人工神經(jīng)網(wǎng)絡[4]、支持向量機等[5-6]。然而這些方法含有大量的迭代運算,涉及的參數(shù)多,往往導致識別精度不高。極限學習機(ELM)作為一種新的算法,具有學習速度快、分類精度高等優(yōu)點,已經(jīng)得到廣泛運用[7]。
本文基于PCA和ELM算法的優(yōu)勢,將兩者結(jié)合引入表面肌電信號的手腕動作識別過程中。實驗結(jié)果表明,該方法能較好地識別內(nèi)翻、外翻、握拳、展拳等4種手腕動作。
PCA降維算法基本思路是:對各維數(shù)據(jù)進行分析,將數(shù)據(jù)的主成分(包含信息量大的維度)保留下來,忽略對數(shù)據(jù)描述不重要的成分,從而實現(xiàn)多維數(shù)據(jù)的降維處理[8]。其基本原理如下所述。
定義1記x1,x2,…,xm為原始多維變量,y1,y2,…,yn為新多維變量,兩者關(guān)系如下所示:
在求解式(1)過程中,系數(shù)a、i、j的確定原則如下:
1)yi與yj(i≠j;i,j=1,2,…,m)相互無關(guān);
2)新多維變量數(shù)據(jù)的方差逐漸減小,s2(y1)>s2(y2)>…>s2(yn);
從以上的分析可以看出,PCA的實質(zhì)就是確定原變量xj(j=1,2,…,m)的主成分yi(i=1,2,…,n)上的荷載aij(i=1,2,…,n;j=1,2,…,m)。
ELM(extreme learningmachine)是一種新型單隱層前饋神經(jīng)網(wǎng)絡算法。相對于傳統(tǒng)神經(jīng)網(wǎng)絡,ELM隱含層節(jié)點參數(shù)可以是隨機給定的且不需要調(diào)整,學習過程僅需計算輸出權(quán)重,具有學習效率高和泛化能力強的優(yōu)點[9]。假設有m個輸入變量,n個輸出變量,隱含神經(jīng)元數(shù)為a。對于M個訓 練 樣 本(xi,yi),xi=[xi1,xi2,…,xim]T,yi=[yi1,yi2,…,yim]T(i=1,2,…,M)。
ELM數(shù)學模型可表示為
其中:wi=[wi1,wi2,…,wim]T為輸入節(jié)點和隱層節(jié)點的輸入權(quán)值;bi為第i層隱層神經(jīng)元偏差,即閾值;βi=[yi1,yi2,…,yia]為輸出神經(jīng)元的權(quán)值向量;rj=[rj1,xj2,…,xjn]T為輸出閾值。
式中:H為樣本隱層輸出矩陣,于是轉(zhuǎn)化成求解權(quán)值最小二乘解的問題,即
H+是H的MP廣義逆。
為了提高手腕動作sEMG的識別準確性,將兩者結(jié)合起來對采集后sEMG進行降維處理與識別,以獲得精度更高、分類效果更佳的分類器?;赑CA和ELM的手腕動作sEMG信號識別流程如圖1所示。
圖1 手腕動作sEMG信號識別流程
算法實現(xiàn)的過程如下:
1)采集手腕4種動作(內(nèi)翻、外翻、握拳、展拳)表面肌電信號,每種動作采集M組樣本;
2)對采集的肌電信號進行N層小波分解,提取小波系數(shù)絕對值最大值作為特征向量,每個信號就有N+1個特征值,每種手腕動作則有M×(N+1)階特征值矩陣;
3)用PCA算法對M×(N+1)階特征值矩陣進行降維,設選取的主成分數(shù)目為K,此時得到降維后的特征矩陣則為M×k;
4)每種手腕動作選擇A個樣本作為訓練集,剩余的M-A個樣本作為測試集,用A個樣本對ELM進行訓練,建立模型;
5)用訓練好的ELM分類器對將M-A個測試樣本進行分類測試,輸出分類結(jié)果。
實驗對象為健康男性志愿受試者。實驗選用NIUSB-6211數(shù)據(jù)采集卡,基于LabVIEW 軟件完成手腕4種動作(內(nèi)翻、外翻、握拳、展拳)兩路肌電信號的采集。實驗采樣頻率為1 000 Hz,每個動作采集100組數(shù)據(jù),每組2 000個點。采集的一組握拳兩路肌電信號如圖2所示。
圖2 握拳動作兩路sEMG信號
用Sym5小波對每組動作的兩路肌電信號數(shù)據(jù)分別做3尺度的分解,分解后提取每級分解的小波系數(shù)絕對值最大值:為分解后的子頻段,i=1,2,…,level+1,此處分解級數(shù)level=3,j為采集通道數(shù),j=2)構(gòu)成8維特征矢量:feature=則每個手腕動作特征矩陣為100×8。
用PCA對上述特征矩陣進行降維處理。為了說明該方法的有效性,分別將原始的8維數(shù)據(jù)降至二維和3維,降維后的樣本分布如圖3、4所示。
圖3 PCA降維二維分布圖
圖4 PCA降維三維分布圖
從上述圖中可以看出,經(jīng)PCA降維后的手腕4種動作的樣本可以被明顯地區(qū)分開,從而說明了該方法的有效性。下一步將PCA算法與ELM相結(jié)合來對手腕4種動作的樣本進行分類識別,通過大量實驗發(fā)現(xiàn),降至四維時識別效果最好。接下來,隨機選擇每組手腕動作,選擇70組作為訓練集,剩下的30組作為測試集。最后,對每個動作設置1個標簽,以方便對識別的結(jié)果進行觀察分析,各動作對應的標簽如表1所示。
表1 動作模式識別標簽
將降維后的特征數(shù)據(jù)輸入ELM模型中進行測試識別,ELM模型選擇Sigmoid函數(shù)作為激活函數(shù),隱含層的節(jié)點數(shù)選擇500個。ELM的識別結(jié)果如圖5所示,為了對比,將原始數(shù)據(jù)分別降低至二維和三維。用相同的方法輸入ELM和支持向量機分類器進行動作識別,識別結(jié)果如表2、3所示。
圖5 ELM識別結(jié)果
表2 ELM分類器識別率 %
表3 SVM分類器識別率 %
由表2及表3可知,運用PCA將手腕動作肌電信號的特征數(shù)據(jù)降至四維時分類器分類識別率最高;相對于支持向量機,ELM有更好的分類識別率。因此,運用PCA+ELM組合對手腕動作肌電信號進行分類識別不僅能對不同動作進行準確地識別,還具有著較好的識別率。
基于主成分分析和極限學習機算法在模式識別方面的優(yōu)勢,提出了一種將兩者結(jié)合起來的方法用于手腕動作sEMG信號識別。首先采集手腕動作肌電信號,提取小波系數(shù)絕對值最大值作為原始高維特征向量,然后采用主成分分析對原始高維特征矩陣進行降維處理,最后運用極限學習機對降維后的特征進行分類識別。由實驗結(jié)果可知,該方法不僅能有效地降低sEMG特征空間維度,還能準確地識別手腕sEMG信號,是一種有效可靠的手腕動作sEMG信號識別方法。