基于表面肌电和位姿信息融合的手势动作识别①

2024-01-10 01:11杨庆华金圣权都明宇王志恒
高技术通讯 2023年12期
关键词:降维位姿手势

杨庆华 金圣权 都明宇 王志恒

(浙江工业大学机械工程学院 杭州 310023)

(特种装备制造与先进加工技术教育部/浙江省重点实验室 杭州 310023)

0 引言

手势作为一种有效传递信息手段,其非接触式、多样性的特点,使其成为人机交互领域一种常用的控制手段,手势识别技术也成为了智能假肢[1]、康复训练[2]、手语识别[3]、智能家居[4]等领域的热点话题。根据获取信息方式的不同,手势识别可以分为基于机器视觉[5]以及基于穿戴式传感器[6]2 类。基于机器视觉的手势识别,受环境影响较大,遮挡、光照、背景都会影响识别准确率。而基于穿戴式传感器的手势识别克服了以上问题。其中数据手套可以精确地采集各个手指的运动信息,但其本身笨重又无法应用于手部残疾的人群。表面肌电信号(surface electromyography,sEMG)因为其蕴含信息丰富,检测用的非侵入式传感器受限制较少、便于携带的特点,越来越成为手势识别领域关注的重点[7-9]。

不少研究者通过对sEMG 信号进行分析并提取特征。谢小雨和刘喆颉[10]通过动态时间规整(dynamic time warping,DTW)算法、Omari 等人[11]使用广义回归神经网络(generalized regression neural network,GRNN)、都明宇[12]使用BP 神经网络(back propagation neural network,BPNN)和Cheng 等人[13]使用卷积神经网络(convolutional neural network,CNN)对手部手势进行分类识别,均取得了不错的效果。但是仅使用sEMG 进行手势识别往往会忽略手部动作的位姿信息,而通过不同种类的传感器采集信息,可以改善这一问题。Kundu 等人[4]利用肌电和惯性传感器采集信号,并使用支持向量机(support vector machines,SVM)对7 个动作进行识别并控制轮椅,可以达到平均90.5%的识别率。韩志昕和隋修武[14]利用表面肌电信号、加速度信号和角速度信号,通过极限学习机对9 种手势可实现94.7%的识别率,并挑选其中6 种用于控制轮椅运动,效果较好。鲍磊等人[15]提取4 路sEMG 与3 轴加速度信号的特征,输入SVM 对4 名受试者执行的6 种中国手语手势的最高识别率为91.2%。周菲等人[16]使用sEMG 信号及加速度信号,通过线性判别式对5 种手势动作进行分类识别,识别结果较仅使用sEMG 的方式准确率提升14.8%,并成功应用于飞行器的控制。虽然目前利用sEMG 结合多传感器的手部动作识别总识别率较好,但用于识别的手势种类数量少,绝大多数在10 种以下。手势识别种类越多,识别准确率越低。并且手势识别动作大多以单一的手腕或者手指动作为主,不利于使用范围的拓展。

1 手势识别系统

本文建立的基于表面肌电和位姿信息融合的手势识别系统如图1 所示。首先是通过4 路肌电传感器采集手部动作sEMG 信号,利用固定于手背的惯性传感器记录手势加速度和速度信号;然后以速度信号为基准,使用双阈值分割方法划分活动段,再通过时间轴同步的方式分割sEMG 信号和加速度信号;提取sEMG 信号和速度、加速度信号特征,通过核主成分分析(kernel principal component analysis,KPCA)的方式对特征进行降维融合,最后使用随机森林(random forest,RF)法完成分类识别。

图1 多模态信息采集系统

1.1 数据采集

实验中,肌电信号采集设备使用傲意科技的gForceOct 无线肌电仪,采集拇短伸肌、指浅屈肌、尺侧腕屈肌和桡侧腕伸肌4 路sEMG 信号,其中拇短伸肌和指浅屈肌主要与手指动作有关,尺侧腕屈肌和桡侧腕伸肌主要与手腕动作有关。位姿信号使用维特智能的BWT901CL 惯性传感器,为保证可以采集到仅有手指动作手势的位姿信息,将惯性传感器设置于手背处,传感器布置位置如图2 所示。其中sEMG 信号采样频率为1000 Hz,速度和加速度信号的采样频率为100 Hz。

图2 传感器布置位置

1.2 实验动作规范

实验参考NinaPro 数据集的动作类型[17],从中选取11 种手势、手腕动作进行实验,具体形式如图3所示,其中编号0 为放松,编号1~11 分别为伸张、握拳、腕屈、腕伸、腕侧、右旋、左旋、指向、点赞、OK 和V。每种动作执行过程中穿插1 s 左右的放松时间,每组动作共采集2 min 的数据,之后被试对象休息5 min,继续进行下一种动作的数据采集。

图3 手势动作

本文被试对象共10 人,其中8 人为男性,2 人为女性,年龄在20~25 岁之间,均为右利手且无任何肌肉神经疾病和残疾的健康人。为保证手势标准性及执行时间尽可能相同,实验对象事先均进行过一定练习。

1.3 活动段分割

对采集信号手势动作段的分割会影响分类器训练的准确性[18],因此准确地对信号活动段进行提取十分关键。本文采用平均能量双阈值分割的方式提取活动段,针对速度信号进行手势动作的活动段分割,再使用时间轴同步提取其余两信号活动段。首先通过滑动窗口方式计算速度信号总平均能量:

其中,m为窗口宽度,其值为20;l为滑动步长,其值为1;vsum(i)为3 轴速度信号绝对值之和。

设置阈值th1,当速度信号总平均能量开始大于th1 时视其为待定活动段起点A,当其开始小于th1 时视其为待定活动段终点B。设置阈值th2,待定活动段起点和终点之间的长度小于阈值th2 则视为干扰信号,将其舍去;满足双阈值限制条件的才视为动作活动段。其中th1 的取值由式(2)确定。

其中,α为增益系数,此处取2.5;σ为放松状态下受试者速度信号总平均能量,th1 的值向上取整。将阈值th2 均设置为15,即将持续时间少于150 ms的信号区段视为干扰信号。

将分割后的信号二值化,便于同步分割sEMG及ACC 信号,二值化公式如式(3)所示。

其中,lA-B为两相邻待定活动段起点和终点之间的距离。

实验过程中受试者难免会因为不可控因素产生轻微抖动,对活动段分割产生干扰。以受试者F的指向动作为例,采用单阈值方法时很可能导致划分错误进而影响后续识别,如图4(a)所示;而双阈值方法则可以很好地改善这一问题,如图4(b)所示。

图4 划分动作段标签

1.4 特征提取

采集到的原始sEMG 信号中存在较多干扰,特征提取如果不事先进行降噪处理会影响其信号质量,进而影响识别准确率。因此先用梳状陷波过滤50 Hz 的工频干扰及其谐波,再用20~500 Hz 的巴特沃斯带通滤波器,消去高频噪声及低频运动伪迹干扰,对经过降噪处理后的sEMG 信号再进行特征提取。

针对sEMG 信号,主要的特征提取方法有时域特征、频域特征、时频域特征、非线性特征等,其中时域特征实时性较好,提取简单,使用最为广泛。因此选用平均绝对值(absolute mean value,MAV)、均方根(root mean square,RMS)、方差(variance,VAR)和过零点数(zero crossing,ZC) 4 个时域特征作为sEMG信号特征。特征提取方式采用滑动窗口法[19],出于实时性考虑,滑动窗口宽度应在300 ms 以内,本文选择200 ms 为滑动窗口宽度,50 ms 为滑动步长。

sEMG 的MAV 大小与其信号强度成正比,因此其可以反映选定肌肉在特定动作下的输出力度,MAV 的表达式为

其中,xi为i时刻的肌电信号,N为滑动窗口宽度,后续的时域特征中xi和N具有的意义相同。

RMS 为信号平均能量的平方根,可以反映其能量水平,其公式为

VAR 可以反映信号与均值的差异程度,其公式为

ZC 可以反映信号穿越零点的频率,其公式为

其中,xth是为了防止噪声干扰导致的信号幅值在0值附近波动而设置的阈值,其值为标准差的1%。

对4 通道sEMG 信号各提取4 个时域特征,可以构成16 维特征矩阵:

针对速度和加速度信号,选用平均绝对值反映其总体输出力度。波形长度(waveform length,WL)是时间段中波形的累积长度,是信号复杂程度的度量,可以反映位姿信号的变化规律[20],其公式为

对加速度和速度信号,各提取3 维的MAV 和WL 特征,可以构成12 维特征矩阵:

1.5 降维融合

用于分类识别的特征维数过多会增加分类器的训练和识别时间,对特征进行降维可以改善这个问题。肌电信号和位姿信号中含有非线性的特征,而常用的主成分分析方法(principal component analysis,PCA)对线性数据降维处理有较好的效果,却无法兼顾非线性数据,而核主成分分析可以很好地解决这一点。以下是KPCA 算法实现过程。

由于提取的信号不同特征尺度差异较大,所以需要先对特征值进行归一化处理,将特征值归一化为均值为0、方差为1 的数据,其公式为

其中,μ为数据的均值,σ为数据的方差。

利用高斯径向基核函数,将标准化处理后的数据由数据空间映射得到核矩阵,其中高斯径向基核函数公式为

其中,σ为核参数,通过网格搜索选取使识别准确率最高的值;x和y均为标准化后的数据。

而后中心化核矩阵,其公式为

其中,lN为N×N的矩阵,每一个元素都为1/N,N为样本数量;K为核矩阵。

之后计算矩阵Kc的特征值,得到对应的特征向量为λ1、λ2、…、λn,因为特征值决定方差v1、v2、…、vn的大小,特征值越大所含有效信息越多,按特征值降序对其进行排序,对应的特征向量也做出调整。通过施密特正交化方法,正交并单位化特征向量,得到a1、a2、…、an。

计算重新排序后的特征值累计贡献率r1、r2、…、rn,取大于95%的部分,公式为

选取a1、a2、…、at为降维融合后的数据,分别对sEMG 时域特征及位姿特征使用KPCA 降维后,将两者进行组合形成融合后的特征矩阵。

1.6 分类器分类

随机森林(RF)[21]是一个包含多个决策树的分类器,并且其输出的类别是由所用树输出类别的众数而定,是Bagging 算法的一种。它学习速度快,针对多种特征和大量数据处理效果都较好[22]。

随机森林算法的基本思路如图5 所示,假设训练集S中共有n个不同的样本,首先通过Bootstrap方法,有放回地从训练集S中抽取n次产生一个训练集;并将此步骤重复K次,随机产生K个训练集S1、S2、…、SK;随后通过分类回归树方法构建对应决策树C1、C2、…、CK,对于每一棵决策树而言,各自从M个总特征中随机选择m个用于分类,利用每个决策树对测试样本X进行分类得到C1(X)、C2(X)、…、CK(X);最后通过投票的方法,将K个决策树中输出最多的类别作为测试样本X的分类结果。

图5 随机森林分类器

2 实验与分析

2.1 随机森林参数确定

通过RF 进行分类需要确定的参数有随机选择的特征个数m和构建的决策树总数N,对于随机选择的特征个数m,其决定方式为

其中,M为总特征数,m向下取整。

对于决策树总数N,选用受试者B的数据进行分析,N的取值范围在100~1000 之间,每隔50 进行一次测试,重复20 次,识别准确率取平均值,其结果如图6 所示。

图6 决策树数量的影响

可以看出,在决策树总数N为500 时识别准确率较好,而随机森林分类器训练及识别时间会随着决策树数量增加而增加,决策树棵树在600 以上时,对于准确率的提升不大,但训练和识别所花的时间则会大大增加,因此选用500 作为决策树总数。

2.2 分类识别

表面肌电信号和位姿信号相结合的方式可以提高手势识别的正确率。为说明其各自的作用,用不同的特征组合构成特征矩阵进行识别分析,结果如表1 所示。

表1 实验组特征向量列表

表1 所示的3 组实验均使用RF 进行分类,各实验人员的每个动作均取500 组,共5500 组作为实验总样本作为实验总样本;随机选取样本数据的60%作为训练样本对分类器进行训练,40%作为测试样本进行测试分析;每组均进行20 次,识别准确率取平均值。实验所采用的计算机设备配置如下:处理器为Intel Corei5-1035G1,主频为1.00 GHz,内存为16 GB,操作系统为Windows10,识别结果如图7所示。

图7 不同实验组识别准确率

如图7 所示,对于所有受试者而言,sEMG 与位姿信号组成的特征向量识别准确率均高于两者单独用于识别,其中实验中E1、E2、E3 中最高识别率分别为86.10%、90.78%和98.23%。

以受试者B的数据为例,特征选用融合特征组E3,选择文献[11]、[12]、[15]中使用的BPNN、SVM 和GRNN 分类器与本文的RF 方法进行对比。其中BPNN 的初始化权值阈值取(-1,1)之间的随机数,训练后的最优模型用于识别;SVM 的惩罚系数及核参数和GRNN 的扩展速度均通过网格搜索法寻找最优值。各分类方法的分类识别准确率如表2所示,通过对比可以看出使用RF 进行分类识别准确率最高。

表2 不同分类器识别准确率

通过KPCA 降维可以减少RF 的训练时间,将sEMG 和位姿信号通过KPCA 降维融合和未使用KPCA 进行降维的各受试者识别准确率及识别所用分类器训练时间如表3 所示。由结果可知,将sEMG和位姿信号特征通过KPCA 降维融合后再通过RF分类识别在加快训练时间的同时还可以微略地提升准确率,识别准确率为97.14 ±1.03%。

表3 使用KPCA 降维前后识别准确率及分类器训练时间

以受试者C为例,表4 展示其识别结果的混淆矩阵,矩阵每一列数值表示真实数据被预测为该类的数目,每一行数值表示数据的真实归属类别。从表中可知,KPCA 降维融合的手势识别方法在保障总体识别率高的同时,单一动作的识别率均在95%以上。

表4 受试者C 手势动作识别混淆矩阵

对比传统PCA 方法和KPCA 方法的效果,图8展示了各动作的识别准确率。可以看到,PCA 方法的识别准确率相比于KPCA 有很大程度的下降,这是因为KPCA 降维方法可以更好地保留数据的非线性特征。所以,使用KPCA 降维的方式优于PCA 降维方式。

图8 不同降维方式动作识别准确率

2.3 疲劳状态效果验证

肌肉疲劳状态下sEMG 信号的幅度以及频率会出现变化,提取特征会与正常状态下有差异,对手势识别算法是一个挑战。让受试者按1.2 节实验规范完成正常数据的采集后,先无间歇地执行单个手势动作1~3 min,直到受试者明显感觉到手部肌肉出现疲劳;再采集该手势数据,不断重复这一过程,直到全部11 种手势数据均采集完毕。之后采用正常数据提取特征训练分类器,使用疲劳数据提取的特征进行验证,各手势的识别准确率如表5所示。可以看出,所有受试者的手势识别准确率为93.59 ±1.10%,识别效果依旧较好,本文所提出方法对肌肉疲劳状态鲁棒性较好。

表5 疲劳状态下各受试者识别准确率

2.4 时效分析

本文所使用方法对于单个手势识别总延时小于80 ms,其中滑动窗口延时为50 ms,3 种信号特征提取平均时间为1.5 ms,使用KPCA 降维融合平均耗时为27.4 ms,RF 分类识别耗时小于1 ms。因此本文所提出方法可以满足人机交互领域中的实时性要求。

3 结论

本文提出一种基于sEMG 和位姿信息融合的手势识别方法。通过速度信号双阈值分割方法对活动段进行划分,在提高准确率的同时降低了操作的复杂性;使用KPCA 方法对提取的sEMG、加速度和速度信号特性进行降维融合,在减少分类器负担的同时保留了信号的非线性特征,进而极大减少分类器训练耗时并略微提高识别准确率。相较于使用PCA 方法进行特征降维,本文方法大幅提高了个别动作的识别准确率,证明了在手势识别中非线性特征的重要性。设计并使用RF 对11 种不同手势进行分类,并与不同分类器进行比较,RF 的识别效果最好,平均最佳识别率最高可达98.23%。所提方法在保证较高平均识别率的同时,对单一动作的识别准确率也保持在90%以上,具有良好的识别性能。该识别算法对单个手势的识别延时小于80 ms,可满足实际应用的需求。

本文所提的手势识别算法针对10 种以上的手指、手腕动作进行识别,可以得到较好的识别效果,这有利于手势识别在实际工程应用中的范围扩展,为如智能假肢动作、智能家具控制等提供更多的选择。单种动作识别的准确率均在较高的水平,也有利于康复训练等工程使用中安全性的提高。

猜你喜欢
降维位姿手势
混动成为降维打击的实力 东风风神皓极
降维打击
挑战!神秘手势
V字手势的由来
胜利的手势
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
小型四旋翼飞行器位姿建模及其仿真
抛物化Navier-Stokes方程的降维仿真模型
基于特征联合和偏最小二乘降维的手势识别