基于BP神经网络的手势识别方法与流程

文档序号:12361885阅读:823来源:国知局
基于BP神经网络的手势识别方法与流程

本发明涉及手势识别解决方案中肌电信号的预处理、特征提取以及模式识别算法设计,尤其涉及一种基于BP神经网络手势识别方法。



背景技术:

随着微电子技术、传感器技术以及计算机技术的飞速发展,手持移动设备、穿戴式设备和微型计算机已经逐渐在人们日常生活中普及。但是由于使用场景和小型设备的限制,传统的人机交互设备,例如键盘、鼠标等设备已经不能满足人们的需求。可以移动的小型化手势识别设备被提出作为新型的人机交互设备。

肌肉电信号在1945年被使用于控制领域以来,经历了近百年的发展,一直被研究应用于医学诊断和生物机械领域。随着生物医学技术、人工智能技术的发展,使用肌电信号进行手势识别的方法被提出并不断探索。人体生物电的产生是典型的非线性、非平稳过程,信号幅值微弱,比如肌电信号幅值在μV~mV级,并且个体间差异较大。如何消除个体差异,使手势识别方案具有通用性,就显得尤为重要。



技术实现要素:

因此,为解决现有技术存在的技术缺陷和不足,本发明提供一种基于改进的归一化方法的BP神经网络手势识别方法。

在模式识别和信号分析中,神经网络分类器具有描述输入与输出线性和非线性映射关系的优点,同时具有强大的学习能力。本发明对不同个体的肌肉电信号样本进行归一化,然后提取多时域特征应用于神经网络分类器进行分析,以此来进行识别手势。具体如下步骤:

采集多个样本多个手势动作产生的肌电信号;

对所述肌电信号进行归一化处理;

对经归一化处理后的所述肌电信号提取多个特征值组成特征值矩阵;

对所述特征值矩阵利用BP神经网络算法进行模型训练以形成BP神经网络模型;

将所述BP神经网络模型存储到所述肌电信号采集设备中以进行手势识别。

在本发明的一个实施例中,对所述肌电信号进行归一化处理,包括:

同一个样本的多通道多手势动作的肌电信号为X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号,采用外摆手势动作N个通道肌电信号的绝对值的最大值|X|max作为归一化的参考标准,对所述肌电信号进行所述归一化处理,所述归一化处理公式为:其中,x(i,j)为归一化后多通道多手势动作的肌电信号的离散时间序列。

在本发明的一个实施例中,对所述肌电信号进行归一化处理,包括:

针对同一个样本的多通道多手势动作的肌电信号X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号,利用外摆手势同一通道差值的绝对值的最大值|X(n)max-X(n)min|进行归一化处理;所述归一化处理公式为:n表示所述肌电信号采集设备的采集通道的序号,x(i,j)为归一化后的离散时间序列。

在本发明的一个实施例中,对所述肌电信号进行归一化处理,包括:

针对同一个样本的多通道多手势动作的肌电信号X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号,利用所述外摆手势N通道的均方根的最大值进行归一化处理;所述归一化处理公式为:

<mrow> <mi>RMS</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <mi>X</mi> <msup> <mrow> <mo>(</mo> <mi>n</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mi>M</mi> </mfrac> </msqrt> </mrow>

其中,n表示所述肌电信号采集设备的采集通道的序号,X(n,j)为第n个通道的离散时间序列,j表示时间序列;x(i,j)为归一化后的离散时间序列。

在本发明的一个实施例中,对所述肌电信号进行归一化处理,包括:

针对同一个样本的多通道多手势动作的肌电信号X(i,j)减去同一样本放松状态对应通道的肌电信号形成处理后的肌电信号X′(i,j),其中,X(i,j)、X′(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号;利用外摆手势在同一采集通道差值的绝对值的最大值|X′(n)max-X′(n)min|进行归一化处理;所述归一化处理公式为:n表示所述肌电信号采集设备的采集通道的序号,x(i,j)为归一化后的离散时间序列。

在本发明的一个实施例中,对经归一化处理后的所述肌电信号提取多个特征值组成特征值矩阵,包括:

针对不同样本不同手势,从所述肌电信号采集设备的N个采集通道的所述多个特征中选择至少一个特征作为对应手势的一次特征组合,以形成一个特征值矩阵;

所述多个特征值包括所述肌电信号的绝对均值(MAX)、N个采集通道之间绝对均值的比值(R_MAV)、均方根(RMS)、均方根比值(R_RMS)、过零点(ZC)、波形长度(WL)及符号斜率变化率(SSC)。

在本发明的一个实施例中,对所述特征值矩阵利用BP神经网络算法进行模型训练以形成BP神经网络模型,包括:

步骤一、随机数初始化权值矩阵;

步骤二、对所述多个特征矩阵进行归一化;归一化参考为多个样本N通道同一个特征的最大差值;

步骤三、确定单隐含层的节点数k;

步骤四、依次输入P个学习样本,并假设当前输入样本是第p个。

步骤五、依次计算各层的输出;其中,隐含层的输入算法为:输出层引入非线性函数为:其中,p是当前输入的样本数,wji是第i个神经元到第j个神经元的权值,netpj是神经元j的输入,opj是神经元j的输出;

步骤六、输出层神经元的输出为:

步骤七、第p个样本的误差性能指标函数:式中,tpl是神经元l的目标输出;

步骤八、记录学习过的样本数,如果p<P,转到步骤五,如果p=P则转到步骤九;

步骤九、按照权值修正公式修正各层的权值;输出层及隐层的连接权值wlj学习算法:隐层及输入层的连接权值wji学习算法:式中,n为迭代次数,η为学习速率,η∈[0,1],采用变步长算法进行学习;

步骤十、对所述各层的权值加入动量因子α,此时的权值为:

wlj(n+1)=wlj(n)+△wlj+α(wlj(n+1)-wlj(n));

wji(n+1)=wji(n)+△wji+α(wji(n+1)-wji(n));其中,动量因子的取值α∈[0,1];

步骤十一、按照新的权值重新计算各层的输出,如果每个样本均满足输出和目标输出的差小于阈值数,或者达到了预设的学习次数,则停止。否则转到步骤五。

在本发明的一个实施例中,将所述BP神经网络模型存储到肌电信号采集设备中以进行手势识别,包括:

利用所述肌电信号采集设备的N个采集通道对肌电信号进行采集;

对采集到的肌电信号在时域上进行特征提取以获得所述BP神经网络模型对应的特征值矩阵;

将所述特征值矩阵输入所述BP神经网络模型进行识别。

在本发明的一个实施例中,利用所述肌电信号采集设备的N个采集通道对肌电信号进行采集所设定的参数包括:

设置固定的数据处理窗口长度为L,移动步长为L,采样频率F满足条件:L/F<0.3s。

上述实施例,对肌电信号通过数据采集、归一化处理、特征提取、特征选择,并利用BP神经网络算法对不同手势对应的特征值矩阵进行训练并确定最优的特征值矩阵,即在PC端将BP神经网络模型训练好,然后存储到嵌入式系统,这样节省了嵌入式系统对模型训练时的时间消耗和内存消耗。同时扩大模型的训练样本时,不用考虑嵌入式的运行能力。因此PC端可以采样尽可能多的样本,涵盖广泛的人群肌电特征,使训练好的BP神经网络模型具有更好的通用性。

附图说明

为了更清晰地说明本发明或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。下面将结合附图,对本发明的具体实施方式进行详细的说明。

图1为本发明实施例提供的一种基于BP神经网络的手势识别方法的流程示意图;

图2为本发明实施例提供的一种BP神经网络的模型示意图;

图3为本发明实施例提供的一种BP神经网络的算法流程图;

图4为本发明实施例提供的另一种基于BP神经网络的手势识别方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

请参见图1,图1为本发明实施例提供的一种基于BP神经网络的手势识别方法的流程示意图,该方法可以应用于包括肌电信号处理、手势识别、肌电义肢、生物机械等领域,尤其是涉及手势识别系统中肌电信号的归一化、特征提取以及模式识别算法设计,即信号的归一化、时域特征提取以及分类算法的应用和优化。具体地,该方法可以包括如下步骤:

步骤a、采集多个样本多个手势动作产生的肌电信号;

步骤b、对肌电信号进行归一化处理;

步骤c、对归一化处理后的肌电信号提取多个特征值组成特征值矩阵;

步骤d、对特征值矩阵利用BP神经网络算法进行模型训练以形成BP神经网络模型;

步骤e、将BP神经网络模型存储到肌电信号采集设备中以进行手势识别。

其中,对于步骤a,为了保证对手势识别的精确性,利用大数据思维,选取不少于50个样本。也就是说,会对50个测试者进行测试,使模型具有通用性。

对于步骤a,将所述肌电信号采集设备佩戴于测试者的前臂,且N个采集通道对应贴附于所述指定部位的不同位置处。其中,肌电信号采集设备例如是西安中科比奇创新科技有限责任公司生产的DTing设备。

对于步骤b,可以包括:

步骤b1、同一个样本的多通道多手势动作的肌电信号为X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号。采用外摆手势动作N通道肌电信号的绝对值的最大值|X|max作为归一化的参考标准。对所述肌电信号进行所述归一化处理公式为:其中,x(i,j)为归一化后多通道多手势动作的肌电信号的离散时间序列。

可选地,对于步骤b,可以包括:

步骤b2、针对同一个样本的多通道多手势动作的肌电信号X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号,利用所述外摆手势同一通道差值的绝对值的最大值|X(n)max-X(n)min|进行归一化处理;所述归一化处理公式为:n表示所述肌电信号采集设备的采集通道的序号,x(i,j)为归一化后的离散时间序列。

可选地,对于步骤b,可以包括:

步骤b3、针对同一个样本的多通道多手势动作的肌电信号X(i,j),X(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号,利用所述外摆手势N通道的均方根的最大值进行归一化处理;所述归一化处理公式为:

n表示通道。

其中,n表示所述肌电信号采集设备的采集通道的序号,X(n,j)为第n个通道的离散时间序列,j表示时间序列;x(i,j)为归一化后的离散时间序列。

可选地,对于步骤b,可以包括:

步骤b4、针对同一个样本的多通道多手势动作的肌电信号X(i,j)减去同一样本放松状态对应通道的肌电信号形成处理后的肌电信号X′(i,j),其中,X(i,j)、X′(i,j)为离散时间序列,i表示所述肌电信号采集设备的采集通道的序号,且i=1~N,j表示时间序列号;利用外摆手势在同一采集通道差值的绝对值的最大值|X′(n)max-X′(n)min|进行归一化处理;所述归一化处理公式为:n表示所述肌电信号采集设备的采集通道的序号,x(i,j)为归一化后的离散时间序列。

对于步骤c,包括:

针对不同样本不同手势,从所述N个采集通道的所述多个特征中选择至少一个特征作为对应手势的一次特征组合,由该特征组合形成对应的特征值矩阵。

所述多个特征值可以为所述肌电信号的绝对均值(MAX)、N个采集通道之间绝对均值的比值(R_MAV)、均方根(RMS)、均方根比值(R_RMS)、过零点(ZC)、波形长度(WL)及符号斜率变化率(SSC)等构成的任意组合。

对于步骤d,可以包括如下步骤::

步骤d1、将所述不同归一化处理后提取的特征值矩阵利用BP神经网络算法进行训练,并从M个样本中确定识别率最高和误识别率最低的特征值矩阵,将对应归一化方法作为最优归一化方法。

步骤d2、将不同样本不同手势的肌电信号采用所述最优归一化方法进行处理,提取所述多个特征值,任意组合组成多个特征值矩阵,选取特征值矩阵的50%利用BP神经网络算法进行模型训练,剩余50%进行识别,确定识别率最高和误识别率最低的特征值矩阵为最优特征值组合。

步骤d3、将所述最优特征值矩阵利用BP神经网络算法进行模型训练以形成定义手势的所述BP神经网络模型。

另外,步骤d从BP神经网络算法角度上可以包括如下步骤:

步骤一、随机数初始化权值矩阵;

步骤二、对特征矩阵进行归一化;归一化参考为多个样本N通道同一个特征的最大差值;

步骤三、确定单隐含层的节点数k;

根据经验公式其中a为输入层节点数,b为输出层节点数,为7类手势,σ为一常数。

当只有一个特征量,8通道时,k=4~14,用均方根特征测试,k=10,即10个隐层节点时,识别率最高,误识别率最低;

当2个特征量,8通道时,k=5~15;3个特征量时,k=6~16;4个特征量时,k=7~17;5个特征量时,k=7~17;6个特征量时,k=8~18;7个特征量时,k=8~18;用1个特征组合进行测试,k=11,即11个隐含层节点时,识别率最高,误识别率最低;

综上所述,隐含层节点数选择为11,测试结果最佳;

步骤四、依次输入P个学习样本,并假设当前输入样本是第p个。

步骤五、依次计算各层的输出;其中,隐含层的输入算法为:输出层引入非线性函数为:其中,p是当前输入的样本数,wji是第i个神经元到第j个神经元的权值,netpj是神经元j的输入,opj是神经元j的输出;

步骤六、输出层神经元的输出为:

步骤七、第p个样本的误差性能指标函数:式中,tpl是神经元l的目标输出;

步骤八、记录学习过的样本数,如果p<P,转到步骤五,如果p=P则转到步骤九;

步骤九、按照权值修正公式修正各层的权值;输出层及隐层的连接权值wlj学习算法:隐层及输入层的连接权值wji学习算法:式中,n为迭代次数,η为学习速率,η∈[0,1],采用变步长算法进行学习;

步骤十、对所述各层的权值加入动量因子α,此时的权值为:

wlj(n+1)=wlj(n)+△wlj+α(wlj(n+1)-wlj(n));

wji(n+1)=wji(n)+△wji+α(wji(n+1)-wji(n));其中,动量因子的取值α∈[0,1];

步骤十一、按照新的权值重新计算各层的输出,如果每个样本均满足输出和目标输出的差小于阈值数,或者达到了预设的学习次数,则停止。否则转到步骤五。

图2为本发明实施例提供的一种BP神经网络的模型示意图。请参见图2,BP神经网络是采用误差反向传播(Back-propagation)算法的多层前馈感知网络。通常由输入层、隐含层和输出层组成,层与层之间全互连。根据Kolmogorov定理,具有一个隐层(隐层节点足够多)的三层BP神经网络能在闭集上以任意精度逼近任意非线性连续函数。因此本发明采用单隐含层的BP神经网络。

对于步骤e,可以包括:

步骤e1、利用所述肌电信号采集设备的N个采集通道对肌电信号进行采集;

步骤e2、对采集到的肌电信号在时域上进行特征提取以获得所述BP神经网络模型对应的特征值矩阵;

步骤e3、将所述特征值矩阵输入所述BP神经网络模型进行识别。

其中,步骤e1中采集所设定的参数包括:设置固定的数据处理窗口长度为L,移动步长为L,由于人机交互的实时性,人在延迟时间大于300ms时,才会有延迟感,因此在采样频率为F的情况下,L/F应小于0.3,即0.3s。

本发明实施例,采用归一化的技术手段解决由于个体差异,肌电信号差异较大,带来的手势识别方案不具有通用性的问题。归一化方法中可以采用信号的幅值最大值或者幅值均方根的最大值作参考,然而幅值最大值参考可能是干扰,极大的减弱了有用信号的作用,而幅值均方根最大值虽然可以避免干扰的情况,但是两种情况都没有办法消除原始信号中偏置信息。肌电信号进行特征提取形成的样本空间存在信息冗余且是线性不可分的,因此在对信号有效的归一化基础上,进行特征选择并采用非线性的分类算法才能够更好的实现手势识别。

实施例二

在上述实施例的基础上,本实施例以肌电信号采集设备具备8个采集通道,采用了4种方法进行归一化处理,提取多个特征包括肌电信号的绝对均值(MAX)、N个采集通道之间绝对均值的比值(R_MAV)、均方根(RMS)、均方根比值(R_RMS)、过零点(ZC)、波形长度(WL)及符号斜率变化率(SSC)7个特征为例进行详细说明。

1、用9个样本,8通道,7个手势,每个样本每个手势10240个离散时间序列,按照所述4种方法进行归一化,每个手势组成8*92160大小的离散时间序列,提取绝对均值和波形长度两个特征量组成特征值矩阵,然后进行BP神经网络的模型训练,再用9个样本,每个手势8*230400大小的离散时间序列进行识别,识别率和误识别率如下表1所示。

表1 4种归一化方法的识别率和误识别率

因此预处理后差值绝对值的最大值为最优的归一化方法。

2、多个特征量计算如下:

(1)绝对均值(MAV):信号幅值的绝对均值特征反映了表面肌电信号的平均强度,计算公式如下:

其中,N为该段表面肌电信号的总采样点数,Xi为第i个采样点处表面肌电信号的幅度值;

(2)绝对均值的比值(R_MAV),计算公式如下:

其中,C为通道数,MAVC为第C个通道表面肌电信号的绝对平均值。通道间的比值消除了力度的影响;

(3)均方根(RMS):均方根是在一定程度上反应了一段表面肌电信号的有效值,计算公式如下:

<mrow> <mi>R</mi> <mi>M</mi> <mi>S</mi> <mo>=</mo> <msqrt> <mfrac> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msubsup> <mi>X</mi> <mi>i</mi> <mn>2</mn> </msubsup> </mrow> <mi>N</mi> </mfrac> </msqrt> <mo>;</mo> </mrow>

(4)均方根比值(R_RMS),公式如下:

其中,C为通道数,RMSC为第C个通道表面肌电信号的绝对平均值;

(5)过零点(ZC);公式如下:

<mrow> <mi>Z</mi> <mi>C</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mi>f</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

式中,θ为阈值,取值为0.025*|Xmax-Xmin|。

(6)波形长度(WL);公式如下:

<mrow> <mi>W</mi> <mi>L</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mrow> <mo>|</mo> <mrow> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> </mrow> <mo>|</mo> </mrow> <mo>;</mo> </mrow>

(7)符号斜率变化率(SSC);公式如下:

<mrow> <mi>S</mi> <mi>S</mi> <mi>C</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>2</mn> </mrow> <mrow> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <mi>f</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

3、对离散时间序列计算上述特征值组成特征值矩阵,行表示不同类型的特征,列表示采样点;BP神经网络是有导师的学习,给出分类的目标输出矩阵,行表示类别,列表示采样点。由于8通道7个特征,特征维度较大,特征向量间必然存在冗余信息,因此就需要对特征进行选择,消除冗余信息。在7个特征中,任意选择1、2、3个进行随机组合,同时考虑特征的顺序,总共种组合。

将特征值矩阵输入BP神经网络进行分类和识别,统计识别率和误识别率,存储识别率最高和误识别率最低的训练模型,以进行后续的测试。也即把上述259种组合中的每种组合输入BP神经网络进行训练和识别,统计最优特征组合。

综上所述,本文中应用了具体个例对本发明基于BP神经网络的手势识别方法的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应以所附的权利要求为准。

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