劉 威, 王從慶
(南京航空航天大學(xué) 自動化學(xué)院, 南京 210016)
目前我國心血管疾病流行的趨勢越來越明顯, 根據(jù)2018中國心血管疾病報告顯示, 我國患心血管疾病死亡人數(shù)占疾病死亡人數(shù)的40%, 遠高于其他疾病致死比例[1], 并且大量的腦中卒患者已經(jīng)成為重大的社會問題。腦中卒幸存患者通常伴有肢體偏癱的后遺癥, 其中對手部偏癱患者, 臨床上通常在理療師的幫助下, 患者進行重復(fù)的、 被動的訓(xùn)練, 通過這種訓(xùn)練能促進患者手部功能康復(fù)[2-4], 能使患者重新獲得部分自主生活能力。手部功能的康復(fù)與患者訓(xùn)練的時間和強度有直接關(guān)系[5], 如果患者能自主進行獨立訓(xùn)練, 不僅能為患者提供康復(fù)訓(xùn)練的便利條件, 而且能節(jié)約醫(yī)療資源, 讓醫(yī)生更加專注地研究病理而非進行體力勞動。若要實現(xiàn)患者家庭式獨立自主訓(xùn)練, 必須依靠能幫助患者肢體運動的外骨骼康復(fù)機器人, 以提高訓(xùn)練效果[6]。
目前, 大量的文獻報道都是對手部生理和結(jié)構(gòu)特點, 以及手部運動學(xué)的研究, 并設(shè)計出了符合人手運動學(xué)的外骨骼康復(fù)手套。目前康復(fù)手套主要采用兩種類型結(jié)構(gòu), 一類采用外骨骼連桿設(shè)計[5,7-12], 另一類采用軟致動器驅(qū)動設(shè)計[13-14]。其中外骨骼連桿設(shè)計的康復(fù)手套通過手指指套和連桿系結(jié)合氣動或電動力源驅(qū)動手指運動, 而軟致動器設(shè)計的康復(fù)手套通過直接將軟致動器綁定到各手指, 即可實現(xiàn)對手部運動的控制。軟致動器是由具有彈性的纖維增強材料制成的腔體結(jié)構(gòu), 這種結(jié)構(gòu)可以在一定的氣體壓力發(fā)生特定的屈伸和扭轉(zhuǎn)運動。外骨骼連桿設(shè)計的康復(fù)手套雖然結(jié)構(gòu)上較為復(fù)雜, 但其運動軌跡和指尖力的控制更加精確。
由于手部骨骼和其結(jié)構(gòu)十分復(fù)雜, 因此手可以實現(xiàn)很多精細復(fù)雜的動作, 而外骨骼康復(fù)手套系統(tǒng)通常難以實現(xiàn)這些精細的動作, 但根據(jù)患者和臨床醫(yī)生對康復(fù)手套的首要設(shè)計要求是實現(xiàn)手指的屈伸動作[5], 不僅降低了外骨骼康復(fù)手套的設(shè)計難度, 也降低了康復(fù)手套運動控制的難度。同時, 在康復(fù)訓(xùn)練初始階段, 訓(xùn)練的目標應(yīng)集中在手部的動作恢復(fù)。在假肢和手形機器人控制方面, 很多文獻采用對肌電信號識別對假肢和手形機器人進行運動控制[15-18]。 通過這種方法控制康復(fù)手套, 患者能進行自主訓(xùn)練而不借助外部幫助, 并且通過肌電信號控制使患者運動意識和手部運動同步, 增強康復(fù)訓(xùn)練的效果。為此, 筆者提出一種基于深度學(xué)習(xí)的康復(fù)手勢神經(jīng)解碼方法, 利用患者前臂的表面肌電信號, 通過卷積神經(jīng)網(wǎng)絡(luò)識別患者的手部運動示意圖, 從而控制康復(fù)手套的運動, 幫助患者手部功能恢復(fù)。
MYO肌電采集臂環(huán)(以下簡稱MYO臂環(huán))具有9自由度運動傳感器和8個干電極采集患者手臂表面肌電信號, 8個肌電信號采集電極可同時以200 Hz的采樣頻率采集患者前臂肌電信號。MYO臂環(huán)的詳細結(jié)構(gòu)如圖1a所示, 圖1中數(shù)字1~8分別為8個干電極的序號。在采集患者肌電信號時將MYO臂環(huán)佩戴在前臂距離肘關(guān)節(jié)約5 cm處, 并且將1號電極置于手臂內(nèi)側(cè)中線上, 穿戴方式如圖1b所示?;贛YO臂環(huán), 筆者采集了5種手勢的肌電信號數(shù)據(jù)集。相比于濕電極, 采用干電極的MYO手環(huán)佩戴方便, 不用剃除手臂表面汗毛和酒精擦拭。
a MYO臂環(huán) b 佩戴方式圖1 MYO臂環(huán)及其佩戴方式Fig.1 MYO armband and the way to wear it
肌電信號識別軟件負責(zé)準確識別患者手部的動作意圖。肌電信號識別主要分為兩部分, 首先進行肌電信號分類模型訓(xùn)練, 其次使用訓(xùn)練好的模型參數(shù)實時識別患者手部運動意圖。筆者使用基于CNN(Convolutional Neural Network)框架的手勢識別模型進行肌電信號識別, 將患者的肌電信號數(shù)據(jù)集的訓(xùn)練集和測試集進行特征提取后作為模型訓(xùn)練的輸入數(shù)據(jù)和測試數(shù)據(jù), 比例為3 ∶1。模型訓(xùn)練的結(jié)構(gòu)圖如圖2a所示。肌電信號實時識別軟件根據(jù)訓(xùn)練模型結(jié)構(gòu)搭建, 并用保存的模型訓(xùn)練參數(shù)進行初始化, 之后軟件接收MYO臂環(huán)實時傳輸?shù)膕EMG(Surface Electromyography)數(shù)據(jù), 對其進行特征提取, 由模型判斷信號所屬的手勢類別, 并通過串口將結(jié)果發(fā)送給控制器, 控制器輸出對應(yīng)的PWM(Pulse-Width Modulation)控制信號, 肌電信號實時識別結(jié)構(gòu)如圖2b所示。
a 模型訓(xùn)練的結(jié)構(gòu) b 肌電信號實時識別結(jié)構(gòu) 圖2 模型訓(xùn)練和實時識別軟件結(jié)構(gòu)圖Fig.2 The structure of recognition model training and real-time recognition
對肌電信號進行識別, 首先要獲得一定數(shù)量的肌電信號數(shù)據(jù)集用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù)。筆者采集一名手部偏癱患者左前臂sEMG?;颊卟捎脠D1描述的MYO臂環(huán)佩戴方法, 采集5種手勢肌電信號數(shù)據(jù)作為本研究的原始數(shù)據(jù)集。每種手勢采集60組數(shù)據(jù), 每組持續(xù)時間為20 s, 為防止肌肉疲勞, 每組數(shù)據(jù)采集之間患者休息20 s。5種手勢分別為: FIST、NATURE、OK、ROCK和MTF(Middle Three Flexion), 手勢的具體描述如圖3所示。
圖3 肌電信號數(shù)據(jù)集對應(yīng)的手勢Fig.3 Five gestures corresponding to the sEMG data set
對每種手勢數(shù)據(jù)隨機抽取其中的3/4作為原始訓(xùn)練集, 剩余的部分作為原始測試集, 原始訓(xùn)練集和測試集之間沒有交叉。文獻[19-21]提出, 分割肌電信號的窗口長度最好小于等于300 ms, 但實驗研究表明, 隨著窗口長度的減小, 肌電信號的識別準確率隨之下降, 因此筆者采取最大的分割窗口為300 ms, 窗口重疊長度為200 ms。在對原始訓(xùn)練集和測試集進行分割后分別得到44 550和14 850個樣本, 其中每個手勢都是等量均勻的。由于MYO臂環(huán)有8個采集通道, 采樣頻率為200 Hz, 根據(jù)窗口大小可得出每個樣本為8×60二維數(shù)值矩陣。對分割后的原始訓(xùn)練集和測試集的樣本進行特征提取后, 作為訓(xùn)練分類器模型的訓(xùn)練集和測試集。筆者對原始樣本的每個通道的信號提取時頻特征、 時域特征和頻域特征共32個特征, 其中時頻特征采用3層小波包變換提取第3層8個節(jié)點的能量特征, 并根據(jù)文獻[22]選擇18個時域特征和6個頻域特征, 將8個通道的特征組合即得到一個大小為8×32二維特征圖。
小波包分解是小波分解的拓展, 在多層分解中, 不同于小波分解只對低頻成分進行分析, 小波包分解對信號高頻成分也進行分析。對離散時間信號X(n), 將其與低通濾波器h(k)做卷積即得到信號的低頻系數(shù), 將其與高通濾波器g(k)做卷積即得到信號的高頻系數(shù), 再將低頻系數(shù)和高頻系數(shù)分別作為輸入信號即得到第2層分解的系數(shù), 依次類推可得到第3層的8個節(jié)點系數(shù)。以db3作為小波包變換的母小波, 其低通濾波器系數(shù)h(k)和高通濾波器系數(shù)g(k)分別為
對一個輸入信號X(n), 采用如下方式進行分解計算得到高頻系數(shù)和低頻系數(shù), 即
(1)
其中N和K分別為輸入信號和濾波器的長度。將式(1)中的f(j)分別替換為低頻濾波器h(j)和g(j)則可得到低頻部分LT(m)和高頻部分HT(n), 再進行二抽值得到實際的低頻系數(shù)A[i]和高頻系數(shù)D[j], 計算方式如下
A[m/2]=LT(m),m=0,2,…,N+K-1,D[n/2]=HT(n),n=1,3,…,N+K-1
(2)
由式(2)對各樣本的每個通道的信號分別做3層小波包變換, 可得到8個節(jié)點, 按頻率從低到高分別是AAA,DAA,ADA,DDA,AAD,DAD,AAD,DDD, 對每個節(jié)點系數(shù)求平方和即可以得到該節(jié)點的能量特征。
根據(jù)文獻[22]選取的18個時域特征和6個頻域特征如表1所示。對單個樣本8個通道的每個通道經(jīng)過特征提取可得到32個特征, 將32個特征組合為一個特征向量, 其中小波包能量特征按照頻率由低到高依次位于前8個位置, 其余特征按照表1的順序位于特征向量的后24個位置, 由此樣本的特征矩陣為8×32的數(shù)值矩陣。為了防止由于32個特征的量綱不同導(dǎo)致有些數(shù)量級較小的特征在學(xué)習(xí)時被忽略, 對樣本的特征矩陣按列進行灰度處理, 計算公式如下
表1 文獻[22]中18個時域特征和6個頻域特征
(3)
其中xi,j和fi,j表示位于特征矩陣第i行第j列的原始值和灰度處理后的值,aminj和amaxj分別表示第j列的最小值和最大值。
由于筆者將每個樣本進行特征提取得到其對應(yīng)的二維的特征矩陣, 可以將特征矩陣視為一個圖像進行識別。卷積神經(jīng)網(wǎng)絡(luò)在圖像識別領(lǐng)域具有非常強大的優(yōu)勢, 并且樣本在特征提取進行了灰度化處理, 作為圖片進行識別, 因此采用CNN模型作為本研究的分類模型。筆者所設(shè)計CNN模型包括4個卷積層、 2個池化層、 2個全連接層和1個輸出層, 由框架tiny_dnn進行搭建, 神經(jīng)網(wǎng)絡(luò)具體結(jié)構(gòu)如圖4所示。CNN模型訓(xùn)練是在64位Windows10系統(tǒng)下進行的, 程序集成開發(fā)環(huán)境是Visual Studio 2017, 計算機CPU版本為4核Intel i5-7200 U處理器, 內(nèi)存為8 GByte。
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 The structure of the convolutional neural network
卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練時采用adam梯度優(yōu)化算法學(xué)習(xí)網(wǎng)絡(luò)參數(shù)。對網(wǎng)絡(luò)的激活函數(shù), 筆者通過實驗進行選擇, 雖然修正線性單元(ReLU: Rectified Linear Unit)被廣泛用于深度學(xué)習(xí)網(wǎng)絡(luò)的激活函數(shù), 但在該網(wǎng)絡(luò)結(jié)構(gòu)中使用ReLU作為激活函數(shù)在訓(xùn)練過程中出現(xiàn)了特征消失的現(xiàn)象導(dǎo)致網(wǎng)絡(luò)無法學(xué)習(xí)到特征, 此時網(wǎng)絡(luò)分類結(jié)果和隨機猜測結(jié)果一致。文獻[17]在進行sEMG識別時其網(wǎng)絡(luò)采用了雙曲正切函數(shù)(TANH: Hyperbolic Tangent)作為激活函數(shù), 得到了較好的識別效果。因此本網(wǎng)絡(luò)除了輸出層, 其余各層均采用雙曲正切函數(shù)作為網(wǎng)絡(luò)每層的激活函數(shù), 輸出層5個神經(jīng)元為了輸出5種手勢的預(yù)測概率, 選擇softmax作為激活函數(shù)。
為了說明特征提取以及網(wǎng)絡(luò)結(jié)構(gòu)的有效性, 該網(wǎng)絡(luò)對采用不同的特征提取方法得到的特征圖分別進行識別訓(xùn)練, 經(jīng)過多次實驗, 卷積神經(jīng)網(wǎng)絡(luò)分類器在測試集上的平均準確率如表2所示。
表2 使用不同特征圖網(wǎng)絡(luò)的識別準確率
在表2中, 特征圖1僅使用筆者所述的小波能量特征提取方法, 因此對各樣本的每個通道得到8個節(jié)點能量特征, 8個通道組合即得到該樣本8×8的特征圖; 特征圖2僅使用根據(jù)文獻[25]選取的18個時域特征和6個頻域特征共24個特征, 特征圖2構(gòu)成方式和特征圖1相同, 并且特征圖1和圖2也按列進行了灰度處理;特征圖3使用組合8個小波包節(jié)點能量特征、 18個時域特征和6個頻域特征, 但不進行灰度處理;特征圖4是對特征圖3的灰度化處理。由表2可以看出, 網(wǎng)絡(luò)單獨使用小波包特征或時域和頻域特征的分類準確率沒有使用合成特征圖的準確率高, 進行灰度處理后識別率提高了0.6%。使用特征圖4訓(xùn)練的網(wǎng)絡(luò)對5個手勢識別的結(jié)果如表3所示。
表3中5個手勢樣本數(shù)均為2 970個, 第1行序號代表手勢的序號1: FIST、 2: NATURE、 3: OK、 4: ROCK、 5: MTF, 序號所在列的其余行代表該手勢判斷為5種手勢的數(shù)量和該手勢的分類準確率。
由表3可以看出, 對手勢2、3、5分類準確率達99%以上, 手勢1握拳的分類準確率為94.95%, 由于握拳和手勢2(手張開)手勢5(中間三指屈)調(diào)動的前臂肌肉比較類似, 故握拳被誤分類為手勢2和手勢5的概率較大, 手勢3和手勢4都包含大拇指屈, 故手勢4被分類為手勢3的概率較大。
表3 5手勢分類準確率
對分類器實時分類性能的評估, 使數(shù)據(jù)集對應(yīng)的患者按照采集數(shù)據(jù)集的位置佩戴MYO臂環(huán), 對每個手勢患者保持該手勢30 s, 每個手勢進行10次實驗, 用10次實時測試的平均準確率作為最終準確率, 實驗結(jié)果如圖5所示。由圖5可以看出, 各手勢在實時識別時準確率均有浮動, 手勢1~5的平均識別率分別為97.1%、95.6%、94.8%、97.5%和95.9%, 總體準確率為96.18%; 手勢1~5的識別率標準差分別為2.424 4、2.270 6、2.529 8、1.900 3和2.766 9; 由此可見模型的進行實時手勢識別的準確率保持很高的準確率, 準確率相對與模型訓(xùn)練測試集準確率下降1.9%。
圖5 5手勢實時識別準確率Fig.5 Recognition accuracy of five gestures
為了測試分類器在電極偏移時的分類準確性, 讓患者在上一個實驗的基礎(chǔ)上將MYO臂環(huán)沿著手臂內(nèi)側(cè)中線向手的方向平移5 cm, 對5個手勢做10次實驗, 實驗內(nèi)容同2.1, 實驗結(jié)果如圖6所示。由圖5和圖6可以看出, 在電極偏移的情況下, 手勢1~5的識別率分別為82.2%、93.0%、82.1%、92.0%和82.6%, 相較于原始位置識別率出現(xiàn)較大幅度的下降, 降幅為9.4%; 5個手勢10次識別實驗的準確率標準差分別為5.006 7、5.374 8、4.228 2、7.1647和1.837 9, 相較于上個實驗可以看出, 該實驗結(jié)果標準差相比2.1的實驗增大, 說明電極偏移會導(dǎo)致分類器識別準確率的不穩(wěn)定, 但從整體看, 電極偏移的情況下, 分類仍然具有較高的總體平均識別準確率, 為86.78%, 即模型的泛化性能良好。
圖6 電極偏移時各手勢的分類準確率Fig.6 Recognition accuracy of five gestures under the condition of electrodes displacing
筆者使用的數(shù)據(jù)集均采集自患者的左前臂, 因此本實驗讓患者將MYO臂環(huán)按照圖1佩戴方式佩戴于右前臂, 實驗內(nèi)容和實驗2.1及實驗2.2相同, 實驗結(jié)果如圖7所示。由圖7可得, 患者右臂5種手勢分類準確率分別為99.1%、87.0%、87.5%、88.2%和96.9%。相比于圖5實驗可見, 該實驗在手勢1和手勢5的結(jié)果優(yōu)于實驗2.1的結(jié)果, 并且這兩個手勢的分類標準差分別為0.875 6和2.233 6也比實驗2.1的結(jié)果好, 可見分類器在手勢1和手勢5上的泛化性能很好; 手勢2~4分類準確率相比于2.1有所降低, 并且標準差分別為3.771 8、 3.659 1和4.756 3有所升高, 分類器對這3個手勢的泛化能力有所降低, 但較電極偏移泛化能力稍強。
圖7 右臂5手勢分類準確率Fig.7 Recognition accuracy of five gestures of right arm
在實驗2.1的基礎(chǔ)上對外骨骼康復(fù)手套進行手勢控制實驗, 實驗總體結(jié)構(gòu)如圖8所示。其主要過程是患者左側(cè)小臂按照圖1方式佩戴MYO臂環(huán), 將實時采集的肌電信號發(fā)送給上位機手勢識別軟件進行運動意圖的識別, 上位機通過串口將手勢信號發(fā)送給STM32單片機, STM32根據(jù)手勢信號輸出相應(yīng)的PWM信號, 經(jīng)過驅(qū)動電路放大之后調(diào)節(jié)電磁閥的氣壓輸出, 進而控制康復(fù)手套的手勢動作。
圖8 康復(fù)手套系統(tǒng)整體結(jié)構(gòu)圖Fig.8 The structure of the rehabilitation glove system
該實驗讓受試者依次做出如圖3所示的5個手勢, 實驗結(jié)果顯示, 控制系統(tǒng)能控制康復(fù)手套做出相對應(yīng)的手勢, 康復(fù)手套實驗手勢動作如圖9所示。由于在實時識別軟件設(shè)置了手勢輸出判斷數(shù)組, 康復(fù)手套做出對應(yīng)的手勢會有一定的時延, MYO臂環(huán)采集60個數(shù)據(jù)點時間為0.3 s, 假設(shè)判斷數(shù)組的長度為n, 則總的時延T=0.3n(s), 該實驗設(shè)定n為3, 故手勢動作時延約為1 s。
圖9 康復(fù)手套的5個對應(yīng)動作Fig.9 Five corresponding movement of the rehabilitation glove
最后, 實驗讓受試者佩戴康復(fù)手套抓取一個空杯子, 如圖10所示。在康復(fù)手套的作用下, 受試者可以牢固的抓住杯子, 不會掉落。實驗結(jié)果顯示, 可以通過控制康復(fù)手套的氣缸進氣壓, 進而控制康復(fù)手套輸出的抓握力的大小, 為進一步的精細控制奠定基礎(chǔ)。
圖10 佩戴康復(fù)手套抓取杯子Fig.10 Grabing a cup with wearing the rehabilitation glove
通過MYO臂環(huán)采集患者小臂肌電信號, 利用基于卷積神經(jīng)網(wǎng)絡(luò)分類器識別手部運動意圖, 控制康復(fù)手套的運動, 幫助患者手部功能恢復(fù)。分類器在實時識別手部動作時保持很高的準確率, 并且在MYO臂環(huán)位置偏移和不同的手臂上表現(xiàn)出良好的泛化性能, 說明分類器在手勢識別的過程中具有較強的魯棒性。最后驗證了基于對肌電信號識別的康復(fù)手套運動控制, 實現(xiàn)了康復(fù)手套的手勢動作控制實驗和物體抓取實驗, 說明基于深度學(xué)習(xí)的神經(jīng)解碼方法控制康復(fù)手套的可行性, 為進一步研究智能康復(fù)手套奠定了基礎(chǔ)。