石军梅,王从庆,左超
(南京航空航天大学自动化学院,南京 210016)
表面肌电(surface electromyography,sEMG)信号的产生超前于实际运动,能够提供丰富的运动意图信息[1],用它作为交互媒介以识别手部运动意图,构建智能可穿戴康复手套系统具有很大的优势。然而sEMG信号分布较为广泛[2],导致采集到的sEMG信号混叠度较高[3],且sEMG信号自身具有时变和非平稳特性[4],提取的特征不能充分描述sEMG信号等问题限制康复设备的研发。解决这些问题有两个途径,一是使用高密度阵列电极获取肌电图像或肌电地形图[5],采用深度卷积神经网络获取泛化能力更强的特征[6];二是对sEMG信号分解,以解析手部运动过程中各肌肉肌腱单元的激活特性[7],减小电极位置对识别精度的影响。但使用高密度阵列电极的造价过高,短时间内不能推广应用。因此,分解sEMG信号提取运动单元动作电位序列成为提高手部运动意图识别精度的主要方法。盲源分离方法是sEMG信号分解重要方法,罗志增教授团队采用快速独立量分析(fast independent component analysis,FastICA)的方法实现了多通道sEMG信号的盲源分离[8],提高了手部运动意图的识别率;Roussel等人使用基于四阶循环累积量的联合近似对角化(joint approximative diago-nalization of eigenmatrix,JADE)算法来分解sEMG信号[10];杨基海教授团队采用模糊K均值算法得到了sEMG信号发放时刻信息和动作电位序列波形[11],应用于手部运动意图识别。
人工蜂群(artificial bee colony,ABC)优化算法全局最优值附近,收敛速度变慢,算法效率不高[12]。因此,改进ABC算法的优化机理,让一部分蜜蜂按照原来方式进行寻优,另一部分在目前得到的最优值附近产生新解,继续寻优以加快收敛速度。见图1。
图1 ABC算法的寻优机理 (a).ABC算法寻优;(b).改进ABC算法寻优Fig 1 ABC algorithm optimization mechanism(a).ABC algorithm optimization mechanism;(b).Improved ABC algorithm optimization mechanism
改进ABC优化(improved artificial bee colony optimization,IABO)算法的数学描述如下:
蜂群规模NF、限定采蜜次数klimit、最大进化次数kmax,待优化参数V。工蜂按照式(1)进行寻优,比较其目标函数值F,得到目前最优解Vbest。
Vlj=xlj+φlj(xlj-xkj)
(1)
其中φlj为[-1 1]之间的随机数;k为[1NF]之间随机序数,l为工蜂现在的蜜源位置,j为待优化的参数的维数。
观察蜂继续寻优,并通过式(2)计算每个蜜源处的适应度值p(l)。
(2)
与设定的更改寻优方式适应度阈值P′比较,若小于阈值,则继续按照式(1)进行寻优,否则按照式(3)寻优。
Vlj=Vbest+φlj(xlj-xrj)
(3)
其中r为在[1NF]之间的随机序数。
若侦察蜂连续klimit次未得到最优解的蜜源,则在Vbest处随机产生新的蜜源,继续寻优,直到寻找到最优解。
设手部动作时指浅屈肌、肱桡肌产生动作电位序列为s(t)=[s1(t)s2(t)]T,在皮肤表面检测到两路混叠信号为x(t)=[x1(t)x2(t)]T。定义如下:
(4)
其中A=[a1a2]反映了混合系统或信道的传输特性,n(t)为噪声。
(5)
其中yi(t)(i=1、2)为抽取后的一个源信号s1(t)或s2(t)的估计,抽取权向量Woi为2维的列向量。算法的原理即通过调节Woi,使得每次分离出的信号与源信号保持一致,即保存的源信号的信息尽可能多。因此,目标函数选择能提供更多信息的信号规范四阶累积量,信号yi(t)的四阶累积量如下:
(6)
基于规范四阶累积量的准则函数为:
(7)
因此,独立源信号的盲分离即等 价于最大化规范四阶累积量的绝对值,盲分离矩阵行向量woi的约束条件为‖woi‖=1。
综上,最优权抽取列向量Woi的代价函数:
woi=argwoimax|f(woi)|,s.t.‖woi‖=1
(8)
使用IABO算法从两通道sEMG信号中逐次分离出源信号,其算法步骤如下:
(1)确定恢复源信号的数目,对观测信号x(t)进行去均值和白化处理;
(2)初始化蜂群基本参数;
(3)按照式(1)、式(2)、式(3)更新蜜源位置以优化式(8),使得每次分离出来的信号与某一源信号的波形保持一致,得到最优抽取向量,通过式(5)计算出一源信号的估计量yi(t);
(4)对现有混合信号xnow(t)进行消源处理[13],即除去已分离出的源信号信息,得到新的混合信号xnew(t);
(5)对xnew(t)进行PCA降维处理,n-1→n′,n为原信号的个数,n′为降维后信号的个数。若n′>1,则跳至步骤(3),把信号分别分离出来,否则,分离结束。
(6)按照四阶累积量的降序排列分离出的源信号,实现sEMG信号的盲源有序分离。
医学研究表明,生物电的能量主要分布在10~250 Hz的低频部分[14]。因此,选择‘db5’小波基函数,对盲源分离后的两通道sEMG信号进行四层小波包分解并以第四层小波包分解的前八个子空间内的信号作为样本熵的提取对象,指浅屈肌和肱桡肌的样本熵分别记为Samp11-8、Samp21-8[15]。
随着小波分解层数的增加,空间分辨率降低,选择能体现sEMG信号细节的时域特征偏度(η)、峰度(κ),频域特征肌电积分值(iEMG)作为特征。参数定义如下:
(9)
(10)
(11)
每一种手部动作的组合特征向量如下:
Feature={Samp11-8η1k1iEMG1
Samp21-8η2k2iEMG2}
(12)
本研究采用“二叉树”的方法构造多类分类器[16],先把所有类别划分成两个子类,依次类推,对于6类分类问题构造5个两类分类器。其基本思想是把输入的22维特征向量作为样本,通过非线性变换映射到高维特征空间,从而得到能把样本分开的超平面,以预测六种手部运动意图。
采用实验室自主研发的便携式两通道肌电信号采集仪进行sEMG信号采集。其采样频率为1 kHz,放大倍数可调。电极贴采用一次性直径为10 cm的表面湿电极,实验平台见图2。
图2 表面肌电信号采集平台Fig 2 sEMG signal acquisition platform
在实验人员的声音提示下做出ok、v、展拳、握拳、内翻、外翻六种动作,采集前臂指浅屈肌和肱桡肌的sEMG信号。每个动作持续1 s,休息2 s,每个动作采集40组数据,信号的放大倍数设为2 000倍。
4.2.1肌电信号的预处理 选取一组采集的ok、v、展拳、握拳、外翻、内翻六种手部动作的两通道sEMG信号,并进行白化加窗处理,见图3。
4.2.2盲源有序分离方法与经典盲分离方法的sEMG信号分解效果比较 IABO算法的初始解采用Logstic混沌映射的方法产生,蜂群规模NF设为40,花蜜源设为20,同一蜜源被限定采蜜次数klimit设为5,迭代次数kmax设为150,适应度阈值P′设为0.025。由于本研究采集两通道sEMG信号,则待优化的权值矩阵为wo1=[wo11wo12]。由约束条件‖woi‖=1对权值进行霍夫变换[17]可得:wo11=cosα11,wo12=sinα12,待优化参数为[α11α12],产生初始解的上下限为[0 2π]。变换同样以内翻为例,抽取的第一个源信号和第二个源信号见图4。
图3 连续采集六种手部动作的肌电信号Fig 3 Continuously collecting the sEMG signal of six kind ofhand movements
图4 蜂群优化抽取的两通道源信号Fig 4 Two-channel source signals extracted by bee colony optimization
基于负熵的FastICA算法[17]和基于四阶累积量的JADE算法[18]都是比较成熟的盲源分离方法,其分解结果见图5、图6,以动作内翻为例。
图5 FastICA分解sEMG信号图Fig 5 FastICA decomposition of surface EMG signals
计算分离出的独立分量和观测信号的相关性系数[14]以确定独立分量的次序与多通道sEMG信号的对应关系。基于FastICA和JADE盲源分离的第一个独立分量与第一通道的观测信号的相关性系数为0.8026、0.8574,因此确定其为指浅屈肌处的源信号。分别计算盲分离后的指浅屈肌处的40组源信号的峰度、偏度、肌电积分值,见图7、图8、图9。
图6 JADE分解sEMG信号图Fig 6 JADE decomposition of surface EMG signals
图7 基于改进ABC优化的特征值分布散点图Fig 7 Scatter plot of eigenvalue distribution based on improvedartificial bee colony optimization
图8 基于FastICA的特征值分布散点图Fig 8 Scatter plot of eigenvalue distribution based on FastICA
由图7、图8、图9可得,基于FastICA和JADE盲分离后的不同手部动作sEMG信号的细节特征值区分度较小;而基于IABO算法的盲源有序分离由于只抽取包含信息较多的信号,保留了sEMG信号的特征使得各个手部动作间的sEMG信号的细节特征值区分度变大,更利于分类。
图9 基于JADE的特征值分布散点图Fig 9 Scatter plot of eigenvalue distribution based on JADE
4.2.3组合特征提取 计算前八个低频子空间的样本熵以滤除高频噪声,样本熵参数m取2,r为0.25Std(Std为肌电数据标准差)。由于个体的微小差异,图10为每种动作的40组样本所求结果的均值。
图10 八个小波分解子空间的样本熵均值Fig 10 Sample entropy means of eight waveletdecomposition subspaces
基于IABO算法盲分离后的sEMG信号细节特征值分布散点图见图6(以指浅屈肌信号为例)。
4.2.4基于BT-SVM的手部动作分类 内翻、外翻、展拳、握拳、ok、v每个动作对应40组22维向量,从中任取15组特征向量作为训练集送入多分类支持向量机中训练,其余25组用来检测手部运动意图的识别精度。
本研究采用径向基核函数设计SVM分类器,其中核函数中的待定参数σ取1,惩罚因子C取100。为了进一步验证对sEMG信号进行盲源有序分离和组合特征提取的重要性,将经过IABO算法、FastICA及JADE的盲源分离后的识别结果以及经过组合特征提取和未经组合特征提取的手部动作识别结果作对比,见表1。
由表1可知,基于IABO的盲源分离算法结合组合特征提取得到的平均识别率比选择其他盲源分离方法或特征的识别率高。原因在于为了使FastICA、JADE分解有确定解,通常假设独立分量间是统计绝对独立的,最多有一个独立分量满足高斯分布[19],而表面肌电信号有些是高斯分布,有些则是亚高斯分布,导致重复分离;且基于FastICA、JADE盲分离后的独立量次序具有不确定性,计算其相关性系数太耗时,实用性差。因此,不妨尝试把群智能算法、盲源抽取算法应用在sEMG信号的分解上,例如基于粒子群算法的盲信号分离就得到很好的结果[20];特征提取也是动作分类中的重要问题,可以考虑肌肉的协同作用,利用深度学习提取肌电图像的空间特征和能量分布特征等泛化性能更好的特征[21-22]。
表1 不同方法选择得到的识别结果
本研究提出了一种基于IABO算法的sEMG信号盲源分离方法,实现了对两通道混叠信号的盲源分离,消除了通道间肌电信号的串扰;并充分考虑了肌电信号的特性,提取非线性、时域、频域特征构造组合特征向量;最后利用二叉树支持向量机对手部动作进行识别,识别准确率达到93.33%,有利于提高肌机接口系统的实用性。