本發(fā)明屬于人體動作識別技術(shù)領(lǐng)域,特別涉及了一種基于手臂表面肌電信號的手勢識別方法。
背景技術(shù):
表面肌電信號(SEMG)是一種與神經(jīng)肌肉活動相關(guān)的生物電信號。當(dāng)運動指令經(jīng)由神經(jīng)中樞系統(tǒng)傳導(dǎo)到相關(guān)肌纖維時,會引起肌纖維上電位發(fā)生變化并發(fā)生肌纖維的收縮,該電位變化在皮膚表面處發(fā)生時間和空間上的疊加而形成表面肌電信號,可通過表面肌電電極采集到電信號信息。表面肌電信號包含了肌肉收縮的模式以及收縮強度的信息,不同的肢體動作對應(yīng)不同的肌電信號,通過分析表面肌電信號就可以判別出該信號所對應(yīng)的具體動作模式。
現(xiàn)有的手勢區(qū)分方法,需要對采集到的生物電信號進(jìn)行時域和頻域分析,過程復(fù)雜,計算量大,因此對數(shù)據(jù)處理器性能要求高,往往要依靠計算機進(jìn)行數(shù)據(jù)分析計算,應(yīng)用成本高,不利于一些手勢識別設(shè)備的推廣應(yīng)用。
技術(shù)實現(xiàn)要素:
為了解決上述背景技術(shù)提出的技術(shù)問題,本發(fā)明旨在提供一種基于手臂表面肌電信號的手勢識別方法,克服傳統(tǒng)手勢分類方法復(fù)雜、計算量大的缺陷。
為了實現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案為:
一種基于手臂表面肌電信號的手勢識別方法,包括以下步驟:
(1)設(shè)采樣頻率為f,采樣時間為T,重復(fù)多次對肌電信號進(jìn)行采樣,得到M段肌電信號;
(2)計算采集的肌電信號絕對值的均值,計算相鄰兩段肌電信號絕對值的均值的一階差分,并將肌電信號絕對值的均值、相鄰兩段肌電信號絕對值的均值的一階差分作為肌電信號的特征值,向各特征值分配權(quán)值后組成特征向量X;
(3)將特征向量X作為訓(xùn)練樣本,采用K-means聚類算法對訓(xùn)練樣本進(jìn)行分類,得到K種手勢以及每種手勢對應(yīng)的特征標(biāo)簽yk,k=1,2,…,K;
(4)以采樣頻率f、采樣時間T采集待識別手勢的肌電信號,將采集到的肌電信號的絕度值的均值、相鄰兩端肌電信號絕對值的均值的一階差分作為特征值,向各特征值分配權(quán)值后組成特征向量X’;
(5)分別求特征向量X’與k個特征標(biāo)簽yk的相似度數(shù)據(jù);
(6)舍棄k個相似度數(shù)據(jù)中大于預(yù)設(shè)閾值的相似度數(shù)據(jù),根據(jù)保留的相似度數(shù)據(jù)進(jìn)行手勢識別。
進(jìn)一步地,在步驟(2)中,采用下式計算肌電信號絕對值的均值:
上式中,MAV(j)為采集的第j段肌電信號的絕對值的均值,Sj(t)為采集的第j段肌電信號的第t個采樣值的絕對值,N為Sj(t)的長度,N=f·T;
采用下式計算相鄰兩端肌電信號絕對值的均值的一階差分:
R(i)=MAV(i+1)-MAV(i),i=1,2,…,M-1
上式中,R(i)為第i+1段肌電信號與第i段肌電信號絕對值的均值的一階差分;
則特征向量X=[μMAV(1)μMAV(2)...μMAV(M)τR(1)τR(2)...τR(M-1)],μ、τ為權(quán)值。
進(jìn)一步地,在步驟(5)中,計算特征向量X’與k個特征標(biāo)簽yk的誤差向量,將誤差向量的2范數(shù)的平方值作為X’與yk的相似度數(shù)據(jù):
φ(k)=X′-yk
Z(k)=(||φ(k)||2)2
上式中,φ(k)是誤差向量,Z(k)是相似度數(shù)據(jù)。
進(jìn)一步地,在步驟(6)中,在保留的相似度數(shù)據(jù)中找出最小的相似度數(shù)據(jù)Z(k),則該最小相似度數(shù)據(jù)對應(yīng)的特征標(biāo)簽yk所代表的手勢即為識別結(jié)果。
進(jìn)一步地,特征向量X的權(quán)值μ、τ滿足:
μ+τ=1。
進(jìn)一步地,對特征向量X的權(quán)值μ、τ反復(fù)迭代優(yōu)化,具體過程如下:
(a)設(shè)μ的初始區(qū)間為(0,1),且在區(qū)間內(nèi)設(shè)置μ的兩個選值μ1、μ2,且μ1>μ2;
(b)分別計算μ1下的相似度數(shù)據(jù)和μ2下的相似度數(shù)據(jù)
(c)若則μ1為較優(yōu)值,則將μ的區(qū)間縮小為(μ2,1);若則μ2為較優(yōu)值,則將μ的區(qū)間縮小為(0,μ1);
(d)在步驟(c)中確定的μ的區(qū)間內(nèi),重新設(shè)置μ1、μ2的值,重復(fù)步驟(b)-(d)。
進(jìn)一步地,在設(shè)置權(quán)值μ的兩個選值μ1、μ2時,將μ1設(shè)置為μ的區(qū)間的黃金分割點值。
采用上述技術(shù)方案帶來的有益效果:
本發(fā)明根據(jù)肌電信號這種生物電信號的特有特征,降低了數(shù)據(jù)處理復(fù)雜度,也能保證手勢識別率達(dá)到較高水平,讓手勢識別設(shè)備具備低功耗,攜帶性強,識別速度快等優(yōu)點。
附圖說明
圖1是本發(fā)明的方法流程圖。
具體實施方式
以下將結(jié)合附圖,對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
如圖1所示,一種基于手臂表面肌電信號的手勢識別方法,步驟如下:
步驟1:設(shè)采樣頻率為200Hz,采樣時間為500ms,對肌電信號重復(fù)進(jìn)行采樣,共得到M段肌電信號,每段肌電信號的長度N=100。
步驟2:計算采集的肌電信號絕對值的均值,計算相鄰兩段肌電信號絕對值的均值的一階差分,并將肌電信號絕對值的均值、相鄰兩段肌電信號絕對值的均值的一階差分作為肌電信號的特征值,向各特征值分配權(quán)值后組成特征向量X。
采用下式計算肌電信號絕對值的均值:
上式中,MAV(j)為采集的第j段肌電信號的絕對值的均值,Sj(t)為采集的第j段肌電信號的第t個采樣值的絕對值。
相鄰兩端肌電信號絕對值的均值的一階差分:
R(i)=MAV(i+1)-MAV(i),i=1,2,…,M-1
上式中,R(i)為第i+1段肌電信號與第i段肌電信號絕對值的均值的一階差分。
則特征向量X=[μMAV(1)μMAV(2)...μMAV(M)τR(1)τR(2)...τR(M-1)],μ、τ為權(quán)值。
權(quán)值μ、τ滿足μ+τ=1。對特征向量X的權(quán)值μ、τ反復(fù)迭代優(yōu)化,具體過程如下:
a、設(shè)μ的初始區(qū)間為(0,1),且在區(qū)間內(nèi)設(shè)置μ的兩個選值
b、分別計算μ1下的相似度數(shù)據(jù)和μ2下的相似度數(shù)據(jù)
c、若則μ1為較優(yōu)值,則將μ的區(qū)間縮小為(μ2,1);若則μ2為較優(yōu)值,則將μ的區(qū)間縮小為(0,μ1);
d、在步驟c中確定的μ的區(qū)間內(nèi),重新設(shè)置μ1、μ2的值,重復(fù)步驟b-d。
步驟3:將特征向量X作為訓(xùn)練樣本,采用K-means聚類算法對訓(xùn)練樣本進(jìn)行分類,得到K種手勢以及每種手勢對應(yīng)的特征標(biāo)簽yk,k=1,2,…,K。
步驟4:以采樣頻率200Hz、采樣時間500ms采集待識別手勢的肌電信號,將采集到的肌電信號的絕度值的均值、相鄰兩端肌電信號絕對值的均值的一階差分作為特征值,向各特征值分配權(quán)值后組成特征向量X’。
步驟5:算特征向量X’與k個特征標(biāo)簽yk的誤差向量,將誤差向量的2范數(shù)的平方值作為X’與yk的相似度數(shù)據(jù):
φ(k)=X′-yk
Z(k)=(||φ(k)||2)2
上式中,φ(k)是誤差向量,Z(k)是相似度數(shù)據(jù)。
步驟6:舍棄k個相似度數(shù)據(jù)中大于預(yù)設(shè)閾值的相似度數(shù)據(jù),在保留的相似度數(shù)據(jù)中找出最小的相似度數(shù)據(jù)Z(k),則該最小相似度數(shù)據(jù)對應(yīng)的特征標(biāo)簽yk所代表的手勢即為識別結(jié)果。
實施例僅為說明本發(fā)明的技術(shù)思想,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在技術(shù)方案基礎(chǔ)上所做的任何改動,均落入本發(fā)明保護(hù)范圍之內(nèi)。