孔康,李德盈,孫中圣
(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)
表面肌電信號作為生物電信號的一種,由于能夠反映較多的生物運(yùn)動特征,被廣泛應(yīng)用于康復(fù)訓(xùn)練裝置的設(shè)計和假肢控制等領(lǐng)域。肌電信號具有微弱性和突變性,在數(shù)據(jù)采集的過程中易受其他信號的干擾,給分類的結(jié)果帶來較大影響。目前常見的分類特征主要有時域、頻域和時頻域。于亞萍等人[1-2]利用多種母小波變換對表面肌電信號進(jìn)行識別;胡曉[3]等人利用小波包系數(shù)熵作為特征向量,但時頻信號存在高延遲性。本文在小波包系數(shù)特征的基礎(chǔ)上,添加了延遲性較低的方差特征,創(chuàng)新地采用將時域和時頻域組合的方式作為特征參數(shù)。常見的分類器有支持向量機(jī)、隨機(jī)森林和線性判別等,但這些方法的識別率會隨輸入向量維度的增加而下降。而近年來國內(nèi)外對深度學(xué)習(xí)的研究越來越深入,此方法也被廣泛地應(yīng)用于信號處理領(lǐng)域。另外,自適應(yīng)濾波(Least Mean Square,LMS)作為一種檢測平穩(wěn)與非平穩(wěn)信號的濾波方式,被用于信號的去噪處理。本文參考長短時記憶網(wǎng)絡(luò)(Long and Short Time Memory Network,LSTM)用于不同分類的文獻(xiàn)[4-9]和陳景良等人[10]使用LMS 對語音進(jìn)行降噪、石欣等人[11-12]利用LMS-隨機(jī)森林模型對下肢動作進(jìn)行分類后,綜合具有較高實時性的LMS和較高識別率的LSTM 兩種算法的優(yōu)勢,采用兩種算法組合,與陳思佳等人[13]采用LSTM 和卷積神經(jīng)網(wǎng)絡(luò)得到較高手勢動作識別率相比提高了實時性。
采用小波包變化提取表面肌電信號的時頻特征,利用小波包變換將肌電信號同時進(jìn)行高頻和低頻的多層次分解,彌補(bǔ)了小波變換隨分解層數(shù)的增加對高頻部分分解不足的缺點(diǎn)[14-15]。由于表面肌電信號的頻率范圍主要在10~150 Hz,因此采樣頻率選擇320 Hz,對應(yīng)奈奎斯特采樣頻率為160 Hz,通過提取0~160 Hz 的頻段信號可以有效濾除其他干擾。本文選擇具有較快收斂速度的Meyer 小波基,做i 層小波包分解。進(jìn)行i 層分解后,最后一層共有2i個頻帶,即可將160 Hz 信號i 等分,每個頻帶對應(yīng)的頻率范圍為160/i Hz,從左到右遞增排列。小波包系數(shù)是小波包分解后每個子空間的系數(shù),整個空間頻帶的小波包系數(shù)可構(gòu)成矩陣[3]:
其中,k 為每個頻帶小波包系數(shù)長度。取小波包系數(shù)為特征值,共可取2i個特征值,每個特征值有k 條數(shù)據(jù),d2i,k表示第2i個小波包系數(shù)特征的第k 條數(shù)據(jù),所有數(shù)據(jù)組成特征矩陣Dm。文中選取i=3,k=1 585,可形成一個8×1 585 的時頻特征矩陣。
作為區(qū)別表面肌電信號的一種時域特征,方差表示活動段肌電信號的功率,計算公式如下:
其中,N 表示肌電信號個數(shù),yt表示第t 個肌電信號,VARj表示第j 個窗口的方差。
方差與平均絕對值、均方根等常被用作分類特征。本文在對方差、平均絕對值、均方根、過零點(diǎn)數(shù)等特征進(jìn)行LMS 算法濾波處理過后,發(fā)現(xiàn)方差特征具有良好的區(qū)別效果,故刪去其他時域特征。由于肌電信號存在突變性,本文在處理方差特征值時采用重疊分割的移動窗口法,使窗口每次滑移的增量小于窗口寬度??紤]窗口寬度和滑移量過小,計算易受信號突變的干擾,過大又不能精確反映動作間的區(qū)別,本文在多次嘗試之后,選擇窗口寬度為8 ms,移動增量為4 ms。
自適應(yīng)濾波器(LMS)可以在沒有關(guān)于待提取信息的先驗統(tǒng)計知識下直接利用觀測數(shù)據(jù),依據(jù)某種判據(jù)在觀測過程中不斷遞歸更新處理參數(shù),逐步逼近某一最優(yōu)的處理效果。即迭代計算調(diào)節(jié)濾波器參數(shù)W,使目標(biāo)函數(shù)et最小。計算步驟如下:
(1)設(shè)橫向自適應(yīng)數(shù)字濾波器的輸入為xt,理想輸入為dt,實際輸出為yt,濾波器初始參數(shù)W=0,假設(shè)et、dt和xt統(tǒng)計平穩(wěn)。本文構(gòu)造一個均值為0、方差為1 的高斯白噪聲和數(shù)字頻率為0.05、信噪比SNR 為1 的正弦信號作為理想輸入dt。
(2)濾波器輸出估計值:
其中,Wt,m表示第t 個采樣點(diǎn)第m 個權(quán)系數(shù);xt-m表示第t-m 個信號。
(3)計算估計誤差:
(4)利用迭代公式更新下一時刻權(quán)值:
其中,u 為學(xué)習(xí)率,取0.05。
長短時記憶網(wǎng)絡(luò)(LSTM)是基于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN只有一個隱藏層狀態(tài)h(t)的改進(jìn),即通過添加細(xì)胞狀態(tài)C(t)用于保存長期狀態(tài),解決學(xué)習(xí)序列數(shù)據(jù)的時間步之間的長期依存問題,適用于動態(tài)數(shù)據(jù)的分類。通過引入“門”的概念控制細(xì)胞狀態(tài)C(t),包括遺忘門、輸入門和輸出門。其中遺忘門用于決定上一時刻的細(xì)胞狀態(tài)C(t-1)保留當(dāng)前時刻C(t)的值,調(diào)節(jié)取值范圍(0,1)來表示遺忘程度[13],0 表示全部遺忘,1 表示全部記住。輸入門控制當(dāng)前網(wǎng)絡(luò)的輸入X(t)保存到細(xì)胞狀態(tài)C(t)的值,輸出門控制C(t)輸入到當(dāng)前輸出量的值h(t)。具體公式如下:
遺忘門:
輸入門:
激活函數(shù)輸出:
細(xì)胞狀態(tài):
輸出門:
其中,σg為門激活sigmoid 函數(shù),W 和b 分別表示權(quán)重和偏倚量,X(t)表示第t 個輸入,tanh 為激活函數(shù)。本文最大輪次取100,學(xué)習(xí)率為0.001,批大小為32,隱藏單元數(shù)目為20。LSTM 算法框圖如圖1 所示。
本文的研究目標(biāo)是實現(xiàn)屈拇指、屈中指、屈無名指和小指、握拳、屈腕5 種手勢動作的區(qū)分。在參考了各手勢動作所對應(yīng)的前臂肌肉肌群共涉及拇長屈肌、指淺屈肌、指深屈肌和尺側(cè)腕屈肌4 個肌群后,設(shè)計1 000 Hz采集頻率的四通道采集電路。
采集裝置選擇電極材料為Ag 的一次性按扣式貼片。實驗者為21 歲健康男性,身高為181 cm,體重為74 kg,采集實驗時依次保持手勢動作2 s,恢復(fù)放松狀態(tài)保持2 s,共計40 s,每種動作完成10次,共40 000 條數(shù)據(jù)。采集手勢動作如圖2 所示。
將采集到的表面肌電信號依次通過2 個截止頻率為20 Hz 的高通濾波器,阻帶頻率為45 Hz、通頻帶頻率為52 Hz 的陷波器,以及2 個截止頻率為500 Hz 的低通濾波器,完成初步的信號濾波處理。
使用窗口能量法劃分活動段,選取長度為4 ms 的窗口,采用窗口段內(nèi)肌電信號數(shù)值的平方值代替該段窗口的能量,通過多通道累加計數(shù)的方式,當(dāng)存在兩個通道以上數(shù)量的窗口大于初始設(shè)定的閾值,即認(rèn)為該窗口段為活動段。實驗中閾值選擇無窗口段能量的1.4倍,為0.003 6 μV2。考慮到部分手勢信號可能存在幅值低而被誤作非活動段,因此僅取活動段信號的前11 980 條數(shù)據(jù)。
使用LMS 算法對采集信號進(jìn)行二次降噪處理,處理結(jié)果如圖3 所示。
將經(jīng)LMS 處理后的信號通過方差計算,每種手勢動作得到4×2 394 個方差特征值。另將信號通過小波包變換,提取小波包系數(shù)特征。實驗發(fā)現(xiàn)經(jīng)LMS 算法處理后的信號提取的方差特征對分類效果有所提高,但小波包系數(shù)特征對分類效果反而降低。因此,本文僅對方差特征運(yùn)用LMS 濾波處理,小波包系數(shù)只通過濾波器處理。不同濾波處理方式處理不同特征的分類結(jié)果如表1 所示。
表1 濾波處理方式對比(%)
每個動作每個通道得到8×1 585 個小波包系數(shù)特征值。利用同一手勢動作的肌電信號的特征具有相關(guān)性且時域特征具有重復(fù)性,因此方差特征取前1 585 條數(shù)據(jù),5 個動作共得到7 925 條數(shù)據(jù),每條數(shù)據(jù)由一個36 維特征矩陣組成。取其中4 755 條數(shù)據(jù)為訓(xùn)練樣本,剩下為測試樣本。為區(qū)分不同動作,給每個動作設(shè)定一個標(biāo)簽,屈拇指為標(biāo)簽1、屈中指為標(biāo)簽2、屈無名指和小指為標(biāo)簽3、握拳為標(biāo)簽4、屈腕為標(biāo)簽5。同樣得到7 925 條標(biāo)簽數(shù)據(jù),構(gòu)成標(biāo)簽矩陣,與輸入樣本一樣分成4 755 條訓(xùn)練樣本標(biāo)簽和3 170 條測試樣本標(biāo)簽。
將數(shù)據(jù)代入LSTM 分類模型中,得到5 種動作的平均識別率為93.78%。計算過程如圖4 所示。
采用不同分類器和不同分類特征得到的分類結(jié)果如表2 所示。
表2 不同特征和分類器分類結(jié)果對比
考慮到每個動作的輸入特征為36維,極大地造成了識別的延遲性。通過主成分分析的方式對輸入特征向量進(jìn)行降維,減少識別反應(yīng)時間。
計算過程如下:
(1)36 個特征值、7 925 條數(shù)據(jù)可構(gòu)建樣本矩陣,標(biāo)準(zhǔn)化處理后得到矩陣X:
其中,N3為提取特征后的信號個數(shù),即7 925;p 為特征維度,即36。
(2)計算X 矩陣的協(xié)方差矩陣:
(3)計算R 的特征值和特征向量,以及累計貢獻(xiàn)率:
其中,λm表示每階的貢獻(xiàn)率。
(4)一般取累計貢獻(xiàn)率達(dá)到80%時的特征值對應(yīng)最終主成分:本文當(dāng)主成分階數(shù)為24時,累計貢獻(xiàn)率達(dá)91.15%,使用降維后的數(shù)據(jù),組成新的輸入矩陣代入LSTM 模型,得到表3 結(jié)果。
表3 降維前后分類結(jié)果對比 (%)
本文提出了LSTM 深度學(xué)習(xí)的分類器,在一次濾波的同時,創(chuàng)新結(jié)合LMS 濾波算法,對方差特征進(jìn)行二次濾波,得到了更高的分類識別率。通過采用小波包系數(shù)和方差的組合特征作為分類輸入特征,對屈拇指、屈中指、屈無名指和小指、握拳、屈腕5 種手勢動作進(jìn)行離線識別的分類,得到93.78%的平均識別率。對比線性判別和決策樹分類結(jié)果,LSTM 算法具有很高的正確性。使用PCA 降維后特征向量維數(shù)從36 變?yōu)?4,識別率達(dá)92.68%,實現(xiàn)了優(yōu)化的目標(biāo)。