馮凱,董秀成,劉棟博
西華大學電氣與電子信息學院,四川成都611730
手部運動時的表面肌電信號(surface Electromyography Signals,sEMG)是上肢肌肉收縮過程中,大量運動單元動作電位經肌肉、皮下組織和皮膚的傳導疊加,最終反映在皮膚表面的綜合電效應[1-3]。通過粘貼在皮膚表面的電極來采集不同手勢下的sEMG,具有無創傷性的特點,已被廣泛應用于手語識別、假手控制和手部康復機器人控制等領域[4]。sEMG 信號的采集、降噪、數據分割、特征提取、特征選擇與降維和分類器的設計等各個環節均已成為國內外研究人員爭相研究的熱點,并且取得了不錯的成就。機器學習廣泛用于解決基于sEMG信號的手勢識別問題,最常見的手勢識別方法包括線性判別分析(Linear Discriminant Analysis,LDA)[5]、支持向量機(Support Vector Machines,SVM)[6]、K-近鄰(K-Nearest Neighbor,K-NN)[7]、隨機森林(Random Forest,RF)[8]、決策樹(Decision Tree,DT)[9]、人工神經網絡(Artificial Neural Networks,ANN)[10]、卷積神經網絡(Convolutional Neural Networks,CNN)[11]等。
sEMG 是一種非線性非平穩的生物電信號[12],同大部分涉及生物醫學信號的模式識別應用一樣,為了得到好的識別效果和減少數據冗余,需要對sEMG信號進行預處理和特征提取。許多研究人員已經開始研究sEMG信號的特征,如時域特征[13]、頻域特征、時頻特征[14]和高階統計量[15],研究人員也開始研究一些不屬于時域和頻域的新特征,如非線性特性和分形特征[16],自回歸模型分析[17]也是獲取信號特征的一種常用方法。Sui 等[1]從sEMG 中提取小波包系數的能量和方差作為特征,并結合改進支持向量機(Improved Support Vector Machine,ISVM)和粒子群算法(Particle Swarm Algorithm,PSO)進行手勢分類,平均識別率為90.66%。Wu 等[18]提出基于單通道sEMG 包絡信號時域特征提取方法,并且使用改進的K-NN 算法和軟緣SVM 算法來完成5 種類型手勢的分類,平均識別率為80%。Liang 等[19]通過傳感器同時采集原始肌電信號和肌電信號包絡線并提取時域、頻域以及時-頻域特征來提高識別正確率,識別正確率達到95%。Narayan等[20]利用原始sEMG特征的一階微分得到4 種新的時域特征,識別正確率為86.7%。都明宇等[21]提取時域和頻域特征,通過改進決策樹SVM 對手勢動作進行分類,平均識別率達88.9%。宋佳強等[22]將sEMG 信號和其高階差分信號的能量譜進行組合,使不同手勢動作的特征之間更具有差異性,識別正確率達到94.5%。于亞萍等[23]將基于DB、Dmey和Bior 3種小波提取的肌電信號特征進行融合,采用融合處理后的特征手勢識別正確率達到95.7%。
上述研究采用的信號分析方法,在分析非線性非平穩信號時,需要假設信號局部平穩,基函數也比較固定,缺乏自適應或自適應差,無法充分體現sEMG 的本質特征,造成信號的可分類性差,手勢識別準確率較低。針對上述不足,本文提出一種基于經驗模態分解(Empirical Mode Decomposition,EMD)和小波包變換(Wavelet Packet Transform,WPT)的sEMG手勢識別模型,先采用EMD將信號平穩化,選擇與原始信號有較高相關性的固有模態函數(Intrinsic Mode Function,IMF)進行選擇WPT,并提取小波包系數特征形成特征向量,通過SVM 和LDA 兩種分類器對12 種手勢進行識別,其流程如圖1所示。

圖1 肌電信號手勢識別流程圖Fig.1 Flowchart of hand gesture recognition by electromyography(EMG)signal
選擇12種生活中常用的手勢(圖2),編號分別為手勢1~12。采集過程中每個動作重復12 次,每次動作持續大約2 s,每次動作完成后休息2 s,每種動作完成后休息1 min 避免手臂肌肉疲勞。隨機選擇其中8 次作為訓練樣本,剩余4 次作為測試樣本。試驗共采集數據2 160 組,其中選擇1 440 組為訓練樣本,剩余720組為測試樣本。
試驗所用的采集裝置是美國Delsys 公司生產的Delays Myomonitor IV(Delays Inc.)表面肌電采集系統,如圖3所示,共包含有8 個電極,實驗過程中只使用1~4號電極,系統采集頻率為2 000 Hz,大于sEMG信號最大頻率的兩倍,符合奈奎斯特采樣定理。15名年齡在20~24 歲且沒有神經或肌肉疾病的受試者自愿參加試驗,并且在試驗前已經熟悉試驗流程。通過比較確定采集的肌群分別為掌長肌(1 號電極)、橈側腕曲肌(2 號電極)、尺側腕曲肌(3 號電極)和指伸肌(4 號電極),4 個電極放置位置如圖4所示,在貼電極之前用酒精清潔手臂皮膚。手勢1 的4 個通道的部分數據如圖5所示。

圖2 手勢動作示意圖Fig.2 Schematic diagram of hand gestures

圖3 表面肌電采集系統Fig.3 Surface EMG acquisition system

圖4 電極放置位置示意圖Fig.4 Schematic diagram of electrode placement

圖5 手勢1的4通道肌電信號Fig.5 Four-channel EMG signal of hand gesture 1
原始sEMG 的噪聲成分較為復雜,采集過程中sEMG 信號容易受到外部環境的干擾,運動偽影、基線偏移和工頻干擾都可能導致sEMG 信號的失真,從而導致分類效果差[24],采用通帶頻率為10~500 Hz的帶通濾波器進行濾波,每個信道中檢測到的sEMG信號在不同的手勢動作中的強度不同,但信號表現出良好的同步性。如果相關肌肉不收縮,則sEMG信號在測試前表現出穩定的低振幅信號;相反,在執行動作的過程中信號發生了顯著變化[25]。本文采用短時能量和能量閾值T來探測動作的開始和結束并進行數據的分割。短時能量計算公式如式(1)所示:

其中,x(t)表示連續的sEMG信號,x(n)表示其離散序列,TS表示連續信號中所取的時間窗寬度,其取值不超過300 ms,N表示其對應的序列長度。閾值T的可以取幾個不同的受試者靜止時能量的平均值。雖然不同受試者的能量值不完全相等,但在靜止時sEMG信號中的能量偏差不會太大[26]。閾值T計算公式如式(2)所示:

其中,Eq表示靜止時采集的sEMG信號中的能量值,n表示采集的靜止信號次數。當檢測到某一連續時間段中的短時能量值持續大于閾值T,則認為該段時間為動作段,如果某一時間段的短時能量持續小于閾值T,則認為是靜止段,從而判斷動作的起始位置。
EMD 依據數據自身的時間尺度特征來進行數據分解[27-29],無需設置基函數,這與傅里葉變換和小波變換建立在先驗性諧波基和小波函數上的分解有本質上的差別,并且sEMG 信號經EMD 分解后變得平穩,有利于進行特征提取。EMD 方法分解信號基于以下3 條假設[30]:(1)信號至少具有一個極大值點和一個極小值點。(2)把相鄰極值點之間的時間間隔定義為特征時間尺度。(3)當信號沒有極值點而僅有拐點時,那么在對其分解之前首先將拐點微分一次或者多次以獲得極值點,然后對所得結果進行積分就得到相應的分量。
EMD 作為一種自適應非線性濾波器,將信號分解為若干IMF,其中IMF 代表一個簡單的振蕩函數,滿足兩個條件[27]:(1)過零點數和局部極值數相等,或相差一個。(2)由局部最大和局部最小包絡的平均數定義的局部平均數等于零。
對于待處理sEMG 信號x(t),由于其非線性和非平穩特性,滿足EMD 分解信號的3 條假設,不同的sEMG 信號均可以分解形成若干具有不同特征尺度的特征模態函數。進行EMD分解的步驟如下。
(1)確定sEMG 信號x(t)的所有局部極大值和極小值點,若沒有極值時,找出其拐點進行微分直到獲得極值點。
(2)用插值法將所有極小值點連接起來形成下包絡,同理將極大值點連接起來形成上包絡,使所有數據點處于兩條包絡線之間,結果如圖6所示。
(3)計算平均包絡曲線m(t),結果如圖7所示。

(4)提取IMF 成分,從待處理信號x(t)減去平均包絡線,結果如圖8所示。

圖6 上下包絡線Fig.6 Upper and lower envelope curve

圖7 平均包絡線Fig.7 Average envelope curve

圖8 EMD分解過程及結果Fig.8 Empirical mode decomposition process and results
(5)從待處理信號中分解出第一個IMF 后,得到剩余值序列作為新的待處理信號,重復上述步驟,直到滿足停止準則后結束分解。在實際中,上述過程需要通過一個檢測過程,檢測是否滿足IMF 的兩個條件,若不滿足,將作為待處理的信號重復1~4步,直到確認是一個IMF,或者滿足某種停止準則才停止迭代。
EMD處理sEMG信號方法更加直觀、直接、后驗以及具有自適應性,EMD分解所用的基來源于原始信號本身。圖8表明sEMG信號經過EMD處理后,將信號中存在的不同尺度下的波動或變換趨勢逐級分解開,產生了10 個具有不同特征尺度的數據序列,分別為IMF1~IMF10和一個殘差Res,并且IMF順序按頻率從高到低排列。IMF相較原始的sEMG信號變得平穩,有利于后續提取相關的特征進行手勢識別。
本文先對sEMG 信號進行EMD 分解,使其平穩化,根據與原始信號之間的相關性選擇相關系數較大的前幾階IMF 分量進行小波包分解,提取小波包系數能量(En)、平均絕對值(MAV)、最大值(MAX)、均方根值(RMS)和方差(VAR)等特征。
由于分解出的IMF 分量可能會因為過分解產生冗余的成分,因此需要選擇出最有效的分量,只是簡單的選擇其中幾階IMF 提取特征,無法達到較好的識別效果,并且不同手勢動作分解出的IMF 與原始信號相關性強弱不一樣。本文通過求取所有IMF 分量和原始信號之間的相關系數Cr,將相關系數較大的前幾個IMF 分量作為有效分量進行小波包分解,相關系數Cr可以表示為:

其中,Xi為原信號數據點,yi為IMF分量數據點,N為信號長度,xˉ和yˉ分別為Xi和yi相對應的信號平均值。
計算12 種手勢下各樣本經分解得到的各個IMF分量與各自原始信號相關系數的平均值如圖9所示。可以發現sEMG 信號經分解后得到的前4 個IMF 與原始信號之間的相關性較大,表明信號的主要信息包含在前4個IMF分量中,綜合考慮算法的復雜性和精確性,本文選取前4個IMF分量。

圖9 IMF分量與原始信號的相關系數Fig.9 Correlation coefficient between intrinsic mode function and original signal
小波包變換是小波變換的一種拓展,小波變換可以看作是時頻窗自適應短時傅里葉變換,小波變換只分解低頻信號,忽略高頻信號中的有效信息,小波包是一種更精細的分析工具,可以同時分解低頻和高頻信號,給定小波雙尺度關系:

當n=0 時,w0(t)是標度函數;n=1,w1(t)是小波函數,hk和gk分別是高通濾波器和低通濾波器,函數集wn(t)是小波包函數,具有正交性,緊湊性,分析信號能力較強的特點,常用的小波包函數有Db 系列、Haar 小波、Sym 系列和Dmey 小波等,本文分別采用Db3、Dmey、Haar和Sym8小波基函數對每組4通道數據作3 層分解[31],并從第3 層小波包分解系數中提取相關的特征。
(1)平均能量(En)可以表示信號的強弱,其計算公式如下:

(2)平均絕對值(MAV)是小波包系數絕對值的平均值,很好地說明了sEMG 絕對值的變化趨勢,其計算公式如下:

(3)最大值(MAX)反應了動作過程sEMG 幅度的變化范圍及劇烈程度,其計算公式如下:

(4)均方根(RMS)信號的均方根可以很好反映出隨機信號的幅值特征,計算公式如下:

(5)方差(VAR)表示sEMG 與平均值偏離的程度,計算公式如下:

LDA 分類器計算簡單、易于實現、訓練速度快,SVM 有良好的泛化能力和較高的識別準確性,本文選擇LDA和SVM作為分類器,進行手勢分類研究。
LDA 分類器是將高維的模式樣本投影到最佳鑒別矢量空間,以達到抽取分類信息和壓縮特征空間維數的效果,投影后保證模式樣本在新的子空間有最大的類間距離和最小的類內距離,即模式在該空間中有最佳的可分離性。
SVM 分類器是從線性可分情況下的最優分類面提出的一種監督學習模型[32],被廣泛用于模式識別中,SVM 的多分類是在二分類的基礎上發展來的,通過核函數將輸入樣本映射到高維空間,在新的高維空間中求得最優分類面,而這種映射是通過定義合適的內積數來實現的。
為了驗證提出的EMD-WPT肌電信號手勢識別的可行性,對比Db3、Dmey、Haar和Sym8 5種常用的小波函數進行3層小波包變換,并從第3層小波包系數中提取En、MAV、MAX、RMS和VAR 5種特征,采用LDA分類器和SVM分類器時的識別正確率如表1和表2所示。結果表明Db3小波函數下提取特征的效果比其余3種好,故本文選擇Db3作為WPT的小波函數。
為了驗證識別模型的有效性,分別采用LDA 和SVM 分類器進行手勢識別,將EMD-WPT 提取小波包系數進行手勢識別分別記為Y-LDA 和Y-SVM;將直接提取小波包系數特征進行手勢識別記為N-LDA和N-SVM。Y-LDA 和N-LDA 兩種模型識別正確率對比如圖10所示,Y-SVM和N-SVM兩種模型識別正確率對比如圖11所示。

表1 LDA分類器下不同小波函數的識別正確率(%)Tab.1 Recognition accuracy of different wavelet functions in linear discriminant analysis(LDA)classifier(%)

表2 SVM分類器下不同小波函數的識別正確率(%)Tab.2 Recognition accuracy of different wavelet functions in support vector machine(SVM)classifier(%)

圖10 LDA分類器下兩種模型的對比Fig.10 Comparison of the two models in LDA classifier

圖11 SVM分類器下兩種模型的對比Fig.11 Comparison of the two models in SVM classifier
識別正確率不僅取決于所使用的分類算法,還取決于提取到的特征,圖10表明,在LDA分類器下,EMDWPT 提取小波包系數作為特征效果比WPT 好,并且EMD-WPT提取小波系數能量的手勢動作平均識別正確率最高,真實標簽和預測標簽混淆矩陣如圖12所示,手勢3有4個樣本被識別為手勢4,手勢4有11個樣本被識別為手勢2,手勢7有3個樣本被識別為手勢6,其平均識別正確率為97.50%,而直接提取小波包系數能量特征的手勢識別正確率僅為86.25%,平均識別正確率提高了11.25%。圖11表明,在SVM分類器下,相比于WPT提取特征,EMD-WPT效果更好,并且EMD-WPT提取小波包系數最大值特征的手勢動作識別平均識別正確率最高,真實標簽和預測標簽混淆矩陣如圖13所示,手勢3有15個樣本被識別為手勢4,手勢6有1個樣本被識別為手勢7,手勢7有2個樣本被識別為手勢6,平均識別正確率為97.50%,而直接提取小波包系數最大值特征的手勢識別正確率僅為88.83%,平均識別正確率提高了8.67%。

圖12 LDA分類器混淆矩陣Fig.12 Confusion matrix of LDA classifier

圖13 SVM分類器混淆矩陣Fig.13 Confusion matrix of SVM classifier
本文針對小波包分解sEMG分類效果差,提出了一種有效的肌電信號手勢識別模型,通過短時能量將數據分割,然后對分割后的數據進行EMD,并選擇與原始信號相關性較強的固有模態函數作為有效分量再提取小波包系數中的相關特征,提高了手勢動作的識別正確率,在LDA和SVM分類下,12種手勢識別正確率最高達到97.50%,sEMG通過EMD后再提取WPT系數中的特征,有利于提高sEMG手勢識別的正確率,但對手勢3和手勢4的識別仍然有較高的誤識別率,以后的研究可以考慮多個特征融合,多個識別方法以及優化算法進行結合,從而達到更理想的結果。