周旭峰,王醒策*, 武仲科, Vladimir Korkhov , Luciano Paschoal Gaspary
(1.北京師范大學 人工智能學院, 北京 100875;2.Department of Computer Modeling and Multiprocessor Systems,St. Petersburg State University (SPbSU), Saint Petersburg 199034;3.Institute of Informatics, Federal University of Rio Grande do Sul (UFRGS) 15064)
肌肉-計算機接口(Muscle-Computer Interface, MCI)系統是一種被廣泛應用的利用肌肉電信號進行人機交互的系統設計,也是虛擬現實、人機交互、人體仿生學等相關領域的熱門研究應用之一。而MCI系統是通過肌電提取設備獲取EMG(Electromyography)信號,通過處理信號,實現不同信號區分或根據信號所含信息進行其他生物學或醫學研究。本文以此為切入點,擬設計MCI系統進行EMG信號的手勢識別方法。
EMG信號在人體肌肉收縮與舒張過程中產生的相當復雜的生物電信號,其可以反應及記錄相應肌肉產生該運動時的活動狀況。由于EMG信號生物特征性明顯,過去常常應用于生物醫學領域,如臨床診斷及假體控制、功能性電刺激等[1]。直到近十年,利用表面肌電信號進行手勢識別為代表的人機交互研究才開始出現,但是由于表面肌電信號往往與信號檢測電極定位、肌肉疲勞情況、皮膚出汗及固有干擾信號等眾多因素相關[2],想要通過其進行準確地信號處理分類至今仍然是一個難題。
EMG信號獲取的常用方案是通過多電極記錄EMG信號來封裝固定區域內整體的肌電信號的時空信息以進一步對封裝信號進行處理[3],而這種信號整體封裝的實現主要分為兩類[4]:基于高密度的瞬時表面肌電信號(High-Density Electromyography, HD-EMG)封裝[5-7]與基于稀疏多通道表面肌電信號記錄[8-10]。HD-EMG是通過在皮膚表面特定區域內緊密排列眾多電極實現對相應肌肉群的信號采樣[6],信號精度較高,但是區域敏感性強,而且與皮膚狀態聯系密切[5],在運動量較大或佩戴不精準的情況下效果較差。而稀疏多通道的肌電信號采樣器由于感應器數量少且分布稀疏,獲取的信號精度沒有HD-EMG高,但是收集方便,研究表明只需要六通道就可以實現不同信號區分[11],采樣效率高,而且可以在各種場景下廣泛應用,最近相關研究也在迅速增多[12]。
深度學習方法是機器學習領域的一次革命,它在圖像處理[13],語音識別[14],人類活動識別[15]等多個方面取得了巨大的成功。受到這些成功的啟示,近兩年內一些研究者已經開始提出應用深度學習方法來處理MCI系統中EMG肌電信號手勢識別問題。例如Atzori等人采用類LeNet的CNN網絡對NinaPro數據庫中的手勢進行分類[16]。Geng等人則采集了8類高密度肌電信號(HD-EMG)并利用CNN網絡進行分類[4]。WentaoWei等人同樣提出了一種兩階段多流CNN框架并根據高密度肌電信號識別不同手勢動作[17]。這些基于深度學習的方案大都是側重利用不同的CNN網絡對高密度肌電信號(HD-EMG)進行分類識別,這是由于高密度肌電信號可以生成瞬時肌電信號圖像,便于CNN網絡處理,而稀疏多通道的EMG肌電信號缺少圖像特征,是一種時間序列信號表示,研究者們通過記錄一段時間內的瞬時肌電信號轉化為圖像后采用CNN方案識別,尚少有人利用RNN網絡對稀疏多通道序列信號進行識別。
本文研究通過對不同手部動作EMG信號采樣,對信號處理后識別不同手勢。該研究建立于一個自行設計的MCI系統上,系統能端到端地完成信號收集及手勢識別過程。該系統還可以作為完整的人機交互接口,只需要進一步開發便可以實現更多操作如手勢控制游戲、操控3D模型等。本文的主要創新與成果有:
(1)實現了基于MYO臂環的稀疏多通道EMG肌電信號手勢識別MCI系統,并通過Python程序實現實時手勢識別。
(2)提出了兩種基于多類信號特征的組合 RNN框架,將框架應用在MCI系統中可以對稀疏多通道的序列EMG信號進行有效分類。
(3)收集了10類共8 053個動作的稀疏8通道EMG肌電信號,構造了基于MCI的手勢識別數據集,該數據集可以應用于更廣泛的序列肌電信號研究。
本章節主要對手勢識別常用方案及相關研究進行介紹,著重對應用深度學習思想的研究進行分析,同時探討RNN網絡架構在序列數據識別方面的應用,以延伸至本文的研究方案。
手勢識別是虛擬現實、人機交互的核心技術之一,Cheok等人對近期手勢識別技術進行過全面回顧,指出手勢識別方法主要分為基于視覺的與基于傳感器兩類[18]。基于視覺的方法通過單一相機[19],多相機[20],主動技術如Kinect[21]、LeapMotion[22]等捕獲RGB圖像[23]或三位深度通道[24]進行手勢識別。基于傳感器的手勢識別方案則是通過各類傳感器[25]來捕獲手部動作、位置與速度等信息來識別不同手勢,常見傳感器有慣性測量單元(IMU)[26],彎曲傳感數據手套[27],Wifi[28]、雷達[29]和EMG肌電信號感應器[30]等。
相較于其他手勢識別方法,基于EMG肌電信號的MCI手勢識別系統具有獨特優勢:(1)和基于視覺的手勢識別相比,EMG信號對環境不敏感,背景紋理[31]、顏色和照明[32]都會極大的影響基于視覺的手勢識別,MCI系統甚至可以輕松在無光照環境中工作。(2)和數據手套等彎曲傳感器相比,MCI系統有廣的空間適應力,它可以在戶外、室內等各種場合輕松使用。
從信號分類方法角度來看,MCI系統中基于EMG信號的識別方案主要分為兩類。
第一類是基于傳統模式識別方法MCI手勢識別過程,包括信號獲取,預處理與分割,特征提取及分類器分類四部分[33]。針對特征提取部分,由于肌電信號是時序信號,常用方法是從時域、頻域或時頻域提取不同信號特征加以處理[34],例如Zainal Arief等研究者通過MYO臂環獲取信號評估了平均值絕對值、方差、威爾遜幅值、波長累積變化及零交叉等五類時域特征對于識別手勢識別的效果[8]。Guan-Chun Luh等研究者則通過離散小波變換分解了四層小波分量,并使用小波系數絕對值均值與標準差等時頻域信息使機器人手掌能夠模擬不同手指姿勢[9]。為了識別不同手勢,提取特征后分類器選擇成為了關鍵,有很多經典的分類器被廣泛應用,如隱馬爾可夫模型(Hidden Markov Model, HMM)[35],高斯混合模型(Goussian Mixed Model, GMM)[36],線性判別分析(Linear Discriminant Analysis, LDA)[37],支持向量機(Support Vector Machine, SVM)[38],隨機森林[39]等。
第二類是基于深度學習的方法[40]。Atzori等人修改類似LeNet的CNN網絡對NinaPro數據庫中的手勢作進行分類,平均分類準確率達66.69%,結果表明大型網絡很可能提高EMG信號分類精度[16]。Geng采用8層CNN網絡對EMG信號進行識別,利用多幀結果進行投票表決提高準確率,根據瞬時高密度肌電信號(HD-EMG)圖像信號進行測試,CSL-HDEMG數據庫的識別精度達96.8%,CapgMyo數據庫的識別精度達99.5%,最后在稀疏多通道EMG信號NinaPro數據庫的識別精度達77.8%[4]。WentaoWei等人進一步提出了一種兩階段多流CNN框架同樣在相關基準數據庫測試,其中在NinaPro數據庫中的識別準確度達85%,識別效果較之前研究顯著提升[17]。
EMG信號是一個和時間相關的序列信號,因此可以考慮利用循環神經網絡(Recurrent Neural Networks, RNN)進行時間序列信號識別的方案[41],該網絡的存儲單元(Memory cell)設計可以讓網絡記住過去的狀態,從而輸出不再只依賴于當前輸入,而是與整個輸入序列都相關[42]。RNN通常應用于序列處理任務,例如機器翻譯或語音識別[43],但它們也可以用于分類,因此在手勢識別域中應用RNN也是一種方案。Chen等提取手指運動特征與全局運動特征,然后將這些運動特征與骨架序列一起輸入雙向遞歸神經網絡(Recursive Neural Network, RNN),最終識別率達89%[44]。Murakami等利用數據手套收集了16維輸入,并應用RNN處理,準確地(識別率96%)識別了10種不同的日語手勢[45]。Vamplev等使用三維輸入表示手在電子手套中的位置,并利用閾值限定來檢測動作開始與結束,結合RNN區分16個手部動作,平均準確率達98.9%[46]。Maraqa等對視頻流中彩色手套定位檢測進行阿拉伯手語進行識別,使用RNN進行識別,準確率達95.11%[47]。而Songbin Xu等人則在不使用手動特征選擇和提取地情況下,僅針對波動序列進行LSTM-RNN分類識別,在7個簡單動作上識別性能超過90%[48]。這些研究表明RNN在手勢分類上也有不俗表現,但是他們使用的數據源基本是動作位置變化等空間特征,這類信號采集較難且必須在特定環境中收集。深度學習在計算機視覺[49-50]和自動控制[51]領域具有系列有效成果的啟發,而現在階段很少有人使用EMG肌電信號進行RNN分類研究,這是本文研究的突破點。
本文主要研究基于稀疏多通道EMG肌電信號的手勢識別方法,步驟包括EMG信號獲取與預處理,時間序列信號時域、時頻域特征拓展方法,以及設計合理的深度神經網絡分類器進行手勢分類研究。同時為了研究方便與研究成果快速應用,還設計了一個基于EMG信號的MCI手勢識別系統,可以方便快速地進行實時手勢識別過程。MCI系統設計如圖1所示。

圖1 MCI系統設計框圖Fig.1 Framework of the MCI system
鑒于MYO臂環的通用性與有效性,選擇MYO臂環采集數據:用戶佩戴MYO臂環于手臂高位處,可以獲取8通道時序EMG肌電信號,使用Python程序記錄與處理這些信號。具體包括實時信號記錄,移動平均法分割活躍動作信號,在時域、時頻域多類進行序列特征拓展,獲得多流序列信號輸入組合RNN網絡進行分類。為了評估該MCI系統的有效性,一共收集了10類動作,選擇了35位實驗人員(20位女性,15位男性)進行了人群泛化性實驗。為了使不同肌電感應通道獲取到手部運動相同肌肉群產生的EMG肌電信號,限制所有實驗人員佩戴MYO臂環于右手手臂,且第4通道與右手中指對齊。本研究聯結了RNN網絡與EMG信號識別工作,設計了組合RNN網絡用于分類,并根據稀疏多通道的EMG信號進行不同手勢識別,探索了MCI系統的一種全新的設計方式。
本文提出了一種基于EMG信號的MCI手勢識別系統:通過MYO臂環獲取EMG信號并進行動作分割等預處理,利用時域、時頻域特征處理方法提取多流信號序列特征以拓展原始信號表征能力,并根據不同輸入特征序列結合組合RNN網絡進行分類。本章主要對MCI系統中EMG信號的相關部分展開,主要分為信號獲取與處理兩部分。
加拿大創業公司于2013年推出的MYO臂環,通過內置8塊環繞肌電信號感應器實現了稀疏多通道EMG信號獲取。由于臂環便宜、佩戴方便、無創傷,并且可以應用于實際肌電信號研究[4],本文通過MYO臂環提取MCI手勢識別所需的肌電信號。MYO臂環內置8個肌電感應器和1個含有加速度計,陀螺儀和磁力計的慣性測量單元(Inertial Measurement Unit, IMU),其工作原理主要是通過捕捉用戶運動時手臂肌肉的生物電變化,并通過藍牙與計算機、手機等設備連接,配合手臂的物理動作監控實現人機交互。MYO腕帶里設置了肌肉電感應電極,使其能夠在用戶做出伸縮手勢時讀出肌肉的生物電信號,并將信號以藍牙傳輸的方式傳送給電子設備。與醫療電極不同的是,MYO肌電感應電極不會直接接觸皮膚,用戶只需將腕帶隨意套在手臂上即可,是非常方便的一類交換設備。因此,MYO臂環可以作為MCI系統的中介,形成完整的MCI系統,使得人類可以輕松通過表面肌肉電信號自然地與計算機進行交互,同時還可以應用到更多更廣泛的其他研究或系統開發中。
MCI系統通過MYO臂環獲取人類手部運動產生的8通道稀疏EMG肌電信號,信號幅值限制于-128~127之間,采樣頻率約190~200 Hz(MYO臂環無法固定采樣率)。共設計了10個手勢,分別如圖2所示。

圖2 十個預定義手勢Fig.2 Ten pre-defined gestures
由MYO臂環獲得的EMG信號是連續的時間序列。為了識別不同動作,首先需要從連續序列中分割出單個有效活躍動作片段,本文采用移動平均技術[52]實現有效動作分割。
EMG信號是非平穩信號,為了區分活躍信號區間,需要對原始信號加窗處理,為了使數據更穩定,窗長取80時間步(約400 ms),并計算8通道信號絕對值均值作為該窗信號強度,最后通過閾值限定標記動作起點與終點,從而提取活躍動作。圖3是從連續序列中提取單個動作的示意圖。
本文研究通過Python程序實現了數據獲取與動作分割兩步,即數據集中每個動作的EMG肌電信號是動態獲得的,經過分類器處理后,程序可以實時識別不同動作。在完整的MCI系統中,從單個動作完成到被識別大約延遲61 ms,即在實際使用過程中延遲幾乎不可察覺。

圖3 預處理及動作分割示意圖Fig.3 Preprocessing and Motion Segmentation
注意到集成學習在機器學習領域有很多有效應用[53],同時傳統模式識別過程中存在許多特征提取提取方法,受到兩者啟發,本研究通過修改特征提取方法對原始數據進行拓展,獲得原始數據多種表達,將其統稱為特征拓展,拓展后獲得多流數據。
加窗處理是一種通用的序列數據處理方式,為了在時域空間拓展原始數據表達,本文采用加窗處理獲得每一幀數據,再對單幀數據運用時域特征提取方法獲得該幀信號特征表達。與傳統特征提取方法相比,特征拓展后的數據仍為變長的序列數據,而非固定維度的統計特征。
(1)均值拓展。
(1)

(2)標準差拓展。
(2)

(3)波長變化拓展。
(3)

對于非平穩的EMG肌電信號,時域序列不能刻畫所有特征,進一步利用離散小波變換(dwt)提取信號時頻域特征。目前尚缺少明確理論指導小波基函數選擇[54],本文采用實驗法確定合適的小波基函數Symlets4 (Sym4),該小波基如圖5(a)所示。

圖4 原始信號時域特征拓展結果Fig.4 Result of original signal time domain feature extension

選擇level=3層進行小波變換,可以獲得原始信號的1層低頻系數和3層高頻系數,具體分解順序見圖5(b),原始信號小波分解拓展如公式(4)所示:
(4)
原始信號經小波變換后,獲得4層小波變換系數,圖6是小波變換結果。
為了充分獲取原始信號頻域特征,利用離散傅立葉變換提取原始信號頻域特征,其計算方法如下:
(5)
由于傅立葉變換具有對稱性,最終特征拓展序列只取前一半序列作為有效結果。通過在時域、時頻域對原始信號進行特征拓展后,原始信號的獲得了9種表示,可以作為RNN網絡輸入的多流數據,表1是所有數據拓展統計描述。

圖6 原始信號時頻域特征拓展結果Fig.6 Result of original signal time -frequency domain feature extension
表1 原始信號特征拓展序列描述
Tab.1 Original signal feature extension sequence description

特征拓展數據流符號表示長度無拓展原始信號ST時域拓展均值拓展SavgT-N標準差SdevT-N波長變化SwlcT-N時頻域拓展小波低頻系數Sdwt1約T/8小波中低頻系數Sdwt2約T/8小波中高頻系數Sdwt3約T/4小波高頻系數Sdwt4約T/2時域拓展離散傅立葉變換Sfft約T/2
MYO臂環獲取的序列數據數值較大,直接作為輸入容易導致RNN神經網絡無法收斂,在特征拓展之后,需要對拓展所得多流輸入序列進行標準化,標準化方法如式(6),式(7)所示:
(6)
(7)

組合RNN網絡是本文所研究算法的核心,該網絡是建立在多流特征拓展序列的基礎上的,即原始信號存在多種不同的表達,因此采用組合RNN網絡可以連接這些表達。本章主要提出相關組合RNN網絡算法,用于處理多流特征拓展序列。
有別于卷積神經網絡,循環神經網絡共享參數的設計理念使得網絡擁有了記憶能力[55],當前網絡狀態不止受當前輸入的影響,過去的輸入也會因為參數共享對其產生影響。因此RNN對于前后存在關聯的序列數據有很好的處理能力,本文的研究即應用RNN網絡來處理EMG肌電信號序列。但最基本的RNN單元存在一個極大的問題:長時依賴問題[56],即RNN網絡總是傾向于只記住與當前輸入臨近的輸入,而過去長時間的輸入往往容易被遺忘。
解決序列信號長時依賴問題的一個有效方案是修改RNN單元結構,LSTM單元便是為此而設計的,它通過相關門控制修改RNN單元結構,使其具有長期記憶能力,圖7是LSTM單元示意圖。

圖7 LSTM單元設計Fig.7 LSTM Unit Design
具體計算過程如下:
ft=σ(Wf·[ht-1,xt]+bf),
(8)
it=σ(Wi·[ht-1,xt]+bi),
(9)
(10)
(11)
ot=σ(Wo·[ht-1,xt]+bo),
(12)
ht=ot*tanh(Ct),
(13)

本文研究采用RNN網絡處理不同特征拓展序列,由于訓練樣本有限,網絡結構不宜過于復雜,經過完備的對比實驗,具有最佳結果的RNN網絡為雙層設計,每層各有50個隱藏單元,每個隱藏單元獨立結構為LSTM單元,具體如下圖8。

圖8 RNN網絡結構Fig.8 RNN network structure

原始數據特征拓展后獲得多流特征序列S,Savg,Sdev,Swlc,Sdwt1,Sdwt2,Sdwt3,Sdwt4,Sfft,每一組單流序列都能獨立地代表原始信號特定特征,即單流序列均可作為手勢分類的信號,這些原始信號多流特拓展可以增強識別結果,本文針對多流特征拓展序列提出了兩種組合RNN網絡處理方案。
6.3.1 多特征異步訓練的組合RNN網絡
原始信號單流特征拓展數據是不定長序列,選擇RNN網絡進行分類。因此對于多流特征最直觀的解決方案是,根據不同輸入序列,訓練不同的RNN網絡驗證單流效果。進一步將多流輸入的RNN網絡輸出疊加,再次單獨訓練一個全連接網絡進行分類。具體方案如下圖9所示。
錢納里將工業化進程分為三個發展時期,包括六個階段:第一個時期以農業經濟為主導,屬于前工業化階段;第二個時期以工業經濟為主導,是工業化實現和經濟高速發展的階段,該階段又劃分為工業化初期、工業化中期和工業化后期三個階段;第三時期以服務業為主導,是經濟穩定增長的階段,劃分為發達經濟初級期和發達經濟高級期兩個階段。參照錢納里與庫茲涅茨的評價指標體系,本文選取人均GDP、三次產業結構、三次產業就業結構和人口城市化率作為衡量工業化發展水平的指標。
異步訓練的組合RNN網絡核心是處理多流特征拓展序列[1, 2, 3,…,k],其中對于每一流輸入序列,都采用圖8所示RNN網絡結構處理,該網絡直接輸出也是序列,需將輸出序列壓縮至一維序列,即進行Many to One變換。變換方法是取輸出序列均值作為網絡最終輸出,對應圖中均值池化輸出。再將多流序列的均值池化輸出連結,輸入由4個全連接網絡構成的全連接層,圖中括號中數字表示全連接網絡節點數。本研究是10種手勢分類問題,全連接層最終輸出為10維,可直接采用Softmax方法實現分類預測。
6.3.2 多特征同步訓練的組合RNN網絡
異步訓練的組合網絡需要針對每個特征拓展數據流進行多次訓練,訓練過程繁多且較為復雜,在特征拓展序列較少且訓練樣本不多的情況下尚可較快實現,但是一種更優設計思想是對多流特征拓展進行同步訓練,這樣可以顯著減少網絡訓練步驟,本文同時提出并實現了同步訓練的組合RNN網絡,如圖10所示。

圖9 異步訓練的組合RNN網絡結構Fig.9 Asynchronous training combined RNN network structure

圖10 同步訓練的組合RNN網絡結構Fig.10 Synchronous training combined RNN network structure
同步訓練的組合RNN網絡同時接收多流(k流)特征拓展序列輸入,并采用k個結構相似的RNN網絡同時處理這些多流序列,對每一流網絡輸出序列進行均值池化,獲得單流RNN網絡結果輸出。與異步訓練的組合RNN網絡相比,同步訓練的RNN網絡對于多流序列輸入,不進行輸出組合及全連接訓練,而是直接進行Softmax變換得到k個多流輸入的預測概率,并將所有預測概率相加作為最終預測概率,從而得到預測結果,完成手勢識別過程。其中,在同步訓練的組合RNN網絡中不進行全連接層訓練,因為全連接網絡參數較多,在小樣本訓練集中,同步訓練會干擾每個RNN網絡參數優化過程,所以在同步訓練方案中去除全連接層,采用類投票的概率疊加進行網絡設計。以上兩種組合網絡訓練,均選擇softmax交叉熵損失函數[58],并添加L2正則約束,優化器為Adam優化器[59]。
MCI系統核心評估指標是系統手勢識別準確率,在本節中,我們設計了多類實驗對本文所提出的兩種組合RNN網絡進行了詳細評估。首先驗證算法有效性,單獨的算法效果檢測需要完備訓練集與測試機,因此數據選擇是用戶依賴的,即訓練與測試的數據來源于同一個用戶不同時間做出的動作,這樣選擇可以顯著減小不同用戶的信號原始采集差異,如位置、力量強度等。組合RNN網絡的優點更應該體現在其實現的MCI系統泛化性強,即非用戶依賴時依然能取得優異表現,因此用戶獨立的算法泛化性需要分離訓練與測試數據用戶,這更符合真實的MCI系統應用,因為通用MCI系統需要新用戶友好性。經過兩方面驗證,最后是完整的算法實踐,即MCI系統測試。
為了評估本文所提出特征拓展序列對原始信號的表達能力,驗證組合RNN網絡結構的效果,對數據庫內所有有效動作進行5折交叉驗證,同時分別將單個RNN網絡分類結果與組合RNN結果分類結果進行對比,來確定不同特征序列及網絡結構的有效性。具體方案為:5折交叉驗證1∶35位被試每人都操作10類動作約20次,每次驗證將每位被試各類動作按4:1的比例分為訓練集與測試集,其中5次交叉驗證訓練集間無交叉,5次訓練集并集為完整數據集。
用戶依賴的算法有效性驗證非本文研究重點,選擇易于訓練的同步訓練的組合RNN網絡進行測試,表2是采用該方案不同特征流序列識別結果。

表2 原始數據同步訓練組合RNN網絡5折交叉驗證結果
根據上表,同步訓練的RNN網絡5折交叉驗證實驗中本文所提算法識別率較為穩定,其中原始信號s,dwt4,avg三類特征拓展5折識別率標準差大于10%,整體而言5折驗證結果相差不多,所有手勢識別準確率為90.78%,即絕大部分手勢都可以被正確識別,算法是有效的。同時,多流數據中不同特征拓展信號表達能力不同,其中表現時域標準差(std)拓展表現較好,準確率達到了84.44%,而原始信號(s)、波長變化(wlc)結果較差,識別準確率較低。
從時頻域方面考慮,識別結果較好的特征拓展是小波變換高頻系數識別結果略優于小波低頻系數,可以看到原始信號有效頻率更多分布在高頻部分,而且所有數據識別準確率隨著從小波低頻系數到小波變換高頻系數逐漸增大,由最低72.20%增加到78.39%,小波高頻系數包含增強分類效果的信息。
通過算法有效性驗證,可以看到該組合RNN網絡結構可以對稀疏多通道EMG信號進行有效分類,交叉驗證分類準確率達90.78%,并且在小樣本量時下也有較好表現。進一步,不同的特征拓展方案對識別準確率有不同影響,使用組合RNN網絡方案可以較好地提升識別結果。由于尚少有研究者利用RNN網絡進行稀疏多通道EMG信號分類研究,而深度學習相關的EMG信號分類研究主要集中在采用CNN網絡對瞬時肌電信號分類,與稀疏多通道信號相異,所以用戶依賴的實驗中,本文采用傳統算法SVM算法進行對比測試。
SVM算法[60]:該算法選擇原始信號8通道絕對值均值作為相應通道特征,進行相同的5折交叉驗證,結果顯示在小樣本下SVM算法也具有優良表現,下表4是每個動作識別結果。采用SVM分類方法,在用戶依賴的情況下進行完整訓練集五折交叉驗證,平均識別準確率達84.35%,識別結果較同步訓練的組合RNN方案差。由此可見,對于用戶依賴時,SVM算法也可以區分不同動作,且準確率近85%。

表3 所有動作識別結果混淆矩陣

表4 用戶依賴時SVM算法識別結果
人體表面EMG信號是生物電信號,個體差異性大,受身高、體重、性別、情緒、是否接受過訓練等眾多因素影響。雖然在訓練集中加入個人動作,可以減小個體差異影響,但實際MCI應用系統中,系統初次使用者信息往往并未加入訓練集,而在訓練集樣本有限時,MCI系統魯棒性尤為重要。因此本文進行了用戶獨立的人群泛化性驗證實驗。其中為保證用戶獨立,進行數據集5折交叉驗證2。將35位被試均分為5組,每組被試7名。每次驗證時選擇其中4組28人所有動作作為訓練集,另一組7人所有動作作為測試集。在劃分好訓練集與測試集后,采用不同方案進行完備的人群泛化性實驗。
7.2.1 異步訓練的組合RNN網絡實驗結果
原始數據5折劃分,每一折劃分又經過9類特征拓展,共進行45次異步RNN網絡訓練;進一步將9類特征拓展序列的RNN網絡輸出結果組合,進行5次全連接層參數訓練,從而獲得最后的異步訓練組合RNN網絡結果。異步訓練時,每一流特征拓展都可以達到各自分類最佳結果,表5是各類特征在全部數據集中的加權識別結果。
表5 非用戶依賴異步組合RNN網絡各類特征拓展識別結果
Tab.5 Non-user-dependent recognition results of expand features using asynchronous combined RNN network

序號特征PrecisionRecallF1score0原始信號75.4775.3575.361均值72.3071.9671.962標準差72.7872.2372.433波長變化72.1971.8571.974dwt160.6060.3860.425dwt260.9560.4660.636dwt360.9660.8860.837dwt461.0760.5160.678fft52.9653.2353.019融合(FC)78.3378.0178.10
表結果與同步訓練的RNN網絡有一定區別,主要表現為時域特征拓展結果顯著優于時頻域、頻域特征拓展,對此一個可能的原因為原始數據采樣率較低,頻率失真嚴重,因此時域特征拓展更優。

圖11 異步訓練的組合RNN網絡識別結果Fig.11 Recognition results of asynchronous training combined RNN network
采用異步訓練的組合RNN網絡的最終識別結果如圖11所示,異步訓練的組合RNN網絡在所有數據集中,5折交叉驗證準確率為78.01%,其中外揮、內揮、握拳、響指四個動作的區分度最高,即在非用戶依賴時,以上4個動作仍然較易區分。而混淆識別主要發生在勝利-否認、舒張-抓握、停留-否認之間,這3種情況中動作兩兩之間主觀肌肉牽拉感相近,由此消除用戶依賴的方法可以從考慮,即增強相似動作區分度。
7.2.2 同步訓練的組合RNN網絡實驗
本研究進一步測試了同步訓練的RNN網絡,網絡所有參數是一次訓練即可獲得,由于原始數據進行了5折劃分,所以一共5次參數訓練。相較于異步訓練的組合網絡方案,該方案訓練效率顯著增強。
用戶依賴的算法有效性驗證的實驗中,雖然不同特征序列拓展方案對準確率影響不盡相同,但是組合RNN網絡融合所有特征序列可以有效增強識別結果。這一結論在人群泛化性實驗中依舊成立:即在不使用自身手勢做訓練時,不同特征序列拓展都可以表征原始信號用于手勢識別,且融合多特征拓展序列的RNN網絡識別結果顯著提升。
圖12中選擇展示了3流特征序列拓展與最后組合方案的個體識別結果,可以看到組合識別結果是最佳的,同時波長變化特征拓展(wlc)識別結果仍舊最差。本文MCI系統人群平均識別準確率為77.13%,但是個體差異較大,大部分個體動作識別準確率均超過70%,其中6,16,21號3名被試識別準確率低于60%。同步訓練的組合RNN網絡最終識別結果如圖13,該結果與異步訓練的網絡識別相近,最終識別準確率相差僅0.88%,而且不同動作之間的區分情況也高度類似,存在相同的區分手勢與不易區分手勢。由此異步訓練的組合RNN與同步訓練的RNN網絡表現相近,兩者一定程度上可以相互替代。

圖12 不同被試多流數據識別結果Fig.12 Multi-stream data recognition results of different users
7.2.3 SVM識別結果
為了進一步比較本文所提出基于循環神經網絡算法有效性,對于非用戶依賴數據繼續測試傳統SVM算法,其中特征選擇部分增加采樣,即每通道數據分段,取多次均值作為通道特征。該算法識別結果如圖14所示。

圖14 非用戶依賴SVM算法識別結果Fig.14 Non-user-dependent recognition result of SVM algorithm
在非用戶依賴情況下,傳統SVM算法識別準確率也呈現下降趨勢,最終準確率只有70.96%,顯著低于基于深度循環神經網絡的識別結果,由此本文所提出的組合RNN網絡在非用戶依賴時有效性高于傳統SVM算法。
MCI系統一般需要良好的人機交互體驗,實時性也不可忽略,考慮到某些特征拓展如波長累積變化(Wlc)對準確率影響不大,本文從提出的多流特征拓展方案中選擇其中小波中高頻、小波高頻、標準差、原始信號四流特征序列進行組合,并采用所有數據訓練了用于實時識別的同步訓練的組合RNN網絡,進行了實時識別測試。
選擇了3名被試每位被試每個動作進行操作10次,共計300個實時動作。其中被系統有效檢測到的有效動作為296個,2.1節所提出的動作分割方案準確率為98.66%,完成每個動作到動作被識別延遲時間為61.7 ms,系統實時性高,3名被試動作識別時間如下表6;所有有效動作中,被準確識別的動作有243個,具體識別結果如下表7,實時動作識別準確率為82.09%,MCI系統準確性好。
表6 3名被試不同動作識別時間
Tab.6 Different action recognition times of three participants

(ms)

表7 實時識別結果
文章一共設計了3類實驗,從不同方面對本文研究所提出的算法及系統設計進行驗證,區分了不同特征拓展序列對原始信號表達能力而且進一步通過人群泛化性研究分析了算法對個體差異性的處理能力,并分析同步與異步訓練的組合RNN網絡結構有效性與結果相近性,最后通過實時測試評估MCI系統的效果。根據結果分析可以發現,不同特征拓展序列都能表達原始信號,且大都比原始信號序列有效,其中時域標準差拓展結果最優。兩類組合RNN網絡框架都能有效提升識別效果,最終識別準確率超過90%;同時組合RNN網絡泛化性能較好,在人群中識別準確性達到78.01%;本文所提出的兩個組合RNN網絡方案在識別結果上具有相近性,兩者準確率無明顯優劣,為了訓練效率,同步訓練的組合RNN網絡更適合廣泛應用;而且本文所設計的MCI系統具有實時性與有效性,以此為基礎可以應用于更多其他研究。
本文提出了基于RNN網絡的稀疏多通道EMG肌電信號MCI手勢識別系統,系統通過對原始信號進行時域、時頻域特征拓展,獲得含有原始信號信息的多流特征序列,再采用組合RNN網絡將多流特征序列結合,獲得最后識別結果。在本研究收集的數據庫中進行用戶依賴的算法有效性測試,識別準確率達90.78%,絕大多數手勢均被準確識別;兩類組合RNN網絡在用戶獨立的人群泛化性方面都表現良好,能顯著降低用戶個體差異,平均識別準確率達78.01%,兩種組合方式識別結果無明顯差異,準確率相近,但是同步訓練的組合RNN網絡更易于訓練,因此更適合廣泛應用。基于同步訓練的組合RNN網絡實現的MCI系統實時性好,可以在61.7 ms內完成實時動作識別,平均準確率達82.09%。
基于所有實驗結果,組合RNN網絡在稀疏多通道EMG信號識別方面有良好效果,而且在用戶獨立時,算法分類效果顯著優于傳統SVM算法,由此拓展了深度學習方法在EMG信號識別方面的研究。同時基于RNN網絡實現的MCI系統保留有較高的實時性,而且識別率顯著提升,本研究提出的獨立的MCI系框架可以進一步拓展應用到其他研究。