基于局部L2约束非负矩阵分解的上肢运动角度估计方法

文档序号:32653658发布日期:2022-12-23 20:30阅读:29来源:国知局
基于局部L2约束非负矩阵分解的上肢运动角度估计方法
基于局部l2约束非负矩阵分解的上肢运动角度估计方法
技术领域
1.本发明涉及一种基于局部l2约束非负矩阵分解的上肢多自由度运动角度估计方法,提出局部l2约束非负矩阵分解算法(non-negative matrix decomposition with local constraint,nmflc)用于人体上肢多自由度运动角度的估计。使用nmflc分解关节运动肌电信号,提取出协同元和激活系数,然后将与同一自由度相关的两个激活系数线性组合,最终获得该自由度的角度,属于模式识别模型技术领域。


背景技术:

2.表面肌电信号(surface electromyography,semg)是由肌肉收缩时活跃的肌纤维的电活动产生。中枢神经系统对人体产生的控制指令,以电位的形式在神经元中传递,最终传导到与脊髓相连的运动神经元。当肢体控制指令传导到运动神经元,会继续以电位的形式传递,最终会引起运动单元中肌纤维的电位的变化,造成肌肉收缩。运动神经元和它直接控制的肌纤维组成运动控制的最小单位:运动单元。当不同的运动单元依次被激活后,多个运动单位上的电位会叠加在皮肤表层形成semg。
3.semg是与人体运动直接相关的生理电信号,可以通过在皮肤表面放置采集电极检测肌电信号变化,采集过程简单方便。通过解析semg可以实现对人体运动意图的估计,通过采集上肢semg可以帮助残疾人实现对假肢的灵活控制,semg实现的人机交互平台也是下一代人机交互的主要方向,可以通过分析semg,估计人体的控制意图,从而实现对机器人的远程同步控制。
4.人体上肢运动的肌电控制最早采用基于semg幅值的开关控制方式,当肌电幅值大于控制阈值时产生动作,虽然这种离散直接控制系统取得了很高的成功率,但一次只能控制一个或两个自由度,幅值较小时无法控制,并且肌电控制阈值需要多次实验确定,控制的实时性不好。目前人体上肢运动角度估计主要有两类:离散动作识别和连续运动估计。离散动作识别采用监督学习的方法,通过对semg进行特征提取,并利用样本离线训练分类器,最后使用模型识别新样本的动作类型。虽然这种方法有较高的准确性,但是只能预测少数离散的动作,无法实现连续平滑的同步控制,因此,利用semg实现对多自由度运动的连续比例同步控制受到了广泛的关注。zhang等人利用稀疏伪输入高斯过程回归方法来映射semg特征和手部运动,在多自由度角度的离线和在线估计都能达到较高的估计精度。这是一种监督学习方法,需要采集关节角度来离线训练分类器,虽然使用同侧训练和对侧训练策略的结果无显著差异,但是仍然无法适用于双侧截肢患者。jiang等人基于肌肉协同理论,利用非负矩阵分解算法(nonnegative matrix factorization,nmf)实现了对腕部两个自由度动作的比例同步控制。采用dof-wise的策略,每次只激活一个自由度并利用非负矩阵算法提取该自由度的控制信息。这是一种准无监督学习方法,只需知道单自由度动作中哪个自由度被激活。但在单自由度动作下,nmf对非目标自由度的抑制效果不强,使得不同自由度之间的解耦效果不好,对非目标自由度角度的估计不准确。为了提高在nmf算法在单自由度激活时对非目标自由度的抑制效果,lin等人在nmf目标函数中加入对系数的l1范数正则
项,稀疏性约束限制了nmf可能解的空间,提高了在单自由度激活时对非目标自由度的抑制效果。但这种方法添加的是对所有自由度激活系数的约束,对目标自由度也有一定的抑制作用,另外,在单自由度动作时,人们可能激活多个自由度,对非目标自由度的过多抑制不利于充分的解耦,并且该方法的解耦鲁棒性不强。
5.以上方法在分解单自由度肌电信号时对非目标自由度的估计效果不好,对单自由度动作解耦不充分且解耦效果不稳定。为了解决以上问题,本发明提出局部l2约束的非负矩阵分解算法来分解肌电信号,进而估计出关节运动角度。


技术实现要素:

6.本发明的目的是针对现有方法对用户非目标自由度运动的角度估计效果不理想,本发明提出采用基于局部l2约束非负矩阵分解的nmflc方法来分解人体肌电信号,实现对人体关节运动角度的准确估计,。实现对人体多自由度连续运动角度的估计,基于dof-wise的方法需要采集每个自由度单独运动的肌电信号,但用户的单自由度运动中非目标自由度也会有一定的动作,这会造成不同自由度之间解耦不充分,使得对非目标自由度角度的估计不准确。
7.为实现上述目的,本发明的技术方案是:
8.一种基于局部l2约束非负矩阵分解的上肢运动角度估计方法,包括以下步骤:
9.步骤一,人体上肢肌电信号采集,用户依次完成手部的单自由度和多自由度动作,采用trigno肌电采集系统,在靠近肘关节1/3处的均匀放置7个无线电极,以2khz的频率采集人体肌电信号;
10.步骤二,对肌电信号进行预处理和特征提取,对采集到的原始肌电信号依次进行高通滤波、全波整流和低通滤波,然后采用不重叠时间窗分割肌电信号,并提取该时间窗内肌电信号的时域特征;
11.步骤三,分解肌电特征信号获取协同元矩阵,使用nmflc将肌电特征信号分解为协同元和激活系数的乘积,将协同元矩阵用于人体运动中关节自由度的角度估计;
12.步骤四,获取测试集激活系数并估计关节运动中不同自由度的角度。
13.与现有技术相比,本发明的有益效果在于:
14.本发明提出nmflc方法来分解人体上肢关节运动肌电特征信号,并通过分解出的激活系数的线性组合获得关节运动角度。nmflc通过在目标函数中添加恰当的l2约束,更好地解耦了单自由度动作,获取出每个自由度对应的协同元,从而实现对上肢多自由度运动角度的准确估计。另外,该方法鲁棒性更强,关节角度估计效果更加稳定。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明基于局部l2约束非负矩阵分解的上肢运动角度估计方法的流程图;
17.图2为本发明基于局部l2约束非负矩阵分解的上肢多自由度的平均信噪比及显著
性分析图;
18.图3为本发明基于局部l2约束非负矩阵分解的上肢运动角度估计方法的不同方法的估计效果图;
19.图4为本发明基于局部l2约束非负矩阵分解的上肢运动角度估计方法的asnr标准差对比图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.下面逐一对各步骤进行详细说明。
22.一种基于局部l2约束非负矩阵分解的上肢运动角度估计方法,包括以下步骤:
23.步骤一:本发明主要估计人体上肢腕关节和掌关节的单自由度动作和多自由度同步动作。单自由度动作包含腕部屈伸动作和握手伸手动作,多自由度动作为腕部屈伸、手部张合两个自由度同时运动。
24.使用delsys公司的trigno肌电采集系统,在靠近肘关节1/3的前臂均匀放置7个无线电极,可以采集桡侧腕长伸肌、尺侧腕伸肌、指浅屈肌等肌肉,电极方向和肌肉纤维方向平行,系统采样频率为2khz,并经过20~450hz滤波器输出信号。
25.步骤二:对原始肌电信号依次进行高通滤波、整流和低通滤波,从而获得原始肌电信号的包络信号,高通滤波器和低通滤波器分别为截止频率为25hz和4hz的巴特沃斯滤波器。
26.肌电信号特征可分为时域特征、频域特征和时频域特征。时域特征分析是将肌电信号看作一种均值为0的信号,信号方差大小决定了时域特征的大小。目前常用的时域特征有:均方根(rms)、均方值(msv)、绝对均值(mav)等。频域特征分析大小反应了肌电信号随频率发生的变化,常见的频域特征有过零点数(zc)和中值频率(mpf)。时频域特征既可以反应肌电信号随时间的变化,也可以发现肌电信号的频率信息,常见的时频域分析方法主要有短时傅里叶变换和小波变换。
27.时域特征大小与时间密切相关,可以反应肌肉的实时状态且提取简单,因此选用时域特征。使用大小为100ms的非重叠时间窗分割包络信号,最后提取时间窗内信号的均方根特征。
28.步骤三:假设肌电信号特征矩阵为zm×
t
,m和t分别为采集通道数和样本个数,肌电状态可以近似成协同元矩阵wm×
2n
及其激活系数矩阵f
2n
×
t
的乘积:
[0029][0030]wi+(-)
为第i个协同元,每个元素大小代表不同肌肉在这个协同元中的贡献,n为运
动涉及的自由度的个数,本方法中n=2,上标“+
”“‑”
分别同一自由度下的正反方向,f
i+(-)
是w
i+(-)
的激活向量,代表第i个协同元的激活程度;
[0031]
本方法估计腕关节和掌关节的单自由度动作和多自由度动作,肌电特征矩阵可以表示为
[0032][0033]
式中,f
1j+
(-)
(j=1,2,3,4)和f
2j+(-)
(j=1,2,3,4)分别为对应dof1和dof2的激活系数。在单自由度运动中,f
ij+(-)
(i=j=1,2)是目标自由度的激活系数,f
ij+(-)
(i≠j;i,j=1,2)为非目标自由度的激活系数;
[0034]
采用nmflc方法分解肌电特征矩阵,其目标函数为:
[0035][0036]
式中,λ为正则化系数,可以通过交叉验证获得;c为与f大小相等的约束矩阵,在训练开始前确定c的大小,c中对应非目标自由度激活系数的元素为1,其他元素为0;
[0037]
式子可以通过乘法迭代方法求解,
[0038]
w=w.*(zf
t
)./(wff
t
)
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0039]
f=f.*(w
t
z)./(w
t
wf+2λc.*f) (5)
[0040]
协同矩阵w将用于测试集角度估计。
[0041]
步骤四:
[0042]
使用非负最小二乘法获得测试集肌电信号激活系数,
[0043][0044]
式中,为测试集肌电特征矩阵,包含两个单自由度动作和多自由度动作的肌电时域特征,w为式(5)求得的协同元矩阵,为测试集激活系数。
[0045]
通过同一自由度下两个激活系数的线性组合获得该自由度的运动角度估计。
[0046][0047]
τ
ij
(i,j=1,2)的大小根据动作角度范围调整。
[0048]
对每个采集数据进行4折交叉验证以确定正则化参数λ。只使用训练集中单自由度动作的肌电数据来提取协同元,并将其用于测试集中单自由度动作和多自由度动作角度的
预测。为了验证算法的效果,将nmflc与现有方法nmf、scnmf进行对比。对于正则化方法scnmf和nmflc,从0.001-10范围内间隔取值(0.001,0.01,0.05,0.1,0.5,1,5,10),比较不同参数值在所有测试集中的平均表现并获取最佳正则化参数值。
[0049]
对非目标自由度的抑制程度是评价算法在单自由度动作中的表现的重要指标,平均信噪比(average signal-to-noise ratio,asnr)被广泛用于单自由度动作中的离线评价。人在手腕屈伸过程中容易握手,实际角度不为0,为了表示算法对非激活系数噪声的抑制能力,将asnr分母改为预测角度与实际角度差值的绝对值,
[0050][0051]
式中,i表示第i个单自由度动作,(ti,t
i+1
]为第i个单自由度动作的时间,f
act
(t)、f
inact
(t)分别为目标自由度和非目标自由度的估计角度,h
inact
(t)为非目标自由度的实际角度。
[0052]
使用asnr来评价不同方法的解耦效果,实验结果如图2所示。对比三个算法的平均asnr,nmflc效果(2.57
±
0.43)最优,scnmf效果(2.24
±
0.44)次之,nmf效果(2.23
±
0.46)最差。对实验结果进行双因素方差分析,结果显示两者之间的相互作用是显著的(p《0.001),因此对每个因素进行单因素方差分析。nmflc和nmf的表现具有显著差异,nmflc效果优于nmf,nmflc对比scnmf也有显著提升。
[0053]
图3为nmf、scnmf、nmflc三种方法的解耦效果,dof1为手腕屈伸自由度,dof2为握手伸手自由度,三种方法在四个测试集上的平均asnr分别为1.71、1.95、2.38。
[0054]
由于非负矩阵分解算法难以获得全局最优解,因此分别使用三种方法对每个测试集重复10次训练和预测过程,统计每个测试集的asnr并计算标准差(standard deviation,std),用以评价算法的鲁棒性。
[0055]
多次重复训练和预测,asnr结果会有波动,图4为三种方法在单自由度动作中解耦效果的鲁棒表现。nmf、scnmf、nmflc在20个测试集的标准差平均值分别为0.22、0.24、0.03。20个测试集中nmflc平均标准差最小,单自由度运动解码效果的鲁棒性最好。
[0056]
综上,本发明提出的nmflc方法对非目标自由度激活系数有更好的抑制作用,从而可以更好的解耦出不同自由度的协同元,实现对多自由度运动角度的准确估计。另外,nmflc方法在不同实验中asnr结果的标准差最小,解耦效果更加稳定。本发明提出的局部l2约束非负矩阵分解算法一定程度上解决了多自由度运动角度估计中不同自由度的耦合问题,提高了上肢多自由度运动角度估计的准确率。以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1