基于多特征融合CNN的肌电手势识别方法与流程

文档序号:22738606发布日期:2020-10-31 09:19阅读:490来源:国知局
基于多特征融合CNN的肌电手势识别方法与流程

本发明属于生理信号识别领域,具体涉及一种基于多特征融合cnn的肌电手势识别方法。



背景技术:

生理信号是一种重要的数据资源,可在疾病的检测、治疗和康复等环节提供帮助。其主要包括人体正常生理活动中自发产生的信号,如心电信号、脑电信号、肌电信号、胃电信号等电生理信号和呼吸、脉搏、体温等非电生理信号。其中肌电信号(electromyogram,emg)是随肌肉活动产生的一种重要生物电信号,它是众多肌纤维运动电位在时间和空间上的叠加。这一信息能够反映关节状态以及在运动过程中肢体的形状和位置等信息,是用于感知人体动作的重要方式。

目前,semg由于在测量上具有非侵入性、无创伤、操作简单等优点,在临床医学、人机交互以及动作识别等方面均有重要的实用价值。随着肌电信号采集设备的不断优化、识别技术和分类方法的不断完善,基于semg信号的手势识别准确度也在不断提升。现在semg手势识别领域,主要有两大类研究类别,一种是基于传统机器学习方法进行手势识别,另一种是基于深度学习方法进行肌电手势分类。

总的来看,两类方法都还存在不足之处,使用机器学习方法进行semg手势识别需要根据不同的应用场景选取不同的特征集,模型训练的时间较短,但对于研究人员来说,需要根据不同的输入数据设计相对应的特征提取方法,工作较为繁琐复杂;而使用深度学习方法,仅通过神经网络对于输入的semg信号进行不断的训练和迭代提取特征,容易导致经过一层层的卷积提取后特征过于简化,原始信号中的一部分特征信息丢失。



技术实现要素:

针对以上问题,本发明从降低特征集依赖以及优化训练过程特征的角度出发,提出了基于多特征融合cnn的肌电手势识别方法。该方法为简化训练过程,减少训练集对于设计特定特征集的依赖,以深度学习方法中的卷积神经网络架构为基础进行设计;其次在架构上使用并行神经网络对时域信号和频域信号同时进行训练,有助于提升训练效率,减少训练时间;在训练模型中,提取训练初期的浅层数据特征与网络末端的深层特征相融合,输入分类层进行分类。

基于多特征融合cnn的肌电手势识别方法,其特征在于:所述方法包括如下步骤:

步骤1:数据预处理;在数据预处理阶段,在对原始数据进行去噪、裁剪和标记措施后,将数据分别按照时域信号和频域信号两种方法进行处理,获得不同类别的输入数据;

步骤2:cnn架构获取输入数据浅层特征;cnn网络主要采取并行架构,初始网络是二并行,分别以时域信号和频域信号数据作为输入,经过两层卷积层后初步训练得到浅层数据特征,将并行特征融合后提取处理;

步骤3:cnn架构获取输入数据深层特征;进行完整的cnn网络训练,共包含5层卷积层和两层局部连接层,每一层的卷积核参数以及神经元数目根据神经网络训练过程中的微调得到最优结果,其中加入批量归一化以及池化处理以便得到较高的训练效率以及较优的数据特征;

步骤4:特征融合;将步骤2与步骤3中获得的浅层、深层特征经过flatten和激活函数处理后得到相同尺寸的特征数据以便进行后续操作,再进行数据拼接后输入分类器;

步骤5:手势分类;利用全连接层和分类层对步骤4得到的最终特征进行概率计算,获取手势分类结果。

进一步地,步骤1中,采用双t型陷波滤波器来滤除信号中特定频率的噪声;其次,针对基线漂移,使用小波变换算法来去除基线干扰,通过小波变换对原始信号进行多尺度分解,观察分解出的低频系数,将原始信号减去基线,得到消除了基线漂移的信号值;然后,对于经过降噪处理的所有semg信号手动标记每个数据文件,对于不同受试者的不同手势添加相对应的标记,增加标签以便后续训练和测试环节使用;接下来是样本处理环节,将受试者动作过渡间隔的1s样本舍弃,其他样本标记为测试动作;最后,将肌电信号由一维格式转换为二维的时域信号图格式或是频谱图格式。

进一步地,步骤2中,在每个卷积层后添加了批量归一化和激活函数relu。

进一步地,步骤4中,将步骤2中提取出的浅层特征以及步骤3中提取出的深层特征进行融合处理,在经过flatten函数操作以及全连接层处理后数据格式为bi*ui(i∈{1,2}),其中bi为网络设置的batch_size,而ui为全连接层中设置的输出空间维度,也即隐藏单元数目;在融合环节,使用concatenate拼接函数进行特征的融合,输出一个由所有输入张量连接起来的输出张量,用于后续手势识别。

进一步地,步骤5中,将上述步骤得到的融合特征进行分类,根据输入信号具体判别其属于哪种手势类别;首先将训练得到的特征输入全连接层,全连接层的神经元数目设置为n。再连接softmax分类层,该层神经元数目设置为n’,n’的数值根据所需要分类的手势类别决定。最后输出当前输入信号可能属于的手势类别的概率值,其中概率值最大的一类即为网络判断得出的semg手势识别结果。

本发明达到的有益效果为:

1.在cnn架构中,对于训练数据提取浅层与深层两方面的特征进行融合后再输入分类层进行手势识别,保证训练数据得到的特征既包含浅层的具体特征,同时含有深层训练得到的抽象特征,增加特征的多样性,避免经过cnn训练得到的特征过于抽象导致的信息丢失,提升肌电信号手势识别准确率;

2.对多种手势肌电信号的输入数据进行预处理,分别采用时域信号和频域信号,有助于收集信号波形的时间和空间两方面特征,减少原始信号在处理过程中可能产生的信息损失,增加数据信息量,有助于最终手势识别准确率的提高;

3.cnn采用并行网络架构,对两组数据分别同时进行训练与特征提取,避免不同种类数据之间的相互干扰,同时有助于减少训练时间,增加训练效率。

附图说明

图1是本发明实施例中数据预处理的流程图。

图2是本发明实施例中网络模型架构示意图。

具体实施方式

下面结合说明书附图对本发明的技术方案做进一步的详细说明。

针对目前问题,本发明从降低特征集依赖以及优化训练过程特征的角度出发,提出了基于并行特征融合卷积神经网络架构的手势识别方法。本方法提出了基于并行的特征融合卷积神经网络架构。该方法为简化训练过程,减少训练集对于设计特定特征集的依赖,以深度学习方法中的卷积神经网络架构为基础进行设计;其次在架构上使用并行神经网络对时域信号和频域信号同时进行训练,有助于提升训练效率,减少训练时间;在训练模型中,提取训练初期的浅层数据特征与网络末端的深层特征相融合,输入分类层进行分类。具体包含以下步骤:

步骤1:如图1所示,原始的表面肌电信号易受到来自生理、环境的多种噪声干扰,所以需要先进行降噪处理。首先是处理工频干扰导致的噪声,这里采用双t型陷波滤波器来滤除信号中特定频率的噪声,本方法设定阻带中心频率为50hz,即可消除其影响;其次,针对基线漂移,使用小波变换算法来去除基线干扰,通过小波变换对原始信号进行多尺度分解,观察分解出的低频系数,将原始信号减去基线,即可得到消除了基线漂移的信号值。

其次,对于经过降噪处理的所有semg信号手动标记每个数据文件,对于不同受试者的不同手势添加相对应的标记,增加标签以便后续训练和测试环节使用。

接下来是样本处理环节,将受试者动作过渡间隔的1s样本舍弃,其他样本标记为测试动作。同时为了测试不同的电极配置,一些无效或异常的电极信号需要被丢弃。

在进行了上述步骤后,将肌电信号由一维格式转换为二维的时域信号图格式或是频谱图格式。假设肌电信号采集设备的采样频率为f,采样手势时间为t,首先我们要设置窗口长度w和滑动步长l,对于t时间长度的采样手势,经过划分可以获得(t-w)/l+1个子数据样本a,每个子样本ai(i∈{1,2,…,(t-w)/l+1})中含有w*f个数据点,将这w*f个数据点转换为二维格式a*b,a和b分别为图片格式的宽和高,若该信号采集设备的通道数为c,则最终输入格式整理为a*b*c,这是时域信号图的格式转换。对于频谱图变换,则先对经过初期处理的肌电数据使用傅里叶变换,将一维时域信号转换为频域信号格式,再按照上述步骤重新排列为频谱图格式作为后续cnn网络的输入数据。

步骤2:如图2中的训练浅层特征环节,首先对于输入的肌电数据进行初步的训练。cnn网络模型采用并行网络架构,二并行网络分别用于处理输入的时域和频域信号,两层并行的网络模型采用相同的隐藏层设置,在训练浅层特征时,使用了两层卷积层,两层卷积层的参数设置分别为,第一层的卷积核个数为f1,步长设置为sf11和sf12,分别代表了卷积核水平滑动和垂直滑动时的步长值,卷积核大小设置为kf11*kf12;同理,第二层的参数设置,卷积核个数为f2,步长设置为sf21和sf22,卷积核大小设置为kf21*kf22。在每个卷积层后添加了批量归一化和激活函数relu。批量归一化有助于加快收敛,同时可以避免网络中常见的梯度消失和数据分布不均衡的问题;而使用relu作为激活函数,减少了反向传播算法的计算量,也可以缓解过拟合。在训练完成后,将两层的浅层特征提取出来等待后续使用。

步骤3:如图2中的训练深层特征环节,进行完整的cnn网络训练,本环节中主要有7层隐藏层,在步骤2中两层卷积层的基础上,再添加3层卷积层和2层局部连接层,3层卷积层的参数设置与步骤2中类似,卷积核个数分别为f3、f4、f5,步长设置为(sf31,sf32)、(sf41,sf42)和(sf51,sf52),以及卷积核大小分别设置为kf31*kf32、kf41*kf42、kf51*kf52。在卷积层的后面除了类似步骤2中加入批量归一化和激活函数以外,还添加了最大池化层。局部连接层的参数设置与卷积层类似,输出空间的维度设置为lc1和lc2,卷积核大小为klc11*klc12、klc21*klc22,步长设置为(slc11,slc12)和(slc21,slc22)。同样,在训练完成后,将并行网络得到的深层特征提取并融合保存。

步骤4:如图2中的特征融合环节所示,在本环节,主要将步骤2中提取出的浅层特征以及步骤3中提取出的深层特征进行融合处理。在经过flatten函数操作以及全连接层处理后数据格式为bi*ui(i∈{1,2}),其中bi为网络设置的batch_size,而ui为全连接层中设置的输出空间维度,也即隐藏单元数目。在融合环节,使用concatenate拼接函数进行特征的融合,输出一个由所有输入张量连接起来的输出张量,用于后续手势识别。

步骤5:如图2中的分类环节所示,该模块用于将上述步骤得到的融合特征进行分类,根据输入信号具体判别其属于哪种手势类别。首先将训练得到的特征输入全连接层,全连接层的神经元数目设置为n。再连接softmax分类层,该层神经元数目设置为n’,n’的数值根据所需要分类的手势类别决定。最后输出当前输入信号可能属于的手势类别的概率值,其中概率值最大的一类即为网络判断得出的semg手势识别结果。

以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1