APP下载

基于LightGBM 的改进表面肌电信号手势识别研究*

2022-02-16梅雪峰赵礼峰

计算机与数字工程 2022年1期
关键词:电信号直方图梯度

梅雪峰 赵礼峰

(南京邮电大学理学院 南京 210023)

1 引言

手势识别广泛应用于各类人机交互场景中,在购物、居家、医疗等领域发挥着重要的作用。手势识别按照其完成的模式主要分为两大类:基于计算机视觉的手势识别和基于体感控制器的手势识别[1]。近年来,采用肌肉传感器的手势识别方法正逐步普及,可穿戴臂环使用传感器获取人体表面肌电信号(surface electromyography,sEMG),将处理后的信号数据传输至模型进而完成手势识别过程[2]。Naik G R 等[3]使用采集的sEMG 数据提取各维度特征,采用支持向量机等方法进行手势动作的模式分类;陈香等[4]提出采用隐马尔可夫模型对肌电信号完成识别,最终分类器的准确率达到94%;张硕[5]使用KNN 与其他算法组合的方法研究这类问题,需要根据不同情形调整优化组合模型。谢小雨等[6]使用DTW 算法构建模型实现肌电信号的手势识别,准确率达到96.09%。此外,还有学者使用其它流行算法实现手势识别[7~9],如卷积神经网络、长短期记忆网络以及两者相互融合的方式,所得模型的稳定性高且能够达到较高准确率,广泛应用于各类场景中。

梯度提升决策树(Gradient Boosting Decision Tree,GBDT)是一种经典的迭代决策树算法[10],将决策树与集成学习思想进行了有效结合。高效实现GBDT 的框架有XGBoost、pGBRT 等[11~12],但是在数据量增大且特征维度较高时,多数GBDT 算法会出现训练效率低、准确率下降的现象。为解决传统算法需要手动提取数据片段以及训练效率低的问题,本文采用改进的肌电信号数据采集和处理方式,使用LightGBM 算法对表面肌电信号数据完成手势动作分类,能够在进一步提升sEMG 手势识别准确率的同时,显著提升模型的训练效率。

2 模型设计

LightGBM 是由GBDT经过改进的框架,采用直方图算法寻找最优分割点,为提升遍历数据的方式并且更好的应对高维数据处理场景,使用两种改进性能的算法:基于梯度的单侧采样(Gradient-based One-Side Sampling,GOSS)和互斥特征捆绑(Exclusive Feature Bundling,EFB)。

2.1 基于梯度的单侧采样

按照决策树理论中信息增益的定义,梯度越大(即训练不充分)的样本所提供增益会更高[13]。GOSS算法采用过滤掉部分数据并保留少量数据的方式,保存所有大梯度样本,在小梯度样本上进行随机采样。为消除减少的部分样本对整体数据分布的影响,GOSS 在计算小梯度样本的信息增益时会引入一个系数来平衡数据分布[14]。

GOSS 算法按照各样本的梯度绝对值降序排列,假设大梯度样本所占比率为a,小梯度样本所占比率为b,在整个样本集上筛选出前a×100%的样本构成大梯度子集A,随后再从其余样本中随机选出b×100%构成小梯度子集B。GOSS 算法对子集B的梯度和乘以平衡常数(1-a)/b,用于补偿采样对原始数据分布的影响,则在子集A∪B上第j个特征位于点d处的信息增益如式(1):

2.2 互斥特征捆绑

高维数据的分布通常非常稀疏,在稀疏特征空间中许多特征是互斥的,即它们几乎不会同时取非零值,而在绝大数情况下都同时取零。在这类稀疏特征空间下,通过设计一种近乎无损的方法来降低特征数,并不会对数据集的信息完整性造成影响。

EFB 算法可将众多互斥特征捆绑到更少的密集特征束上,能够有效避免零特征值的不必要计算,从而构造出与单个特征相似程度高的特征直方图,降低计算复杂度。在LightGBM 算法中,EFB 要对互斥特征进行合并操作,将判定为互斥的特征合并成一个特征,找到最优互斥特征捆绑是一个NP难问题[15],EFB 算法把互斥特征捆绑到一起,形成稠密特征束。

3 LightGBM算法

3.1 直方图算法改进

直方图算法对特征值进行装箱处理,在训练前先把特征值转化为桶,也就是把每个特征的取值分成若干个分段函数。对于连续型特征,直方图算法的基本思想是先把特征值离散化为m个整数序列,然后将序列依次编号为0,1,…,m-1,构造成类似于m个“桶”的直方图[16]。对于离散型特征,可将其编码为对应特征值,如果取值个数n多于设定的桶数量m,则将数量较少的特征值合并;如果n≤m,则将n个特征值作为n个桶。图1展示了分桶过程,与GBDT 中需要遍历所有特征值数据的策略相比,这里只需遍历分桶后直方图的值。

图1 直方图算法的分桶过程

LightGBM 采用改进的直方图算法,EFB 算法捆绑互斥特征来减少特征数,完成对互斥特征的合并处理;使用GOSS算法保存大梯度样本,随机选取小梯度样本,在降低每次迭代样本数的同时更关注训练不足的样本。LightGBM 属于决策树集成模型,能够在不降低精度的情况下显著提升运算速度,适合处理高维数据。

3.2 叶子生长策略

基于决策树的大多数学习算法都是采用按层分裂的策略(Level-wise)生长树,根据某个判断条件输出“满足条件”和“不满足条件”分出左右子树,每个结点不断重复向下生长。LightGBM 使用按叶子分裂(Leaf-wise)的结点分裂方式,找出每一层所有结点中信息增益最大的单个结点进行分裂并依次循环下去。在分裂次数相同的情况下,按叶子分裂能够比按层分裂减少更多的损失。但是当数据量较少的时候,按叶子分裂生长策略可能会造成过拟合,为合理解决这个问题,LightGBM 通过限制树的最大深度来减少过拟合的出现。

4 sEMG手势识别模型的构建

4.1 数据介绍与分析

为提升以往人工提取手势动作特征数据的效率,本次实验数据来自于开源设计的MYO 臂环采集的8通道sEMG数据。由图2所示,MYO臂环由8片与皮肤表面贴合的传感器构成,每个传感器都能够测量表层以下肌肉活动的电信号,具备精度高、功耗低、触感良好的优势。实验数据采集过程中手臂上的8 个MYO 臂环传感器会按时间先后分别传送8 个节点的信号,然后需要按照时间顺序对这8个节点数据做扁平化处理,使其展开为具有64 维特征的sEMG数据。

图2 MYO臂环

本数据集一共有11678 条记录,数据集中共有四类手势动作,分别为伸食指和小拇指(简称为Rock)、剪刀手、五指伸展和OK 手势。四类手势动作样本标签分布较为均匀,经扁平化处理后数据集中共有64 维sEMG 特征,用数字0~3 分别代表四种动作。如图3(a)所示,波形数据表示同一个动作由8 通道传感器捕获到的表面肌电信号,横坐标为时间序列点数,纵坐标为sEMG 的幅度;图3(b)表示同一个传感器在8 个时间结点上的波动幅度。根据波动特征发现,在采集到的8 通道肌电数据段中,各个传感器传送的电信号反映各个维度上肌肉活动的差异,呈现出不同的波动形状和幅度,而单个传感器的电信号在各个时间点上波动幅度相近,随时间呈现规律性变化。数据集中除了少数信号波动异常之外,整个sEMG 数据的波动规律符合实验预期。

图3 sEMG波动检测图

4.2 模型构建

本实验在计算机配置为Intel® Core ™i5-8300H CPU、内存8G、NVIDIA GTX1050TI、Windows 10 操作系统下运行,编程软件为Python3.7。从数据集中随机选出80%的样本作为训练集,剩下20%样本作为测试集,对于存在的少数异常值不作处理,在数据集中保留适当噪声,使模型具备适应噪声的能力。由于各个通道的数据在规格上存在差异,因此需要对特征值做标准化处理,经过特征缩放使得某些特征的比例差异不会影响到预测结果。

在训练sEMG 手势识别模型时要调整LightGBM 的各项参数,该过程采用五折交叉验证和网格搜索相结合的方式寻找最优参数,经过反复试验,表1列出了LightGBM的核心参数调优结果。

表1 LigthGBM核心参数调优结果

在模型的训练和测试中,图4 展示了训练集和测试集上AUC(Area Under Curve)指标随迭代次数增加而逐渐增大的趋势,AUC 值越大代表模型的整体性能越好,当迭代次数大于1000 次时,两条曲线的AUC 值已经趋于稳定。图5 为均方根误差(RMSE)随着迭代次数增加而逐渐降低的过程,训练集和测试集上的损失不断下降,没有发现过拟合现象,迭代超过一定次数后RMSE 在测试集上已经基本稳定。

图4 AUC变化曲线

图5 RMSE变化曲线

4.3 实验结果分析

为检验sEMG 手势识别模型在测试集上的表现性能,表2 展示了测试集上手势识别分类结果的混淆矩阵。根据实验结果,四类手势动作的平均识别率达到了97.13%,基本都保持在较高的准确率。Rock 手势的识别准确率达到98.62%,在单个手势中表现效果最好;在预测五指伸展动作时误差稍高,在后续研究中可进一步优化,总体上手势动作都保持在较高的识别准确率。在本文关注的计算性能方面,LightGBM 由于经过各个维度上优化算法的改进,一共只消耗8.26s的训练时间,能够达到97.13%的准确率,这要优于传统的GBDT 算法。通过实验结果验证,LightGBM 不仅取得较高精度,而且提升了训练效率。

表2 手势动作识别的混淆矩阵

5 结语

本文采用表面肌电信号手势识别数据集,提出使用LightGBM 算法完成手势识别模型的构建,取得良好的实验结果。LightGBM 具有训练速度快、预测效果好、占用内存少和稳定性高的优点。在实际场景中采集到的sEMG 数据经常存在特征维度大、噪声复杂以及容易在不同个体上产生差异的现象,LightGBM 分类模型可以很好地克服这些问题,对于手势识别的应用具有重要研究价值。

虽然基于LightGBM 的手势识别模型在分类效果和运算性能上得到一定提升,但在准确率方面还有进一步的提升空间,可考虑将LightGBM 与其他算法融合,提升在噪声处理方面的优势,让模型具有更好的表现。

猜你喜欢

电信号直方图梯度
基于单片机的心电信号采集系统设计
一个具梯度项的p-Laplace 方程弱解的存在性
内容、形式与表达——有梯度的语言教学策略研究
神经元电生理模型的构建及分析
用直方图控制画面影调
航磁梯度数据实测与计算对比研究
机电工程中存在问题之我见
例析频率分布直方图
中考频数分布直方图题型展示
组合常见模型梯度设置问题