1、基于 BP 神经网络的手势动作表面肌电信号的模式识别作者:于擎,杨基海,陈香,张旭 【摘要】 手势语言在日常生活中有着广泛的应用,本研究利用手势动作时从前臂 4 块肌肉上获取的 4 路表面肌电(SEMG)信号,经特征提取并采用 BP 神经网络,对 8 种手势动作模式进行了识别。鉴于 BP 网络具有较强的模式分类能力,而特征提取(幅度绝对值均值、AR 模型系数、过零率)又利用了多路肌电信号的信息,实验结果取得了较高的识别正确率,表明所采用的方法是有效的。 【关键词】 模式识别;手势语言;表面肌电信号;BP 网络; AR 模型系数; 过零率Abstract:Sign language is wid
2、ely used in our daily life. In this paper, some features are extracted, using surface myoelectrogram(SEMG)signals, which were generated on four muscles of forearm when gesture actions happened. Owing to stronger classification ability of BP networks and better separability of feature vectors(which i
3、nclude mean absolute value, AR model parameters, and zerocrossing rate) extracted from multichannel SEMG signals, the higher accuracy was obtained in the experiments. It shows that the method is efficient.Key words:Pattern recognition; Sign language; Surface myoelectrogram signals; BP networks; Auto
4、-regressive model parameter; Zero-crossing rate1 引 言手势语言在人们日常生活中的应用极为广泛,如交警指挥交通,排球场上裁判的手势,聋哑人之间的手语交流等等。而且,许多手势动作在不同地域是通用的,这就为不同语种的人们相互交流提供了方便。目前,对于手势语言的识别主要有基于数据手套1的手语识别和基于视觉图像2的手语识别,前者识别率高,但输入设备昂贵,难以普及;后者输入设备简单,但识别率较低,实时性比较差。由于手势动作与手指和关节的运动相关联,而手指和关节的运动又由对应肌肉群所控制,因此,可以通过控制相关肌肉活动产生的表面肌电(SEMG)信号及其差异来
5、识别不同的手势动作。采用基于 SEMG 信号的手势动作识别的优点是:传感系统设计简单,对周围环境要求不高,处理算法的计算量也较少,它要解决的关键问题是提高对多种动作识别的分类正确率。BP 算法结构简单,可操作性强,能模拟任意的非线性输入输出关系,常常被用于表面肌电信号的识别中。在神经网络的实际应用中,绝大部分的神经网络模型采用 BP 网络或其它的变化形式,它也是前向网络的核心部分,体现了人工神经网络中的精华部分3 。2 识别方法手势动作 SEMG 的信号模式识别流程见图 1。图 1 动作肌电信号的模式识别流程Fig 1 The flow chart of gesture SEMG recogn
6、ition2.1 手势动作的定义本研究借鉴 Sign Language 库中的常用手势定义,手势名称用四位英文字母命名,通常为英文描述的单词简写。我们选取了其中的八种动作,其名称和表述见表 1。表 1 动作的名称和含义2.2 SEMG 信号的获取和预处理分别在前臂的尺侧腕伸肌、伸指总肌、指深屈肌和拇长屈肌安放4 对电极(长 10 mm,间距 5 mm) ,检测手势动作时的 SEMG 信号。利用DELSYS 公司的 16 通道肌电采集系统采集信号,该系统的低频截止频率为10 Hz,高频截止频率为 500 Hz,设置数据采样率为 1 000 Hz,得到 4导数据,存入 PC 机。然后进一步利用巴特
7、沃思带通滤波器对肌电信号数据进行滤波,滤波器的通带频率范围 20400 Hz,通带内衰减不大于 3 dB,阻带内的衰减不小于 40 dB。2.3 活动段检测动作 SEMG 信号可以分成许多活动段和非活动段,每个活动段代表一个有效动作,而非活动段仅由噪声和背景肌电活动组成。为了区分各单个动作信号,必须确定动作的起始和结束位置。由于背景噪声的能量比动作信号的能量小,采用一种反映信号能量大小的移动窗法4进行活动段检测。具体思路是:提取一小段时间内的信号数据, 对其进行平方积分,则有Qi=ti+tti-tx(t)2dt(1)其中 x(t)是窗内的肌电信号数据,Qi 表示 ti 时刻信号的能量值。Qi
8、若大于某阈值 A,且在窗移动后有连续 n1 次能量值 Qk (k=i,i+1,i+n1)都大于阈值 A,则可认为 ti 时刻是动作的开始时刻。此后若有连续 n2 次能量值 Qk(k=j,j+1,j+n2)都小于某阈值 B(BA) ,则可认为动作结束,并以 tj 时刻为结束时刻。若能量值 Q 在 A 与 B 之间,则认为动作处于保持状态;若能量值 Q 小于 A,则认为无动作产生。2.4 特征提取对肌电信号分析和处理常用的特征有:信号的平均值,方差,功率谱密度,AR 模型系数等。其中 AR 模型系数是较常用的一种,它将肌电信号看作为零均值白噪声过程激励一线性系统的输出,只要激励白噪声的功率和系统的
9、参数已知,就可以通过利用模型参数和性质以及白噪声通过此系统后的输入输出关系来研究肌电信号。参数模型把肌电信号的随机性和一定程度的可预测性结合起来,激励白噪声反映过程的随机性,确定性模型反映过程的可预测性5 。一个随机信号的 AR 模型可以表示为:x(n)=-pk=1akx(n-k)+u(n)(2)其中 ak 为模型各阶系数,p 为模型阶次,u(n)为白噪声。由于不同种类动作信号的幅度不同,因此将动作信号幅度绝对值均值作为 SEMG 信号的另一种特征。过零率即信号中波形穿越零电平的次数,用来描述波形在幅度上变化的剧烈程度,反映了信号的变化趋势,将它用作肌电信号的一个特征,其计算公式如下:ZCR=
10、N-1i=1sign(-SEMG(i)SEMG(i+1)SEMG(i)-SEMG(i+1)0.02(3)上式的含义是,若同时满足相临采样点之间异号并且相临采样点差的绝对值大于一个常数(0.02)这两个条件,则可认为信号此刻存在一个过零点。式中的 SEMG(i)是一个活动段的肌电信号,N 为活动段长度,sign 为符号函数:sign(x)=1 x00 x0(4)考虑到描述信号特征的一种特征集只能从某一个角度对信号进行刻画,仅用一种特征参数难以很好识别不同动作,因此,我们将信号的AR 模型系数、信号的过零率和信号幅度绝对值均值融合在一起构成 SEMG信号的特征向量。由此一个活动段(有效动作)的一导
11、数据的特征向量表示为 a=a1, a2, a3 ,a4, a5 ;其中:a1 表示数据的幅度均值;a2、a3、a4 分别是一导数据 AR 模型系数的前三项;a5 是信号的过零率。再考虑到各种手势动作是由相关肌肉群所控制,由其活动产生的各路 SEMG 信号及其特征是有差异的,故进一步将 4 导 SEMG 信号对应活动段提取的 5 个特征组合在一起,构成 20 维特征向量,这样更有利于对手势动作的识别。2.5 BP 神经网络分类器BP 算法是一种常用的神经网络算法,是一种监督式的学习算法。学习的目的是利用网络的实际输出与期望输出之间的误差来修改其权值,使实际与期望尽可能地接近,即使网络输出层的误差
12、平方和达到最小,通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层。BP 算法分为两个阶段:第一阶段(正向过程)输入信息从输入层经隐层逐层计算各单元的输出值;第二阶段(反向传播过程)由输出误差逐层向前计算出隐层各单元的误差,并用此误差修正前层权值,具体算法可见文献6 。采用的三层结构见图 3。图 3 BP 神经网络的结构Fig 3 The structure of BP networks由于从动作肌电信号提取的特征向量维数是 20,因此将 BP 网络输入层神经元个数设置为 20,又
13、根据待识别手势动作的种类数,输出层神经元设为 8 个,而隐层神经元个数 S 则由文献7中的公式确定:S=m+n+a(5)其中 m、n 分别表示输入层、输出层神经元的个数,a 为常数,其值在 110 之间,具体数值根据实验效果选取。3 实验结果对 5 位身体健康,年龄在 2427 岁的研究生进行数据采集。每人每天做一次前述的 8 类动作,每个动作 20 次,一共采集 4 天数据。首先对数据进行预处理(带通滤波)和活动段检测(移动窗法) 。一段原始动作 SEMG 信号见图 4(a) ,经活动段检测后,得到的对应 SEMG 信号的包络见图 4(b) ,由此可以确定每个动作的起始和结束位置。图 4(a
14、)原始肌电信号;(b)活动段检测后的信号Fig 4 (a)raw signal;(b)signal passed through active segmentation然后利用前述特征提取方法,提取每个活动段的 5 个特征,并由4 导信号对应活动段的特征值组成 20 维特征矢量。图 5 表示两位受试者8 类动作特征向量(选取 1 导信号 5 个特征中的 3 个分量)的空间分布。可以看出:8 类动作的特征类间分布差异明显,而类内分布具有较强的相似性,说明特征提取过程是有效的。由于信号幅度绝对值均值的量级比其他特征分量的量级大得多,为平衡各特征的贡献,对每图 5 (a)特征向量的空间分布Fig 5
15、 (a)the distribution of feature vectors 图 5(b)特征向量的空间分布Fig 5(b)the distribution of feature vectors导数据幅度绝对值均值除以一个固定常数(500)进行归一化处理。对于 BP 神经网络的训练,采用同一受试者同一天的数据,每类动作任选 10 个训练样本(剩下的 10 个样本作为测试样本) ,共 80 个动作样本构成训练样本矩阵(8020) ,输入 BP 神经网络。对于每类动作样本,设定其相应输出节点的期望输出值为 1、其它输出节点的值为 0,进行训练。训练参数设置为 :初始学习率 0.05;均方误差 0
16、.0005;最大训练步数 3000。训练结束时,若均方误差大于 0.01,则认为该次训练失败,再重新训练。训练完成后,输入测试样本对网络进行测试,测试样本也取 80 个。表 2 表 2 识别的正确率给出了对 4 天数据的测试结果,表中数据为正确的识别数,括号内为相应的识别率。可见,各受试者的 4 天实验数据均取得了较高的识别正确率,手势动作识别的平均正确率达到了 94%以上。实验数据处理中发现,隐层神经元个数的选择对识别正确率的影响较大,因此,我们进一步探讨了识别正确率与隐层单元数之间的关系问题。图 6 给出了一个受试者同一天数据的处理结果,其他受试者处理结果类似。容易看出:识别正确率随着隐含
17、层神经元数目的增加而提高,但达到某一数值后趋于稳定。增加隐含层节点数可以改善网络与训练组匹配的精确度。然而,为了改善网络的推论概括能力,即改善对数据的适应性,又需要适当减少隐含层节点数8 。综合考虑,最后我们选取了隐含层神经元个数取 11,相应于式(5)中的 a 取 6。4 结论本研究利用 4 路 SEMG 信号,对其反映的 8 种手势动作模式进行了识别。提取的特征是各路信号对应活动段的 3 阶 AR 模型系数、幅度绝对值均值和过零率,并将其组合成特征向量。采用的分类器为具有较强分类能力的 BP 神经网络。对不同人的多天 SEMG 信号实验数据进行了处理,均获得了较高的手势动作分类正确率,表明
18、所采用的方法是有效的。【参考文献】1Ozawa R,Ueda N. Supervisory control of a multi-fingered robotic hand system with data gloveA.IEEE and RSJ international conference on Intelligent Robots and SystemsC.2007.1606-1611.2Claudia Nlker , Helge Ritter. Visual recognition of continuous hand posturesJ.IEEE Transaction on Ne
19、ural Networks, 2002, 13(4) : 983-994.3飞思科技产品研发中心. 神经网络理论与 MATLAB7 实现M.北京:电子工业出版社, 2005: 99-100.4雷敏,王志中.一种用于实时提取动作信号的新方法J.中国医疗器械杂志,2000,24(4):200-202.5罗志增, 杨广映. 表面肌电信号的 AR 参数模型分析方法J.传感技术学报,2003, 4: 384-387.6孙即祥. 现代模式识别M.长沙:国防科技大学出版社, 2002:285-288.7楮辉,赖惠成. 一种改进的 BP 神经网络算法及应用J. 计算机仿真, 2007, 24(4) : 75-77.8袁曾任.人工神经元网络及其应用M.北京:清华大学出版社,1999:120-131.