一种基于肌肉协同激活模型的手部关节运动连续估计方法

文档序号:10697913阅读:491来源:国知局
一种基于肌肉协同激活模型的手部关节运动连续估计方法
【专利摘要】本发明提出一种基于肌肉协同激活模型的手部关节运动连续估计方法。本发明首先根据肌电信号量化肌肉协同理论模型,利用非负矩阵分解算法对肌电信号进行解耦,提取独立动作的协同元;其次根据非负最小二乘算法计算相应协同元激活系数。最后,通过支持向量回归构建了映射激活系数到关节角度的激活模型,利用建立的激活模型从采集的表面肌电信号得到关节运动的连续估计。对四个关节独立和组合运动的估计实验表明,该模型能获得较高的估计精度。
【专利说明】
-种基于肌肉协同激活模型的手部关节运动连续估计方法
技术领域
[0001] 本发明设及肌电信号的处理与支持向量回归方法,特别设及基于肌肉协同理论的 肌电信号处理方法。
【背景技术】
[0002] 表面肌电信号(surface electromyogra地y,sEMG)是肌肉收缩时所产生的动作电 位在皮肤表面叠加而成,与肢体的运动直接相关。由于sEMG具有采集方便和蕴含信息丰富 等特点,作为控制信号源被广泛应用于智能假肢、康复机器人等领域。
[0003] 目前肌电假手控制研究中采用的主要是基于模式分类的方法,通过对sEMG进行特 征提取和构建分类器来识别肢体动作,能够得到较高的识别准确率和不错的应用效果。但 是基于模式分类的方法只能识别独立的离散动作,而且识别的类别越多,准确率越低,同时 也无法使控制对象像人一样连续自如地完成动作。因此,利用sEMG连续估计肢体运动状态 成为肌电假手控制方法研究的新热点。目前主要有两种途径可W实现sEMG连续估计肢体运 动状态:1)是结合肌肉生理模型建立WsEMG为输入,估计关节力矩/角加速度实现比例控 审IJ。该方法可W解释运动产生的过程,但是模型构建方法复杂,需要测量比较多的人体参 数。2)是利用神经网络直接建立sEMG时域特征和关节运动的回归模型,可W连续输出各个 关节的运动轨迹。但是神经网络回归模型存在过分依赖学习样本的问题,当测试样本和学 习样本有差异时,预测值波动较大。

【发明内容】

[0004] 本发明的目的是根据肌肉协同理论在描述运动意图方面优势的基础上,针对手部 开/合,腕关节背屈/掌屈、榜屈/尺屈、内旋/外旋共四个自由度运动的连续估计,探究关节 角度与肌肉协同激活系数之间的联系,结合支持向量回归(SVR)算法,建立肌肉协同激活模 型,通过提取sEMG的激活系数来同步估计各关节运动角度从而同步连续控制假手。
[0005] -种基于肌肉协同激活模型的手部关节运动连续估计方法,其特征在于该方法 包括W下步骤:
[0006] 步骤一,肌电信号的采集
[0007] 针对手部开/合,腕关节背屈/掌屈、榜屈/尺屈、内旋/外旋四个自由度运动的连续 估计,肌电信号(sEMG)的采集分为训练阶段和估计阶段的采集。其中训练阶段sEMG数据集 来源于独立动作和组合动作产生的肌电信号,其中独立动作指每个自由度的独立动作详见 于表1,组合动作是指两个不同自由度动作组合的同步运动。估计阶段的sEMG数据是实时在 线手部动作产生的肌电信号。
[0008] 肌电电极的放置:在靠近肘关节的前臂长度处,沿手臂圆周均匀粘贴8个表面 肌电电极,电极方向与肌肉纤维方向平行。
[0009] 表1独立动作列表
[0010]
[0011] 步骤二,计算协同元矩阵
[0012] ( - )计算肌肉激活水平
[0013] 首先对采集的训练阶段独立动作产生的sEMG进行去基准处理,也就是减去肌肉放 松状态下的肌电信号的均值。接着对去基准后的sEMG进行全波整流和低通滤波处理,对处 理后的sEMG计算均方根(RMS)特征,最后利用每个通道特征的最大值对每个通道特征进行 归一化处理得到肌肉激活水平矩阵f(E)NXT,其中N为肌电信号通道个数,T为样本的时间序 列长度。
[0014] (二)建立肌肉协同模型
[0015] 根据肌肉协同理论,肌肉的激活水平表示为肌肉协同元和激活系数的线性组合:
[0016]
[0017]即对给定肌肉激活水平矩阵f(E)NXT,可W分解为协同元矩阵Wnxk和激活系数矩阵 化XT,其中N为肌电信号通道个数,T为样本的时间序列长度,K为肌肉协同元的个数,Wi是一 个大小为NX 1维的向量,即为一个协同元,出为第i个协同元的激活系数序列。
[001引通过非负矩阵分解算法(NMF)计算协同元矩阵转化成如下的优化问题:
[0019]
[0020] s.t.fXE)NXT>0,WNXK>0,HKXT>0
[00川其中II表示Frobenius范数。目标函数对于矩阵Wnxk和化XT都是非凸的,按照下式 的乘法迭代规则交替优化可W保证算法的非负性,最终求得一个最优解。
[0024] (Ξ)计算协同元矩阵
[0025] 对于每一个独立的动作分别都有且只有一个协同元作用,当某个独立动作对应 的协同元激活时,其余动作的协同元的激活系数值为0,对每个独立动作产生的肌肉激活水 平分别用NMF算法矩阵分解得到独立动作协同元Wi,并分别用Wi中的最大值来归一化该协同 J L· 〇
[0026] 手部关节有8个独立的动作,故共有8个协同元作用,目化为8。8个独立动作协同元 可W组合得到协同元矩阵:
[0027] Wnxk=[Wf We Wr Wu Wp Ws Wc Wo]
[002引其中独立动作协同元Wi对应到表1中独力动作巧化,i = F,…,0。
[0029] 步骤立,提取激活系数
[0030] 首先参照步骤二中计算肌肉激活水平的处理方法从sEMG中计算肌肉激活水平矩 阵f化)NXT,利用步骤二中计算的协同元矩阵Wnxk,反过来求激活系数矩阵化XT;采用非负最 小二乘算法(NNLS)来提取激活系数,即求解如下模型:
[0031]
[0032] s.t.fXE)NXT>0,WNXK>0,HKXT>0
[0033] 步骤四,肌肉协同激活模型的训练和估计
[0034] 选用支持向量回归算法(suppo;rt vector regression,SVR)将激活系数映射到关 节角度。支持向量回归算法是在统计学理论的基础上,通过结构风险最小化的学习方法,使 其具有更强逼近能力和泛化能力。SVR算法的基本思想是:对给定的训练样本集Kxi,yi),i = 1,2, ···]!},其中XiG Rn为输入向量,yi e R为目标值,运用支持向量机学习算法建立两者之 间的关系得到回归函数。首先通过非线性变换Φ将输入向量X映射到高维特征空间Z,然后 在运个空间完成线性回归,即
[0035] f(x)=w4)(x)+b
[0036] 基于肌肉协同激活模型的手部关节运动连续估计方法分为训练阶段和估计阶段。
[0037] 在训练阶段,采集sEMG训练数据集和对应关节的角度,其中sEMG训练数据采集参 照步骤一,同时采用Ξ维动作捕捉系统同时采集手部关节的四个自由度方向的运动角度; 按照步骤二计算出协同矩阵Wnxk,然后从独立动作和组合动作产生的sEMG训练数据集中按 照步骤Ξ计算出激活系数化XT,并对激活系数利用每个通道的最大值进行归一化处理,W其 为SVR算法的输入,W四个自由度方向对应的角度值为目标值进行训练。SVR的核函数选为 径向基(RBF)核函数;惩罚系数取值区间为[100,300],不敏感损失函数的取值区间为 [0.01,1],核函数的参数取值区间为[0,100],利用基于人工蜂群优化的参数寻优方法确定 SVR参数。
[0038] 在估计阶段,按照步骤Ξ从肌电电极实时采集的肌电信号中提取激活系数归一化 后输入到SVR中,输出则为估计的角度值,用角度值控制假手运动。为了保证估计角度的鲁 棒性,去除异常估计角度,同时尽可能的降低时移的影响,对估计的角度值用滑动平均滤波 器进行了处理,当估计的角度超过实际关节角度最大值,将此时的角度赋予实际关节角度 最大值。
[0039] 本发明具有如下有益效果:
[0040] 1、本发明从肌肉协同理论的方法,通过将肌电信号转换成激活系数,能够有效去 除噪声和禪合,从而得到更加稳定的运动连续估计值。
[0041] 2、SVR算法具有较强的逼近能力和泛化能力,将激活系数和测量角度值用SVR进行 拟合训练可W得到更加精确的估计效果,使控制效果更加精确。
【附图说明】
[0042] 图1算法整体流程图
[0043] 图2协同矩阵和激活系数提取流程图
[0044] 图3关节角度运动坐标系
【具体实施方式】
[0045] 下面结合附图描述本发明基于肌肉协同激活模型的手部关节运动连续估计方法。
[0046] 如图1所示,一种基于肌肉协同激活模型的手部关节运动连续估计方法,其特征在 于该方法包括W下步骤:
[0047] 步骤一,肌电信号的采集
[0048] 针对手部开/合,腕关节背屈/掌屈、榜屈/尺屈、内旋/外旋四个自由度运动的连续 估计,肌电信号(sEMG)的采集分为训练阶段和估计阶段的采集。其中训练阶段sEMG数据集 来源于独立动作和组合动作产生的肌电信号,其中独立动作指每个自由度的独立动作详 见于表1,组合动作是指两个不同自由度动作组合的同步运动。估计阶段的sEMG数据是实时 在线手部动作产生的肌电信号。
[0049] 肌电电极的放置:在靠近肘关节的前臂长度处,沿手臂圆周均匀粘贴8个表面 肌电电极,电极方向与肌肉纤维方向平行。
[(K)加]表1独立动作列表 「0化11
[0052]步骤二,计算协同元矩阵
[0053] (一)计算肌肉激活水平
[0054] 首先对采集的训练阶段独立动作产生的sEMG进行去基准处理,也就是减去肌肉放 松状态下的肌电信号的均值。接着对去基准后的sEMG进行全波整流和低通滤波处理,对处 理后的sEMG计算均方根(RMS)特征,最后利用每个通道特征的最大值对每个通道特征进行 归一化处理得到肌肉激活水平矩阵f化)NXT,其中N为肌电信号通道个数,T为样本的时间序 列长度。
[0055] (二)建立肌肉协同模型
[0056] 根据肌肉协同理论,肌肉的激活水平表示为肌肉协同元和激活系数的线性组合:
[0059] 即对给定肌肉激活水平矩阵f化)NXT,可W分解为协同元矩阵Wnxk和激活系数矩阵 化XT,其中N为肌电信号通道个数,T为样本的时间序列长度,K为肌肉协同元的个数,Wi是一 个大小为NX 1维的向量,即为一个协同元,出为第i个协同元的激活系数序列。
[0060] 通过非负矩阵分解算法(NMF)计算协同元矩阵转化成如下的优化问题:
[0061]
[0062] s.t.fXE)NXT>0,WNXK>0,HKXT>0
[00创其中III.表示Frobenius范数。目标函数对于矩阵Wnxk和Ηκχτ都是非凸的,按照下式 的乘法迭代规则交替优化可W保证算法的非负性,最终求得一个最优解。
[0066] (Ξ)计算协同元矩阵
[0067] 对于每一个独立的动作分别都有且只有一个协同元作用,当某个独立动作对应的 协同元激活时,其余动作的协同元的激活系数值为0,对每个独立动作产生的肌肉激活水平 分别用NMF算法矩阵分解得到独立动作协同元Wi,并分别用Wi中的最大值来归一化该协同 J L· 〇
[0068] 手部关节有8个独立的动作,故共有8个协同元作用,目化为8。8个独立动作协同元 可W组合得到协同元矩阵:
[0069] Wnxk=[Wf We Wr Wu Wp Ws Wc Wo]
[0070] 其中独立动作协同元Wi对应到表1中独力动作巧化,i = F,…,0。
[0071] 步骤Ξ,提取激活系数
[0072] 如图2所示,首先参照步骤二中计算肌肉激活水平的处理方法从sEMG中计算肌肉 激活水平矩阵f化)NXT,利用步骤二中计算的协同元矩阵Wnxk,反过来求激活系数矩阵化XT; 采用非负最小二乘算法(NNLS)来提取激活系数,即求解如下模型:
[0073]
[0074] s.t.fXE)NXT>0,WNXK>0,HKXT>0
[0075] 步骤四,肌肉协同激活模型的训练和估计
[0076] 选用支持向量回归算法(suppo;rt vector regression,SVR)将激活系数映射到关 节角度。支持向量回归算法是在统计学理论的基础上,通过结构风险最小化的学习方法,使 其具有更强逼近能力和泛化能力。SVR算法的基本思想是:对给定的训练样本集Kxi,yi),i = 1,2,···η},其中xier为输入向量,yiGR为目标值,运用支持向量机学习算法建立两者之 间的关系得到回归函数。首先通过非线性变换Φ将输入向量X映射到高维特征空间Z,然后 在运个空间完成线性回归,即
[0077] f(x) =¥φ (x)+b
[0078] 基于肌肉协同激活模型的手部关节运动连续估计方法分为训练阶段和估计阶段。
[0079] 在训练阶段,采集sEMG训练数据集和对应关节的角度,其中sEMG训练数据采集参 照步骤一,同时采用Ξ维动作捕捉系统同时采集手部关节的四个自由度方向的运动角度, 如图3所示;按照步骤二计算出协同矩阵Wnxk,然后从独立动作和组合动作产生的sEMG训练 数据集中按照步骤Ξ计算出激活系数化XT,并对激活系数利用每个通道的最大值进行归一 化处理,W其为SVR算法的输入,W四个自由度方向对应的角度值为目标值进行训练。SVR的 核函数选为径向基(RBF)核函数;惩罚系数取值区间为[100,300],不敏感损失函数的取值 区间为[0.01,1],核函数的参数取值区间为[0,100],利用基于人工蜂群优化的参数寻优 方法确定SVR参数。
[0080] 在估计阶段,按照步骤Ξ从肌电电极实时采集的肌电信号中提取激活系数归一化 后输入到SVR中,输出则为估计的角度值,用角度值控制假手运动。为了保证估计角度的鲁 棒性,去除异常估计角度,同时尽可能的降低时移的影响,对估计的角度值用滑动平均滤波 器进行了处理,当估计的角度超过实际关节角度最大值,将此时的角度赋予实际关节角度 最大值。
【主权项】
1. 一种基于肌肉协同激活模型的手部关节运动连续估计方法,其特征在于,该方法包 括以下步骤: 步骤一,肌电信号的采集 针对手部开/合,腕关节背屈/掌屈、桡屈/尺屈、内旋/外旋四个自由度运动的连续估 计,肌电信号的采集分为训练阶段和估计阶段的采集;其中训练阶段SEMG数据集来源于独 立动作和组合动作产生的肌电信号,其中独立动作指每个自由度的独立动作详见于表1,组 合动作是指两个不同自由度动作组合的同步运动;估计阶段的sEMG数据是实时在线手部动 作产生的肌电信号; 肌电电极的放置:在靠近肘关节的前臂长度1/3处,沿手臂圆周均匀粘贴8个表面肌电 电极,电极方向与肌肉纤维方向平行; 表1独V.动作列表步骤二,计算协同元矩阵 (一) 计算肌肉激活水平 首先对采集的训练阶段独立动作产生的sEMG进行去基准处理,也就是减去肌肉放松状 态下的肌电信号的均值;接着对去基准后的sEMG进行全波整流和低通滤波处理,对处理后 的sEMG计算均方根特征,最后利用每个通道特征的最大值对每个通道特征进行归一化处理 得到肌肉激活水平矩阵f(E) NXT,其中N为肌电信号通道个数,T为样本的时间序列长度; (二) 建立肌肉协同模型 枏据肌肉协同理论,肌肉的激活7tC平衷示为肌肉协同元和激活系数的线性组合:即对给定肌肉激活水平矩阵f(E)NXT,可以分解为协同元矩阵WNXK和激活系数矩阵Ηκχτ, 其中N为肌电信号通道个数,T为样本的时间序列长度,K为肌肉协同元的个数,11是一个大 小为Ν X 1维的向量,即为一个协同元,Hi为第i个协同元的激活系数序列; 通过非负矩阵分解算法(NMF)计算协同元矩阵转化成如下的优化问题: 其中|·|表示Frobenius范数;(三)计算协同元矩阵 对于每一个独立的动作分别都有且只有一个协同元作用,当某个独立动作对应的协同 元激活时,其余动作的协同元的激活系数值为0,对每个独立动作产生的肌肉激活水平分别 用NMF算法矩阵分解得到独立动作协同元I,并分别用I中的最大值来归一化该协同元; 手部关节有8个独立的动作,故共有8个协同元作用,即K为8;8个独立动作协同元可以 组合得到协同元矩阵: Wnxk=[Wf We Wr ffu ffp ffs ffc Wo] 其中独立动作协同元Wi对应到表1中独力动作1到8,i = F,…,0; 步骤三,提取激活系数 首先参照步骤二中计算肌肉激活水平的处理方法从sEMG中计算肌肉激活水平矩阵f (E)NXT,利用步骤二中计算的协同元矩阵WNXK,反过来求激活系数矩阵HKXT;采用非负最小 二乘算法来提取激活系数,即求解如下模型:步骤四,肌肉协同激活模型的训练和估计; 选用支持向量回归算法将激活系数映射到关节角度; 基于肌肉协同激活模型的手部关节运动连续估计方法分为训练阶段和估计阶段; 在训练阶段,采集sEMG训练数据集和对应关节的角度,其中sEMG训练数据采集参照步 骤一,同时采用三维动作捕捉系统同时采集手部关节的四个自由度方向的运动角度;按照 步骤二计算出协同矩阵Wnxk,然后从独立动作和组合动作产生的sEMG训练数据集中按照步 骤三计算出激活系数Ηκχτ,并对激活系数利用每个通道的最大值进行归一化处理,以其为 SVR算法的输入,以四个自由度方向对应的角度值为目标值进行训练;SVR的核函数选为径 向基核函数;惩罚系数取值区间为[1 〇〇,300 ],不敏感损失函数的取值区间为[0.01,1 ],核 函数的参数取值区间为[〇,1〇〇],利用基于人工蜂群优化的参数寻优方法确定SVR参数; 在估计阶段,按照步骤三从肌电电极实时采集的肌电信号中提取激活系数归一化后输 入到SVR中,输出则为估计的角度值,用角度值控制假手运动;对估计的角度值用滑动平均 滤波器进行了处理,当估计的角度超过实际关节角度最大值,将此时的角度赋予实际关节 角度最大值。
【文档编号】G06T7/20GK106067178SQ201610367322
【公开日】2016年11月2日
【申请日】2016年5月30日 公开号201610367322.9, CN 106067178 A, CN 106067178A, CN 201610367322, CN-A-106067178, CN106067178 A, CN106067178A, CN201610367322, CN201610367322.9
【发明人】孟明, 桂奇政, 朱俊青, 张松, 周杰, 马玉良, 罗志增
【申请人】杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1