文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.191336
中文引用格式: 李趙春,,顧權(quán),王玉成. 基于肌電信號稀疏特征的手勢識別方法研究[J].電子技術(shù)應(yīng)用,,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 引言
人機交互技術(shù)是實現(xiàn)未來協(xié)作機器人人機共融智能的主要研究方向,其中基于肌電信號的手勢識別是人機交互領(lǐng)域中重要組成部分,,是國內(nèi)外實驗室研究的熱點項目之一[1],。表面肌電信號(sEMG)是一種肌肉收縮時產(chǎn)生的生物電信號[2],能夠直接反映出肌肉活動的狀態(tài),,通過對sEMG進行分析可以準確地識別出手勢動作,,而且sEMG具有信息容量大、實時性強等優(yōu)勢[3],,在智能假肢[4],、上肢康復(fù)外骨骼[5],、機械臂控制等人機交互中有很好的前景,。
正確識別手勢動作的關(guān)鍵技術(shù)之一在于有效特征的提取,。常用的sEMG特征是提取一系列時域特征、頻域特征,、聯(lián)合時頻分布特征,、非線性特征[6-7]以及一些參數(shù)模型特征。PHUKPATTARANONT P等[8]針對sEMG使用了主成分分析,、線性判別分析和譜回歸極限學習機等6種特征提取技術(shù),,并對比了6種特征提取算法的性能。此外,,稀疏編碼技術(shù)受到了廣泛的關(guān)注,,并成功應(yīng)用到圖片識別、壓縮感知和信號去噪等領(lǐng)域中,。WHITAKER B M等[9]將稀疏編碼引入心音分類中,,利用快速傅里葉變換將心音信號從時域轉(zhuǎn)化到頻域,忽略頻譜的負頻率和相位,,然后根據(jù)稀疏字典得到統(tǒng)計學上重要的稀疏系數(shù)特征,,將稀疏系數(shù)取平均數(shù)的同時融合時域特征進行綜合分類,可得到比單一的稀疏特征更好的分類效果,。此外,,該團隊還對雞鳴啼的聲音信號進行分析[10],采集健康與患有支氣管炎的兩類雞鳴聲音信號樣本,,將雞鳴音頻文件轉(zhuǎn)化為頻譜圖,,利用稀疏編碼得到每個譜圖列分解為字典元素的稀疏組合,對兩類雞鳴信號有97.85%的識別率,。DING S等[11]采用局部時態(tài)稀疏貝葉斯算法作為新的學習工具,,利用壓縮感知理論將sEMG映射到低維空間,提取sEMG的稀疏特征,,十個手勢動作可獲得89.4%的準確率,。
為了提高基于sEMG手勢識別的數(shù)目和識別精度,本文提出一種融合稀疏表示特征和時域特征的多手勢識別方法,。其中sEMG由4個通道的設(shè)備采集得到,,手勢共包含16種動作,使用KSVD算法提取sEMG的稀疏特征,,將稀疏特征與時域特征融合后使用SVM算法進行手勢識別分類,。相比單一稀疏特征用作SVM訓(xùn)練分類,融合時域特征增加了手勢的識別精度,。實驗結(jié)果表明,,該方法對多種手勢有較高的識別率。
1 方法
本文提出的方法主要包含三個步驟:sEMG動作單元端點檢測,、樣本的稀疏表示和SVM識別分類,。動作單元端點檢測利用雙閾值算法[12],,根據(jù)短時能量和過零率檢測出sEMG中手勢動作的起始點和終止點從而提取有效的用于稀疏表示和識別分類的活動段。樣本的稀疏表示包括學習字典的初始化,、利用KSVD算法更新字典[13-14]和OMP算法[15]計算稀疏系數(shù),。最后,融合稀疏特征與時域特征,,訓(xùn)練SVM并進行分類[16-17],。
1.1 動作單元端點檢測
動作單元端點檢測也稱為信號的活動段檢測,就是檢測手勢動作的起始點和終止點,,分割出優(yōu)質(zhì)的活動段有助于提取更為有效的動作特征和提高分類識別,。雙閾值算法是基于短時平均能量和短時過零率進行檢測的,原理是當無手勢動作時短時平均能量很小,,動作越大則能量越大,;同時當活動頻率越高則短時過零率越大,結(jié)合兩者特征可以用來找到信號的活動區(qū)域,。
首先利用滑動窗口對sEMG樣本數(shù)據(jù)進行分幀,。計算每一幀的能量和過零率,短時平均能量計算公式為:
其中,,X(N)表示某幀的信號序列,,L表示幀長,N表示幀內(nèi)數(shù)據(jù)點的序列號,。
對短時平均能量設(shè)置高低兩個閾值TE1和TE2,,短時過零率設(shè)置一個閾值Tz,將計算的每幀能量E和過零率與設(shè)置的閾值進行比較,,若某時間幀F(xiàn)1的短時平均能量和過零率同時大于TE2和Tz,,并且F1幀之后的一段連續(xù)時間序列中能量值E持續(xù)大于高閾值TE1,則認為幀F(xiàn)1為動作單元的開始,,直到某時間幀F(xiàn)2的短時平均能量和過零率同時小于TE1和Tz,,則幀F(xiàn)2為動作單元的結(jié)束。
圖1為使用雙閾值算法針對手勢“NUM1”信號的端點檢測示例圖,。其中,,圖1(a)中4幅子圖為手勢動作“NUM1”的4個通道的原始信號波形圖。圖1(b)為動作“NUM1”的端點檢測結(jié)果圖,。從圖1(a)可以看出,,波形圖中幅值持續(xù)變大和過零次數(shù)變多時,代表有手勢動作,,當手勢動作結(jié)束時幅值和過零次數(shù)將變得很小,。對比原始信號波形圖(圖1(a))和端點檢測結(jié)果圖(圖1(b)),使用雙閾值算法可以有效地檢測出運動單元的起始端點,將sEMG中的運動單元分割出來,。
1.2 字典學習和稀疏表示
稀疏表示又稱為稀疏編碼,,是指利用給定的過完備字典(冗余字典)作為基函數(shù)對信號進行分解,并根據(jù)表示系數(shù)選擇盡可能少的原子對信號進行稀疏表示,,也就是用盡量少的基函數(shù)原子對原始信號進行線性表示。其中,,過完備字典(冗余字典)是由個數(shù)超過原始信號維數(shù)的原子組合而成的,。
設(shè)數(shù)據(jù)集Y(M×N),其中列數(shù)N代表信號樣本的數(shù)目,,行數(shù)M代表樣本的維度,。一般而言,該矩陣是稠密的,,即大多數(shù)元素不為零,。 稀疏表示的含義是,尋找一個系數(shù)矩陣X(K×N)以及一個字典矩陣D(M×K),,使得X×D盡可能地還原Y,,且X盡可能地稀疏,也就是每一列系數(shù)中只有少部分元素不為零,那么系數(shù)矩陣X便是信號Y的稀疏表示,。
稀疏表示模型如式(2)所示:
這里,,存在兩個優(yōu)化變量D和X,要想得到信號Y的稀疏系數(shù)必須構(gòu)造過完備字典D和根據(jù)字典D求解稀疏系數(shù)X,。對于冗余字典D和稀疏系數(shù)X的優(yōu)化求解,,一般來說,不斷固定其中一個變量更新另外一個變量,,交替迭代更新字典D和稀疏X,。本文求解稀疏系數(shù)用的是貪婪算法中的正交匹配追蹤(OMP)算法,構(gòu)造過完備字典使用基于KSVD算法的學習字典方法,,學習字典優(yōu)點是字典不局限于某一類信號上,,能夠適應(yīng)大部分的稀疏域模型。
KSVD算法是一種逐列更新字典的字典學習算法,,若將多信號中每一個樣本只用一個原子表示時,,則可轉(zhuǎn)化為K-means算法,在固定稀疏系數(shù)X時,,目標函數(shù)為:
其中,,xk代表系數(shù)矩陣X的第k行。
優(yōu)化計算字典D和稀疏系數(shù)X的算法過程列在算法1中:
算法1:優(yōu)化字典D和稀疏系數(shù)X
(1)初始化:從原始信號Y(M×N)中隨機挑選k個樣本組成字典D∈RM×k,,并歸一化每一列,;初始化稀疏編碼矩陣X為0矩陣。
(2)稀疏編碼階段:固定字典D,用正交匹配追蹤(OMP)算法來計算原始信號Y的最優(yōu)稀疏系數(shù)矩陣X(xi列的L0范數(shù)以確定的T0為界),,編碼過程如式(4)所示:
(3)更新字典階段:根據(jù)KSVD算法逐列更新第k列的字典原子Dk,,k=1,2,,…,,K,并且同時更新稀疏編碼Xk,,k=1,,2,…,,K,。
重復(fù)步驟(2)和步驟(3),直到滿足優(yōu)化要求,,此時即找到了最優(yōu)過完備字典D和最優(yōu)稀疏系數(shù)矩陣X,。
1.3 SVM分類
在本方法中,使用SVM算法對16種手勢動作進行分類,。SVM是一種二值邊緣分類模型,,其學習策略是間隔最大化,即是用一個超平面將不同類別數(shù)據(jù)點分開,,并且這個超平面兩邊的數(shù)據(jù)的間隔最大,,它是目前最好的邊緣性分類器,在小樣本分類中有很好的效果,。當SVM對多分類問題進行分類時,,有多類排序方法(Multiclass Ranking SVM)、“一對多”方法(One Versus Rest SVM)和“一對一”方法(One Versus One SVM)等方法,。
本文使用“一對多”方法,,其中每個類都有一個分類器,該方法是將多分類任務(wù)轉(zhuǎn)為多個兩分類任務(wù),。在訓(xùn)練集中,,將某一類別記作i,并將其標簽標記為+1,,剩余類別都標記為-1,,如此標記規(guī)則下則得到一個兩分類SVM模型,然后對類別i(+1)與剩余類別(-1)的兩分類進行訓(xùn)練,,得到使分類平面為最優(yōu)超平面訓(xùn)練模型參數(shù)Modeli,,其中最優(yōu)解w和b包含在模型參數(shù)Modeli中。根據(jù)“一對多”方法的思想,,對于n分類問題,,將得到n個訓(xùn)練模型參數(shù):
當測試集中類別i進行測試時,,把測試向量i分別利用n個模型參數(shù)進行計算,得到n個測試結(jié)果fn,,這里,,fn=(f1,f2,,…,,fn)。最終,,測試向量i的分類結(jié)果為測試結(jié)果fn中最大的值所在的類別,,即:
2 實驗
本實驗中,數(shù)據(jù)集分類兩個部分:訓(xùn)練集X_train和測試集X_test,,訓(xùn)練集和測試集對應(yīng)的標簽為y_train和y_test。根據(jù)算法1計算出訓(xùn)練樣本的最優(yōu)過完備字典D和最優(yōu)稀疏系數(shù)矩陣X,。這里,,訓(xùn)練得到最優(yōu)稀疏系數(shù)矩陣X為X_train,然后使用正交匹配追蹤(OMP)算法來計算測試集樣本Y_test的最優(yōu)稀疏系數(shù)矩陣X_test,。
采集16種手勢動作對應(yīng)的表面sEMG,,手勢動作名稱為“NUM1”,“NUM7”,,“NUM3”,,“NUM2”,“伸掌旋轉(zhuǎn)”,,“伸展手掌”,,“NUM8”,“NUM6”,,“垂直壓手腕”,,“打響指”,“招手”,,“握拳旋轉(zhuǎn)”,,“緊握拳”,“握拳畫圈”,,“水平壓手腕”,,“旋轉(zhuǎn)手腕”。將16種手勢數(shù)據(jù)集中60%的數(shù)據(jù)用作訓(xùn)練,,其余的40%數(shù)據(jù)用作測試,。首先對于訓(xùn)練樣本,利用KSVD和OMP算法訓(xùn)練過完備字典D,,根據(jù)過完備字典D計算出訓(xùn)練樣本和測試樣本的稀疏系數(shù),。然后計算訓(xùn)練樣本和測試樣本的時域特征,與稀疏系數(shù)特征進行融合。最后使用SVM分類模型對訓(xùn)練樣本特征進行訓(xùn)練得到模型參數(shù),,用測試樣本特征測試本方法對于多種手勢動作的識別精度,。
首先將16種手勢信號進行活動段檢測并分割,本實驗數(shù)據(jù)采樣率為1 000 Hz,,所以設(shè)置幀長為200 ms,,幀移為80 ms。在圖2中,,圖2(a)是16種手勢中第一種手勢“NUM1”經(jīng)過活動段分割后的原始信號,。為了檢測訓(xùn)練的過完備字典和稀疏系數(shù)是否有用,信號重構(gòu)是一個很好的方法,。將手勢“NUM1”的稀疏系數(shù)X和過完備字典D根據(jù)公式Y(jié)=DX計算手勢“NUM1”的重構(gòu)信號Y,,實驗結(jié)果如圖2(b)所示。圖2(b)中有4幅子圖,,從左到右,、從上至下依次為手勢“NUM1”4個通道的重構(gòu)信號,其中實線為手勢“NUM1”經(jīng)預(yù)處理后的信號,,虛線為手勢“NUM1”重構(gòu)信號,。從圖2(b)可以看出,手勢“NUM1”原始信號和重構(gòu)信號相似度很高,,經(jīng)計算4個通道原始波形和重構(gòu)后波形相關(guān)系數(shù)分別為0.93,、0.91、0.97和0.95,。稀疏系數(shù)X是原始信號Y在過完備字典D上的投影系數(shù),,當利用稀疏系數(shù)X和過完備字典D重構(gòu)圖形能夠很好地再現(xiàn)原始信號時,稀疏系數(shù)是有效的,,可以代表原始信號進行后續(xù)的識別分類,。
BENALCAZAR M E等[18]在歐洲信號處理會議中,使用動態(tài)時間歸整和人工前饋神經(jīng)網(wǎng)絡(luò)方法識別5個手勢,,識別準確率為90.1%,。在本文中,BENALCAZAR M E使用的數(shù)據(jù)通過融合稀疏特征和時域特征進行實驗,。表1,、表2和表3是不同訓(xùn)練比率下數(shù)據(jù)集的結(jié)果。其中SR是稀疏表示特征,,Time-domain是時間特征,,F(xiàn)NN是前反饋神經(jīng)網(wǎng)絡(luò)。
如表1~表3所示,,稀疏特征比BENALCAZAR M E使用的動態(tài)時間歸整特征準確率要高,,同時增加時域信號可以比單一稀疏特征有更高的手勢識別準確度,。此外,隨著訓(xùn)練樣本比例的增加,,識別準確率大大提高,。當樣本比例為25%時,Time-domain+ SVM的識別率僅為87.6%,。當樣本比例增加到50%時,,Time-domain+SVM的識別率增加到96.93%。當樣本比例進一步增加到75%時,,Time-domain+ SVM的識別率為98.46%,。
表4和圖3是16種手勢識別的結(jié)果,圖3給出了16種手勢動作識別結(jié)果的混淆矩陣,,由圖可知,,融合稀疏特征和時域特征的方法總體分類正確率是98.4%。其中11種手勢識別率100%,,而手勢6“伸展手掌”和手勢9“垂直壓手腕”識別率相對較差,,為92.9%。手勢6和手勢9都包含張開手掌這個動作,,不同之處為手勢9需要壓手腕,,因此手勢6和手勢9識別率相對較差,。
3 結(jié)論
本文提出一種融合稀疏表示特征和時域特征的多手勢識別方法,。使用稀疏表示算法提取表面sEMG,融合時域特征利用SVM算法進行16類手勢動作的識別,。實驗結(jié)果表明對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].計算機工程與應(yīng)用,,2018(5):132-137.
[4] 羅志增,,李文國.兩自由度實時控制肌電假手的研究[J].中國康復(fù)醫(yī)學雜志,2009,,24(4):355-358.
[5] 王振宇.基于sENG信號的上肢康復(fù)機器人系統(tǒng)研究[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].林業(yè)機械與木工設(shè)備,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,顧 權(quán)1,,2,,王玉成2
(1.南京林業(yè)大學 機械電子與工程學院,江蘇 南京210037,;
2.中國科學院合肥物質(zhì)科學研究院常州先進制造技術(shù)研究所,,江蘇 常州213000)