掌桥专利:专业的专利平台
掌桥专利
首页

一种基于多任务学习Transformer的肌电控制方法

文献发布时间:2023-06-19 19:30:30


一种基于多任务学习Transformer的肌电控制方法

技术领域

本发明涉及肌电信号处理技术领域,尤其是涉及一种基于多任务学习Transformer的肌电控制方法。

背景技术

肌电控制是一种利用肌电(electromyography,EMG)信号将人的运动意图转换为机器指令的技术,以实现对周边电子设备的控制,已被广泛应用于肌电手环、外骨骼机器人和康复假肢等领域。由于非侵入性和易于使用的优点,表面肌电(surface EMG,sEMG)通常被用作肌电控制系统的指令源。

近年来,肌电控制方面的大量工作致力于从sEMG信号中准确解释运动模式,即提高可识别模式的数量和识别精度,并取得了显著成效。然而,由于肌肉力量非平稳时sEMG信号的特征空间的变化,会导致模式识别性能的下降,这些研究都是在平稳的中等力水平下进行的,模式识别算法的性能在不同肌力水平上的适用性没有得到验证。这在肌电控制系统的实际应用中对用户的操作规范性提出了更高的要求,使得用户体验不佳。针对这个问题,一些研究试图克服在不同力级情况下识别性能的下降,即通过在训练集中加入包含各种力级的数据,或通过提取对力不敏感的sEMG特征,来克服可能由可变收缩力引起的特征空间的变化,从而提高分类算法的通用性。

然而,这些方法仍然忽略了力度信息在实际应用中的必要性。例如,当用假肢抓取物体时,根据环境的需要,既要采取合适的模式,又要采用合适的力度,从而达到自然流畅的控制,这促使了人们研究同时实现手势识别和肌肉力量估计的同步任务。

手势识别通常是同步控制中更重要的问题,只有当手势类别被正确识别时,对肌肉力量的预测才有意义。同时,同步控制任务的主要困难还在于克服变力影响下特征空间的变化可能造成的分类精度下降问题。对于同时进行手势识别和肌肉力量估计的任务,很自然地考虑到多任务学习(multi-task learning,MTL)框架。MTL方法旨在同步学习多个相关任务,与独立学习单个任务相比,它可以通过共享不同任务的特征表示来提高模型的泛化能力。

有的研究学者使用基于卷积神经网络(convolutional neural network,CNN)的MTL框架,同时输出八个运动模式和相应的三个力水平的预测值。这种方法只估计了三个固定的肌力等级,在实际使用中存在一定的局限性。有的研究学者等人提出了一个基于长短期记忆(long-short term memory,LSTM)网络和多层感知器(the multilayerperceptron,MLP)的MTL框架,其中包含了一个后处理算法方法用于模式识别。该方法支持11个手势的同步识别和瞬时力的估计,然而,后处理算法会导致很大的时间延迟,这不利于肌电控制系统的实时使用。此外,这些方法的识别精度仍然不太令人满意,需要进一步提升。

发明内容

针对现有技术存在的不足,本发明的目的是提供一种基于多任务学习Transformer的肌电控制方法,其能利用手势识别和肌力估计相关任务的关联性,实现高精度的手势识别和肌力估计。

本发明的上述发明目的是通过以下技术方案得以实现的:

一种基于多任务学习Transformer的肌电控制方法,包括以下步骤:

步骤一:采集表面肌电信号并提取包络,将肌电信号和包络信号拼接形成融合样本,对每位用户划分训练集和测试集;

步骤二:构建一个基于Transformer的多任务学习模型;

步骤三:利用训练集数据训练深度网络模型;

步骤四:将测试集数据输入到训练好的网络模型中,同时得到手势识别和肌力估计结果。

本发明在一较佳示例中可以进一步配置为:在所述步骤一中,利用肌电测量设备和电极在前臂肌肉处采集d个用户执行K种手势动作的表面肌电信号数据,并利用力传感器采集执行手势动作时的力信号和最大自主收缩力;利用肌电信号的最大绝对值对其进行归一化,利用MVC值对实测力信号进行归一化;

提取肌电信号包络并和原始肌电肌电信号进行拼接得到融合样本,并进行分窗处理从而得到O个肌电信号融合样本,窗长为L个采样点,步进为s;构建有标签的数据,记为:

其中,

本发明在一较佳示例中可以进一步配置为:在所述步骤二中,所述多任务学习模型包括:一层全连接层,一层ReLU非线性激活层,一个多头注意力模块,一层归一化层,一个前馈模块,一层归一化层,一个分类模块和一个回归模块;

所述多头注意力模块由N个头组成,每个头包含Q,K,V三个矩阵;

所述前馈模块包含两层全连接层,一层ReLU非线性激活层和一层归一化层;

所述分类模块包含一层时域平均池化层,一层全连接层和一层softmax激活层;

所述回归模块包含一层全连接层和一层sigmoid激活层。

本发明在一较佳示例中可以进一步配置为:在所述步骤三中,利用带标签的训练数据D

将训练数据D

将一批处理数据X

F

H

将F

F′=LayerNormalization(F+H).(7)

F”=LayerNormalization(FFN(F′)+F′).(8)

Loss=Loss

根据式(7)将F和H累加并送入归一化层得到F′,再根据式(8)将其送入前馈模块和一层归一化层得到F”;根据式(9)将F”分别送入分类模块N

本发明在一较佳示例中可以进一步配置为:在式(12)中,α为权重系数,用于平衡力估计对于分类的贡献。

本发明在一较佳示例中可以进一步配置为:在所述步骤四种,在测试阶段,对于给定的测试数据D

/>

公式(14)中描述的分类精度(classification accuracy,CA)和公式(15)中定义的均方根偏差(root mean square deviation,RMSD)分别用于评估手势识别和力估计的性能。

综上所述,本发明包括以下至少一种有益技术效果:

1.本发明公开了一种基于多任务学习Transformer的肌电控制方法,其与现有技术相比,本发明不仅能取得领先的手势识别准确率和肌力估计精度,无需任何后处理算法,且能够有效提升执行效率。

2.本发明步骤二中构建基于Transformer的多任务学习模型,通过Transformer特定的时域建模能力,取得较高的识别精度同时具备较快的推理速度。

3.本发明步骤三和步骤四中训练和测试多任务学习模型时,能够端到端地实现高精度的手势识别和肌力估计,无需任何后处理算法。

附图说明

图1为本发明提供的方法流程示意图;

图2为本发明提供的手势动作示意图;

图3为本发明提供的权重因子a取不同值时所提方法手势识别精度示意图;

图4为本发明提供的对比方法手势识别精度示意图;

图5为本发明提供的对比方法肌力估计误差示意图。

具体实施方式

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

实施例一:

本发明公开了一种基于多任务学习Transformer的肌电控制方法,如图1所示,其包括如下步骤:

步骤一:利用肌电测量设备和电极在前臂肌肉处采集d个用户执行C种手势动作的表面肌电信号数据,并利用力传感器采集执行手势动作时的力信号和最大自主收缩力(maximum voluntary contraction)。利用肌电信号的最大绝对值对其进行归一化,利用MVC值对实测力信号进行归一化。提取肌电信号包络并和原始肌电肌电信号进行拼接得到融合样本,并进行分窗处理从而得到O个肌电信号融合样本,窗长为L个采样点,步进为s。构建有标签的数据,记为:

其中,

具体实施中包括,(1)募集d位受试者,引导每位受试者任意侧手臂平放至桌面上,设备采集前臂屈肌高密度表面肌电信号,阵列电极阵列排布为m×n,单个电极触点的直径为p,电极中心间距为q。示例性的,可以设置:d=11,m=16,n=8,p=3mm,q=8mm。受试者记为d1-d11。

(2)指导受试者以可变的发力模式执行目标手势,每个发力模式从最初的基线平稳上升到60%MVC的发力水平,然后平稳下降到基线,持续时间保持在2s到3s之间,每个使用者在做每个手势时,该模式重复20次。目标力和实际发力曲线显示在一个人机交互界面上,以帮助受试者更好地完成发力任务。逐一采集受试者执行C种手势动作时的连续肌电信号和力信号。示例性的,设置C=11,即采集11种手势动作,见图2。

(3)对手势动作执行时肌电信号采用3Hz的低通滤波器逐通道提取包络,并与原始肌电信号拼接形成融合样本。将融合样本和对应的力信号分割为一系列窗长为L个采样点滑动步长为s个采样点的分析窗。示例性的,L=256,s=128。

步骤二:构建一个基于Transformer的多任务学习模型,包括:一层全连接层,一层ReLU非线性激活层,一个多头注意力模块,一层归一化层,一个前馈模块,一层归一化层,一个分类模块和一个回归模块;

其中多头注意力模块由N个头组成,每个头包含Q,K,V三个矩阵;前馈模块包含两层全连接层,一层ReLU非线性激活层和一层归一化层;分类模块包含一层时域平均池化层,一层全连接层和一层softmax激活层;回归模块包含一层全连接层和一层sigmoid激活层。

步骤三:利用带标签的训练数据D

将训练数据D

将一批处理数据X

F

将F

/>

H

根据式(7)将F和H累加并送入归一化层得到F′,再根据式(8)将其送入前馈模块和一层归一化层得到F”。根据式(9)将F”分别送入分类模块N

F′=LayerNormalization(F+H).(7)

F”=LayerNormalization(FFN(F′)+F′).(8)

Loss=Loss

式(12)中,α为权重系数,用于平衡力估计对于分类的贡献。

示例性的,将P设置为256,N为4,迭代次数为20,B为10。

步骤四:在测试阶段,对于给定的测试数据D

公式(14)中描述的分类精度(classification accuracy,CA)和公式(15)中定义的均方根偏差(root mean square deviation,RMSD)分别用于评估手势识别和力估计的性能。

为了量化评估本发明的效果,通过11位测试用户(记为d1-d11)将本发明方法与两个多任务学习方法相比较。图3验证了权重系数α取0-10间的不同值时,本发明方法的手势识别准确度。结果表明,当α取0时,即没有回归损失时,手势识别准确度为(95.00±5.15)%。当α取1到10之间的不同值,即添加了回归损失时,手势识别准确度都有所提高。且α取6时,手势识别精度取得最好的效果,识别准确度为(98.70±1.21)%。对比实验中,采用基于多流时域CNN和LSTM的两个多任务学习方法,利用相同的训练数据和测试数据进行训练和测试。

图4为上述方法和本发明方法手势识别准确度对比图,基于多流时域CNN和LSTM的多任务学习方法手势识别准确度分别为(95.85±4.63)%,(65.98±20.81)%。本发明方法平均分类准确度为(98.70±1.21)%,显著提升了变力情况下手势识别的准确度。此外,图5展示了对比方法和本发明方法肌力估计误差RMSD值,可以发现,基于多流时域CNN和LSTM的多任务学习方法肌力估计RMSD值分别为(21.47±1.85)%,(13.79±3.20)%。本发明方法肌力估计RMSD值为(12.59±2.76)%,显著降低了肌力估计的误差。

综上所述,本发明能够解决肌电控制系统中难以同时实现高精度的手势识别和肌力估计的问题,系统能够将训练好的模型直接应用于测试数据中,从而端到端地同步实现手势识别和肌力估计。本发明方法无需任何后处理算法,与基于传统CNN和LSTM网络的框架相比,能够取得手势识别精度的大幅提升并减小肌力估计的误差,对于肌电假肢控制和康复训练等领域具有重要意义。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

技术分类

06120115935647