×

通过基于CNN的EMG识别进行实时仿生手臂控制

消耗积分:0 | 格式:zip | 大小:0.21 MB | 2022-10-24

张红

分享资料个

描述

背景

在过去十年中,由于仿生假肢在改善中风后患者和截肢者生活质量方面的重要应用,其研究和开发取得了显着增长。根据 Grand View 研究数据库 [1],2020 年全球假肢和矫形器市场规模为 61.1 亿美元,预计 2021 年至 2028 年将以 4.2% 的复合年增长率增长。截肢,残余肌肉和假肢之间的控制接口(即神经机器接口)对于仿生假肢的自然运动至关重要。如图 1 所示,基于肌电图 (EMG) 的控制界面已广泛应用于医学以及一些娱乐应用,如假肢控制、康复手套、或者为VR游戏提供另一种交互方式。基于 EMG 的神经机器接口可以测量电活动以响应神经对肌肉的刺激,以识别人体运动意图并将记录的 EMG 信号转换为有效的控制信号以驱动外部假肢。最近,由于从许多用户那里收集的大量 EMG 数据以及学习算法和计算设备的进步,深度学习在进一步提高基于 EMG 的控制界面设计的准确性和鲁棒性方面显示出巨大的潜力。然而,深度学习方法临床部署的一个关键挑战和障碍是它们的高计算成本,因为大多数控制组件都是使用具有有限功率和计算能力的便携式嵌入式系统构建的。在这个项目中,

pYYBAGNVjeqARwRBAAILrEcoGDw138.png
图 1 基于 EMG 的神经机器接口
 

方法

该项目旨在在 Sony Spresense 微控制器上部署一个深度神经网络,用于实时仿生手臂控制。我们使用 2D 卷积神经网络 (CNN) 作为 EMG 模式识别算法,该算法在部署到 Sony Spresense 之前已经过微调和压缩。我们的 EMG 数据收集基于 Myo Armband 和 ESP32 Board。这个项目有4个主要部分:

  • EMG 信号采集和预处理
  • 离线 CNN 模型训练和微调
  • 设备端 CNN 模型部署和推理
  • 实时仿生手臂控制
pYYBAGNVjeyATlRiAAIoqMmIe7o164.png
图 2 系统概述:EMG 数据收集、CNN 模型推断和仿生手臂控制。
 

系统概述:图 2 显示了系统概述。我们首先通过蓝牙将 Myo Armband 与 ESP32 连接起来。其次,Myo Armband 可以获取 EMG 数据,同时 ESP32 通过 UART 串​​行通信向 Sony Spresense 传输信号。第三,Sony Spresense 对传输的 EMG 数据进行预处理,并实时进行手势预测。最后,预测的手势被转换为 PWM 信号以控制仿生手臂,其中 3 个伺服系统控制不同的手指。

在接下来的会议中,我们将详细分析每个部分。

poYBAGNVje-AVb-fAAIiIvAXlj8870.png
图 3 EMG 模式识别:传统机器学习 VS 深度学习算法
 

EMG模式识别: EMG信号是人体皮肤表面肌肉收缩过程中产生的电信号的记录。EMG 信号模式识别是非侵入式神经机接口应用的技术核心。如图 3 所示,8 个传感器 Myo Armband 将用于收集人体皮肤的 EMG 信号。然后,收集的信号可以输入深度学习(例如,CNN)或机器学习(例如,LDA、SVM)模型以执行模式识别,返回不同手势的输出概率。与需要特征工程的传统机器学习相比,深度学习在特征提取方面表现出色,例如从 EMG 信号中获取平均绝对值 (MAV) 或过零 (ZC)。

在这个项目中,我们利用 CNN 模型直接学习原始 EMG 特征,而无需任何额外的特征工程。但是,深度学习模型可能会比机器学习模型引入额外的计算开销。如图 3 所示,CNN 模型通常由高性能 GPU 进行预训练,计算成本高、内存占用大、能耗高。将它们部署到计算资源有限的低功耗设备上非常具有挑战性。为了在 Sony Spresense 上实现实时接口,我们将利用 TensorFlow Lite 来加速 CNN 模型。

pYYBAGNVjfKAAcaGAAGTkU5a69A371.png
图 4 目标:在 Sony Spresense 微控制器上部署深度神经网络,用于实时仿生手臂控制。
 

EMG 数据预处理:如图 5 所示,Myo Armband 包括 8 个传感器/通道,因此每个 EMG 阵列为 1x8(每个通道一个 EMG 样本)。为了从原始 EMG 信号中提取空间域特征,我们结合了 32 个 EMG 样本来创建一个 EMG 窗口(8×32)。在 EMG 信号收集过程中,我们以 16 步长重叠 EMG 窗口,以便下一个 EMG 窗口包含来自先前 EMG 窗口的最后 16 个样本,以便进一步结合时域特征。此外,原始 EMG 值是一个 0 - 255 范围内的 8 位无符号数,因此如果 EMG 值大于 127,我们通过将值减去 256 将 EMG 值从无符号数更改为有符号数。最后,我们将有一个给定从 NinaPro DB5 数据集获得的 7 个手势,从 EMG 样本计算的 8 个通道中的每个通道的一组平均值和标准偏差。

poYBAGNVjfWAFfe6AAHjzrOARCM781.png
图 5 肌电数据预处理
 
pYYBAGNVjfiATK4iAAIQlvzMGak338.png
图 6 深度神经网络模型和训练数据
 

深度神经网络模型与训练:如图 6 所示我们的 CNN 模型由 2 个卷积层和一个全连接层组成。第一个卷积层由 32 个滤波器组成,然后是 PReLU 激活函数、用于加速模型训练的批量归一化、用于对抗过度拟合的空间 2D dropout 和最大池化。第二个卷积层与第一层相同,只是它使用 64 个过滤器而不是 32 个。最后,我们将以 N 个神经元全连接层结束,这取决于 N 个手势进行预测。在我们的项目中,我们利用来自名为 NinaPro DB5 [3] 的大型开源 EMG 数据集的 7 个手势来训练我们的模型。然后,我们使用从 Myo 臂章收集的实时 EMG 信号对其进行微调,将模型学习从较大的数据集推广到更具体的下游数据集。

poYBAGNVjfuAaIahAAKfB5fiTfo646.png
Fig.7 3D – Printed Bionic Arm:来自 Mission ARM JAPAN 非营利组织的 HACKberry Hand 项目
 

3D - 打印仿生手臂:如图 7 所示,我们的仿生手臂是基于 Mission ARM JAPAN 非营利组织 [2] 的名为 HACKberry hand 的开源社区项目进行 3D 打印的。

该仿生手臂使用了 3 个伺服系统。SG90 伺服控制中指、无名指和小指。平行伺服控制食指。第二个SG90控制拇指。在我们的项目范围内,我们利用仿生手臂执行 4 个手势:休息手势、竖起大拇指手势、握拳手势和确定手势。

poYBAGNVjf6AVPsCAAI_2x1qVjg473.png
图 8 未来工作
 

未来工作:在这个项目中,我们成功地将CNN模型部署在Sony Spresense板上,实现了实时仿生控制。未来,我们将通过以下方法进一步增强我们的系统。首先,中间的 ESP32 导致延迟。通过将蓝牙直接部署到 Sony Spresense 上,我们可以最大限度地减少这种情况。其次,我们可以通过使用 RNN 等其他架构来提高模型的鲁棒性。此外,我们可以使用 GAN 增强噪声 EMG 数据。第三,我们可以利用更高维度的 EMG 采集传感器,嵌入更多的特征。(比如 192 个频道而不是 8 个)最后,我们还可以通过在 Sony Spresense 上实现设备上的培训来改善我们的用户体验。

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !