周丙濤,朱 黎,向 勉
(湖北民族大學智能科學與工程學院,湖北 恩施 445000)
表面肌電信號目前廣泛應用于人機接口,最為常用的是手勢的識別。國內外對于基于肌電的手勢研究多是集中于手勢的識別,即通過特征提取、智能分類的手段將已知的肌電信號序列進行分類。從實用意義出發,對于連貫的數據進行分割,是信號分類的前期工作,同樣重要。目前國內外對于肌電數據的分割方法往往采用閾值分割等比較簡單的方法[1]。肌電數據不同于其他可穿戴設備中的傳感器如慣性傳感器、壓力傳感器,往往數據并非線性且穩定性較差,需要提取時域、頻域的特征再進行分類[2]。
要在一長段含有不同手勢的肌電信號中識別出特定手勢,首先需要找到動作在信號流中的起始點,鄭楠等[3]提出了一種利用sEMG 信號瞬時能量結合閾值分割的方法,利用特定手勢瞬時能量的變化來劃分起始點,這種方法簡單、快捷,但是在處理個別瞬時能量變化幅度較小的手勢動作時不夠精確,同樣使用該方法的還有馮凱等[4]。在閾值分割法中,有一些研究使用了雙閾值分割法[5-7],雙閾值法主要原理是設置兩組閾值,第一組是開始測量的標志,第二組和第一組的閾值進行對比,然后再進行分割,這種方法比單閾值更精確。閾值分割的方法受到肌肉疲勞、肌表面出汗等因素影響,閾值可能需要進行動態調整。Wang M 等[8]提出了一種基于信號包絡和積分肌電圖的sEMG 分割算法,對于連續信號進行積分處理形成包絡線,后進行閾值處理,對于步態進行分割,能夠達到91.42%的準確率。Wang Y等[9]提出的分割方法是在對sEMG 信號流進行傅里葉變換后再進行隱馬爾科夫計算,該方法很好地運用在高頻sEMG 信號處理中。Park 等[10]的研究使用了一個雙層的隱馬爾科夫鏈結構,第一層表示運動的類型,第二層表示運動階段,很好地使用sEMG數據預測了步行、跑步、反向跳躍和坐立動作,做到了端到端的分割加識別。目前對于分割算法,國內外方法還是以閾值法為主,缺乏對于復雜信號進行分割的能力。
對分割后信號的處理,國內外的方法非常豐富,常用的特征提取算法有時域法、頻域法、時頻域法等[11-13],主要原理是提取出sEMG 信號流中的特征。特征提取方法有小波變換[14]、選擇時域特征、均方根比和自回歸模型[15]、SSDs[16]等。反向傳播神經網絡、自適應增強算法[17]、KNN[18]和深度學習被用于對sEMG 信號進行分類,結合多維度的分類器近年來出現得較多。衛文韜等[19]采用了雙流卷積神經網絡對離散小波變換系數和原始表面肌電信號兩個分支進行高層特征學習,效果比單特征有所提升。Shen 等[20]提出了一種基于多級卷積神經網絡(Convolutional Neural Network,CNN)分類器,對時域、頻域和時頻域數據分別進行訓練,將三個一級分類器的分類結果組合起來,作為特征向量訓練二級分類器。融合多維特征也能夠提升分類的精度。Wei 等[21]提出了一種多視圖卷積神經網絡框架,對于不同維度特征進行視圖重構,然后通過網絡融合特征完成分類。Li 等[22]利用多特征融合的長短時記憶卷積神經網絡(MFFCNN-LSTM),提出了一種基于前臂表面肌電信號時域和時頻譜特征的連續手部運動識別方法。該方法可以識別包括休息動作在內的10 個基本手部動作。Wang 等[23]提出了一種基于特征融合的改進膠囊網絡,將表面肌電信號信息與特征數據結合在一起,形成新的特征作為輸入。通過以上的研究中可以看出,分類的工具目前主要是深度學習,以CNN 和LSTM 為主,而對象多是經過時域、頻域提取后的特征。
本文基于目前國內外對于整段sEMG 手勢信號的分割研究不足的情況,提出了一種基于深度學習的空閑段識別方法分割整段信號,使用滑動窗以及標簽幾何化的方法提升精度。同時提出了一種新的識別方法,在分割后的數據中使用深度學習特征層融合的方法融合時域與頻域的特征。
本文所采用的的數據集是NinaPro database,是目前認可度較高的基于表面肌電的手勢數據,其中的DB1 庫使用了10 通道布置在前臂上的sEMG 傳感器的數據,測試了27 人次,52 個動作,動作主要分類三組,簡單基本手勢(手腕運動)、抓握以及手指的屈伸。數據采集頻率為2 kHz,采集方法為單個人進行連續采集,動作持續5 s 后過渡時間為3 s。
對于連續數據流的動作分割,常規的方法是閾值法,對于動作復雜、多人次的數據,個體與動作之間的體表特征、表面肌電的基礎水平是不一樣的,如圖1 所示,閾值的選擇無法滿足所有動作與個體。

圖1 連續sEMG 信號時序圖
基于此,本文提出一種先對于過渡段進行識別的方法,找出過渡段的起始位置,再通過起始位置進行手勢動作的分割,整體的流程如圖2 所示。

圖2 信號分割流程圖
①首先基于目標精度對于數據流進行降采樣,以滿足計算時間與效率的要求,基于本研究所選擇的實驗數據,將數據降采樣至15 Hz,時間精度可以達到0.06 s。
②然后對于降采樣以后的數據,引入滑動窗來對于數據進行拾取,在此實驗中,根據過渡狀態的長度,將滑動窗的長度設置為20,最終所得到的每一次滑動窗數據格式為20×10。對于滑動窗得到的數據,通過有監督學習的方法來進行識別,所以標簽的設置至關重要。
定義每一個滑動窗對應一個標簽,如圖3 所示,每一個標簽指代的是滑動窗所包含數據類型的狀態,由于每一個滑動窗的長度為20 格,定義如果屬于過渡階段,則取1,屬于手勢動作階段,取0,而標簽為滑動窗所有格相加除以20,可見,完全處于過渡狀態的標簽,值為1,而完全處于手勢動作狀態的為0,中間狀態的大小從0~1 進行變化。

圖3 滑動窗口與標簽示意圖
③對于滑動窗采集的數據,采用LSTM 網絡提取數據來進行特征提取與分類,LSTM 網絡適合于提取數據流中的時序信號,對于此類運動信號,在本文作者的前期研究中被證明有著比其他深度學習網絡(如CNN)更好的效果[24],在此基礎上,我們引入了注意力機制,對于10 維的數據進行注意力區分,將訓練集中于更重要的數據上來。采用的網絡結構如圖4 所示。

圖4 LSTM 結構圖
網絡由一層LSTM 層組成,特征尺度為10,時間維度為20,用以提取時序中的特征信息,經過LSTM層的向量被引入注意力機制模塊,與前n個時間步的隱含層做點積計算出注意力分數,再拼接成新的向量,經過兩個Dense 層輸出特征向量aj,pi,最后進行回歸操作,選擇優化器是Adam (adaptive moment estimation),平均絕對誤差函數作為損失函數。
④經過深度學習網絡所擬合出的標簽信號、原始標簽信號的時序圖見圖5。

圖5 標簽時序圖
可以看出,擬合出的標簽信號中的很大一部分誤差,來源于信號中出現的不穩定高頻波動,對于原始標簽進行分析可知,標簽在時序中的變化過程可以體現為四個階段,首先是值為0 的手勢動作階段,然后是由0 向1(過渡狀態)的漸變階段,這一階段是斜率一定的直線,然后是值為1 得過渡狀態,最后是由1 向0 裝換的漸變階段,這一階段也是斜率一定的直線。
經過分析可以知道,標簽信號的曲線擬合度能夠體現出信號狀態的變化,本研究采用求包絡線來對標簽信號進行處理,所述求包絡線方法為希爾變換包絡線求解法,首先進行信號的希爾變換求解,設標簽信號的函數為x(t),則希爾變換求解公式如下:
求解出希爾變換式后,包絡線就為信號的瞬時幅值大小,從而將高頻的干擾信號進行去除,公式為:
經過處理的對比圖見圖6。

圖6 標簽擬合圖
⑤對經過包絡線處理后的信號,我們采取閾值分割法,取大于等于0.97 的數值為過渡狀態,小于0.97 的數值為手勢動作階段。
對于分割完成后的手勢動作信號,信號長度有所不同,如果直接使用深度學習對于原始數據進行學習,需要使用降采樣,勢必會損失數據中的某些特點,所以,對于手勢分類信號,不進行降采樣。本研究提出利用時域頻域的特征提取公式,對于時域、頻域特征分別進行提取、再進行分類。
肌電信號的通道數為10,我們對每一組通道都進行時域、頻域的特征提取,xi為單個信號,i為時序標量,選取了9 個時域特征和7 個頻域特征,頻域特征中,s(k)是絕緣架空導線信號x(n)的頻譜,K是譜線數,fk是第K條譜線的頻率值。公式如表1所示。

表1 時域頻域特征公式表
sEMG 信號在過渡段和手勢動作階段的主要區別在于幅值、曲線趨勢等方面,而時域與頻域兩方面的特征足以描述肌電特征,y1、y4主要體現信號的強度,y2、y3、y7、y8和y9體現了信號的變化范圍,y5和y6主要體現了信號的變化趨勢。y10表征了該信號能量的強度,y11和y13體現了該信號的集中或分散程度,y12、y14、y15和y16體現了該信號的主頻帶位置。
在動作識別的分類中,常用的分類方法為LSTM 與CNN,注意力機制作為提升深度學習神經網絡效果的方法,被廣泛引用,本文選取帶有注意力機制的LSTM 與CNN 作為深度學習單元,網絡結構如圖7、圖8 所示。

圖7 分類LSTM 結構圖

圖8 CNN 結構圖
LSTM 總體結構與圖4 類似,輸入的格式不同,為10×10,在注意力模塊后為Dense 層,最后一層為Dropout 層,后進行Softmax 分類。
我們設計的卷積神經網絡有兩層卷積層,第一層的卷積核大小為6×6,通道數為32,第二層卷積核的大小為1×1,通道數拓展為64 位,然后使用2×2的最大池化層進行降維,為了防止網絡的過擬合,在最后一層之前設計了Dropout 層,Dropout 層的系數為0.5,最后通過一層平鋪層將向量展開,形成長度為768 的向量,進行Softmax 分類。
在此基礎上,我們同時也探索了多特征融合對于分類效果提升的作用。國內外很多研究證明了多尺度的特征融合能夠提升sEMG 信號處理的能力。本文采用多模態的網絡結構進行融合時域與頻域的特征,總體結構如圖9 所示,特征提取網絡為LSTM或CNN,特征提取后進行模態融合,在最后的Dense層之前將提取的特征進行向量的拼接。

圖9 特征融合結構圖
實驗的結果分為兩部分,第一部分是信號分割的準確度,第二部分為動作分類的準確度,我們分開進行結果的展示與討論。
我們將整個信號流按照5 ∶1 的比例分為訓練集和測試集,網絡進行5 次訓練,訓練后使用標簽處理方法,然后記錄下每次的結果并且與實際標簽進行比較,最后計算出準確率(Accuracy)、召回率(Recall)、精確率(Precision)、F1-score。
標簽為1 的結果為正例,為了進行對比和驗證本文的方法是否有效,設計了三組對比試驗,第一組是直接將標簽設置為1(過渡)和0(手勢動作),第二組是在標簽擬合后,不進行包絡線求解,以此驗證包絡線求解的效果,第三組是采用目前國內外研究使用較多的閾值法,采用多種閾值選出最佳的結果,總體的結果如表2 和圖10 所示。

表2 分割結果實驗表

圖10 分割結果實驗圖
從結果可以看出,未進行包絡線處理的總體結果要比0、1 標簽法更好,說明直接將標簽設置為1和0 進行分類處理在此項研究中是不適合的,分析原因,滑動窗口在滑動到過渡狀態和手勢動作階段時含有了兩項的特征,單純地使用0、1 標簽不準確,導致網絡訓練時特征學習不準確,導致結果產生誤差。對比完整算法和未進行包絡線處理的算法說明進行包絡線處理可以有效提升準確度,在消除高頻干擾的基礎上沒有帶來更多的誤差。最終對比本文方法和常用的閾值分割法,本文的方法有一定的優勢,能夠為動作分割提供有效解決方案。
我們使用手勢分割后的數據,將分割后的數據進行動作標簽的標記,一共分為3 組,簡單基本手勢(手腕運動)、抓握以及手指的屈伸,每一組選擇10個動作,進行了六組實驗,分別是使用時域特征的LSTM 和CNN、使用頻域特征的LSTM 和CNN,融合特征的LSTM 和CNN,實驗的目的是對比網絡結構的差異和討論時域頻域特征對于結果的影響。深度學習的損失函數使用的是交叉熵損失函數,最終的結果如圖11、圖12 與表3 所示,分類能力用準確率來表示,運行時間用每計算一組數據的時間來衡量。

圖11 網絡類型結果對比圖

圖12 數據類型結果對比圖
從結果可以看出,在網絡結構上,LSTM 比CNN有著更好的特征提取分類能力。從時域頻域特征的結果對比來看,時域結果要比頻域的結果更好,說明手勢動作的特征更多地是體現在時域上,頻域上的特征只能作為時域特征的補充,特征融合后的結果要比單一的時域、頻域的結果都優秀,這一點在預期之內,從網絡運行時間上看,LSTM 也優于CNN。表4 所示為近期國內外的研究與本文研究的結果對比。

表4 近期國內外研究結果表
從表4 中可以看出,本文的結果占有一定的優勢,分析原因,特征的提取是一方面,與近期的結果對比,豐富的時頻域信號種類可以完整地體現出信號的特征。本文所提取的時域、頻域信號的種類比較豐富,程度比較深,文獻[3]和文獻[14]主要利用的是肌電信號的協同矩陣和信號的特征圖像,是對于原始肌電信號進行處理,沒有集中于對信號的時頻域進行探索,而文獻[14]將時域、頻域信號使用圖片的方式進行表達,沒有對于時頻域的特征進行深度提取。另一方面是特征提取網絡的選擇,文獻[3]使用的是較為簡單的分類網絡,文獻[20]證明了CNN 網絡在提取特征方面有著優勢,而文獻[14]的初始特征提取網絡為LSTM,任何特征提取網絡的選擇都需要對應于數據格式,對于目前兩種主流特征提取網絡,我們都進行了探索,結果證明,對于選擇的特征,帶有注意力機制的LSTM 是效果較好的一類。
本文研究了基于sEMG 的常見手勢信號分割與分類的研究。針對于目前關于信號分割研究較少的問題,提出了一種基于深度學習的空閑段識別方法分割整段的信號,使用滑動窗以及標簽幾何化的方法提升精度,最終達到了效果超過閾值分割法的效果。同時,本文對于手勢分類也進行了研究,提出了一種使用LSTM 融合9 個時域、7 個頻域特征的分類算法,最終證明在特征提取中,LSTM 能夠更好地完成分類,該算法在近年來的結果中占有一定的優勢。