文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.191336
中文引用格式: 李趙春,顧權,王玉成. 基于肌電信號稀疏特征的手勢識別方法研究[J].電子技術應用,2020,46(4):82-88.
英文引用格式: Li Zhaochun,Gu Quan,Wang Yucheng. Hand gesture recognition using sparse feature based on electromyography signal[J]. Application of Electronic Technique,2020,46(4):82-88.
0 引言
人機交互技術是實現未來協作機器人人機共融智能的主要研究方向,其中基于肌電信號的手勢識別是人機交互領域中重要組成部分,是國內外實驗室研究的熱點項目之一[1]。表面肌電信號(sEMG)是一種肌肉收縮時產生的生物電信號[2],能夠直接反映出肌肉活動的狀態,通過對sEMG進行分析可以準確地識別出手勢動作,而且sEMG具有信息容量大、實時性強等優勢[3],在智能假肢[4]、上肢康復外骨骼[5]、機械臂控制等人機交互中有很好的前景。
正確識別手勢動作的關鍵技術之一在于有效特征的提取。常用的sEMG特征是提取一系列時域特征、頻域特征、聯合時頻分布特征、非線性特征[6-7]以及一些參數模型特征。PHUKPATTARANONT P等[8]針對sEMG使用了主成分分析、線性判別分析和譜回歸極限學習機等6種特征提取技術,并對比了6種特征提取算法的性能。此外,稀疏編碼技術受到了廣泛的關注,并成功應用到圖片識別、壓縮感知和信號去噪等領域中。WHITAKER B M等[9]將稀疏編碼引入心音分類中,利用快速傅里葉變換將心音信號從時域轉化到頻域,忽略頻譜的負頻率和相位,然后根據稀疏字典得到統計學上重要的稀疏系數特征,將稀疏系數取平均數的同時融合時域特征進行綜合分類,可得到比單一的稀疏特征更好的分類效果。此外,該團隊還對雞鳴啼的聲音信號進行分析[10],采集健康與患有支氣管炎的兩類雞鳴聲音信號樣本,將雞鳴音頻文件轉化為頻譜圖,利用稀疏編碼得到每個譜圖列分解為字典元素的稀疏組合,對兩類雞鳴信號有97.85%的識別率。DING S等[11]采用局部時態稀疏貝葉斯算法作為新的學習工具,利用壓縮感知理論將sEMG映射到低維空間,提取sEMG的稀疏特征,十個手勢動作可獲得89.4%的準確率。
為了提高基于sEMG手勢識別的數目和識別精度,本文提出一種融合稀疏表示特征和時域特征的多手勢識別方法。其中sEMG由4個通道的設備采集得到,手勢共包含16種動作,使用KSVD算法提取sEMG的稀疏特征,將稀疏特征與時域特征融合后使用SVM算法進行手勢識別分類。相比單一稀疏特征用作SVM訓練分類,融合時域特征增加了手勢的識別精度。實驗結果表明,該方法對多種手勢有較高的識別率。
1 方法
本文提出的方法主要包含三個步驟:sEMG動作單元端點檢測、樣本的稀疏表示和SVM識別分類。動作單元端點檢測利用雙閾值算法[12],根據短時能量和過零率檢測出sEMG中手勢動作的起始點和終止點從而提取有效的用于稀疏表示和識別分類的活動段。樣本的稀疏表示包括學習字典的初始化、利用KSVD算法更新字典[13-14]和OMP算法[15]計算稀疏系數。最后,融合稀疏特征與時域特征,訓練SVM并進行分類[16-17]。
1.1 動作單元端點檢測
動作單元端點檢測也稱為信號的活動段檢測,就是檢測手勢動作的起始點和終止點,分割出優質的活動段有助于提取更為有效的動作特征和提高分類識別。雙閾值算法是基于短時平均能量和短時過零率進行檢測的,原理是當無手勢動作時短時平均能量很小,動作越大則能量越大;同時當活動頻率越高則短時過零率越大,結合兩者特征可以用來找到信號的活動區域。
首先利用滑動窗口對sEMG樣本數據進行分幀。計算每一幀的能量和過零率,短時平均能量計算公式為:
其中,X(N)表示某幀的信號序列,L表示幀長,N表示幀內數據點的序列號。
對短時平均能量設置高低兩個閾值TE1和TE2,短時過零率設置一個閾值Tz,將計算的每幀能量E和過零率與設置的閾值進行比較,若某時間幀F1的短時平均能量和過零率同時大于TE2和Tz,并且F1幀之后的一段連續時間序列中能量值E持續大于高閾值TE1,則認為幀F1為動作單元的開始,直到某時間幀F2的短時平均能量和過零率同時小于TE1和Tz,則幀F2為動作單元的結束。
圖1為使用雙閾值算法針對手勢“NUM1”信號的端點檢測示例圖。其中,圖1(a)中4幅子圖為手勢動作“NUM1”的4個通道的原始信號波形圖。圖1(b)為動作“NUM1”的端點檢測結果圖。從圖1(a)可以看出,波形圖中幅值持續變大和過零次數變多時,代表有手勢動作,當手勢動作結束時幅值和過零次數將變得很小。對比原始信號波形圖(圖1(a))和端點檢測結果圖(圖1(b)),使用雙閾值算法可以有效地檢測出運動單元的起始端點,將sEMG中的運動單元分割出來。
1.2 字典學習和稀疏表示
稀疏表示又稱為稀疏編碼,是指利用給定的過完備字典(冗余字典)作為基函數對信號進行分解,并根據表示系數選擇盡可能少的原子對信號進行稀疏表示,也就是用盡量少的基函數原子對原始信號進行線性表示。其中,過完備字典(冗余字典)是由個數超過原始信號維數的原子組合而成的。
設數據集Y(M×N),其中列數N代表信號樣本的數目,行數M代表樣本的維度。一般而言,該矩陣是稠密的,即大多數元素不為零。 稀疏表示的含義是,尋找一個系數矩陣X(K×N)以及一個字典矩陣D(M×K),使得X×D盡可能地還原Y,且X盡可能地稀疏,也就是每一列系數中只有少部分元素不為零,那么系數矩陣X便是信號Y的稀疏表示。
稀疏表示模型如式(2)所示:
這里,存在兩個優化變量D和X,要想得到信號Y的稀疏系數必須構造過完備字典D和根據字典D求解稀疏系數X。對于冗余字典D和稀疏系數X的優化求解,一般來說,不斷固定其中一個變量更新另外一個變量,交替迭代更新字典D和稀疏X。本文求解稀疏系數用的是貪婪算法中的正交匹配追蹤(OMP)算法,構造過完備字典使用基于KSVD算法的學習字典方法,學習字典優點是字典不局限于某一類信號上,能夠適應大部分的稀疏域模型。
KSVD算法是一種逐列更新字典的字典學習算法,若將多信號中每一個樣本只用一個原子表示時,則可轉化為K-means算法,在固定稀疏系數X時,目標函數為:
其中,xk代表系數矩陣X的第k行。
優化計算字典D和稀疏系數X的算法過程列在算法1中:
算法1:優化字典D和稀疏系數X
(1)初始化:從原始信號Y(M×N)中隨機挑選k個樣本組成字典D∈RM×k,并歸一化每一列;初始化稀疏編碼矩陣X為0矩陣。
(2)稀疏編碼階段:固定字典D,用正交匹配追蹤(OMP)算法來計算原始信號Y的最優稀疏系數矩陣X(xi列的L0范數以確定的T0為界),編碼過程如式(4)所示:
(3)更新字典階段:根據KSVD算法逐列更新第k列的字典原子Dk,k=1,2,…,K,并且同時更新稀疏編碼Xk,k=1,2,…,K。
重復步驟(2)和步驟(3),直到滿足優化要求,此時即找到了最優過完備字典D和最優稀疏系數矩陣X。
1.3 SVM分類
在本方法中,使用SVM算法對16種手勢動作進行分類。SVM是一種二值邊緣分類模型,其學習策略是間隔最大化,即是用一個超平面將不同類別數據點分開,并且這個超平面兩邊的數據的間隔最大,它是目前最好的邊緣性分類器,在小樣本分類中有很好的效果。當SVM對多分類問題進行分類時,有多類排序方法(Multiclass Ranking SVM)、“一對多”方法(One Versus Rest SVM)和“一對一”方法(One Versus One SVM)等方法。
本文使用“一對多”方法,其中每個類都有一個分類器,該方法是將多分類任務轉為多個兩分類任務。在訓練集中,將某一類別記作i,并將其標簽標記為+1,剩余類別都標記為-1,如此標記規則下則得到一個兩分類SVM模型,然后對類別i(+1)與剩余類別(-1)的兩分類進行訓練,得到使分類平面為最優超平面訓練模型參數Modeli,其中最優解w和b包含在模型參數Modeli中。根據“一對多”方法的思想,對于n分類問題,將得到n個訓練模型參數:
當測試集中類別i進行測試時,把測試向量i分別利用n個模型參數進行計算,得到n個測試結果fn,這里,fn=(f1,f2,…,fn)。最終,測試向量i的分類結果為測試結果fn中最大的值所在的類別,即:
2 實驗
本實驗中,數據集分類兩個部分:訓練集X_train和測試集X_test,訓練集和測試集對應的標簽為y_train和y_test。根據算法1計算出訓練樣本的最優過完備字典D和最優稀疏系數矩陣X。這里,訓練得到最優稀疏系數矩陣X為X_train,然后使用正交匹配追蹤(OMP)算法來計算測試集樣本Y_test的最優稀疏系數矩陣X_test。
采集16種手勢動作對應的表面sEMG,手勢動作名稱為“NUM1”,“NUM7”,“NUM3”,“NUM2”,“伸掌旋轉”,“伸展手掌”,“NUM8”,“NUM6”,“垂直壓手腕”,“打響指”,“招手”,“握拳旋轉”,“緊握拳”,“握拳畫圈”,“水平壓手腕”,“旋轉手腕”。將16種手勢數據集中60%的數據用作訓練,其余的40%數據用作測試。首先對于訓練樣本,利用KSVD和OMP算法訓練過完備字典D,根據過完備字典D計算出訓練樣本和測試樣本的稀疏系數。然后計算訓練樣本和測試樣本的時域特征,與稀疏系數特征進行融合。最后使用SVM分類模型對訓練樣本特征進行訓練得到模型參數,用測試樣本特征測試本方法對于多種手勢動作的識別精度。
首先將16種手勢信號進行活動段檢測并分割,本實驗數據采樣率為1 000 Hz,所以設置幀長為200 ms,幀移為80 ms。在圖2中,圖2(a)是16種手勢中第一種手勢“NUM1”經過活動段分割后的原始信號。為了檢測訓練的過完備字典和稀疏系數是否有用,信號重構是一個很好的方法。將手勢“NUM1”的稀疏系數X和過完備字典D根據公式Y=DX計算手勢“NUM1”的重構信號Y,實驗結果如圖2(b)所示。圖2(b)中有4幅子圖,從左到右、從上至下依次為手勢“NUM1”4個通道的重構信號,其中實線為手勢“NUM1”經預處理后的信號,虛線為手勢“NUM1”重構信號。從圖2(b)可以看出,手勢“NUM1”原始信號和重構信號相似度很高,經計算4個通道原始波形和重構后波形相關系數分別為0.93、0.91、0.97和0.95。稀疏系數X是原始信號Y在過完備字典D上的投影系數,當利用稀疏系數X和過完備字典D重構圖形能夠很好地再現原始信號時,稀疏系數是有效的,可以代表原始信號進行后續的識別分類。
BENALCAZAR M E等[18]在歐洲信號處理會議中,使用動態時間歸整和人工前饋神經網絡方法識別5個手勢,識別準確率為90.1%。在本文中,BENALCAZAR M E使用的數據通過融合稀疏特征和時域特征進行實驗。表1、表2和表3是不同訓練比率下數據集的結果。其中SR是稀疏表示特征,Time-domain是時間特征,FNN是前反饋神經網絡。
如表1~表3所示,稀疏特征比BENALCAZAR M E使用的動態時間歸整特征準確率要高,同時增加時域信號可以比單一稀疏特征有更高的手勢識別準確度。此外,隨著訓練樣本比例的增加,識別準確率大大提高。當樣本比例為25%時,Time-domain+ SVM的識別率僅為87.6%。當樣本比例增加到50%時,Time-domain+SVM的識別率增加到96.93%。當樣本比例進一步增加到75%時,Time-domain+ SVM的識別率為98.46%。
表4和圖3是16種手勢識別的結果,圖3給出了16種手勢動作識別結果的混淆矩陣,由圖可知,融合稀疏特征和時域特征的方法總體分類正確率是98.4%。其中11種手勢識別率100%,而手勢6“伸展手掌”和手勢9“垂直壓手腕”識別率相對較差,為92.9%。手勢6和手勢9都包含張開手掌這個動作,不同之處為手勢9需要壓手腕,因此手勢6和手勢9識別率相對較差。
3 結論
本文提出一種融合稀疏表示特征和時域特征的多手勢識別方法。使用稀疏表示算法提取表面sEMG,融合時域特征利用SVM算法進行16類手勢動作的識別。實驗結果表明對16類手勢動作可有98.4%的平均識別精度,該方法能夠有效對16種手勢動作進行識別分類。
參考文獻
[1] Wang Xiaojie,Wang Yucheng,Wang Zhonghui,et al.Hand gesture recognition using sparse autoencoder-based deep neural network based on electromyography measurements[C].Nano-,Bio-,Info-Tech Sensors,and 3D Systems II.International Society for Optics and Photonics,2018.
[2] ATZORI M,GIJSBERTS A,KUZBORSKIJ I,et al.Characterization of a benchmark database for myoelectric movement classification[J].IEEE Transactions on Neural Systems and Rehabilitation Engineering,2014,23(1):73-83.
[3] 謝小雨,劉喆頡.基于DTW算法的肌電信號手勢識別方法[J].計算機工程與應用,2018(5):132-137.
[4] 羅志增,李文國.兩自由度實時控制肌電假手的研究[J].中國康復醫學雜志,2009,24(4):355-358.
[5] 王振宇.基于sENG信號的上肢康復機器人系統研究[D].北京:北京理工大學,2015.
[6] GEETHANJALI P.Myoelectric control of prosthetic hands: state-of-the-art review[J].Medical Devices(Auckland,NZ),2016,9:247.
[7] CHOWDHURY R,REAZ M,ALI M,et al.Surface electromyography signal processing and classification techniques[J].Sensors,2013,13(9):12431-12466.
[8] PHUKPATTARANONT P,THONGPANJA S,ANAM K,et al.Evaluation of feature extraction techniques and classifiers for finger movement recognition using surface electromyography signal[J].Medical & Biological Engineering & Computing,2018,56(12):2259-2271.
[9] WHITAKER B M,SURESHA P B,LIU C,et al.Combining sparse coding and time-domain features for heart sound classification[J].Physiological Measurement,2017,38(8):1701.
[10] WHITAKER B M,CARROLL B T,DALEY W,et al.Sparse decomposition of audio spectrograms for automated disease detection in chickens[C].Global Conference on Signal and Information Processing(GlobalSIP).IEEE,2014:1122-1126.
[11] DING S,GAO W,SUN X,et al.Extraction of electromyographic signals for multiple-hand-motion recognition via sparse representation technique[C].Chinese Automation Congress(CAC).IEEE,2018:3661-3665.
[12] LOKHANDE N N,NEHE N S,VIKHE P S.Voice activity detection algorithm for speech recognition applications[C].IJCA Proceedings on International Conference in Computational Intelligence(ICCIA2012),2012.
[13] JIANG Z,LIN Z,DAVIS L S.Learning a discriminative dictionary for sparse coding via label consistent K-SVD[C].CVPR 2011.IEEE,2011:1697-1704.
[14] AHARON M,ELAD M,BRUCKSTEIN A.K-SVD:an algorithm for designing overcomplete dictionaries for sparse representation[J].IEEE Transactions on Signal Processing,2006,54(11):4311.
[15] HSU C W,LIN C J.A comparison of methods for multiclass support vector machines[J].IEEE Transactions on Neural Networks,2002,13(2):415-425.
[16] SAJJAD M,MEHMOOD I,BAIK S W.Sparse coded image super-resolution using K-SVD trained dictionary based on regularized orthogonal matching pursuit[J].Bio-Medical Materials and Engineering,2015,26(s1):S1399-S1407.
[17] 潘世豪,程玉柱,許正昊,等.基于分形理論的樹皮圖像特征提取方法[J].林業機械與木工設備,2019,47(2):7-11.
[18] BENALCAZAR M E,ANCHUNDIA C E,ZEA J A,et al.Real-time hand gesture recognition based on artificial feed-forward neural networks and EMG[C].2018 26th European Signal Processing Conference(EUSIPCO).IEEE,2018:1492-1496.
作者信息:
李趙春1,顧 權1,2,王玉成2
(1.南京林業大學 機械電子與工程學院,江蘇 南京210037;
2.中國科學院合肥物質科學研究院常州先進制造技術研究所,江蘇 常州213000)