基于表面肌电信号的手势识别方法、系统及设备

文档序号:33620172发布日期:2023-03-25 11:13阅读:55来源:国知局
基于表面肌电信号的手势识别方法、系统及设备

1.本发明涉及机器学习及生物特征信号检测技术领域,尤其涉及一种基于表面肌电信号的手势识别方法、系统及设备。


背景技术:

2.手势的准确感知作为人类生活的重要传播媒介,具有重要的理论意义和应用潜力。近年来,随着计算机技术的发展、硬件传感器价格的下降和性能的提高,基于各种传感器技术的手势识别逐渐成为重要的研究热点。基于计算机视觉的手势识别已被提出用于各种应用,如虚拟现实游戏、虚拟键盘等。然而,这组解决方案可能受到计算能力弱、光线暗或视觉障碍的限制。特别是,对于一些后天身体残疾的人来说,基于视觉的方法由于缺乏肢体而无效。
3.肌电(emg)信号是指肌肉收缩时肌肉纤维产生的电信号,它可以在一定程度上反映肌肉收缩的强度。从肌电信号中,我们可以获得肌肉运动的情况,然后解码肢体运动。表面肌电(semg)是肌电信号之一。与有创肌电(invasive emg,iemg)信号相比,semg具有无创和对人体无不可逆损伤的优点,被认为是人体运动估计的理想信号源之一。
4.近年来,通过肌电信号识别肢体运动在许多方面引起了更多的关注,如人机交互、假肢控制和康复研究。手势的准确感知对提高人类生活水平具有重要意义,但一些旨在促进semg控制实际应用的研究人员揭示了研究与临床应用之间的差距,主要归因于两个主要问题:受试者间和会话间问题,受试者之间问题是指,训练数据和测试数据来自不同的人,由于肌肉发育、脂肪厚度、皮肤表面粗糙度等不同,从而影响semg信号。会话间意味着同一个人在不同时间做相同动作,但是semg信号是不同的。对于同一个人的相同动作,即使只有几分钟的差异,semg信号也会发生变化,一些研究认为主要原因是电极移位和肌肉疲劳,现有技术没有对这一情况进行详细的界定并给出处理方案来。
5.为了提高在数据不足时适应新领域的能力,需要在基于semg的手势识别中提出一种新的方法,希望收集样本的成本更低,性能更好,同时能够解决目前对手势识别精准性的要求问题。


技术实现要素:

6.针对现有技术中存在的不足,考虑到数据采集的困难,本发明提出fedavg-tl,以提高在数据不足时跨域手势识别的准确性。具体来说,应用卷积神经网络(cnn)作为基本模型,并使用联邦平均算法(federated averaging,fedavg)训练该模型,它只需要几个小的数据库就可以很好地执行,此外,在跨域上使用迁移学习来提高准确率。
7.具体而言,本发明提供了以下技术方案:
8.一方面,本发明提供了一种基于表面肌电信号的手势识别方法,所述方法包括:
9.s1、在服务器中初始化模型,建立联合模型;客户端采集本地数据;
10.s2、服务器向客户端广播联合模型的参数矩阵w0及网络结构;
11.s3、客户端使用其本地数据在客户端训练所述联合模型,并形成客户端模型;
12.s4、将所述客户端模型的参数矩阵w
a0
…wk0
上传至服务器;其中a

k代表客户端a

客户端k;
13.s5、服务器基于参数矩阵w
a0
…wk0
获得新联合模型的参数矩阵;
14.s6、重复步骤s2至s5,直至达到预设的更新轮次,获得最终联合模型。
15.优选的,所述s1中,联合模型结构为:数据输入端顺次连接卷积层一、卷积层二,卷积层二依次连接全连接层一、全连接层二;
16.所述卷积层一、卷积层二各自包含依次连接的一个卷积层、一个relu层、一个最大池化层;
17.所述全连接层一设置128个隐藏单元,所述全连接层二设置8个隐藏单元;
18.所述全连接层一与全连接层二之间,设置一丢失层;
19.所述全连接层二连接softmax分类器。
20.优选的,所述卷积层一、卷积层二分别设置64个卷积核;所述卷积核尺寸为3。
21.优选的,所述s5中,获得新联合模型的参数矩阵的方式为:
[0022][0023]
其中,w
f+1
表示第f次计算后获得的新联合模型的参数矩阵,w
kf
是第k个客户端在f-1次返回的参数矩阵,m是所有客户端拥有数据样本数之和,nk是第k客户端的数据样本数。
[0024]
优选的,所述s6后,还包括:
[0025]
s7、固定最终联合模型的卷积层一、卷积层二的参数,至少部分地基于目标数据集中的数据,训练所述联合模型的全连接层一、全连接层二的参数,获得针对目标数据集的目标网络模型。
[0026]
优选的,所述s1中客户端采集本地数据进一步包括:
[0027]
所述信号为semg信号;
[0028]
对采集的数据使用3阶巴特沃斯带通滤波器进行预处理,并为采集的数据增加时间戳。
[0029]
此外,本发明还提供了一种基于表面肌电信号的手势识别系统,所述系统包括服务器端,及与服务器端连接的一个或多个客户端;
[0030]
所述服务器端包括模型建立模块、收发模块、循环控制模块;
[0031]
所述模型建立模块用于初始化模型,以建立联合模型;并基于参数矩阵w
a0
…wk0
获得新联合模型的参数矩阵;以及形成最终联合模型;
[0032]
所述收发模块,用于向客户端广播联合模型的参数矩阵w0及网络结构,以及接收客户端模型的参数矩阵w
a0
…wk0
,其中a

k代表客户端a

客户端k;
[0033]
所述循环控制模块,用于记录预设的更新轮次,并判断是否达到了预设的更新轮次;
[0034]
所述客户端包括数据采集模块、客户端模型模块;
[0035]
所述数据采集模块,用于采集本地数据;
[0036]
所述客户端模型模块,用于使用其本地数据在客户端训练所述联合模型,并形成
客户端模型。
[0037]
优选的,所述联合模型结构为:数据输入端顺次连接卷积层一、卷积层二,卷积层二依次连接全连接层一、全连接层二;
[0038]
所述卷积层一、卷积层二各自包含依次连接的一个卷积层、一个relu层、一个最大池化层;
[0039]
所述全连接层一设置128个隐藏单元,所述全连接层二设置8个隐藏单元;
[0040]
所述全连接层一与全连接层二之间,设置一丢失层;
[0041]
所述全连接层二连接softmax分类器。
[0042]
优选的,获得新联合模型的参数矩阵的方式为:
[0043][0044]
其中,w
f+1
表示第f次计算后获得的新联合模型的参数矩阵,w
kf
是第k个客户端在f-1次返回的参数矩阵,m是所有客户端拥有数据样本数之和,nk是第k客户端的数据样本数。
[0045]
又一方面,本发明还提供了一种基于表面肌电信号的手势识别设备,所述设备包括处理器、存储器、总线结构,所述处理器调用所述存储器中的指令,以执行如上所述的基于表面肌电信号的手势识别方法。
[0046]
与现有技术相比,本发明技术方案在数据稀缺的情况下可以有效减少跨域带来的影响。本方案使用fedavg将多个拥有小型数据集的客户端结合,并在保护数据隐私的前提下训练具有较强泛化能力的联合模型;本方案通过参数微调,可以在短时间内训练网络,并在目标域中表现良好;本方案基于fedavg的迁移学习在客户数据非独立同分布(non-iid)时具有良好的性能;迁移学习后,基于fedavg的联合模型拥有较佳性能。
附图说明
[0047]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0048]
图1为本发明实施例的联合模型结构示意图;
[0049]
图2为本发明实施例的迁移学习的参数微调示意图;
[0050]
图3为本发明实施例的滤波后的原始数据示意图;
[0051]
图4为本发明实施例的训练样本总数对联合模型和普通cnn模型的影响示意图;
[0052]
图5为本发明实施例的te上联合模型和客户端模型的准确性对比图;
[0053]
图6为本发明实施例的减少样本数量后,te上联合模型和客户模型的准确性对比;
[0054]
图7为本发明实施例的迁移学习前后在te-target上的准确率;
[0055]
图8为本发明实施例的方法流程示意图。
具体实施方式
[0056]
下面结合附图和具体实施例,进一步阐明本发明的方案。应当明确,所描述的实施
例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0057]
本领域技术人员应当知晓,下述具体实施例或具体实施方式,是本发明为进一步解释具体的发明内容而列举的一系列优化的设置方式,而该些设置方式之间均是可以相互结合或者相互关联使用的,除非在本发明明确提出了其中某些或某一具体实施例或实施方式无法与其他的实施例或实施方式进行关联设置或共同使用。同时,下述的具体实施例或实施方式仅作为最优化的设置方式,而不作为限定本发明的保护范围的理解。
[0058]
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0059]
实施例1
[0060]
本实施例中,结合具体的网络结构阐述本发明的主要技术方案。在基于semg信号的手势识别中,semg信号是不稳定的,并且极易受到小变化的影响,如皮肤粗糙度、脂肪厚度、肌肉发育、肌肉疲劳和电极位移,在本方案中,我们将这些因素视为域。因此,这意味着我们很难在不同的领域中找到稳定的特征。我们希望在面临领域变化时,以最小的网络训练和数据收集代价并获得更好的性能。传统的机器学习算法通常专注于特定任务t。在基于semg的手势识别领域,我们通常假设一个基本任务是应用分类器来确定特定领域中的手势标签。例如,我们有n个标签的m个样本,表示如下:de={(x1,y1),(x2,y2),
···
,(xm,ym)},xi∈rd,yi∈{0,1,
···
,n}。通常,训练模型的目标是得到分类器f,其中xi是分类器的输入,yi是分类器的输出。在一般的监督学习中,样本数量m是巨大的,样本的标签n是有限的,通常所有样本被分成两部分,一个是训练样本集de-tr,另一个是测试样本集de-te。当域发生变化时,我们希望使用更少的样本和更少的训练时间来获得更好的分类器,然而,少量的样本无法训练深度分类器并容易导致过度拟合。
[0061]
为了解决上述问题,在本发明中,我们将特定任务t1定义为特定域(即本领域中的源域)中的分类任务,分类任务的目标是区分l个不同的手势类别。任务t2在小的时间开销的前提下以少量的样本在新的域中实现分类任务。本发明的方案不关注如何获取大量数据或使用需要较少数据的模型,它可以从任务t1中的几个不同的小数据集d={d1,d2,d3···
,dk}建立联合模型,并且可以通过学习任务t1来获得估计新任务t2的能力。
[0062]
本实施例中,训练数据集由k个小数据集组成,d={d1,d2,d3···
,dk},di数据集中的样本数量非常少,这使得数据收集对数据集所有者来说并不困难。由于数据库所有者通常不想共享他们的数据,因此在现实方案的研究中很难将所有数据集收集在一起。
[0063]
我们假设数据集di是一个数据岛,样本数据不能以任何方式被窃取。由于di样本数量少,在孤岛上训练的网络通常会过于拟合。我们参考fedavg在数据集集合d上实现分类任务t1,其中d={d1,d2,

,dk}。在任务t1中,k个样本数据集可以构成一个支持集,而不会出现数据泄漏。我们令di={(x
i1
,y
i1
),(x
i2
,y
i2
),
···
,(x
im
,y
im
)},x
ii
∈rd、yi∈{0,1,
···
,l},与传统的分类任务一样,di被分成两部分,一个训练集和一个测试集。训练集参与模型构建,测试集参与模型验证。
[0064]
任务t2是在短时间内训练样本数较少的网络,以使其性能更好,我们假设数据集为dn={(x1,y1)、(x2,y2)、(xk,yk)},xi∈rd、yi∈{0,1,
···
,l},由于k很小,只有k个样本
不足以完成任务t2。然而,可以从任务t1中学习学习经验。首先,数据集dn分为测试集te和训练集tr,训练集用于训练模型,测试集用于测试模型。使用任务t1中获得的模型作为学习对象。我们假设任务t1中模型的参数矩阵为m={m1,m2,m3···
,mj}。在任务t2中,继承t1中的模型及其参数矩阵,然后固定模型的前i个参数矩阵,使用数据集tr中的数据微调模型,使其在测试集te中表现良好。
[0065]
为解决semg的手势识别中跨域(即新数据集的领域变化)和数据不足的问题,本实施例采用基于任务t1的模型协助训练模型t2的思路,在短时间内通过有限的样本生成新模型,以适应新的任务。
[0066]
训练过程中,我们首先通过将几个数据集与少量样本结合来构建和训练联合模型,然后在面对跨域时使用迁移学习来微调联合模型上的参数。我们使用fedavg构建联合模型,训练过程如下:首先,在服务器中初始化模型,然后服务器向客户端广播参数矩阵w0和网络结构,客户端a到客户端k使用其本地数据来训练网络,然后将参数矩阵w
a0
…wk0
上传到服务器。服务器对客户端上传的参数矩阵进行加权平均,以获得新联合模型w1的参数矩阵:
[0067][0068]
等式(1)是服务器的平均参数,w
kf
是第k个客户端在f-1次返回的参数,m是所有客户端数据样本数之和,nk是第k客户端的数据样本数。然后重复上述步骤,直到达到预先设定的更新轮次。
[0069]
本实施例中,结合图1所示,联合模型网络结构我们采用如下方式设定:该模型包括两个卷积层块和两个全连接(fc)块。每个卷积层块都包含一个卷积层、一个relu层和一个最大池化层。卷积层的核尺寸优选设置为3,填充方法为same。每个卷积层有64个卷积核。最大池化层的内核大小为2,步长设置为1。第一个全连接层可以设置128个隐藏单元,第二个全连接层审设置8个隐藏单元。第一个完全连接层之后设置一个丢失率为30%的丢失层,最后连接softmax分类器。
[0070]
此后,我们复制联合模型的参数以构建源网络,在面对新的域时,即面对新的目标数据集时,我们使用目标数据集的部分数据来微调源网络(即训练好的最终联合模型)的最后两层的参数,以使其在目标数据集上表现得更好,如图2所示,这样我们就实现了在目标数据集上的迁移。
[0071]
在另一个实施方式中,针对采集的手势数据,在数据采集过程中,我们采集到semg信号后,考虑到semg信号的有效频率集中在450hz内,因此使用3阶巴特沃斯带通滤波器(20-450hz)对信号进行处理。
[0072]
图3显示了六个通道的滤波信号和标签,线条为动作信号,当信号为1时,表示数据为当前动作信号,而当信号为0时,表示为休息时间信号。我们使用滑动窗口截取和分割信号动作间隔,并根据200ms的时间窗口和20ms的时间步长截取信号,以获得每个数据矩阵x,一个200*6矩阵。
[0073]
实施例2
[0074]
本实施例中,我们结合实施例1中阐述的技术方案的优选实施方式,以一实际的实
验过程以及实验结果比对,进一步阐述本发明的主要技术思路。
[0075]
将收集的数据分为训练集tr和测试集te,采集的动作数据中,要求被采集者重复每个动作10次,第1、3、4、6、8、9和10次被分成tr,第2、5和7次被分成te。
[0076]
首先,实施例1中探讨了数据量的影响,假设有三个客户端,将tr分成三个相等的部分并将其分配给三个客户端。客户端网络的训练周期e设置为20,服务器的更新周期f设置为20。实验结果如图4所示。图4的横轴是所有客户端的总训练样本数之和。从图4中可见,当样本数小于1870时,在图1的网络结构下,模型的准确率最多为70%。通过将样本量为1870的三个客户端组合在一起,联合模型的性能与5610(1870*3)个样本训练的正常网络一样好。
[0077]
针对自采数据集的评估,我们将tr分为五个部分,1/3的数据分配给客户端a,4/15分配给客户端b,1/5分配给客户端c,2/15分配给客户d,1/15分配给客户e。客户端的训练轮次e设置为20,联合模型的更新轮次f设置为20。比较实验中每个客户端的训练轮次设置为400轮。测试装置上的实验结果如图5所示,其中,客户端a-e的网络由客户自有数据训练。
[0078]
从图5可以得出初步结论,基于fedavg的联合模型可以在保护客户数据隐私的前提下实现高分类准确率。但我们使用的样本总数为16000,客户a被分配了1/3的数据量,即5000多个样本,如图4所示,当样本数大于5000时,网络的准确率相对较高且稳定,我们想知道是否是客户a的影响提高了联合模型的准确率。因此,我们将客户端数据集中的样本数减少到原始数据集的1/3,客户a的样本数最多1870,客户端b到e的样本数依次减少,客户端e的样本少于400。te的实验结果如图6所示。
[0079]
如图6所示,客户a的准确率在所有客户中是最高的,为68.37%,准确率随着客户拥有样本数的降低而降低,当数据量太少时,准确率也会变得不稳定,如客户e。最高准确率是联合模型,为84.60%,并且是稳定的。对于具有少量样本的客户e,使用其自己的样本来训练网络只能在te上实现不到50%的准确率,在联邦框架中,可以有效地将分类准确率提高到84%。
[0080]
在数据采集一小时后,我们再次收集了手势集,但每个手势只做一次。收集的数据被视为目标数据集。我们将目标数据集分为两部分,第一部分有总数据的1/5个样本,这是目标数据集的训练集(tr-target),第二部分拥有总数据的4/5个样本,为目标数据集的测试集(te-target)。我们使用联合模型和客户端模型测试了te目标,结果如表1所示。
[0081]
表1.te和te-target的联合模型和客户模型的准确率
[0082][0083]
当训练样本数量足够时,在te上的识别准确率超过80%,但在te-target上的性能
不令人满意。由于每个动作在采集过程中只执行一次,因此我们的目标数据集具有较少的数据,当训练数据量太小时,网络的准确性也会降低。因此,微调预训练网络的参数成为一个很好的选择。我们在tr-target中微调联合模型和客户模型的参数,实验结果如图7所示。迁移学习后,所有模型在te-target上的准确率均有所提高,其中准确率最高的是联合模型。从客户c到e的模型来看,当数据量减少时,网络提取特征的能力也逐渐降低。
[0084]
实施例3
[0085]
在本实施例中,本发明的技术方案还可以通过基于表面肌电信号的手势识别系统的形式来实现,该系统包括服务器端,及与服务器端连接的一个或多个客户端;
[0086]
所述服务器端包括模型建立模块、收发模块、循环控制模块;
[0087]
所述模型建立模块用于初始化模型,以建立联合模型;并基于参数矩阵w
a0
…wk0
获得新联合模型的参数矩阵;以及形成最终联合模型;
[0088]
所述收发模块,用于向客户端广播联合模型的参数矩阵w0及网络结构,以及接收客户端模型的参数矩阵w
a0
…wk0
,其中a

k代表客户端a

客户端k;
[0089]
所述循环控制模块,用于记录预设的更新轮次,并判断是否达到了预设的更新轮次;
[0090]
所述客户端包括数据采集模块、客户端模型模块;
[0091]
所述数据采集模块,用于采集本地数据;
[0092]
所述客户端模型模块,用于使用其本地数据在客户端训练所述联合模型,并形成客户端模型。
[0093]
优选的,所述联合模型结构为:数据输入端顺次连接卷积层一、卷积层二,卷积层二依次连接全连接层一、全连接层二;
[0094]
所述卷积层一、卷积层二各自包含依次连接的一个卷积层、一个relu层、一个最大池化层;
[0095]
所述全连接层一设置128个隐藏单元,所述全连接层二设置8个隐藏单元;
[0096]
所述全连接层一与全连接层二之间,设置一丢失层;
[0097]
所述全连接层二连接softmax分类器。
[0098]
卷积层的核尺寸优选设置为3,填充方法优选设置为same等。丢失层的丢失率可以设置为30%等,基于模型的实际需要可以进行适当调整。
[0099]
优选的,获得新联合模型的参数矩阵的方式为:
[0100][0101]
其中,w
f+1
表示第f次计算后获得的新联合模型的参数矩阵,w
kf
是第k个客户端在f-1次返回的参数矩阵,m是所有客户端数据样本数之和,nk是第k客户端的数据样本数。
[0102]
我们在此后的迁移过程中,优选的,在面对新的域时,即面对新的目标数据集时,我们使用目标数据集的部分数据来微调源网络(即训练好的最终联合模型),例如,我们可以固定最终联合模型的卷积层一、卷积层二的参数,至少部分地基于目标数据集中的数据,训练所述联合模型的全连接层一、全连接层二的参数,获得针对目标数据集的目标网络模型。
[0103]
本方案在又一种实施方式下,可以通过设备的方式来实现,该设备可以执行如上述实施例中所述的基于表面肌电信号的手势识别方法,或者搭载如上实施例所述的基于表面肌电信号的手势识别系统。因此,可以由相应模块执行上述各个实施方式的每个步骤或几个步骤,并且该电子设备可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
[0104]
该设备可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线将包括一个或多个处理器、存储器和/或硬件模块的各种电路连接到一起。总线还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路连接。
[0105]
总线可以是工业标准体系结构(isa,industry standard architecture)总线、外部设备互连(pci,peripheral component)总线或扩展工业标准体系结构(eisa,extended industry standard component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
[0106]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本方案的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本方案的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本方案中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
[0107]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
[0108]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1