当前位置: 首页 > news >正文

在资源受限设备上实现手势识别:基于包络EMG数据和实时测试的Tiny-ML方法

英文标题:Enabling Gesture on a Resource-Constrained Device: A Tiny-ML Approach with Envelope EMG Data and Real-Time Testing
中文标题:在资源受限设备上实现手势识别:基于包络EMG数据和实时测试的Tiny-ML方法

作者信息

  • Mohsin Ali Shah:University of Engineering & Technology, Peshawar, Pakistan

  • Masood Ahmad Arbab:University of Engineering & Technology, Peshawar, Pakistan

  • Shahkaar Ahmad Khan:University of Engineering & Technology, Peshawar, Pakistan

  • Ansar Ullah:University of Engineering & Technology, Peshawar, Pakistan

论文出处

  • 发布日期:2025年5月6日

  • DOI:Enabling Gesture on a Resource-Constrained Device: A Tiny-ML Approach with Envelope EMG Data and Real-Time Testing | Research Square

  • 许可:Creative Commons Attribution 4.0 International License

摘要

手势在人机交互中起着至关重要的作用,能够将人类的目标与机器控制联系起来。肌电图(EMG)模式识别已被研究多年,用于通过控制假肢和康复设备来实现手势识别。EMG记录肌肉的电活动。当前的实时分类系统在准确性、延迟和功耗方面存在问题,平衡这些因素在设计时非常困难。本文提出了一种基于TinyML的EMG手势分类方法,以解决这些问题并有效分类手部动作。研究使用EMG模块从10名健康个体中捕获了六种手部动作的包络EMG信号。每个受试者执行两次六种手部动作序列,每个动作持续四秒。在获得EMG数据后,使用窗口技术对数据进行分段和特征提取。人工神经网络对EMG数据进行分类。在分类过程中,60%的样本用于训练阶段,20%用于验证阶段,20%用于测试阶段。该模型能够以98.35%的准确率识别六种手部动作。将模型转换为TensorFlow Lite后,基于TinyML的系统被部署在Raspberry Pi Pico上,证明了其实用性。实时测试准确率方法用于分析单个动作,准确率为95%到99%,模型的反应时间为23毫秒。该技术有助于人机交互和智能设备控制,在假肢、康复、智能轮椅、智能娱乐和生物医学工程等领域具有应用前景。

1. 引言

生理信号提供了大量关于人体的信息,其采集可以通过侵入式或非侵入式传感器实现。EMG是一种通过在肌肉上放置传感器或电极来理解其电活动的信号和诊断程序。近年来,由于皮肤电极的经济性、非侵入性和易用性,EMG在人机交互(HCI)中变得流行。EMG手势识别技术使用户可以通过肌肉信号控制设备,提高可访问性和效率。此外,EMG在虚拟现实(VR)中增强了沉浸感,使用户能够通过自然手势与虚拟世界互动。然而,当前的实时EMG分类系统在准确性、成本和功耗之间难以平衡。本文提出了一种基于TinyML的实时手部手势分类系统,该系统使用包络EMG信号,具有低成本、节能和高准确性的特点。

2. 文献综述

研究人员和实践者都在努力实现EMG分类系统的潜力。早期的研究包括Bo Wan等人提出的结合压力信号和EMG信号识别手部动作的方法,以及Dweiri等人描述的使用神经进化方法(NEAT)和门控循环单元(GRUs)对EMG信号进行分类的方法。Azhiri等人提出了使用小波分解EMG数据的新颖时域特征提取方法。Afrin等人收集了大量健康和脊髓损伤个体的EMG手势记录数据集。Nia等人比较了几种机器学习算法,用于使用EMG数据对四种手部动作进行分类。Benalcázar等人提出了一个实时手部手势分类模型,使用k最近邻(KNN)与动态时间规整(DTW)进行分类。Fan等人收集了四通道EMG数据,用于六种不同手势的分类。Anil和S.H.提出了一个系统,用于识别五种手部动作。Nadjib等人开发了一个深度学习模型,结合了CNN和LSTM架构,对六种动作进行分类。Kaya和Kumbasar对比了ANN、KNN和SVM作为EMG分类的机器学习方法。Panda等人使用弯曲传感器和Arduino收集EMG数据,以识别四种基于手指弯曲角度的动作。Xiong等人提出了一个基于深度学习和原始高密度EMG数据的手势识别系统。Benalcázar等人提出了一个实时手部手势分类系统,使用Myo臂带获取表面EMG数据。Chen和Zhang提出了一个使用支持向量机(SVM)从Myo臂带获取表面EMG数据识别手部动作的方法。Senturk和Bakay提出了一个使用Myo臂带获取EMG数据对七种手部动作进行分类的方法。Young等人提出了一个简化的人手手势识别流程,使用Myo臂带的表面EMG输入。Chung和Benalcázar提出了一个实时手部手势检测模型,结合深度学习方法与EMG输入。Montoya等人开发了一个基于EMG的非侵入式机器人手控制系统。Bhattacharjee和Singh使用集成方法和时域特征对八种手部动作进行分类。Akhter等人通过获取和分类Myo臂带的EMG数据识别了七种手部动作。Zanghieri等人提出了一个基于时间卷积网络(TCNs)的鲁棒实时EMG分类框架。Raurale等人开发了一个基于Raspberry Pi 3 B+的实时手部-手腕手势识别系统。Triwiyanto等人开发了一个基于EMG信号的分类系统,用于控制上肢外骨骼运动。Cedeño等人提出了一个基于k-NN的EMG识别系统,用于有限硬件资源的手势通信。Kerdjidj等人在Zynq电路上实现了基于EMG的手势识别。Majolo和Balbinot提出了一个基于FPGA的硬件多类支持向量机(SVM),用于快速EMG分类。Mongardi等人提出了一个低功耗嵌入式系统,用于实时基于EMG的手势识别。Fukano等人提出了一个基于深度学习的方法,用于将表面EMG数据映射到手势识别。Pedrosa和Costa提出了一个基于EMG的系统,用于在音乐表演中控制MIDI信号。

3. 方法

本文提出的模型分为五个主要部分:数据收集与预处理、数据分段、特征提取、分类和部署。整体工作流程如图1所示。

3.1 数据收集与预处理

使用6通道肌电模块和Arduino UNO收集包络EMG数据,如图2所示。为了保持采集通道数量尽可能少,系统仅使用四对电极和一个参考电极。电极放置位置如图3所示。从10名受试者处收集数据,每个动作持续四秒,采样率为每秒1000个样本。收集的数据被分为六个类别,分别对应六种手势,如图4所示。

3.2 数据分段

在数据处理过程中,首先使用窗口技术将EMG信号分段。窗口技术在EMG分析和处理中被广泛使用,将连续的EMG信号分解为较小的段,以便后续分析。本文采用重叠窗口技术,窗口大小为500个样本,重叠大小为50%。这种方法有助于减少噪声和信号失真,提供更准确的肌肉活动模式分析。

3.3 特征提取和选择

从预处理后的数据中提取特征,以减少数据的维度并提高机器学习算法的准确性。计算了四个特征:最小值、最大值、均方根(RMS)和平均绝对值(MAV)。

3.4 分类

使用人工神经网络(ANN)对提取的特征进行分类。每个通道包含四个特征:最小值、最大值、RMS和MAV,因此总输入特征数为16个。ANN架构由一系列全连接层组成,最终通过softmax输出层识别EMG手势。数据集被分为训练集、验证集和测试集,分别用于训练模型参数、调整超参数和评估模型的泛化能力。

3.5 模型部署

将训练好的模型转换为TensorFlow Lite格式,以确保其与资源受限的设备(如Raspberry Pi Pico)兼容。通过Arduino IDE将模型部署到Raspberry Pi Pico上,如图5所示。部署过程包括将模型转换为C代码并保存为“.h”文件,然后通过Arduino IDE上传到Raspberry Pi Pico。

4. 实验与结果

实验中,数据集被分为训练集、验证集和测试集,比例分别为60%、20%和20%。模型在训练集上学习模式,并在验证集上评估性能以调整超参数。测试集用于评估模型对新数据的泛化能力。如图6所示,模型在训练集上达到了99.06%的准确率,在验证集上达到了99.29%的准确率。测试集上的准确率为98.35%,如图7所示。混淆矩阵如图8所示,显示了模型在各个手势类别上的分类性能。实时测试阶段,通过PC上的Jupyter Notebook建立EMG设备与Raspberry Pi Pico之间的通信桥,如图9所示。模型的响应时间为23毫秒,实时准确率在95%到99%之间,如图10所示。

5. 讨论

通过分析训练和验证损失及准确率曲线,可以观察到模型的学习进展。训练和验证损失在初始阶段显著下降,随后趋于稳定,表明模型能够有效地从数据中学习。训练和验证准确率迅速上升并在较高水平趋于平稳,证实了模型的学习能力。测试阶段的性能指标表明,模型在识别基于包络EMG数据的手势方面表现出色。混淆矩阵进一步验证了模型的分类行为,显示出极高的准确率和极少的误分类。实时测试阶段,模型在实际应用中的表现得到了验证,显示出高准确率和快速响应时间。

6. 结论

本研究成功开发并部署了一个基于TinyML的EMG手势识别系统,测试准确率达到98.35%,在实时测试中表现出色。该研究为TinyML和手势识别领域做出了重要贡献,提出了一种在资源受限设备上进行实时手势推理的独特方法。未来的研究方向包括探索多模态传感器数据的融合、开发更全面的手势实时识别系统、研究模型的可扩展性和泛化能力、开发完全移动的系统以及在实际场景中实施基于EMG和生理信号的手势识别。

相关文章:

  • 【Linux】用户管理
  • Dify-1.3.1介绍及部署镜像下载
  • ECMAScript 2017(ES2017):异步编程与对象操作的革新
  • 0.环境初始化
  • Python时间模块
  • PXE_Kickstart_无人值守自动化安装系统
  • 自动语音拨号系统V2.6.0产品说明书
  • BC12-字符金字塔
  • day21python打卡
  • HC-SR04超声波测距传感器
  • Block Styler——字符串控件
  • jetson orin nano super AI模型部署之路(十)使用frp配置内网穿透,随时随地ssh到机器
  • 含锡电镀废水深度净化技术体系解析化利用的全流程优化
  • 【C++贪心 位运算】B3930 烹饪问题|普及
  • Day20打卡-奇异值SVD分解
  • 2025年大模型RAG技术的实践总结
  • 解释器和基于规则的系统比较
  • 历史数据分析——北部湾港
  • (2025)图文解锁RAG从原理到实操
  • 当冲压焊接遇上Canopen到Profinet协议转换网关
  • 人民时评:莫让“假俗乱”讲解侵蚀“文博热”
  • 肖峰读《从塞北到西域》︱拉铁摩尔的骆驼
  • 巴军事行动致印度70%电网瘫痪
  • 夜读丨喜马拉雅山的背夫
  • 新修订的《婚姻登记条例》明起施行,领证不用户口本了
  • 2025世界数字教育大会将于5月14日至16日在武汉举办