表面肌電信號(sEMG)是一種不平穩非周期的微弱信號,基于時域和頻域特征提取的 sEMG 信號分類方法識別率低、穩定性差。本文通過對 sEMG 信號能量核特征的建模分析,提出一種利用卷積神經網絡(CNN)對 sEMG 信號能量核相圖進行分類的新架構,來對人體手勢動作進行識別。首先,利用矩陣計數方法將 sEMG 信號能量核相圖處理為灰度圖像;其次,利用移動平均對灰度圖進行預處理;最后,采用 CNN 對手勢 sEMG 信號進行識別。利用手勢 sEMG 信號數據集進行了實驗驗證,結果表明選用 CNN 識別框架的有效性以及 CNN 結合能量核相圖的識別方法相比于能量核面積提取方法,在識別精度和計算效率上具有明顯的優勢。本文算法為 sEMG 信號的建模分析與實時識別問題提供了新的可行方法。
引用本文: 許留凱, 張克勤, 徐兆紅, 楊根科. 基于表面肌電信號能量核相圖的卷積神經網絡人體手勢識別算法. 生物醫學工程學雜志, 2021, 38(4): 621-629. doi: 10.7507/1001-5515.202010080 復制
引言
隨著人口老齡化現象的加劇,老年運動障礙患者也急速增多,輔助康復以及助力助行外骨骼機器人的需求增大。外骨骼機器人是模仿生物界外骨骼而提出的一種新型機電一體化裝置,結合傳感、控制、信息融合、移動計算等技術,不僅可為穿戴者提供支撐與保護,還能輔助人體完成適度動作,執行特定任務等[1]。通過獲取表面肌電信號(surface electromyography,sEMG)并進一步識別穿戴者的運動意圖是實現外骨骼機器人輔助運動功能的重要基礎,是人機交互研究熱點問題[2]。當前 sEMG 信號采集技術成熟,蘊含信息豐富,且可以在體表對活動肌肉進行無創檢測,現已廣泛使用[1]。基于 sEMG 信號的意圖識別主要包含 sEMG 信號特征提取與分類器設計兩大問題。常用的 sEMG 信號特征包括時域、頻域和時頻分析三大類[3]。時域與頻域特征雖然計算方便,但是 sEMG 信號的不平穩性導致這些特征穩定性較差[4],時頻特征分析雖然穩定性較好,但是其計算復雜,無法滿足運動意圖識別對實時性的要求[5]。
由于時域、頻域等特征在 sEMG 信號特征識別中存在不穩定性,一些學者開始對肌肉生物機制建模分析。Chen 等[5]提出了能量核方法來估計肌肉收縮力及肌肉的一些固有特征,并通過實驗證明該特征的魯棒性和較強的泛化能力。對于 sEMG 信號能量核特征的研究,主要集中在如何更高效地計算能量核相圖橢圓分布面積的方法上,Chen 等[5]提出的線性圍欄法(linear fencing,LF)利用傾角變化的直線去擬合橢圓邊界,并以此計算面積,但是該方法計算效率較低,無法滿足實時性的要求。為此,Chen 等[6]又提出了離散盒矩陣計數法(discrete box counting,DBC),利用矩陣覆蓋散點并設定閾值計數的方法來計算橢圓面積,計算效率顯著提高。Zeng 等[7]通過改進 LF 法,只用四條相互垂直的直線來確定橢圓邊界,可實現與文獻[6]相近的識別準確率,且橢圓面積的計算更方便。石欣等[8]對 DBC 進行了改進,提出了閾值矩陣計數法(threshold matrix count,TMC)設定兩個閾值來計數,相比于 DBC 考慮了橢圓邊界處的分散點。上述方法都是手動計算能量核橢圓面積,缺乏統一的參數標準,還會遺漏能量核相圖的其它特征,或者對特征的提取不夠充分。
在分類器設計上,人工神經網絡(artificial neural network,ANN)是一種模仿生物神經網絡的數學模型,廣泛應用在圖像處理、語音識別等領域[9-10]。針對手動提取 sEMG 信號特征帶來的不足,自然引入 ANN 進行訓練與學習,其中卷積神經網絡(convolutional neural network,CNN)、多層感知器(multilayer perceptron,MLP)、循環神經網絡(recurrent neural network,RNN)和長短期記憶網絡(long short-term memory,LSTM)應用較為廣泛[11-17]。Atzori 等[12]將一段時間窗覆蓋的多通道 sEMG 信號幅值形成的二維矩陣作為 CNN 輸入,通過設置時間窗的大小與移動步長來提取 sEMG 信號的幅值特征,利用 CNN 對幅值矩陣進行特征提取與分類。Geng 等[13]利用 8×16 高密度肌電陣列采集手臂 sEMG 信號,將瞬時 sEMG 信號的幅值當作矩陣每個元素值,以此形成 sEMG 信號幅值陣列圖像作為 CNN 網絡輸入。Wei 等[14]利用多流 CNN 對高密度 sEMG 信號瞬時幅值圖進行訓練,將多通道 sEMG 信號幅值圖分別輸入多個 CNN,后將多流 CNN 學習到的特征進行融合并識別分類。相比于高密度肌電圖,Zhai 等[15]對稀疏多通道的 sEMG 信號進行快速傅里葉變換(fast Fourier transform,FFT),獲得 sEMG 信號頻譜圖像來進行 CNN 訓練,利用 CNN 進一步提取頻譜特征信息并識別。He 等[16]分別利用 MLP 與 LSTM 對 sEMG 信號時序及幅值矩陣進行特征提取,再將網絡學習到的特征融合為新的特征向量進行分類識別。Wu 等[17]利用 LSTM 網絡對 sEMG 信號提取時序特征,后利用 CNN 對 LSTM 的輸出特征進行二次特征提取與識別。上述網絡大多采用 sEMG 信號原始時序數據或頻域信息作為網絡輸入,但是由于 sEMG 信號時域、頻域特征的不穩定性可能會導致運動意圖識別的穩定性下降[4]。
本文提出一種 sEMG 信號能量核模型的識別框架,該框架通過引入 CNN,對能量核相圖進行網絡學習與特征提取。新框架在處理能量核相圖中,省去計算面積的步驟,直接對能量核相圖進行網絡自動學習與訓練,這相比單純提取能量核相圖的橢圓面積可學習到更全面的特征且速度也更快,同時以能量核相圖作為網絡輸入也避免了 sEMG 信號時域、頻域特征不穩定所帶來的局限。本研究進一步利用公開的多通道手勢 sEMG 數據集進行手勢識別實驗,以驗證本文所提識別框架的有效性和實用性。本文提出的識別算法為人體 sEMG 信號的建模分析提供了新的思路,或可為基于人體生物學的人機交互研究帶來新的啟發。
1 sEMG 信號能量核模型
1.1 數據集來源
本文所有實驗數據來自非侵入自適應假肢肌電 2 號數據集(non-invasive adaptive prosthetics database 2,NinaPro DB2)(網址:http://datadryad.org/stash/dataset/doi:10.5061/dryad.1k84r),該數據集已經公開,可用于科學研究。NinaPro DB2 數據集制作時使用 sEMG 信號采集設備 Delsys(Trigno,Delsys Inc.,美國),采樣頻率是 2 000 Hz,共使用 12 個電極采集健康受試者手勢動作 sEMG 信號,要求受試者每個動作重復 6 次,每兩次動作間隔 3 s,共采集 49 種手勢動作,動作主要包含抓握物體、多類手指動作、手腕翻轉等。
1.2 sEMG 信號能量核相圖
區別于 sEMG 信號時域、頻域和時頻分析等特征,能量核模型是建立在對 sEMG 信號建模基礎之上的新方法。sEMG 信號可以看作是均值為零的統計時序信號,其信號幅值具有往復運動的特征[18],這種運動可以描述為振子模型 [5-8],利用振子模型可將其表示為微分方程[19]。將 sEMG 信號的幅值作為橫坐標,幅值對時間的導數作為縱坐標,在平面直角坐標系下可以將一段 sEMG 信號繪制成一幅相圖。如圖 1 所示為一段兩通道手勢 sEMG 信號與對應能量核相圖,兩通道 sEMG 信號中藍色線條表示通道 1 信號,橙色曲線表示通道 2 信號,將綠色虛線框包圍的 sEMG 數據(400 采樣點)坐標化處理,繪制成能量核相圖,相圖中藍色點與橙色點分別是通道 1 和通道 2 信號對應相圖散點分布,虛線表示對應相圖散點的分布邊界。這些相圖散點在坐標平面近似呈橢圓分布[5-8],Zeng 等[7]利用 LF 法對橢圓邊界進行了定位,經過多次實驗得出了橢圓長軸在大部分時間與橫坐標軸垂直或平行,只有少數采樣點偏離坐標軸的結論。

1.3 sEMG 信號能量核振子模型
能量核相圖的繪制依據 sEMG 信號的振子模型,假設存在一個質量為 m,彈簧剛度為 k 的簡諧彈簧振子,x、y 分別表示振子幅值和速度,、
分別表示振子幅值及速度的一階導數,根據牛頓運動方程得到如式(1)所示:
![]() |
在短時間 Δt 內,可以將 sEMG 信號近似建模為彈簧振子,對于彈簧振子模型,其能量是動能與彈性勢能的累加,則 sEMG 信號振子模型的能量 E 可以表示為如式(2)所示:
![]() |
對于 sEMG 信號振子模型,k、m 只與 sEMG 信號內部的特性有關,將(2)式表述為橢圓方程如式(3)所示:
![]() |
由式(3)得出相圖散點分布邊界所圍成的橢圓面積 S 與 sEMG 信號振子模型的能量 E 之間的正比關系如式(4)所示,因此可以把 sEMG 信號的平面橢圓分布稱為 sEMG 信號的能量核特征。
![]() |
sEMG 信號是肌肉收縮過程中所有活動運動單元產生的運動單元動作電位列 (motor unit action potential train,MUAPT) 相疊加的結果,可以將其視作肌肉纖維上的傳播波[20],MUAPT 中包含不同的諧波,每個諧波都在 sEMG 信號中生效,sEMG 信號振子的能量實際上是所有諧波能量的總和,諧波的平均能量密度如式(5)所示[5]:
![]() |
其中,Aj 表示第 j 個分量的幅值,ρ 表示質量密度,振動源主角頻率記為 ω。學術界已經認可 sEMG 信號的均方根特征(root mean square,RMS)與肌肉的等長收縮力在短時間 Δt 內存在一定的線性關系[21],包含 RMS 和動作單元的頻率特征,因此在 Δt 時間內肌肉力與
存在一定的線性關系。再由式(4)可得 sEMG 信號相圖橢圓面積的根號值與肌肉收縮力有一定的線性關系,因此可以用橢圓面積來表征 sEMG 信號內部的肌肉力特征。
綜上可知 sEMG 信號的能量核相圖橢圓面積是一種肌肉力特征,研究者提出了很多計算能量核相圖橢圓面積的識別算法,并應用在 sEMG 信號識別中。能量核相圖蘊含著橢圓面積和樣本點分布等豐富信息,單純提取面積的識別算法忽略了相圖中信號采樣點分布趨勢和稀疏性等特征,這是手動提取特征的局限。本文提出 CNN 對 sEMG 信號能量核相圖進行特征學習與識別的算法,省去了橢圓面積計算帶來的時間復雜度,利用網絡來自動學習相圖更多的分布特征。
2 基于 sEMG 信號能量核相圖的 CNN 識別算法
2.1 sEMG 信號能量核相圖圖像構造
根據 sEMG 信號能量核模型理論,每個 sEMG 信號采集通道對應一幅包含 N 個采樣點的散點分布圖,濾除離坐標原點相差較大的干擾點,再利用 N1×N2 的網格對相圖上的散點進行覆蓋,統計落在每個網格內部的散點個數,將統計數作為 N1×N2 矩陣對應位置的元素大小,此二維數字矩陣便構成一幅 N1×N2 的灰度數字圖像,矩陣各元素對應圖像像素大小。每個網格長度 l 與寬度 w 計算如式(6)所示,其中 xmax、ymax、xmin、ymin 分別為能量核相圖直角坐標的最大值與最小值,N1、N2 表示計數矩陣的尺寸。
![]() |
由于不同計數網格的單元網格面積存在差異,本文將單元格面積作為權重系數加入 sEMG 信號能量核相圖灰度圖像中,如式(7)所示,其中I表示處理后的灰度圖像,M表示計數網格對應的數字矩陣,α 表示每個矩形網格單元的面積。
![]() |
此外,根據 Chen 等[5]提出的能量核模型理論,能量核相圖中各點圍繞坐標原點呈橢圓分布,且由內到外分布密度逐步減小。由于能量核相圖散點繪制誤差等因素可能會導致靠近坐標原點的網格計數為 0,在圖像中出現像素凹陷現象,使得能量核相圖橢圓面積特征得不到較好體現,因此采用如式(8)所示的移動平均方法對矩陣圖像進行了滑動濾波,該濾波方法可以有效避免像素凹陷現象,使得由網格計數方法獲得的矩陣圖像更加合理,同時也會去掉圖像上的一些干擾噪聲。
![]() |
(i = 1,
, N1, j = 1,
, N2) 表示計數網格每個單元的統計數值。經過上述預處理獲得的單通道 sEMG 信號能量核相圖是 N1×N2 尺寸的灰度圖,本文用到的 NinaPro DB2 數據集中每個手勢對應 12 通道 sEMG 信號,這里根據多次實驗測試經驗和 sEMG 信號采集電極的空間相對位置對各灰度圖像按照通道順序進行了圖像拼接,使圖像包含電極的空間位置信息,最終將其處理成 4N1 × 3N2 大小的灰度圖像來進行 CNN 的學習訓練。為保證特征的連續性,采用如圖 2 所示的“時間窗 + 增量窗”的方式對 sEMG 信號分段進行特征提取,WT 與 ST 分別表示 K 時刻的時間窗長度和增量窗長度。

2.2 CNN 識別 sEMG 信號能量核相圖算法
CNN 是一種包含卷積計算且具有深度結構的前饋神經網絡,能夠自動學習有效特征,使研究者擺脫手動構造特征的繁瑣過程[22]。本文受到對分類問題性能優越的亞歷克斯網絡 (Alexnet) 的啟發[23],搭建如圖 3 所示的 CNN 識別網絡,該網絡主要由卷積層、池化層以及全連接層組成,卷積層中卷積核通過對輸入樣本進行卷積運算來提取特征,池化層通過空間上的運算和池化規則來減小卷積層產生的特征圖尺寸,全連接層用來收集卷積、池化后的樣本特征空間擴散信息。作為一種端到端的網絡,CNN 在卷積提取特征以及全連接層分類輸出方面有很強的學習能力[11]。

基于 sEMG 信號能量核相圖的 CNN 識別算法框架如圖 4 所示,其主要包含數據預處理、能量核相圖構造、CNN 模型訓練及參數整定模塊,經過圖像化等預處理的 sEMG 信號能量核相圖作為 CNN 網絡的輸入,卷積、池化等多層結構對輸入圖像進行特征提取與學習,訓練好的 CNN 模型可以根據能量核相圖識別出 sEMG 信號所屬的手勢動作類別。

本文提出的基于 sEMG 信號能量核相圖的識別算法相比于文獻[5-8]在特征提取方面,省去了計算能量核相圖橢圓面積的步驟,同時對能量核相圖進行了干擾點過濾、移動平均、添加面積因子等優化預處理,使得能量核相圖分布更加合理。在分類器設計方面,本文算法搭建了 CNN 結構,輸入為二維灰度圖像格式,區別于文獻[5-6]設計的一維面積向量輸入格式。
3 實驗與結果分析
3.1 實驗配置與測試結果
為驗證 CNN 識別 sEMG 信號能量核相圖方法的有效性,本文從 NinaPro DB2 數據集中分別提取 2、4、8、16 種手勢進行測試,將每一種手勢前 5 次動作作為訓練集,第 6 次動作作為測試集,為確保模型的可靠性,對訓練集數據使用 5 折交叉驗證方法來整定分類器參數,計數網格尺寸為 N1=N2=20,提取 sEMG 信號的能量核相圖制作 80×60 尺寸的灰度圖像訓練集。本文使用程序開發環境 Pycharm 2018.3.5(JetBrains Inc.,捷克)與數學軟件 MATLAB 2018a(MathWorks Inc.,美國),Pycharm 2018.3.5 用于樣本制作和 CNN 搭建測試,MATLAB 2018a 用于對比實驗和數據分析。分別取 WT=100 ms、ST=100 ms 和 WT=200 ms、ST=150 ms 來進行樣本制作。預處理與訓練過程如圖 5 所示,具體識別結果如表 1 所示。本文 CNN 識別網絡損失函數是交叉熵函數,使用自適應優化器(Adam),采用隨機梯度下降優化算法,初始學習率為 0.000 1。網絡結構包含輸入層、3 層卷積層、3 層池化層、2 層全連接層以及 1 個分類輸出層,3 層卷積層分別包含 8、16、32 個卷積核,卷積核主要是 3×3 尺寸,移動步長為 1。激活函數采用修正線性單元(rectified linear unit,ReLU),池化層采用最大池化規則,池化核尺寸為 2×2,移動步長為 1,輸出層采用歸一化指數函數(softmax)。根據交叉驗證結果和損失函數變化判斷過擬合程度,進而確定 CNN 的迭代次數,每次訓練隨機丟棄 50% 的輸出特征來降低過擬合程度。


如表 1 所示,CNN 結合 sEMG 信號能量核相圖的識別方法在 2、4、8 種手勢的識別實驗中均達到 93% 以上的識別精度。訓練好的 CNN 模型識別單張能量核相圖的平均時間為 0.1 ms 數量級,在實際外骨骼機器人設備人機交互中可以忽略不計,因此在計算效率上本方法滿足實時性要求。根據文獻[7],使用 LF 與 DBC 方法提取 100 個 sEMG 信號數據段(WT=300 ms)能量核橢圓面積的計算時間分別是 1.051 s 和 0.789 s,本文采用文獻[7]中能量核特征提取效率計算方式,對 100 個 sEMG 信號數據段(WT=300 ms)記錄相圖繪制時間,取 6 次的平均值為 0.298 s,由于 sEMG 信號的肌肉來源對處理算法的時間復雜度影響可忽略不計,因此可以得出結論:省去面積計算步驟,本文算法對能量核相圖預處理的計算效率比 DBC 和 LF 方法明顯提高。
3.2 對比實驗與效果分析
3.2.1 多通道時間窗 sEMG 信號與能量核相圖對比實驗
為了驗證能量核相圖的識別性能,本文與文獻[12]中利用時間窗覆蓋 12 通道 sEMG 信號并提取信號幅值作為訓練圖像的方法進行了對比。時間窗長度分別取 200 采樣點(100 ms 信號數據)與 400 采樣點(200 ms 信號數據),分別形成 200×12 與 400×12 尺寸的灰度圖像。與時間窗信號幅值方法對比的實驗結果如圖 6 所示,在手勢類別數為 4、8、16 時基于能量核相圖的 CNN 識別方法準確率較高,在 2 類手勢的識別中兩種方法識別精度接近。該對比實驗結果可以證明能量核相圖的提取相比于未經特征提取的時間窗信號幅值數據具有較好的識別性能,進一步說明能量核相圖特征的有效性。

3.2.2 CNN 與經典分類器識別能量核相圖對比實驗
為了驗證 CNN 識別 sEMG 信號的性能,本文對能量核相圖分別采用 CNN 與經典分類器進行分類對比,這里選用的經典分類器包括支持向量機(support vector machines,SVM)、K 最近鄰(k-nearest neighbor,KNN)、稀疏表示分類(sparse-based representation classification,SRC)和判別式 k 奇異值分解(discriminative k-singular value decomposition,DKSVD)。識別結果如圖 7 所示,可以看出時間窗是 100 ms 或 200 ms 時,采用 CNN 的識別精度都要高于上述經典分類器,在手勢類別數增多時 CNN 識別優勢更加明顯。這說明利用 CNN 識別網絡結合 sEMG 信號能量核相圖在識別精度上要優于一些非網絡學習的分類器,也驗證了采用 CNN 網絡進行分類的合理性。

3.2.3 CNN 與典型神經網絡分類器識別能量核相圖對比實驗
為了證明選用 CNN 分類器的優勢,本文進行了能量核相圖結合常用 ANN 分類器的對比實驗,進行對比的 ANN 分類器網絡包含 MLP、RNN 和 LSTM,其中 RNN、LSTM 網絡的輸入均為二維能量核相圖,將能量核相圖處理成一維向量形式作為 MLP 的輸入。對比實驗結果如圖 8 所示,可以看出在手勢類別不超過 4 時,CNN 與其它網絡識別效果相近,但手勢類別大于 4 時,CNN 網絡識別體識別精度最高,此實驗證明了本文選用 CNN 網絡識別 sEMG 信號能量核相圖的合理性。

3.2.4 能量核面積特征識別與 CNN 識別能量核相圖對比實驗
本文提出的 CNN 結合能量核相圖的識別算法省去了計算能量核分布橢圓面積的步驟,為了對比該方法與文獻[5-8]通過計算橢圓面積作為特征的識別方法的性能,本文進行了提取能量核橢圓面積為特征的識別實驗。面積提取方式采用文獻[6]中的 DBC 方法,分別采用 SVM、KNN、SRC 對面積特征進行分類識別,識別精度對比如圖 9 所示。可以看出提取面積特征的方法在手勢類別小于 4 種時識別性能較好,但是在手勢類別數增加時,CNN 結合能量核相圖的識別精度比基于能量核面積特征的分類方法高。結合表 1 中 CNN 識別時間很短可忽略不計以及 CNN 與 LF、DBC 計算效率對比的結論,說明省去計算面積的步驟直接利用能量核相圖的 CNN 識別方法不僅滿足運動意圖識別對實時性的要求,而且在識別精度上有所提升。

4 結語
文章提出了一種基于 sEMG 信號能量核相圖 CNN 手勢識別算法,為了驗證該算法的有效性,文章搭建了 CNN 識別框架并對手勢 sEMG 信號數據集進行了識別測試。為了對比該分類算法的性能,文章主要進行了 4 類對比實驗,分別是能量核相圖提取與否、經典分類器種類、ANN 分類器種類和能量核橢圓面積計算與否。CNN 識別能量核相圖的算法在上述的對比中均顯現出優越性能,在手勢類別多于 2 種時,平均識別精度提高超過 10%,并且 CNN 模型在線識別時間滿足人體運動意圖識別對實時性的要求,驗證了本文識別算法的可行性與有效性,也為目前基于 sEMG 信號的人機交互研究提供了新的思路。本文僅針對手勢 sEMG 信號數據集進行了測試,接下來將面向下肢助行外骨骼機器人,采集腿部肌肉的 sEMG 信號,同時融入力、加速度等傳感器信息來研究更加可靠的人體運動意圖識別方法。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
隨著人口老齡化現象的加劇,老年運動障礙患者也急速增多,輔助康復以及助力助行外骨骼機器人的需求增大。外骨骼機器人是模仿生物界外骨骼而提出的一種新型機電一體化裝置,結合傳感、控制、信息融合、移動計算等技術,不僅可為穿戴者提供支撐與保護,還能輔助人體完成適度動作,執行特定任務等[1]。通過獲取表面肌電信號(surface electromyography,sEMG)并進一步識別穿戴者的運動意圖是實現外骨骼機器人輔助運動功能的重要基礎,是人機交互研究熱點問題[2]。當前 sEMG 信號采集技術成熟,蘊含信息豐富,且可以在體表對活動肌肉進行無創檢測,現已廣泛使用[1]。基于 sEMG 信號的意圖識別主要包含 sEMG 信號特征提取與分類器設計兩大問題。常用的 sEMG 信號特征包括時域、頻域和時頻分析三大類[3]。時域與頻域特征雖然計算方便,但是 sEMG 信號的不平穩性導致這些特征穩定性較差[4],時頻特征分析雖然穩定性較好,但是其計算復雜,無法滿足運動意圖識別對實時性的要求[5]。
由于時域、頻域等特征在 sEMG 信號特征識別中存在不穩定性,一些學者開始對肌肉生物機制建模分析。Chen 等[5]提出了能量核方法來估計肌肉收縮力及肌肉的一些固有特征,并通過實驗證明該特征的魯棒性和較強的泛化能力。對于 sEMG 信號能量核特征的研究,主要集中在如何更高效地計算能量核相圖橢圓分布面積的方法上,Chen 等[5]提出的線性圍欄法(linear fencing,LF)利用傾角變化的直線去擬合橢圓邊界,并以此計算面積,但是該方法計算效率較低,無法滿足實時性的要求。為此,Chen 等[6]又提出了離散盒矩陣計數法(discrete box counting,DBC),利用矩陣覆蓋散點并設定閾值計數的方法來計算橢圓面積,計算效率顯著提高。Zeng 等[7]通過改進 LF 法,只用四條相互垂直的直線來確定橢圓邊界,可實現與文獻[6]相近的識別準確率,且橢圓面積的計算更方便。石欣等[8]對 DBC 進行了改進,提出了閾值矩陣計數法(threshold matrix count,TMC)設定兩個閾值來計數,相比于 DBC 考慮了橢圓邊界處的分散點。上述方法都是手動計算能量核橢圓面積,缺乏統一的參數標準,還會遺漏能量核相圖的其它特征,或者對特征的提取不夠充分。
在分類器設計上,人工神經網絡(artificial neural network,ANN)是一種模仿生物神經網絡的數學模型,廣泛應用在圖像處理、語音識別等領域[9-10]。針對手動提取 sEMG 信號特征帶來的不足,自然引入 ANN 進行訓練與學習,其中卷積神經網絡(convolutional neural network,CNN)、多層感知器(multilayer perceptron,MLP)、循環神經網絡(recurrent neural network,RNN)和長短期記憶網絡(long short-term memory,LSTM)應用較為廣泛[11-17]。Atzori 等[12]將一段時間窗覆蓋的多通道 sEMG 信號幅值形成的二維矩陣作為 CNN 輸入,通過設置時間窗的大小與移動步長來提取 sEMG 信號的幅值特征,利用 CNN 對幅值矩陣進行特征提取與分類。Geng 等[13]利用 8×16 高密度肌電陣列采集手臂 sEMG 信號,將瞬時 sEMG 信號的幅值當作矩陣每個元素值,以此形成 sEMG 信號幅值陣列圖像作為 CNN 網絡輸入。Wei 等[14]利用多流 CNN 對高密度 sEMG 信號瞬時幅值圖進行訓練,將多通道 sEMG 信號幅值圖分別輸入多個 CNN,后將多流 CNN 學習到的特征進行融合并識別分類。相比于高密度肌電圖,Zhai 等[15]對稀疏多通道的 sEMG 信號進行快速傅里葉變換(fast Fourier transform,FFT),獲得 sEMG 信號頻譜圖像來進行 CNN 訓練,利用 CNN 進一步提取頻譜特征信息并識別。He 等[16]分別利用 MLP 與 LSTM 對 sEMG 信號時序及幅值矩陣進行特征提取,再將網絡學習到的特征融合為新的特征向量進行分類識別。Wu 等[17]利用 LSTM 網絡對 sEMG 信號提取時序特征,后利用 CNN 對 LSTM 的輸出特征進行二次特征提取與識別。上述網絡大多采用 sEMG 信號原始時序數據或頻域信息作為網絡輸入,但是由于 sEMG 信號時域、頻域特征的不穩定性可能會導致運動意圖識別的穩定性下降[4]。
本文提出一種 sEMG 信號能量核模型的識別框架,該框架通過引入 CNN,對能量核相圖進行網絡學習與特征提取。新框架在處理能量核相圖中,省去計算面積的步驟,直接對能量核相圖進行網絡自動學習與訓練,這相比單純提取能量核相圖的橢圓面積可學習到更全面的特征且速度也更快,同時以能量核相圖作為網絡輸入也避免了 sEMG 信號時域、頻域特征不穩定所帶來的局限。本研究進一步利用公開的多通道手勢 sEMG 數據集進行手勢識別實驗,以驗證本文所提識別框架的有效性和實用性。本文提出的識別算法為人體 sEMG 信號的建模分析提供了新的思路,或可為基于人體生物學的人機交互研究帶來新的啟發。
1 sEMG 信號能量核模型
1.1 數據集來源
本文所有實驗數據來自非侵入自適應假肢肌電 2 號數據集(non-invasive adaptive prosthetics database 2,NinaPro DB2)(網址:http://datadryad.org/stash/dataset/doi:10.5061/dryad.1k84r),該數據集已經公開,可用于科學研究。NinaPro DB2 數據集制作時使用 sEMG 信號采集設備 Delsys(Trigno,Delsys Inc.,美國),采樣頻率是 2 000 Hz,共使用 12 個電極采集健康受試者手勢動作 sEMG 信號,要求受試者每個動作重復 6 次,每兩次動作間隔 3 s,共采集 49 種手勢動作,動作主要包含抓握物體、多類手指動作、手腕翻轉等。
1.2 sEMG 信號能量核相圖
區別于 sEMG 信號時域、頻域和時頻分析等特征,能量核模型是建立在對 sEMG 信號建模基礎之上的新方法。sEMG 信號可以看作是均值為零的統計時序信號,其信號幅值具有往復運動的特征[18],這種運動可以描述為振子模型 [5-8],利用振子模型可將其表示為微分方程[19]。將 sEMG 信號的幅值作為橫坐標,幅值對時間的導數作為縱坐標,在平面直角坐標系下可以將一段 sEMG 信號繪制成一幅相圖。如圖 1 所示為一段兩通道手勢 sEMG 信號與對應能量核相圖,兩通道 sEMG 信號中藍色線條表示通道 1 信號,橙色曲線表示通道 2 信號,將綠色虛線框包圍的 sEMG 數據(400 采樣點)坐標化處理,繪制成能量核相圖,相圖中藍色點與橙色點分別是通道 1 和通道 2 信號對應相圖散點分布,虛線表示對應相圖散點的分布邊界。這些相圖散點在坐標平面近似呈橢圓分布[5-8],Zeng 等[7]利用 LF 法對橢圓邊界進行了定位,經過多次實驗得出了橢圓長軸在大部分時間與橫坐標軸垂直或平行,只有少數采樣點偏離坐標軸的結論。

1.3 sEMG 信號能量核振子模型
能量核相圖的繪制依據 sEMG 信號的振子模型,假設存在一個質量為 m,彈簧剛度為 k 的簡諧彈簧振子,x、y 分別表示振子幅值和速度,、
分別表示振子幅值及速度的一階導數,根據牛頓運動方程得到如式(1)所示:
![]() |
在短時間 Δt 內,可以將 sEMG 信號近似建模為彈簧振子,對于彈簧振子模型,其能量是動能與彈性勢能的累加,則 sEMG 信號振子模型的能量 E 可以表示為如式(2)所示:
![]() |
對于 sEMG 信號振子模型,k、m 只與 sEMG 信號內部的特性有關,將(2)式表述為橢圓方程如式(3)所示:
![]() |
由式(3)得出相圖散點分布邊界所圍成的橢圓面積 S 與 sEMG 信號振子模型的能量 E 之間的正比關系如式(4)所示,因此可以把 sEMG 信號的平面橢圓分布稱為 sEMG 信號的能量核特征。
![]() |
sEMG 信號是肌肉收縮過程中所有活動運動單元產生的運動單元動作電位列 (motor unit action potential train,MUAPT) 相疊加的結果,可以將其視作肌肉纖維上的傳播波[20],MUAPT 中包含不同的諧波,每個諧波都在 sEMG 信號中生效,sEMG 信號振子的能量實際上是所有諧波能量的總和,諧波的平均能量密度如式(5)所示[5]:
![]() |
其中,Aj 表示第 j 個分量的幅值,ρ 表示質量密度,振動源主角頻率記為 ω。學術界已經認可 sEMG 信號的均方根特征(root mean square,RMS)與肌肉的等長收縮力在短時間 Δt 內存在一定的線性關系[21],包含 RMS 和動作單元的頻率特征,因此在 Δt 時間內肌肉力與
存在一定的線性關系。再由式(4)可得 sEMG 信號相圖橢圓面積的根號值與肌肉收縮力有一定的線性關系,因此可以用橢圓面積來表征 sEMG 信號內部的肌肉力特征。
綜上可知 sEMG 信號的能量核相圖橢圓面積是一種肌肉力特征,研究者提出了很多計算能量核相圖橢圓面積的識別算法,并應用在 sEMG 信號識別中。能量核相圖蘊含著橢圓面積和樣本點分布等豐富信息,單純提取面積的識別算法忽略了相圖中信號采樣點分布趨勢和稀疏性等特征,這是手動提取特征的局限。本文提出 CNN 對 sEMG 信號能量核相圖進行特征學習與識別的算法,省去了橢圓面積計算帶來的時間復雜度,利用網絡來自動學習相圖更多的分布特征。
2 基于 sEMG 信號能量核相圖的 CNN 識別算法
2.1 sEMG 信號能量核相圖圖像構造
根據 sEMG 信號能量核模型理論,每個 sEMG 信號采集通道對應一幅包含 N 個采樣點的散點分布圖,濾除離坐標原點相差較大的干擾點,再利用 N1×N2 的網格對相圖上的散點進行覆蓋,統計落在每個網格內部的散點個數,將統計數作為 N1×N2 矩陣對應位置的元素大小,此二維數字矩陣便構成一幅 N1×N2 的灰度數字圖像,矩陣各元素對應圖像像素大小。每個網格長度 l 與寬度 w 計算如式(6)所示,其中 xmax、ymax、xmin、ymin 分別為能量核相圖直角坐標的最大值與最小值,N1、N2 表示計數矩陣的尺寸。
![]() |
由于不同計數網格的單元網格面積存在差異,本文將單元格面積作為權重系數加入 sEMG 信號能量核相圖灰度圖像中,如式(7)所示,其中I表示處理后的灰度圖像,M表示計數網格對應的數字矩陣,α 表示每個矩形網格單元的面積。
![]() |
此外,根據 Chen 等[5]提出的能量核模型理論,能量核相圖中各點圍繞坐標原點呈橢圓分布,且由內到外分布密度逐步減小。由于能量核相圖散點繪制誤差等因素可能會導致靠近坐標原點的網格計數為 0,在圖像中出現像素凹陷現象,使得能量核相圖橢圓面積特征得不到較好體現,因此采用如式(8)所示的移動平均方法對矩陣圖像進行了滑動濾波,該濾波方法可以有效避免像素凹陷現象,使得由網格計數方法獲得的矩陣圖像更加合理,同時也會去掉圖像上的一些干擾噪聲。
![]() |
(i = 1,
, N1, j = 1,
, N2) 表示計數網格每個單元的統計數值。經過上述預處理獲得的單通道 sEMG 信號能量核相圖是 N1×N2 尺寸的灰度圖,本文用到的 NinaPro DB2 數據集中每個手勢對應 12 通道 sEMG 信號,這里根據多次實驗測試經驗和 sEMG 信號采集電極的空間相對位置對各灰度圖像按照通道順序進行了圖像拼接,使圖像包含電極的空間位置信息,最終將其處理成 4N1 × 3N2 大小的灰度圖像來進行 CNN 的學習訓練。為保證特征的連續性,采用如圖 2 所示的“時間窗 + 增量窗”的方式對 sEMG 信號分段進行特征提取,WT 與 ST 分別表示 K 時刻的時間窗長度和增量窗長度。

2.2 CNN 識別 sEMG 信號能量核相圖算法
CNN 是一種包含卷積計算且具有深度結構的前饋神經網絡,能夠自動學習有效特征,使研究者擺脫手動構造特征的繁瑣過程[22]。本文受到對分類問題性能優越的亞歷克斯網絡 (Alexnet) 的啟發[23],搭建如圖 3 所示的 CNN 識別網絡,該網絡主要由卷積層、池化層以及全連接層組成,卷積層中卷積核通過對輸入樣本進行卷積運算來提取特征,池化層通過空間上的運算和池化規則來減小卷積層產生的特征圖尺寸,全連接層用來收集卷積、池化后的樣本特征空間擴散信息。作為一種端到端的網絡,CNN 在卷積提取特征以及全連接層分類輸出方面有很強的學習能力[11]。

基于 sEMG 信號能量核相圖的 CNN 識別算法框架如圖 4 所示,其主要包含數據預處理、能量核相圖構造、CNN 模型訓練及參數整定模塊,經過圖像化等預處理的 sEMG 信號能量核相圖作為 CNN 網絡的輸入,卷積、池化等多層結構對輸入圖像進行特征提取與學習,訓練好的 CNN 模型可以根據能量核相圖識別出 sEMG 信號所屬的手勢動作類別。

本文提出的基于 sEMG 信號能量核相圖的識別算法相比于文獻[5-8]在特征提取方面,省去了計算能量核相圖橢圓面積的步驟,同時對能量核相圖進行了干擾點過濾、移動平均、添加面積因子等優化預處理,使得能量核相圖分布更加合理。在分類器設計方面,本文算法搭建了 CNN 結構,輸入為二維灰度圖像格式,區別于文獻[5-6]設計的一維面積向量輸入格式。
3 實驗與結果分析
3.1 實驗配置與測試結果
為驗證 CNN 識別 sEMG 信號能量核相圖方法的有效性,本文從 NinaPro DB2 數據集中分別提取 2、4、8、16 種手勢進行測試,將每一種手勢前 5 次動作作為訓練集,第 6 次動作作為測試集,為確保模型的可靠性,對訓練集數據使用 5 折交叉驗證方法來整定分類器參數,計數網格尺寸為 N1=N2=20,提取 sEMG 信號的能量核相圖制作 80×60 尺寸的灰度圖像訓練集。本文使用程序開發環境 Pycharm 2018.3.5(JetBrains Inc.,捷克)與數學軟件 MATLAB 2018a(MathWorks Inc.,美國),Pycharm 2018.3.5 用于樣本制作和 CNN 搭建測試,MATLAB 2018a 用于對比實驗和數據分析。分別取 WT=100 ms、ST=100 ms 和 WT=200 ms、ST=150 ms 來進行樣本制作。預處理與訓練過程如圖 5 所示,具體識別結果如表 1 所示。本文 CNN 識別網絡損失函數是交叉熵函數,使用自適應優化器(Adam),采用隨機梯度下降優化算法,初始學習率為 0.000 1。網絡結構包含輸入層、3 層卷積層、3 層池化層、2 層全連接層以及 1 個分類輸出層,3 層卷積層分別包含 8、16、32 個卷積核,卷積核主要是 3×3 尺寸,移動步長為 1。激活函數采用修正線性單元(rectified linear unit,ReLU),池化層采用最大池化規則,池化核尺寸為 2×2,移動步長為 1,輸出層采用歸一化指數函數(softmax)。根據交叉驗證結果和損失函數變化判斷過擬合程度,進而確定 CNN 的迭代次數,每次訓練隨機丟棄 50% 的輸出特征來降低過擬合程度。


如表 1 所示,CNN 結合 sEMG 信號能量核相圖的識別方法在 2、4、8 種手勢的識別實驗中均達到 93% 以上的識別精度。訓練好的 CNN 模型識別單張能量核相圖的平均時間為 0.1 ms 數量級,在實際外骨骼機器人設備人機交互中可以忽略不計,因此在計算效率上本方法滿足實時性要求。根據文獻[7],使用 LF 與 DBC 方法提取 100 個 sEMG 信號數據段(WT=300 ms)能量核橢圓面積的計算時間分別是 1.051 s 和 0.789 s,本文采用文獻[7]中能量核特征提取效率計算方式,對 100 個 sEMG 信號數據段(WT=300 ms)記錄相圖繪制時間,取 6 次的平均值為 0.298 s,由于 sEMG 信號的肌肉來源對處理算法的時間復雜度影響可忽略不計,因此可以得出結論:省去面積計算步驟,本文算法對能量核相圖預處理的計算效率比 DBC 和 LF 方法明顯提高。
3.2 對比實驗與效果分析
3.2.1 多通道時間窗 sEMG 信號與能量核相圖對比實驗
為了驗證能量核相圖的識別性能,本文與文獻[12]中利用時間窗覆蓋 12 通道 sEMG 信號并提取信號幅值作為訓練圖像的方法進行了對比。時間窗長度分別取 200 采樣點(100 ms 信號數據)與 400 采樣點(200 ms 信號數據),分別形成 200×12 與 400×12 尺寸的灰度圖像。與時間窗信號幅值方法對比的實驗結果如圖 6 所示,在手勢類別數為 4、8、16 時基于能量核相圖的 CNN 識別方法準確率較高,在 2 類手勢的識別中兩種方法識別精度接近。該對比實驗結果可以證明能量核相圖的提取相比于未經特征提取的時間窗信號幅值數據具有較好的識別性能,進一步說明能量核相圖特征的有效性。

3.2.2 CNN 與經典分類器識別能量核相圖對比實驗
為了驗證 CNN 識別 sEMG 信號的性能,本文對能量核相圖分別采用 CNN 與經典分類器進行分類對比,這里選用的經典分類器包括支持向量機(support vector machines,SVM)、K 最近鄰(k-nearest neighbor,KNN)、稀疏表示分類(sparse-based representation classification,SRC)和判別式 k 奇異值分解(discriminative k-singular value decomposition,DKSVD)。識別結果如圖 7 所示,可以看出時間窗是 100 ms 或 200 ms 時,采用 CNN 的識別精度都要高于上述經典分類器,在手勢類別數增多時 CNN 識別優勢更加明顯。這說明利用 CNN 識別網絡結合 sEMG 信號能量核相圖在識別精度上要優于一些非網絡學習的分類器,也驗證了采用 CNN 網絡進行分類的合理性。

3.2.3 CNN 與典型神經網絡分類器識別能量核相圖對比實驗
為了證明選用 CNN 分類器的優勢,本文進行了能量核相圖結合常用 ANN 分類器的對比實驗,進行對比的 ANN 分類器網絡包含 MLP、RNN 和 LSTM,其中 RNN、LSTM 網絡的輸入均為二維能量核相圖,將能量核相圖處理成一維向量形式作為 MLP 的輸入。對比實驗結果如圖 8 所示,可以看出在手勢類別不超過 4 時,CNN 與其它網絡識別效果相近,但手勢類別大于 4 時,CNN 網絡識別體識別精度最高,此實驗證明了本文選用 CNN 網絡識別 sEMG 信號能量核相圖的合理性。

3.2.4 能量核面積特征識別與 CNN 識別能量核相圖對比實驗
本文提出的 CNN 結合能量核相圖的識別算法省去了計算能量核分布橢圓面積的步驟,為了對比該方法與文獻[5-8]通過計算橢圓面積作為特征的識別方法的性能,本文進行了提取能量核橢圓面積為特征的識別實驗。面積提取方式采用文獻[6]中的 DBC 方法,分別采用 SVM、KNN、SRC 對面積特征進行分類識別,識別精度對比如圖 9 所示。可以看出提取面積特征的方法在手勢類別小于 4 種時識別性能較好,但是在手勢類別數增加時,CNN 結合能量核相圖的識別精度比基于能量核面積特征的分類方法高。結合表 1 中 CNN 識別時間很短可忽略不計以及 CNN 與 LF、DBC 計算效率對比的結論,說明省去計算面積的步驟直接利用能量核相圖的 CNN 識別方法不僅滿足運動意圖識別對實時性的要求,而且在識別精度上有所提升。

4 結語
文章提出了一種基于 sEMG 信號能量核相圖 CNN 手勢識別算法,為了驗證該算法的有效性,文章搭建了 CNN 識別框架并對手勢 sEMG 信號數據集進行了識別測試。為了對比該分類算法的性能,文章主要進行了 4 類對比實驗,分別是能量核相圖提取與否、經典分類器種類、ANN 分類器種類和能量核橢圓面積計算與否。CNN 識別能量核相圖的算法在上述的對比中均顯現出優越性能,在手勢類別多于 2 種時,平均識別精度提高超過 10%,并且 CNN 模型在線識別時間滿足人體運動意圖識別對實時性的要求,驗證了本文識別算法的可行性與有效性,也為目前基于 sEMG 信號的人機交互研究提供了新的思路。本文僅針對手勢 sEMG 信號數據集進行了測試,接下來將面向下肢助行外骨骼機器人,采集腿部肌肉的 sEMG 信號,同時融入力、加速度等傳感器信息來研究更加可靠的人體運動意圖識別方法。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。