一种基于RNN-CNN的EMG信号分类系统及方法与流程

文档序号:23897719发布日期:2021-02-09 12:44阅读:180来源:国知局
一种基于RNN-CNN的EMG信号分类系统及方法与流程
一种基于rnn-cnn的emg信号分类系统及方法
技术领域
[0001]
本发明属于emg信号技术领域,具体涉及一种基于rnn-cnn的emg信号分类系统及方法。


背景技术:

[0002]
肌电信号是产生肌肉力的电信号根源,它是肌肉中很多运动单元动作电位在时间和空间上的叠加,反映了神经,肌肉的功能状态,在基础医学研究、临床诊断和康复工程中有广泛的应用。
[0003]
但是在实际采集emg信号过程中,emg信号极易受到外界因素影响,如动作幅度大小,检测设备穿戴位置,不同人的运动习惯等都会对emg信号造成较大干扰,导致识别效果不佳。目前的emg信号分类方法泛化性能弱,无法广泛的适用于各种人群。


技术实现要素:

[0004]
针对上述目前的emg信号分类方法泛化性能弱的技术问题,本发明提供了一种精度高、识别效果好、抗干扰能力强的基于rnn-cnn的emg信号分类系统及方法。
[0005]
为了解决上述技术问题,本发明采用的技术方案为:
[0006]
一种基于rnn-cnn的emg信号分类系统,包括数据采集模块、数据预处理模块、识别模型模块、模型保存模块,所述数据采集模块连接有数据预处理模块,所述数据预处理模块连接有识别模型模块,所述识别模型模块连接有模型保存模块。
[0007]
所述数据预处理模块包括加噪模块、归一化模块、数据切割模块、统一数据尺度模块,所述加噪模块连接有归一化模块,所述归一化模块连接有数据切割模块,所述数据切割模块连接有统一数据尺度模块。
[0008]
所述识别模型模块采用三层结构,所述三层结构分别为rnn层、cnn层、全连接层,所述rnn层采用lstm单元构建,所述rnn层连接有数据预处理模块,所述cnn层连接有rnn层,所述全连接层连接有cnn层。
[0009]
一种基于rnn-cnn的emg信号分类方法,包括下列步骤:
[0010]
s100、采集emg信号数据,并根据采集动作的不同进行类别划分和标注,完成模型训练所需数据集的构建;
[0011]
s200、对构建的所述数据集进行预处理,以满足模型训练数据要求;
[0012]
s300、采用深度学习方法搭建识别模型,通过输入训练数据,完成参数模型的搭建;
[0013]
s400、当模型的损失函数不再降低之后,保存数据模型。
[0014]
所述s100中完成模型训练所需数据集的构建的方法为:包括下列步骤:
[0015]
s101、将数据集复制三份,第一份数据集不做处理,给第二份数据集的数据增加该条数据s最大值5%的噪声,给第三份数据集的数据增加该条数据最大值10%的噪声,之后将三份数据集并打乱;
[0016]
s102、对s101中的三份数据集进行min-max归一化;
[0017]
s103、将s102中进行min-max归一化后的数据集进行分割,将整条数据集根据时间分割为小段数据;
[0018]
s104、将分割后的数据进行格式同化。
[0019]
所述s200中对构建的所述数据集进行预处理的方法为:包括下列步骤:
[0020]
s201、使用lstm单元构建rnn层,
[0021]
s(t)=σ(w
s
·
[h
t-1
,x
t
]+b
s
)
[0022]
e(t)=σ(w
e
·
[h
t-1
,x
t
]+b
e
)
[0023]
r(t)=σ(w
r
·
[h
t-1
,x
t
]+b
r
)
[0024]
所述s(t)为遗忘门,所述e(t)为记忆门,所述r(t)为输出门,所述w
s
、w
e
、w
r
分别为遗忘门、记忆门、输出门的rnn层的权值,所述b
s
、b
e
、b
r
分别为遗忘门、记忆门、输出门的bias参数,所述h
t-1
为上一次迭代的输出值,所述x
t
为本时刻的输入数据,所述lstm单元通过s(t)与e(t)进行自身状态的计算,之后与r(t)进行tanh计算得到单元输出;
[0025]
s202、对所述rrn层输出的数据进行特征提取,提取完毕后得到大小为20*1*16的特征图;
[0026]
s203、对得到的特征图进行全连接运算,所述全连接运算使用sigmoid函数得到分类结果,所述x为输入数据。
[0027]
本发明与现有技术相比,具有的有益效果是:
[0028]
本发明通过数据扩增等方式,极大地提高的emg信号识别的泛化性能,并且通过深度学习方法,高速高精度的对emg信号进行了分类,其识别过程完全智能化,无需人工参与。模型训练完成后,即可直接调用进行emg识别,无需再次训练模型。
附图说明
[0029]
图1为本发明的结构示意图;
[0030]
图2为本发明的工作流程图;
[0031]
图3为本发明的运行逻辑框架示意图。
[0032]
其中:1为数据采集模块,2为数据预处理模块,3为识别模型模块,4为模型保存模块,101为加噪模块,102为归一化模块,103为数据切割模块,104为统一数据尺度模块,301为rnn层,302为cnn层,303为全连接层。
具体实施方式
[0033]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]
一种基于rnn-cnn的emg信号分类系统,如图1所示,包括数据采集模块1、数据预处理模块2、识别模型模块3、模型保存模块4,数据采集模块1用于采集emg信号数据,并根据采集动作的不同进行类别划分和标注,完成模型训练所需数据集的构建。数据采集模块1连接
有数据预处理模块2,数据预处理模块2用于对构建的所述数据集进行预处理,以满足模型训练数据要求。数据预处理模块2连接有识别模型模块3,识别模型模块采用深度学习方法搭建识别模型,通过输入训练数据,完成参数模型的搭建。识别模型模块3连接有模型保存模块4,模型保存模块用于当模型的损失函数不再降低之后,保存数据模型。
[0035]
进一步,数据预处理模块2包括加噪模块201、归一化模块202、数据切割模块203、统一数据尺度模块204,加噪模块201连接有归一化模块202,归一化模块202连接有数据切割模块203,数据切割模块203连接有统一数据尺度模块204。
[0036]
进一步,识别模型模块3采用三层结构,三层结构分别为rnn层301、cnn层302、全连接层303,rnn层301采用lstm单元构建,rnn层301连接有数据预处理模块2,cnn层302连接有rnn层301,全连接层303连接有cnn层302。
[0037]
一种基于rnn-cnn的emg信号分类方法,如图2所示,包括下列步骤:
[0038]
s100、采集emg信号数据,并根据采集动作的不同进行类别划分和标注,完成模型训练所需数据集的构建;
[0039]
s200、对构建的数据集进行预处理,以满足模型训练数据要求;
[0040]
s300、采用深度学习方法搭建识别模型,通过输入训练数据,完成参数模型的搭建;
[0041]
s400、当模型的损失函数不再降低之后,保存数据模型。
[0042]
进一步,s100中完成模型训练所需数据集的构建的方法为:包括下列步骤:
[0043]
s101、将数据集复制三份,第一份数据集不做处理,给第二份数据集的数据增加该条数据s最大值5%的噪声,给第三份数据集的数据增加该条数据最大值10%的噪声,之后将三份数据集并打乱;
[0044]
s102、对s101中的三份数据集进行min-max归一化;
[0045]
s103、将s102中进行min-max归一化后的数据集进行分割,将整条数据集根据时间分割为小段数据;
[0046]
s104、将分割后的数据进行格式同化。
[0047]
进一步,s200中对构建的数据集进行预处理的方法为:包括下列步骤:
[0048]
s201、使用lstm单元构建rnn层,
[0049]
s(t)=σ(w
s
·
[h
t-1
,x
t
]+b
s
)
[0050]
e(t)=σ(w
e
·
[h
t-1
,x
t
]+b
e
)
[0051]
r(t)=σ(w
r
·
[h
t-1
,x
t
]+b
r
)
[0052]
其中:s(t)为遗忘门,e(t)为记忆门,r(t)为输出门,w
s
、w
e
、w
r
分别为遗忘门、记忆门、输出门的rnn层的权值,b
s
、b
e
、b
r
分别为遗忘门、记忆门、输出门的bias参数,h
t-1
为上一次迭代的输出值,x
t
为本时刻的输入数据,lstm单元通过s(t)与e(t)进行自身状态的计算,之后与r(t)进行tanh计算得到单元输出;
[0053]
s202、对rrn层输出的数据进行特征提取,提取完毕后得到大小为20*1*16的特征图;
[0054]
s203、对得到的特征图进行全连接运算,全连接运算使用sigmoid函数得到分类结果,x为输入数据。
[0055]
实施例
[0056]
首先给100位测试者穿戴myo臂环,让测试者的手臂做指定动作,记录其做动作时myo臂环检测到的8通道emg信号并进行标注。完成数据收集后,对数据进行预处理,预处理包括分割,加噪。将预处理后的数据输入搭建好的lstm网络进行网络模型的训练,待到模型损失函数不再下降,保存模型,完成模型构建。具体步骤如下:
[0057]
采用myo臂环进行数据的收集,myo臂环可采集8通道采样率为100hz的emg信号数据,对信号可以有更高维度的描述,帮助模型更准确的对信号进行分类识别。n名测试者穿戴myo臂环后,做指定的m个动作,每个动作每3秒做一次,一共做10次。一共可得到n*m条长度为30秒的emg信号数据。
[0058]
数据加噪:将数据集复制3份,第一份不做处理,给第二份的每个数据x加该条数据s最大值5%的噪声,给第三份的数据加该条数据最大值10%的噪声。之后将3份数据集合并打乱。x

j
=x
j
+max(s
i
)
[0059]
数据归一化:对每条数据进行min-max归一化。
[0060]
数据处理:将获取到的数据进行分割,将30秒的数据分割为3秒的小段数据,便于网络的快速识别,并且扩增数据集,增强网络识别能力。
[0061]
模型构建:网络模型包含3层结构,分别为rnn层,cnn层,全连接层。rnn层使用lstm单元构建,
[0062]
s(t)=σ(w
s
·
[h
t-1
,x
t
]+b
s
)
[0063]
e(t)=σ(w
e
·
[h
t-1
,x
t
]+b
e
)
[0064]
r(t)=σ(w
r
·
[h
t-1
,x
t
]+b
r
)
[0065]
其中:s(t)为遗忘门,e(t)为记忆门,r(t)为输出门,w
s
、w
e
、w
r
分别为遗忘门、记忆门、输出门的rnn层的权值,b
s
、b
e
、b
r
分别为遗忘门、记忆门、输出门的bias参数,h
t-1
为上一次迭代的输出值,x
t
为本时刻的输入数据。lstm通过s(t)与e(t)进行自身状态的计算,之后与r(t)尽心tanh计算得到单元输出。
[0066]
首先通过bi-lstm层对emg信号进行时域分析,将输入的30*1*8大小的数据维度转换为30*1*32,之后使用cnn网络对bi-lstm输出的数据进行特征提取,提取完毕后得到大小为20*1*16的特征图,对得到的特征图进行全连接运算,而后使用sigmoid函数得到分类结果。sigmoid函数:当模型的损失函数不再降低之后,保存模型。
[0067]
本文中的模块、单元或组件的划分仅仅是一种逻辑功能的划分,在实际实现时可以有其他的划分方式,例如多个模块和/或单元可以结合或集成于另一个系统中。作为分离部件说明的模块、单元、组件在物理上可以是分开的,也可以是不分开的。作为单元显示的部件可以是物理单元,也可以不是物理单元,即可以位于一个具体地方,也可以分布到网格单元中。因此可以根据实际需要选择其中的部分或全部的单元来实现实施例的方案。
[0068]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质,包括但不限于磁盘存储器、cd-rom、光学存储器等,上实施的计算机程序产品的形式。
[0069]
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1