劉樂(lè)遠(yuǎn),曹 樂(lè),闞 秀,張文艷
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
表面肌電(surface electromyography,sEMG)信號(hào)是人體自身的資源,蘊(yùn)含著關(guān)聯(lián)人體運(yùn)動(dòng)的豐富信息[1]。人手的運(yùn)動(dòng)信息包括手勢(shì)、動(dòng)作大小、動(dòng)作快慢、動(dòng)作力輸出等。早期的肌電控制假手,大多是根據(jù)最為直觀的肌電幅度變化,控制假手的“開(kāi)關(guān)”[2]。近些年來(lái),國(guó)內(nèi)外學(xué)者對(duì)肌電和假肢控制的研究頗多。Zhang Z等人提出了一種新的手勢(shì)預(yù)測(cè)方法,利用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型從sEMG數(shù)據(jù)中學(xué)習(xí)并預(yù)測(cè)手勢(shì)[3]。同時(shí),王濤等人提出的基于動(dòng)作因素和個(gè)體因素的雙線性模型,為肌電假肢手的控制提供了新的思路[4]。針對(duì)不同的需求,研究的重點(diǎn)也逐漸分化,如基于肌電信號(hào)的兩自由度假肢,追求更快的響應(yīng)速度[5]。而成娟等人對(duì)多種手指按鍵動(dòng)作的識(shí)別研究,則對(duì)虛擬現(xiàn)實(shí)具有重要意義[6,7]。越來(lái)越多的方法被使用在肌電分析中,如采用線性判別分析(linear discriminant analysis,LDA)進(jìn)行抓握模式的識(shí)別[8]、采用廣義回歸神經(jīng)網(wǎng)絡(luò)(generalized regression neural network,GRNN)預(yù)測(cè)踝關(guān)節(jié)運(yùn)動(dòng)[9,10]等。而對(duì)于假手相關(guān)動(dòng)作的指尖力研究較少。
本文通過(guò)自主搭建的實(shí)驗(yàn)平臺(tái),采集4種不同手指點(diǎn)擊動(dòng)作下的sEMG信號(hào)和指尖力信號(hào),經(jīng)過(guò)信號(hào)提取及處理、動(dòng)作分類、模型建立等步驟,最終實(shí)現(xiàn)了網(wǎng)絡(luò)對(duì)指尖力的準(zhǔn)確預(yù)測(cè)。
傳統(tǒng)sEMG電采集方法中,多為模擬電路搭建,包括前置放大電路、濾波電路、ADC調(diào)理電路等[11]。使用分立元器件搭建電路,存在功耗高、調(diào)試?yán)щy的缺點(diǎn)。針對(duì)上述問(wèn)題,采用ADS1298模擬前端,搭建了一種集成度較高的多通道肌電采集設(shè)備。 ADS1298每個(gè)通道的功耗只有0.75 mW,內(nèi)部集成24位高精度Δ-∑ADC,具有可編程增益放大器,可通過(guò)設(shè)置寄存器調(diào)節(jié)放大倍數(shù)等參數(shù),采樣頻率最大可設(shè)置為320 kS/s,充分滿足肌電信號(hào)采集頻率。ADS1298的一個(gè)顯著優(yōu)點(diǎn)是,為心電采集預(yù)留的一個(gè)右腿驅(qū)動(dòng)電路,而使用在肌電測(cè)量中,則可以用于連接人體,用來(lái)抑制系統(tǒng)的共模干擾。 ADS1298的最終參數(shù)設(shè)置為:采集頻率1 kps,放大倍數(shù)為6,內(nèi)部參考電壓Uref為2.4 V。則信號(hào)分辨率u為
(1)
指尖力測(cè)量采用FSR壓電傳感器(量程0~20N),信號(hào)為模擬量連續(xù)輸出。測(cè)試系統(tǒng)框圖如圖1所示。
圖1 測(cè)試系統(tǒng)框圖
sEMG的信號(hào)處理包括濾波去噪和特征提取[12]。濾波去噪包括設(shè)計(jì)50 Hz陷波器和10~300 Hz高通濾波器。同時(shí)借鑒語(yǔ)音降噪(增強(qiáng))用的譜減法,對(duì)濾波后波形進(jìn)行降噪,濾波、降噪后波形如圖2所示。
圖2 sEMG濾波、降噪后波形
肌電的特征提取主要是時(shí)域、頻域、時(shí)頻域[13]。為了保證時(shí)間的連續(xù)性,采用時(shí)域特征進(jìn)行4種動(dòng)作的分類和指尖力的預(yù)測(cè)。提取的時(shí)域特征包括平均絕對(duì)值(MAV)、均方根(RMS)、波形長(zhǎng)(WL)、過(guò)零點(diǎn)(ZC)。4種特征值波形如圖3,N為時(shí)間窗長(zhǎng)度,xi為時(shí)間窗內(nèi)第i個(gè)表面肌電信號(hào)值,取N=100。
圖3 4種特征值波形
1)平均絕對(duì)值(MAV):sEMG在幅值上表現(xiàn)出很強(qiáng)的隨機(jī)性,絕對(duì)值運(yùn)算將信號(hào)的幅值全部轉(zhuǎn)換成正值,可以直觀地反映肌肉的收縮力量。滑動(dòng)窗口下絕對(duì)值均值的表達(dá)式如下
(2)
2)均方根(RMS):信號(hào)能量的一種量測(cè),其表達(dá)式為
(3)
3)波形長(zhǎng)(WL):波形長(zhǎng)是描述一段時(shí)間內(nèi)信號(hào)變化幅值累加之和,是信號(hào)復(fù)雜度的一種量測(cè),其表達(dá)式為
(4)
4)過(guò)零點(diǎn)(ZC):零穿越次數(shù)描述一段時(shí)間內(nèi)信號(hào)幅值變化過(guò)程中穿過(guò)x軸的次數(shù),該特征從時(shí)域的角度對(duì)信號(hào)的頻域特征進(jìn)行估計(jì),滑動(dòng)窗口下過(guò)零點(diǎn)的表達(dá)式為
(5)
假設(shè)指尖力為Fc,傳感器對(duì)應(yīng)采集到的電壓為U,建立式(6)、式(7)的關(guān)系,只要求得Φ,就能得到指尖力的預(yù)測(cè)值
U=0.15×Fc+0.2
(6)
Fc=Φ(Cf)
(7)
式中U為力傳感器電壓值,F(xiàn)c為力數(shù)值,Cf為sEMG信號(hào)的特征值?;貧w算法具有很好的非線性擬合能力,適用于對(duì)指尖力做擬合預(yù)測(cè)。
LSTM是一種特殊的時(shí)間RNN架構(gòu)[14]。 LSTM的關(guān)鍵在于時(shí)間序列處理模塊和網(wǎng)絡(luò)連接線,信息在連接線上易保存。而信息在流轉(zhuǎn)過(guò)程中是添加還是刪除,則通過(guò)門來(lái)決定的,具體操作是通過(guò)一個(gè)sigmoid的神經(jīng)層和逐點(diǎn)相乘。
LSTM的第一步是決定從時(shí)間序列處理模塊中丟棄的信息,通過(guò)一個(gè)遺忘門來(lái)完成。該門會(huì)讀取前神經(jīng)元信息ht-1和當(dāng)前輸入xt,輸出一個(gè)在0~1之間的值σ,來(lái)表示有多少數(shù)據(jù)量ft可以通過(guò),公式如下
ft=σ(Wf·[ht-1,xt])+bf)
(8)
第二步是決定加入多少新的信息到時(shí)間序列處理模塊。首先,用一個(gè)sigmoid來(lái)決定更新的信息it;其次,用一個(gè)tanh層生成一個(gè)向量,即備選的更新內(nèi)容t,公式如下
it=σ(Wi·[ht-1,xt])+bi)
(9)
t=tanh(Wc·[ht-1,xt])+bc)
(10)
第三步是最終決定輸出的值。通過(guò)一個(gè)sigmoid層來(lái)決定信息輸出的部分。然后,經(jīng)過(guò)tanh處理得到具體值。信息輸出的部分和具體值相乘,實(shí)現(xiàn)確定部分的輸出ht,公式如下
ot=σ(Wo·[ht-1,xt]+bo)
(11)
ht=ot*tanh(Ct)
(12)
xt在網(wǎng)絡(luò)中為肌電時(shí)域特征特征值。LSTM網(wǎng)絡(luò)設(shè)置為3層,包括輸入層、隱含層、輸出層,輸入層設(shè)置輸入16個(gè)肌電特征維度,輸出層設(shè)置為1個(gè)預(yù)測(cè)力輸出,設(shè)置3個(gè)隱含層,參數(shù)分別設(shè)置為40,160,80,LSTM網(wǎng)絡(luò)的優(yōu)化器使用AdamOptmizer,設(shè)置訓(xùn)練最大次數(shù)為200,學(xué)習(xí)率設(shè)置為0.006。LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 網(wǎng)絡(luò)結(jié)構(gòu)
選取4名平均年齡為24歲的健康男性受試者作為實(shí)驗(yàn)對(duì)象。通過(guò)4通道肌電采集設(shè)備,采集受試者4個(gè)前臂肌群拇長(zhǎng)屈肌、指淺屈肌、指深屈肌、尺側(cè)腕屈肌的表面肌電信號(hào)[15]。指尖力測(cè)試4種動(dòng)作設(shè)計(jì)分別為:拇指和食指點(diǎn)擊、拇指和中指點(diǎn)擊、拇指和無(wú)名指點(diǎn)擊、拇指和小指點(diǎn)擊。每次實(shí)驗(yàn)的時(shí)長(zhǎng)為不超過(guò)1 min,每個(gè)點(diǎn)擊動(dòng)作間歇性用力,間隔時(shí)長(zhǎng)1~2 s。每種點(diǎn)擊動(dòng)作做3組。實(shí)驗(yàn)動(dòng)作和實(shí)驗(yàn)場(chǎng)景如圖5。
圖5 實(shí)驗(yàn)動(dòng)作和實(shí)驗(yàn)場(chǎng)景
對(duì)每名受試者的每組實(shí)驗(yàn)數(shù)據(jù)提取4種特征值,并打好標(biāo)簽。通過(guò)支持向量機(jī)(SVM)和BP神經(jīng)網(wǎng)絡(luò)對(duì)4種手指動(dòng)作進(jìn)行分類,使用遺傳算法(GA)優(yōu)化兩種分類方法的參數(shù)。從分類結(jié)果來(lái)看,BP神經(jīng)網(wǎng)絡(luò)的分類準(zhǔn)確度為92.5 %,SVM的分類準(zhǔn)確度為94.3 %,SVM的分類結(jié)果優(yōu)于BP神經(jīng)網(wǎng)絡(luò)的分類結(jié)果。4名受試者2種不同網(wǎng)絡(luò)的4種手指分類結(jié)果,如表1所示。
表1 4名受試者2種分類方法結(jié)果
提取不同表面肌電信號(hào)的4種特征值,并對(duì)每種特征值進(jìn)行單獨(dú)歸一化。力傳感器的數(shù)值作為訓(xùn)練集的對(duì)比輸出。測(cè)量了多組1 min的數(shù)據(jù),使用GRNN、LSTM網(wǎng)絡(luò)分別進(jìn)行訓(xùn)練。對(duì)于GRNN,使用交叉驗(yàn)證尋找最佳的spread參數(shù)。對(duì)于LSTM網(wǎng)絡(luò),優(yōu)化器使用AdamOptmizer,設(shè)置訓(xùn)練最大次數(shù)為200,學(xué)習(xí)率設(shè)置為0.006。其中,LSTM網(wǎng)絡(luò)對(duì)于受試者3的指尖力預(yù)測(cè)結(jié)果如圖6所示。
圖6 受試者3的4種指尖力預(yù)測(cè)結(jié)果
對(duì)于預(yù)測(cè)結(jié)果,采用均方根誤差來(lái)評(píng)價(jià)網(wǎng)絡(luò)預(yù)測(cè)的準(zhǔn)確性。受試者3的4種指尖力預(yù)測(cè)均方根誤差為0.198 0,0.278 2,0.260 3,0.216 8,動(dòng)作1的預(yù)測(cè)誤差最小,動(dòng)作2的預(yù)測(cè)誤差最大。表2中列出4名受試者2種不同網(wǎng)絡(luò)的4種指尖力預(yù)測(cè)結(jié)果。
表2 4名受試者2種網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果
4名受試者使用GRNN做4種指尖力預(yù)測(cè)均方根誤差為0.302 6,0.316 6,0.359 0,0.345 6,使用LSTM做4種指尖力預(yù)測(cè)的均方根誤差分別為0.205 6,0.271 0,0.257 1,0.210 7。雖然受試者不同,但2種網(wǎng)絡(luò)對(duì)于拇指和食指的指尖力預(yù)測(cè)誤差都小于其他3種動(dòng)作的指尖力預(yù)測(cè)誤差。且LSTM的均方根誤差明顯小于GRNN的均方根誤差。因此,使用LSTM對(duì)指尖力的預(yù)測(cè)更為準(zhǔn)確。
本文研究以假手對(duì)力精準(zhǔn)控制的需求為背景,提出了一種基于sEMG信號(hào)和LSTM的指尖力預(yù)測(cè)方法,對(duì)4種手指動(dòng)作進(jìn)行sEMG信號(hào)和指尖力的同步采集,并對(duì)肌電信號(hào)進(jìn)行預(yù)處理和特征提取。首先,通過(guò)遺傳算法(GA)優(yōu)化的 BP,SVM對(duì)手指動(dòng)作進(jìn)行正確分類,再使用LSTM網(wǎng)絡(luò)對(duì)手指指尖力進(jìn)行進(jìn)一步預(yù)測(cè)。分類結(jié)果表明:SVM的分類效果優(yōu)于BP網(wǎng)絡(luò),分類精度達(dá)到了94.3 %;預(yù)測(cè)結(jié)果表明:LSTM的均方根誤差在1.3~1.7 N,GRNN的均方根誤差在2.0~2.3 N,證明了LSTM在處理時(shí)間序列肌電信號(hào)的力預(yù)測(cè)上有顯著的性能提高,為基于肌電的智能假手高精度控制提供了一種有效的研究方法。