一种基于高斯混合模型的肌电动作识别在线更新算法的制作方法

文档序号:16899902发布日期:2019-02-19 17:52阅读:382来源:国知局
一种基于高斯混合模型的肌电动作识别在线更新算法的制作方法

本发明涉及信号处理和模式识别领域,尤其是一种基于高斯分类器的肌电动作识别在线更新算法,适用于解决肌电控制系统泛化能力有限的问题。



背景技术:

目前,表面肌电信号已被广泛应用于飞行控制、康复医疗、肌电假肢、虚拟游戏、机器人操控等领域。要利用表面肌电信号完成对相应终端的控制,其中最重要的环节就是对表面肌电信号进行模式识别,即根据人体表面肌电信号特征判断出肢体的运动模式,从而驱动受控结构进行相应的动作。而由于表面肌电信号的统计特性存在时变的特点。不仅不同受试者执行同一动作的肌电信号水平会有差异,对同一个受试者,在不同时刻采集的肌电信号有可能会不一致。引起肌电信号发生变化的因素包括电极表面导电性的改变、电极位置的变化、肌肉疲劳、甚至是肢体姿势的变化等。从而造成肌电控制系统泛化能力有限。

在这种情况下,利用静态训练样本训练的分类器如果不利用新输入样本进行修正的话,其识别准确度会随着测试样本的采集时间或者受试者的改变而大幅下降。而传统的基于批量学习的分类器,为了更好的适应新输入样本,通常采用重新训练的方式以获取新的分类器参数。其缺陷是需要一定的存储空间保存历史数据,且需要较长的训练时间。因此,迫切需要一种具有在线学习能力的分类器,可以充分借鉴已有的知识,并利用新的知识对分类器的结构参数进行更新,使得更新后的分类器对样本具有更好的适应能力。



技术实现要素:

本发明解决的技术问题是:针对肌电控制系统泛化能力有限的问题,本发明提出了一种基于在线学习的高斯混合模型分类器。其优点是分类器的参数较少,易于拓展,且进行参数更新时计算量较小,可以在一定程度上解决肌电控制系统泛化能力下降的问题。本发明提供了一种有效的算法,可以有效提高肌电控制系统的泛化能力,抑制个体差异性和外部环境对检测准确性的影响。

本发明的技术方案是:一种基于高斯混合模型的肌电动作识别在线更新算法,包括以下步骤:

步骤一:模型初始化,包括以下子步骤:

子步骤一:设当前肌电控制系统动作类别总数为c。对于每种动作,其训练样本的个数为mc。高斯混合模型的高斯分量的个数为k(k≥1);

子步骤二:对于类别c(c=1,…,c),利用mc组肌电信号特征对其对应的高斯混合模型的参数进行估计,得到类别c高斯混合模型的初始化的结构参数wc,k,μc,k,∑c,k,k=1,..,k,其中wc,k是第c类中第k个高斯分量的权重且满足条件μc,k是第c类中第k个高斯分量的均值,∑c,k是第c类中第k个高斯分量的方差;

其中,当使用k-means算法进行参数估计时,参数计算方法如下:

nc,k为类别c中第k个分量的样本个数,且满足xi为属于第c类中第k个高斯分量的第i个样本;

步骤二:参数在线更新,包括以下子步骤:

子步骤一:对于已知属于类别c(c=1,2….,c)的输入肌电信号特征x,利用当前的高斯混合模型对其进行后验概率计算,计算公式如(4)所示:

通过上述公式找出后验概率最大的高斯分量;假设x是一个d维向量,则

子步骤二:假设后验概率最大的高斯分量为第c类中的第k个,则利用x对类别c的第k个高斯分量的结构参数进行在线更新,包括以下步骤:

(1)假设当前类别c的训练样本,即步骤一中的样本,总数为mc,其中第k个高斯分量的样本总数为nc,k,则第k个高斯分量的参数更新算法如下:

其中,μc,k',σc,k'和wc,k'为更新后的均值、方差和权重。nc,k表示步骤一中的类别c中的第k个高斯分量的样本总数,xnc,k+1表示新输入的样本x,x1到xnc,k分别表示步骤一中的类别c中的第k个高斯分量所包括的样本;

在利用上述算法对类别c的结构参数更新时,除第k个分量外,其他分量的均值和方差均不需要发生改变,权值wc,j'按以下方式更新:

(2)其中当高斯分量的个数为1时,高斯混合模型退化为高斯分类器。此时,仅需要对类别c的均值和方差按下式进行更新:

其中,mc,μc和σc为类别c原始的样本量、均值和方差,μc'和σc'为更新后类别c的均值和方差。

步骤三:当参数更新完成后,输入新的测试样本,即新的多通道的表面肌电信号,完成肌电信号的模式识别,输出此肌电信号所对应的动作。

发明效果

本发明的技术效果在于:本发明的有益效果在于可以有效抑制肌电信号统计特性发生变化对检测准确性的影响,提供了一种有效的算法来提高肌电控制系统的泛化能力。同时,在进行分类器参数更新时,不需要保留原始训练样本,只需要对训练后的参数,如权值、均值和方差进行更新,可以很大程度的减少对存储空间的要求,更符合实际的应用需求。

附图说明

图1为参数更新流程图。

图2为整体流程图。

具体实施方式

参见图1—图2,本发明采用如下技术方案,具体步骤如下:

步骤一:模型初始化。

假设当前肌电控制系统动作类别总数为c。对于每种动作,其训练样本的个数为mc。高斯混合模型的高斯分量的个数为k(k≥1)。

首先,对于类别c(c=1,…,c),利用mc组肌电信号特征对其对应的高斯混合模型的参数进行估计。得到类别c高斯混合模型的初始化的结构参数wc,k,μc,k,∑c,k,k=1,..,k。(其中wc,k是第c类中第k个高斯分量的权重且满足条件μc,k是第c类中第k个高斯分量的均值,∑c,k是第c类中第k个高斯分量的方差。)

其中,当使用k-means算法进行参数估计时,参数计算方法如下:

其中,nc,k为类别c中第k个分量的样本个数,且满足xi为属于第c类中第k个高斯分量的第i个样本)

步骤二:参数在线更新。

具体步骤如下:

(1)对于已知属于类别c(c=1,2….,c)的输入肌电信号特征x,利用当前的高斯混合模型对其进行后验概率计算,计算公式如(4)所示:

找出后验概率最大的高斯分量。假设x是一个d维向量,则

(2)假设后验概率最大的高斯分量为第c类中的第k个,则利用x对类别c的第k个高斯分量的结构参数进行在线更新。

具体结构参数更新步骤如下:

假设当前类别c的训练样本(步骤一中的样本)总数为mc,其中第k个高斯分量的样本总数为nc,k,则第k个高斯分量的参数更新算法如下:

其中,μc,k',σc,k'和wc,k'为更新后的均值、方差和权重。nc,k表示步骤一中的类别c中的第k个高斯分量的样本总数,xnc,k+1表示新输入的样本x,x1到xnc,k分别表示步骤一中的类别c中的第k个高斯分量所包括的样本

在利用上述算法对类别c的结构参数更新时,除第k个分量外,其他分量的均值和方差均不需要发生改变,权值wc,j'按以下方式更新:

(3)特别的,当高斯分量的个数为1时,高斯混合模型退化为高斯分类器。此时,仅需要对类别c的均值和方差按下式进行更新:

其中,mc,μc和σc为类别c原始的样本量、均值和方差,μc'和σc'为更新后类别c的均值和方差。需要注意的是,在实际应用过程中,为了防止协方差矩阵变为奇异矩阵,可以根据经验对协方差矩阵元素进行约束,并设定最小元素值。

(4)当参数更新完成后,输入新的测试样本,即新的多通道的表面肌电信号,完成肌电信号的模式识别,输出此肌电信号所对应的动作。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种基于高斯混合模型的肌电动作识别在线更新算法,图1为参数更新流程图。从图中可以看出根据本流程,可以快速便捷的更新相关参数,既增强了肌电控制系统的泛化能力,又不需要大量存储原始训练样本。图2为整体流程图。以一具体例子并结合流程图进行具体说明。

1、离线采集训练样本。利用myo臂环采集手部做手腕绕中指内旋、手腕绕中指外旋、手腕绕小指内旋、手腕绕小指外旋、手腕弯曲、手腕伸展、手腕尺侧偏离和手腕桡侧偏离共8个动作时前臂共8个通道的表面肌电信号。实验数据分2天采集。

2、利用第一天采集的每个动作的10个样本作为训练样本,对模型进行初始化。

3、利用第二天采集的每个动作的10个样本作为测试样本。对其进行模式识别,以rms为特征,当高斯分量的个数为1时,识别正确率为39%。

4、以第二天采集的每个动作的10个样本按先后顺序对分类器进行测试和参数更新。并对结果进行统计。结果发现,当同样以rms为特征,高斯分量的个数为1时,识别正确率为80%。相对于进行参数更新前识别正确率提高了41%。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1