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