薛亞許 楊 光 杜豪杰 王雪晴
(平頂山學院電氣與機械工程學院 河南 平頂山 467000)
SEMG是通過電極采集淺層肌肉和神經干活動在皮膚表面的生物電信號,并將其記錄、濾波、放大、傳輸和反饋,從而實現肌肉功能的評定和模擬[1]。由于人手在進行物體操作過程中的SEMG信號較微弱,易受干擾(噪聲、電磁干擾等),測量難度大,如何有效地對其進行信號采集、特征提取和不同人手動作的分類已成為實現手勢識別的關鍵。
目前常用的SEMG信號采集裝置,大多采用導線傳輸的方式將采集到的SEMG信號存儲到數據采集卡或特定的醫療器械中進行分析處理,電極片貼附于目標肌肉的表面,并采用市電作為電極供電電源[2]。因此,這些采集裝置在SEMG信號采集過程中不可避免地存在著電極移位、工頻干擾和電磁干擾等顯著缺點。
人手對物體的操作是通過手指、手掌之間協調完成,多通道SEMG信號采集可保證整體人手運動狀態中肌電活動的信息復雜性。Xue等[3]采用6種典型的時域特征提取多模態感知信號,結合ADAG算法實現對十種人手動作的識別,平均識別率達到了94.57%。Wang等[4]提取加速度信號中的頻域特征,通過概率神經網絡對十種手勢動作進行識別,識別率達到了98.75%。Chen等[5]結合三種特征類型的六種特征,對八種常見的康復訓練手勢通過BP神經網絡進行識別,其中,DAMV+IAV+AR的特征組合獲得的識別率最高,為97.71%。
為了能夠精確地實現對人手手內動作的識別,各種各樣的分類器比如神經網絡、支持向量機和隱馬爾可夫模型等被應用于SEMG信號的處理。實驗結果表明了這些分類器都能夠獲得較高的動作分類精度,但較為復雜的結構可能會增加訓練和測試時的時間和空間復雜度[6-9]。此外,它們大多針對無操作物情況下的單個肌肉收縮引起的動作分類,而多肌肉收縮結合的人手手內物體操作動作識別以及SEMG信號的不確定性比如肌肉疲勞、不同實驗人員等尚未考慮在內。
SEMG信號由于具有高度非線性和非平穩特性,因此有必要采用非線性動態方法來表征SEMG信號。經驗模態分解(EMD)算法是一種新型自適應信號時頻處理方法,特別適用于非線性非平穩信號的分析處理。Lyapunov指數(LE)分析方法具有描述非平穩信號的非線性特性能力,被廣泛應用于混沌系統的信號檢測,比如腦電信號、SEMG信號和電弧電壓信號等。文獻[10-11]已經證實了LE分析方法可以檢測肌肉疲勞等不確定性因素下引起的SEMG變化。隨機森林(RF)作為一種非線性分類器,其結構模型較簡單、參數少和訓練速度快等特點,對于非線性SEMG 數據集進行回歸和分類,能夠取得較好的效果。通過對國內外相關文獻的查閱發現,很少有研究人員采用EMD+MLE+RF方法來分析復雜人手手內動作。基于此,本文提出一種基于SEMG的人手手內動作識別系統,通過EMD+MLE+RF的非線性時序分析方法實現對十種自定義的復雜人手動作的識別。
本文提出一種基于SEMG的人手手內動作識別系統用于假肢手控制,如圖1所示,其中Ch1-Ch6為采集通道,通過這六個通道來采集肌電信號。該系統主要分為五個部分:人體上肢、數據采集、數據預處理、特征提取、識別算法。

圖1 人手手內動作識別系統框圖
首先,SEMG采集裝置獲取十種定義的復雜人手動作信號;然后對采集的原始SEMG信號進行預處理和特征提取;最后通過識別算法對提取的特征進行動作分類,并驗證其識別性能。
(1) 人體上肢:考慮到不同的操作任務涉及不同的抓取點、手指數、操作習慣等要素,為了更好地具有普適性,本文統一采用受試人員的右手作為測試手。受試人員的測試手沒有過往神經病史,以保證信號采集的真實有效性。
(2) 數據采集及處理:SEMG采集裝置用于獲取十種典型的復雜人手動作信號,EMD算法首先對原始信號進行降噪處理,然后MLE算法對降噪后信號進行特征提取,從而獲得用于人手動作分類的特征集。
(3) 動作識別:采用隨機森林算法對特征集進行動作分類,并同其他機器學習算法比較,驗證其效果。
為了有效地采集包括轉移、平移、旋轉等經典手部特征動作,并結合常用的動作,本文設計了十種人手手內動作,如圖2所示。本實驗選取了十名健康的受試人員來參與數據的采集,其中8名為男性,2名為女性,平均年齡為25±3.6歲,身高為168±13 cm,體重為63±15.4 kg。每位受試人員對每種動作執行十次,在完成一種動作后,將有兩分鐘的休息時間,以避免肌肉疲勞對采集正確信號的干擾。

圖2 十種自定義人手手內動作
本實驗采用的ELONXI SEMG采集系統將采集到的SEMG信號通過無線傳輸到上位機進行分析處理。該系統主要包括肌電儀主設備、電極袖套、通用電極接口轉換器、藍牙適配器和電極連線。采樣電極通過電極袖套固定,避免了電極移位。采用通用電極接口轉換器實現電極供電,避免了工頻干擾。十種自定義人手手內動作的采集過程為:首先,電極袖套正確套在右前臂,通過電極連接接口與肌電儀主設備;然后由藍牙模塊將6通道的肌電信號上傳至上位機。該系統的分辨率為16位,采樣頻率位1 024 Hz。
經驗模態分解算法最早是由Huang等[12]提出的一種用于分析非線性、非平穩信號的自適應信號分解數據處理方法。該算法具有良好的時頻分辨率和自適應性,通過對原始信號的分解,將噪聲和有效信號在不同的固有模態函數(IMF)中分離,選擇合理的IMF重構信號,不但可以完美重構原始信號,而且還能有效地去除噪聲。因此,結合SEMG信號的特性,采用EMD算法進行信號去噪是一種理想的選擇[13]。假設SEMG信號的原始數據序列為X(t),t=1,2,…,6,該算法的具體實現過程如算法1所示。
算法1SEMG信號去噪的EMD算法
1. 求取X(t)的所有極值點P(t)={Pmin(t),Pmax(t)}
2. 用插值法對極小值點擬合為下包絡,即Pmin(t)→Emin(t);對極大值點擬合為上包絡,即Pmax(t)→Emax(t)
3. 計算包絡均值A(t)=(Emin(t)+Emax(t))/2
4. 獲取平穩數據序列S(t)=X(t)-A(t)
5. 對殘余的A(t)重復步驟1-步驟4,得到第一個IMF分量CIMF(1)
6. 產生新數據序列D(1)=X(t)-CIMF(1),對D(1)重復步驟1-步驟5,得到第二個IMF分量CIMF(2)
7. 重復步驟1-步驟6,直到最后一個數據序列D(n)不可分解,得到IMF集{CIMF(1),CIMF(2),…,CIMF(n)}
如算法1所示,在每個通道信號中執行EMD后,得到一組固有模態函數集為:

(1)
式中:δn為原始EMG信號提取n個CIMF后的殘差。經過EMD算法去噪處理后得到的數據信號很好地保證了對真實動作信號的特征提取。
Lyapunov指數表示相空間中無限接近的相鄰軌跡的平均指數變化速率,是用于識別動態混沌系統中的數值特征,可有效表征變量隨時間演化時系統對初值的敏感性[15]。N維系統具有N個Lyapunov指數,從而形成指數譜。當系統維度L較大時,為了減少計算量,通過計算最大的Lyapunov指數(MLE)來決定動態系統的可預測性。MLE不僅是區分混沌吸引子的重要指標,也是初值敏感性的定量描述,因此其被廣泛應用于機器故障診斷、肌肉收縮和肌肉活動檢測等,它的定義為:
(2)
式中:L(tk)表示tk時刻最鄰近零點之間的距離;M為總步長;Δt表示獲取MLE 的采樣時間。相鄰軌道的距離通常乘以對數尺度上的預測誤差,以獲得整組固有模態函數集上的Lyapunov指數,其定義為:
(3)
式中:N為總的相位點;Δn為相位點Xn和Xn+1之間的距離(Xn+1是最接近Xn的點);b1表示第一個Lyapunov指數;Γn(k)是經過k次卷積步長后Xn與Xn+1之間的距離。在p(k)-k圖線中,直線的斜率即為MLE。在本實驗中,重疊窗口的長度為500 ms,窗口之間的遞增量為125 ms。SEMG信號中比較典型的特征比如延遲時間和嵌入維數是計算Lyapunov指數非常重要的兩個參數。延遲時間和嵌入維數非常適合表示SEMG手勢時間序列數據的動態行為,因此選擇這兩種特征參數以表征SEMG信號的運動特性。
延遲時間采用互信息方法來確定,其定義為:
(4)
式中:p(Yn)、p(Yn+τ)和p(Yn,Yn+τ)均為概率值。在H(τ)-τ圖線中,τ對應出現的第一個局部最小值。
嵌入維數的計算采用偽鄰居法來確定,其定義為:
(5)
式中:E(m)和E(m+1)分別是重建m維空間和m+1維空間中所有兩個最近鄰居的距離的平均閾值。在E1(m)-m圖線中,當E1(m)的值隨著m的增加而沒有顯著變化時,最小的嵌入維數值則為所要選取的E1(m)。通過式(2)和式(3)得到的MLE特征向量將由隨機森林分類器進行動作識別。
隨機森林作為一種有監督學習算法,是基于Bagging框架下的決策樹模型。隨機森林算法由于實現簡單、精度高、抗過擬合能力強和具有一定的抗噪聲能力等優點,被廣泛應用于生物醫學、電子商務、人機交互等領域的分類和回歸任務[16]。隨機森林分類器由一組樹分類器組成,其中每個樹分類器由獨立于輸入向量采樣的隨機向量生成,并且以投票的方式決定最優分類,其原理如圖3所示。

圖3 隨機森林算法原理圖
對于一個有K類的訓練集M,隨機選擇一個特征并投票屬于第k類的概率為:
(6)
(7)
式中:f(ki,M)/|M|表示選擇的特征屬于第k類的概率,對式(6)進行簡化處理后為:
(8)
需要注意的是,每棵樹的訓練集雖然不同,但包含重復的訓練樣本。每棵樹都最大限度地生長,并且沒有剪枝過程。每個節點用于生成樹的特征數量和要生長的樹的數量是生成隨機森林分類器所需的兩個用戶自定義參數。
考慮到SEMG信號的非線性動態信號,SEMG原始信號經過降噪預處理,被分解為一組IMFs,如圖4所示。可以看出原始信號X(t)被分解為CIMF(j),j=1,2,…,6和偏差δn。CIMF(j)是具有不同振幅和頻率的振蕩函數。δn是一條單調信號,表明原始信號X(t)減去所有CIMF(j)后得到的漂移分量已經不滿足分解條件。

圖4 SEMG信號的EMD分解
延遲時間和嵌入維數是計算Lyapunov指數非常重要的兩個參數。所選擇的延遲時間過大或過小,都不利于SEMG信號的優化。采用互信息方法獲得的延遲時間τ如圖5所示。可以看出τ=5時對應出現的第一個局部最小值用于空間重建。

圖5 SEMG信號的延遲時間
圖6表示采用偽鄰居法獲取的嵌入維數值。可以看出,從m=9開始,E1(m)隨著m的增加沒有發生顯著變化,并逐漸趨近于1。因此,本實驗中選取的最小嵌入維數值為9用于拓撲重建。

圖6 SEMG信號的嵌入維數
為了驗證人手動作識別系統的識別性能,圖7為采用RF分類器得到的十種動作的識別率。所有動作的整體平均識別率為91.67%。黑色部分為每一種動作的平均識別率,其余的為兩種不同動作之間的誤差率。整體來看,所有動作的識別率均超過了90%,反映了該系統的良好分類性能。其中:動作8和動作10的識別率最低只有90%;而動作4和動作5的識別率最高達到了94%。此外,動作2和動作6的識別率雖然都達到了91%,但它們之間的誤差率,以及動作6和動作8之間的誤差率最高,均為6%。相比較而言,其他動作之間的誤差率分布在1%到5%之間。

圖7 十種人手動作的識別率混合矩陣
不同的受試人員,由于其物體操作習慣和抓取方式不同,使得對于相同的動作,可以采取多種操作方法來實現穩定抓取。雖然受試人員在進行實驗前,對動作要求包括抓取方式、抓取點和參與手指數等經過嚴格的培訓,但其人手運動狀態中的肌電活動信息仍存在個體差異。因此,有必要研究不同受試人員因個體差異對相同動作的識別結果的影響。如圖8所示,不同受試人員的識別率為十種人手動作的平均識別率,不同條形柱上面的方差棒,側面反映了不同受試人員對不同動作識別率的差異性。其中:受試人員5的識別率最低,僅有89.12%;受試人員6的平均識別率最高,為94.23%。此外,受試人員2和人員8的識別率波動范圍較大,其最大誤差率分別達到了12.67%和20.45%。總體而言,絕大部分受試人員的識別率均在90%以上。研究結果表明,個體差異對SEMG信號的分析會產生一定的影響。

圖8 不同受試人員的動作識別率
為了驗證基于隨機森林算法的人手動作識別效果,本實驗選擇與支持向量機和神經網絡兩種傳統的機器學習算法進行比較。支持向量機是一種采用監督學習方式,通過對數據樣本尋找超平面獲得最大間隔以實現二元分類的機器學習算法。神經網絡是一種模擬人腦神經網絡行為特征,通過調整隱藏層節點之間相互連接的權重,實現對數據樣本進行分類的機器學習算法。這兩種算法已經被廣泛應用于信息處理和模式識別等領域。在進行實驗之前,需要對支持向量機和神經網絡兩種分類器選擇相應的核函數和參數,以保證其分類性能。支持向量機采用高斯核函數作為本次實驗的核函數,懲罰參數C和核半徑γ的值為(C,γ)=(1,0.021 6)。神經網絡采用恒等激活函數,輸入層節點數I、隱藏層節點數H和輸出層節點數O的值為(I,H,O)=(2,7,10)。
圖9為基于三種機器學習算法得到的人手動作識別結果的比較。基于SVM和NN的平均識別率分別為90.89%和89.1%,均低于基于RF分類器91.67%的平均識別率。三種算法對動作1的識別率較為接近,SVM算法對動作7和動作8的識別率最高,NN算法對所有動作的識別率最低。標準差反映了不同算法對相同人手動作識別率的波動情況,其中基于SVM的波動幅度較為明顯,其余兩種的較為平緩。就整體而言,本文所采取的基于RF的人手動作識別率最高,優于其余兩種,具有良好的分類性能。

圖9 基于不同算法的識別率比較
本文采用非線性時序分析方法,提出一種基于SEMG的人手手內動作識別系統。該系統包括人體上肢、數據采集、數據預處理、特征提取、識別算法五個部分,并從人體上肢、數據采集及處理和動作識別三個方面進行了詳細的介紹。在數據采集及處理方面,采用非線性時序分析方法包括EMD法和MLE法對SEMG信號進行信號處理,獲得真實有效的動作特征。在動作識別方面,采用RF算法進行人手手內動作識別,分析了不同受試人員對識別率的影響,并與SVM和NN算法進行比較,驗證了RF算法的優越性,識別率達到了91.67%。未來的研究將基于所提出的方案開發實時人手手內動作識別系統,并將人手操作技巧轉移到假肢手上。