基于表面肌电信号分解的手部动作识别方法_2

文档序号:8922959阅读:来源:国知局
解为多个MUAPT;
[0073] 4.本发明提取MUAPT的时频域特征,组建特征向量,并使用PCA算法对特征向量降 维,减小计算量,提高数据的稳定性;
[0074] 5.本发明利用分解得到的多个MUAPT及LDA分类方法进行手势动作分类,提高了 单通道sEMG分类的精度,能够应用于假肢控制等等场合,具有较高的实际应用价值。
【附图说明】
[0075]图1是本发明方法流程图;
[0076] 图2是本发明的滤波后的sEMG及检测到的尖峰;
[0077] 图3是本发明的属于5个不同类别的MUAP;
[0078] 图4是本发明的spikes形成MUAPT示意图;
[0079] 图5是本发明的5个不同类别对应的MUAPT;
[0080] 图6是本发明的手部动作分类结果。
【具体实施方式】
[0081] 下面结合附图及实施例对本发明做进一步的详细说明。
[0082] 如图1所示为本发明的方法流程图,采集旋前方肌处的sEMG信号yt,并进行二阶 差分滤波,方法如下:
[0083] xt=Yt+a-yt+rYt+yt-!
[0084] 其中xt是滤波之后的sEMG信号,下标t为采样时间。
[0085] 对滤波后的sEMG信号xt,进行尖峰检测,其阈值a的计算公式如下:
[0087] 其中,Cl是经验常数,等于3. 5,
,超过该阈值即认为有尖 峰spike出现。
[0088] 记录xt由下向上穿越阈值a的采样点Xi,以及与之邻近的由上向下穿越阈值的 采样点xi+k。尖峰峰值即为Xi到xi+k中的最大值:
[0089]peak;=max(xi;xi+1, . . . ,xi+k)
[0090] 确定尖峰峰值位置后,则一个尖峰由其相邻的八个采样点组成:
[0091] spike;= {peaki_3, ? ? ? , peak;, . . . , peaki+4}
[0092] 而小于阈值的sEMG信号,将由0代替。图2点划线即为检测到的sEMG尖峰。
[0093] 将检测到的所有尖峰组成样本矩阵:
[0095] 其中,q指sEMG信号中检测到的尖峰的个数。
[0096] 对样本矩阵SPIKE采用PCA方法降成3维:
[0097] [pci,score,latent] =princomp(SPIKE)
[0098]pcaSPIKEpX3 =SPIKEpX8*pcl(:,1:3)
[0099] 其中,princomp( ?)是主元分析函数,能够计算得到SPIKE矩阵的降维投影矩阵 pci;latent是协方差矩阵的特征值;score是SPIKE在主成分空间的投影表示。
[0100]SPIKE与pci的前D列相乘,得到pcaSPIKE矩阵,以达到降维的目的。
[0101] 对降维后的样本矩阵pcaSPIKE采用高斯混合模型进行聚类:
[0102] 〇bj=gmdistribution.fit(pcaSPIKE,k)
[0103]label=cluster(obj,pcaSPIKE)
[0104] 其中,gmdistribution.fit( ?)为高斯混合模型训练函数,obj即为训练得到的 高斯混合模型,其中包含M个组元,即聚类类别的个数为M,本实验中M=5。cluster( ?)根 据obj将pcaSPIKE样本分为不同的类别,以不同的label(label=l,2,…,5)表示出来。图 3 (a-e)即是属于不同类别的MUAP,图例中的数字分别表示属于这一个类别的尖峰的数量, 圈划线是这个类别所有MUAP的平均值,也称为该类别的MUAP模板(Template)。
[0105] 将属于同一个类别(label)的尖峰spikei按照其在原来sEMG的位置顺序排列,可 形成不同的运动单元动作电位序列(MUAPT),示意图见图4,在本发明中,sEMG分解将构成5 个MUAPT,可认为sEMG由最显著的5个MUAPT组成。见图5.
[0106] 将得到的5个MUAPT提取特征,以800ms的时间窗,200ms的滑动窗进行处理,提取 相应特征,包括绝对值积分(IAV),最大值(MAX),非零中值(NonZeroMed),非零中值序号 (Ind),其计算公式如下:
[0109]NonZeroMed=median(nonzeros(x1;x2, . . . ,xi; . . . ,xN))
[0110] Ind=indexoftheNonZeroMed
[0111] 其中Xi是sEMG的第i个采样值,N为时间窗的长度。median( ?)计算序列的中 值,nonzeros( ?)计算序列的非零值,Ind表示非零中值在原时间窗中所在的位置。
[0112] 将上述特征组成特征向量(FeatureVector)
[0114] 其中,20=4X5,表示分解得到的5个MUAPT,每个提取4个特征,p为时间窗的个 数。
[0115] 将FV利用pea降到r维,本实验中r=7 :
[0116] [pc2,score,latent,tsquare] =princomp(FV)
[0117]pcaFVpX7 =FVpX20*pc2(:, 1:7)
[0118]降维后的样本pcaFV利用Lineardiscriminationanalysis(LDA)进行分类,得 到不同的手部动作。
[0119]class=classify(sample,pcaFV,group)
[0120] 其中,classify(?)是LDA分类函数,sample是待分类的数据样本,pcaFV是待分 类的训练样本和group是对应所属的类别。分类的结果见图6和表1。
[0122] 表 1
[0123] 其中黑点表示LDA分类出的手势动作,虚线表示实际的手势动作,纵坐标中 MFC,IFC,PS,FC,Rest分别表示捏中指、捏食指、伸掌、握拳以及休息等五个手部动作。可以 看到,应用基于sEMG分解的手部动作识别方法的精度很高,达到83. 1%。
【主权项】
1. 一种基于SEMG分解的手部动作识别方法,其特征在于: 采集旋前方肌处sEMG信号; 采用二阶差分滤波方法对采集到的sEMG信号进行滤波; 对滤波后的sEMG信号,进行尖峰检测,得到的所有尖峰组成样本矩阵; 对样本矩阵采用PCA方法降维; 将降维后的样本矩阵采用高斯混合模型进行聚类,得到MUAPT ; 将得到的MUAPT,采用滑动平均方法进行处理,提取相应特征,并组成特征向量; 对特征向量采用PCA降维; 降维后的样本利用LDA进行分类,得到不同的手部动作。2. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述采用 的二阶差分滤波方法如下: xt = yt+2_yt+ryt+yt-i 其中yt是采集到的原始sEMG信号,xt是滤波后的sEMG信号,t为采样时间。3. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述对滤 波后的sEMG信号进行尖峰检测包括以下过程: 阈值的计算公式如下:其中,Cl=3. 5, Xt是滤波后的sEMG信号记录滤波后的sEMG信号中,由下向上穿越阈值α的采样点Xi,以及与之邻近的由上向 下穿越阈值的采样点xi+k ;Xi到xi+k中的最大值即为尖峰峰值: Peaki = max (Xi, xi+1, . . . , xi+k) 其中,Peaki为尖峰峰值; 确定尖峰峰值位置后,则一个尖峰由其相邻的八个采样点组成: Spikei = {peaki_3, · · · , Peaki, . . . , peaki+4} 其中Spikei为一个尖峰。4. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述所有 尖峰组成样本矩阵:其中,SPIKE是所有尖峰组成样本矩阵,Peaki为尖峰峰值,q指sEMG信号中检测到的 尖峰的个数。5. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述对样 本矩阵采用PCA方法降维包括: [pci, score, latent] = princomp(SPIKE) pcaSPIKEpXD = SPIKEpX8*pcl(:,1:D) 其中,princomp( ·)是主元分析函数,pc2是主元分析投影矩阵,latent是协方差矩 阵的特征值,score是SPIKE在主成分空间的投影表示,SPIKE与pci的前D列相乘,得到 pcaSPIKE 矩阵。6. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述将降 维后的样本矩阵采用高斯混合模型进行聚类,得到MUAPT包括以下过程: 〇bj = gmdistribution. fit(pcaSPIKE, k) label = cluster (obj, pcaSPIKE) 其中,gmdistribution. fit ( ·)为高斯混合模型训练函数,obj为训练得到的高斯混合 模型,其中包含M个组元,即将原始的sEMG信号分成了 M类,cluster (·)是聚类函数,能 够根据obj将pcaSPIKE样本分为不同的类别,以不同的label表示出来,其中label是类 别的标记; 将属于同一个类别的尖峰Spikei按照其在原来sEMG信号中的先后顺序排列,小于阈 值的sEMG信号用0代替,就分别构成了 M个MUAPT。7. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述滑动 平均方法中,采用的时间窗为N,滑动窗为N/4。8. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述相应 特征包括绝对值积分(IAV),最大值(MAX),非零中值(NonZeroMed),非零中值序号(Ind), 其计算公式如下:NonZeroMed = median (nonzeros (X1, x2, ···,Xi, ···,xN)) Ind = index of the NonZeroMed 其中Xi是sEMG的第i个采样值,N为时间窗的长度,median( ·)表示计算序列的中值, nonzeros( ·)表示计算序列的非零值,Ind表示非零中值在原时间窗中所在的位置。9. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述特征 向量为:其中,M表示分解得到的MUAPT的个数,p为时间窗的个数,IAV是绝对值积分,MX是 最大值,NonZeroMed是非零中值,Ind是非零中值序号。10. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述对 特征向量采用PCA降维过程包括: [pc2,score, latent] = princomp(FV) PcaFVpxr = FVpX4M*pc2(:, l:r) 其中,princomp ( ·)是主元分析函数,pc2是主元分析投影矩阵,latent是协方差矩阵 的特征值,score是SPIKE在主成分空间的投影表示,特征向量FV与pc2的前r列相乘,得 到降维后的矩阵pcaFV。11. 根据权利要求1所述的基于sEMG分解的手部动作识别方法,其特征在于:所述对 降维后的样本利用LDA进行分类包括: class=classify (sample, pcaFV, group) 其中,classify ( ·)是LDA分类函数,sample是待分类的数据样本,pcaFV是降维后的 矩阵,group是对应所属的类别。
【专利摘要】本发明涉及一种基于表面肌电(sEMG)分解的手部动作识别方法,所述方法包括两部分:sEMG信号分解得到运动单元动作电位序列(MUAPT);以及基于MUAPT手部动作识别方法。其中sEMG信号分解由sEMG信号预处理、sEMG尖峰检测及高斯混合模型(GMM)聚类组成;而基于MUAPT的手部动作识别包括特征提取、主成分分析(PCA)降维,LDA分类等。本发明在仅仅使用一个通道sEMG的条件下,利用sEMG信号分解得到的运动单元动作电位信息,对手部动作进行识别,有效提高了单通道sEMG识别率,具有重要的理论意义和实际应用价值。
【IPC分类】G06K9/62
【公开号】CN104899594
【申请号】CN201410081238
【发明人】韩建达, 赵新刚, 熊安斌, 丁其川, 赵忆文
【申请人】中国科学院沈阳自动化研究所
【公开日】2015年9月9日
【申请日】2014年3月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1