摘要 目的 研究利用前臂及手部表面肌电(surface electromyography,sEMG)信号进行手势识别的方法,以及不同手势下拇指、食指的关节角度,探讨sEMG信号控制外骨骼手的可行性。方法 采集20名健康右利手受试者右侧前臂及手部6块肌肉sEMG信号。提取sEMG信号的时域特征值,对比人工神经网络(artificial neural network, ANN)、K-近邻(K-nearest neighbor, KNN)、决策树(decision tree, DT)、随机森林(random forest, RF)和支持向量机(support vector machine, SVM)等多种分类器对6种日常手势进行识别。同时,采用Vicon摄像机跟踪系统捕捉右手拇指、食指运动轨迹,计算拇指、食指关节角度。结果 利用前臂及手部sEMG信号可以实现6种手势的模式识别,其中ANN分类器的分类预测效果最好,测试集预测精度可达97.9%,Kappa系数可达0.975。同时,计算得到不同手势下拇指、食指的关节角度,并进行不同手势下关节角度相关性分析。结论 利用前臂及手部sEMG信号进行手势识别,能够实现具有几乎完全一致的分类预测结果。研究结果证明了sEMG信号手势识别应用于外骨骼手控制的可行性。
关键词:
表面肌电信号
手势识别
人工神经网络算法
自适应增强算法
运动捕捉
手是一种非常精确和敏捷的人体器官,可完成从微妙复杂到有力且剧烈的运动。手的功能损伤和部分丧失会深刻影响人们的日常生活。研究发现,脑卒中后上肢功能受到严重影响,其中约80%患者出现上肢运动障碍 [1] 。上肢功能障碍极大影响了患者生活的独立性,并可能造成长期残疾。手部康复的最新进展表明,机器人辅助治疗可通过外骨骼对手部关节的直接控制,帮助手部运动功能恢复 [2-5] 。
外骨骼的控制系统可以是外部驱动也可通过自身电信号驱动 [6] 。脑电 (electroencephalography,EEG)信号和肌电(electromyography,EMG)信号都可以反映人的运动意图,进而实现对外骨骼的控制。表面肌电(surface electromyography,sEMG)信号具有无创采集、处理简单、无线传输及可在实际运动前50~100 ms提供运动信息等优点,在辅助康复机器人的控制研究方面有非常重要的应用价值 [7-8] 。但在实际应用中,sEMG信号对系统中使用的仪器、方法及程序具有很强的依赖性;采集过程中也会产生不同程度的伪影和串扰;信号存在个体差异和位置差异,这都增加了sEMG信号的分析难度 [9] 。
因此,有必要开发强健稳定的机器学习算法,根据上肢sEMG信号进行手势识别,进而实现利用自身电信号实时控制外骨骼 [10] 。已有研究使用sEMG信号的时域、频域及时-频域特征对运动意图进行模式识别,其中利用时域特征的识别算法有较高的预测准确率 [11-13] 。Carl等 [14] 利用时域特征值进行手势识别,准确率达90.57%。Ali等 [15] 利用线性判别法,根据12通道sEMG信号的11个时域特征对15类手势进行模式识别,准确率达90%。Mohammadreza等 [16] 利用支持向量机算法,根据4通道sEMG信号的9个时域特征对6类手势进行模式识别,准确率达95%。Ganesh等 [12] 利用独立成分分析和伊卡萨聚类法,根据11通道sEMG信号的9个时域特征对11类手势进行模式识别,准确率达96.6%。Mochammad等 [18] 利用人工神经网络算法,根据11通道sEMG信号的16个时域特征,对5个手指动作进行模式识别,准确率达96%。然而,在先前的研究中,较多手势识别选择了9个及9个以上的特征值作为机器学习的输入值。选择多个特征值作为分类器的输入确实可以提升分类预测的稳定性及准确率,但也增加了控制系统的运算时间,进而产生控制时延。如何能够在确保分类预测的稳定性及准确率的前提下,以尽可能少的通道及特征值数量进行基于sEMG信号的手势识别,是一个亟待解决的问题。
针对上述问题,本文对受试者进行手部运动学实验。实验过程中,同步采集前臂及手部的sEMG信号和拇指与食指的关节及指尖处的运动轨迹。根据sEMG信号,计算时域特征值,并将其作为机器学习算法的输入,解码手部运动姿势。此外,根据拇、食指运动轨迹,将简单的手势识别细化为关节角度变化的手部运动模型描述,为后续外骨骼手的设计提供依据。本文旨在以尽可能少的sEMG信号通道及特征值数量的前提下,对多种模式识别算法进行研究,寻找最优的手势识别算法。
选取20名健康右利手受试者(10名男性,10名女性),年龄为(24±2.8)岁,身体质量指数(body mass index,BMI)为(21.7±2.8) kg/m 2 ,利手性均参考爱丁堡利手量表确定。所有受试者均无任何视觉障碍、精神疾病及上肢骨骼肌肉外伤。实验前,受试者均被充分告知研究目的、方法和程序,并签署书面知情同意书。
EMG信号采集设备选取采样频率为2 kHz的Noraxon Ultium无线EMG设备。采集并记录受试者不同手势时6块前臂及手部肌肉的sEMG信号,分别为拇短展肌(abductor pollicis brevis,APB)、指浅屈肌(flexor digitorum superficials,FDS)、肱桡肌(brachioradialis,BRA)、尺侧腕屈肌(flexor carpi ulnaris,FCU)、桡侧腕长短伸肌(extensor carpiradialis,EC)和指总伸肌(extensor digitorum communis,EDC)。为确保数据采集的可靠性,实验前须刮除受试者部分皮肤的外侧体毛,并用75%医用酒精擦拭去除油脂皮屑,再将Ag/AgCl表面电极贴片沿肌肉纤维走向粘贴于肌腹处。在实验过程中,受试者须对6种规定手部姿势进行至少20次重复,每种手势在500 ms内完成,每次重复间隔2~3 s,每种手势之间休息5 min。6种手势分别为滚动鼠标(roll mouse,RM)、拇指内扣(thumb button,TB)、拇食指捏合(thumb &index finger kneading,TI)、4指弯曲(four-finger flexion,FF)、握杯(hold the cup,HC)及5指捏合(five-finger kneading,FK),模拟日常生活中的多种精细手部动作。
采集sEMG信号的同时,采用6摄像头Vicon三维运动采集系统同步采集并记录受试者右手拇指、食指的三维运动学数据。将8颗直径为6.5 mm的标记点粘贴于受试者拇指、食指的6个关节点和指尖处,以1 kHz采样频率捕捉标记点的运动轨迹(见 图2 )。计算拇指近端、远端和食指近端、中端、远端的关节角度,对比分析手部运动与关节角度间的关系。
对采集到的6通道原始sEMG信号进行预处理操作,具体步骤如下:① 进行全段信号整流;② 采用20~500 Hz(FIR)的带通滤波器,滤除低频噪声和高频干扰;③ 经过50 ms的RMS平滑滤波器。以某位受试者进行滚动鼠标手势为例,6通道sEMG原始信号与预处理后的sEMG信号对比如 图3 所示。
受试者每完成1个手势称为1个事件。根据每个事件滤波后的6 通道sEMG信号,截取包括完整肌肉激活周期的分析窗口(宽度为500 ms)。本文对每个分析窗口计算1个特征集,1个特征集包括4个时域特征,分别为积分EMG值(integral electromyography,iEMG)、绝对平均值(mean absolute value,MAV)、输入贡献率 [18] (input contribution rate,ICRi)以及方差(variance,VAR)。各时域特征运算公式如下:
将受试者每重复1次手势动作获得的6通道sEMG信号称之为事件。整个实验中有2 400个事件,每个手势有400个事件(20个受试者×至少20次重复)。每个事件包含24个(6×4)特征的特征集较为庞大,本文采用降冗余和强相关两种方法减少特征数量。首先,ICRi是受试者被要求做某一动作时每条肌肉iEMG在6条肌肉iEMG总和的占比。ICRi可通过iEMG计算得出,属于冗余数据,予以剔除。其次,对iEMG、MAV和VAR与6种手势进行相关性分析。结果表明,iEMG与手势之间存在较强相关性(见 表1 )。最终确定选用6通道sEMG信号的iEMG作为手势识别的输入信号。
表1 不同肌肉iEMG、MAV、VAR与手势的相关性
利用机器学习算法,根据每个事件6通道sEMG信号的iEMG进行手势识别。每个事件的6通道sEMG信号iEMG为机器学习算法的输入,6种手势作为机器学习算法的输出,进行模型训练和模型预测效果验证。2 400条6通道iEMG整体数据集对于6种手势的模式识别算法能够满足机器学习的数据量需求。本文为6手势训练了两种模式识别算法,分别为自适应增强(adaptive boosting,Adaboost)算法和人工神经网络(artificial neural network,ANN)算法。整体数据集的80%作为训练集,用于寻找最优参数组合并训练模型;数据集的20%作为测试集,用于验证模型预测效果。
Adaboost算法是一种迭代提升算法,是指针对同一个训练集训练多个弱分类器,再将弱分类器线性组合成强分类器的过程。主要是加强前面弱分类器分类错误样本的权值,更新权值后再次被用到下一个新的弱分类器的自适应过程(见 图4 )。
具体来说,Adaboost算法的迭代过程需要进行如下4个步骤:
(1)第1轮构建弱分类器 f 1 ( x ),初始化 N 个训练样本的权重 w 1 为
(2)计算弱分类器 f m ( x )在训练集上的误判率:
(3)计算弱分类器 f m ( x )对应的权重:
(4)根据弱分类器 f m ( x )预测结果,计算下一轮用于构建弱分类器的 N 个样本点权重:
输入训练集 D ={( x 1 , y 1 ),( x 2 , y 2 ),…,( x [
{
"name": "text",
"data": "N"
}
] , y [
{
"name": "text",
"data": "N"
}
] )}。其中, x [
{
"name": "text",
"data": "i"
}
] ∈X, X 为训练样本集合; y [
{
"name": "text",
"data": "i"
}
] ∈ Y , Y 为分类标签集合;最大迭代次数为 M ,当前迭代次数为 m ;弱分类算法为 f ( x )。过程如下:
h [
{
"name": "text",
"data": "m"
}
] = f ( D , w [
{
"name": "text",
"data": "m"
}
] )
If e [
{
"name": "text",
"data": "m"
}
] >0 . 5 then break
为确定最优参数组合,本文采用5重交叉验证和网格搜索法,确定基础分类器为分类决策树(classification and regression tree, CART)、最大基础分类器数量为500、学习率为1的算法参数组合。
ANN算法是一种类似于大脑神经突触连接的结构进行信息处理的数学模型,是对人脑运行机制和组织结构的某种抽象、简化和模拟。ANN网络结构由不同层的结点组成,每一层的结点输出到下一层互联的结点,通过连接权值而被放大、衰减或抑制。每一层结点的激励公式如下:
其中: w [
{
"name": "text",
"data": "i"
}
] 为第 i 个输入 x [
{
"name": "text",
"data": "i"
}
] 的连接权重, θ 为输出阈值, f 为激活函数, y 为该结点的输出。结点的输出值由结点输入、连接权重、输出阈值及激活函数共同决定。ANN网络由输入层、隐藏层和输出层构成。输入层用于输入特征向量,输入层结点与隐藏层结点联结构成特征向量的联想矩阵,隐藏层结点与输出层结点联结构成特征向量的决策矩阵。通过模型不断地训练调整,对数据之间的复杂关系进行建模,最终形成有序、复杂且稳定的网络结构。
此外,ANN算法在实际应用中也具有一定的局限性,如网络结构的确定、激活函数的选择以及迭代次数的确定等。本文根据6通道sEMG信号特征向量的特点、6种手势识别的实际需求、训练集数据量以及预测结果等因素,最终确定输入层为6个结点,3个隐藏层节点个数依次为128、64、32,输出层为1个结点的网络结构(见 图5 )。其中,输入层和隐藏层的激活函数为Relu、输出层的激活函数为Softmax。
根据6通道sEMG信号的iEMG进行手势识别,利用测试集上的混淆矩阵阐述最终的识别精度。结果表明,测试集上,AdaBoost算法的总体预测准确率可达96.5%;ANN算法的总体预测准确率可达97.9%(见 图6 )。两种分类算法在测试集上的预测准确率均大于96%,证明Adaboost和ANN算法在sEMG信号手势识别均具有良好的性能。ANN算法的识别性能略优于Adaboost算法。
同时,为验证Adaboost和ANN算法性能,本文将两种算法与经典分类器进行对比,选用的经典分类器包括K-最近邻(K-nearest neighbor,KNN)、支持向量机(support vector machine,SVM)、决策树(decision tree,DT)、随机森林(random forest,RF)、梯度提升树(gradient boosting decision tree,GBDT)、极端梯度增强(extreme gradient boosting,XGBoost)算法等。结果表明,Adaboost和ANN算法在训练集和测试集的预测效果优于KNN、SVM、DT、RF、GBDT和XGBoost几种经典分类器。在几种分类器中,ANN分类器的分类预测性能最好,训练集的预测精度为100.0%,测试集的预测精度为97.9%,Kappa系数为0.975,具有几乎完全一致的分类预测结果(见 表2 )。
根据20位受试者右手拇指、食指运动学数据,计算6种手势下拇指近端、拇指远端、食指近端、食指中端和食指远端的关节角度(见 表3 )。本文将手势映射到具体的拇指、食指关节角度,为后续的外骨骼手设计提供依据。
同时运用SPSS 23.0,进行6种手势下拇指、食指关节角度之间的相关性分析。结果表明,拇指、食指关节角度之间的相关系数绝对值大于0.5,存在较强相关性。RM和FF手势、TB和FK手势、TI和FK手势之间具有显著相关性(见 表4 )。对比 图6 Adaboost算法测试集和ANN算法测试集上的混淆矩阵,不同手势拇指、食指关节角度之间存在较强相关性,易产生分类预测误判,Adaboost算法表现较为明显。
本文通过采集20名成年健康受试者做6个精细手部运动时右侧前臂及手部sEMG信号,进行时域特征值提取、特征选择和手势模式识别,并进行受试者右手拇指、食指运动轨迹捕捉和拇指、食指关节角度计算,探讨预测误判率与动作关节角度的关系。
本文基于sEMG信号的手势识别,以iEMG时域特征值作为输入,对比ANN和Adaboost分类器与传统分类器的分类预测性能。结果表明,ANN和Adaboost分类器的预测性能优于传统分类器,其中ANN分类器具有最优的分类预测性能。ANN分类器合理的网络结构和庞大数据量的支撑,使得6种手势下不同受试者数据混合识别效果依然较好。相较于国内外现有的手势识别研究结果 [15-17] ,本文仅使用6通道sEMG信号的iEMG特征值作为机器学习的输入,ANN分类器的测试集预测精度可达97.9%,较少的通道选择和仅iEMG的特征值选取得到了较高的预测精度。本文结果验证了基于6通道sEMG信号的iEMG进行手势识别的可行性,相较于多通道、多特征值的手势识别算法,简化了外骨骼手控制系统的运算复杂度。此外,相较于先前研究中对不同的单个或两个手指弯屈进行分类 [15-17] ,本文选择的6种手势均为模拟日常生活活动的手部精细动作,更具有实际意义。
本文在进行基于sEMG信号手势识别分析的同时,采集并分析受试者的手部运动学数据,统计拇指、食指在做不同手势时的关节角度,为外骨骼手的设计提供运动学依据。结果表明,不同手势下拇指、食指关节角度之间存在较强相关性,与手势分类预测误判有一定的关系。然而,由于未考虑中指、无名指和小拇指的关节角度,本文中手部运动学数据统计和不同手势手部关节角度的相关性分析具有一定局限性。在后续研究中,会继续探讨不同手势下5指的运动轨迹与关节角度,为外骨骼的设计提供更全面的运动学依据。
本文对基于sEMG信号的手势识别进行研究,实现了根据离线的6通道sEMG信号iEMG进行手部6种精细动作(滚动鼠标、拇指内扣、拇食指捏合、4指弯曲、握杯、5指捏合)的识别。对比多种经典分类器,确定分类效果最优的分类器为ANN分类器,测试集预测精度可达97.9%,Kappa系数可达0.975,具有几乎完全一致的分类预测结果,证明了外骨骼手基于6通道sEMG信号的iEMG进行手势识别的可行性。此外,手势运动学实验结果也为外骨骼手的设计提供运动学依据,具有实际意义。在后续的工作中,将进一步研究实时的基于sEMG信号控制外骨骼手。