跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer

发布于:2025-06-22 ⋅ 阅读:(22) ⋅ 点赞:(0)

目录

一、从深度学习到边缘部署,手势识别的新突破

(一)可穿戴设备 + 边缘计算 = 个性化医疗新可能

(二)肌电信号(sEMG):手势识别的关键媒介

(三)挑战:强模型 vs. 小设备的矛盾

灵感来源:大模型能否“小型化”?

(四)Bioformer三大贡献

实验效果一览:准确率提升,能耗降低

二、背景与相关工作

(一)表面肌电信号(Surface Electromyographic Signal, sEMG)

1. sEMG 的基本特性与信号获取方式

2. 关键挑战与信号获取难题

3. sEMG 在 AI 模型中的挑战意义

(二)相关研究综述(Related Work)

1. 传统方法:浅层模型与特征工程主导

主要瓶颈:跨会话表现大幅下降

2. 应对策略与局限性

3. 多会话数据集推动研究进展

4. 深度学习方法的兴起与挑战

5. 边缘部署难题:模型大小与资源限制

6. MHSA 层与 Bioformers 结构

图 1 上半部分:MHSA 层

图 1 下半部分:Bioformers 架构

(三)注意力机制与Transformer结构

1. 什么是注意力机制?

自注意力与多头机制

2. 模块结构与作用

3. 为什么适合肌电信号建模?

三、材料与方法

(一)Bioformer:网络拓扑结构

1. 把信号“切片”:输入处理模块

2. 理解时间结构:注意力机制模块

3. 决策者登场:分类用的“特别 token”

(二)Bioformer:训练流程

1. 两阶段训练策略:预训练 + 微调

举个例子:Ninapro DB6 数据集上的训练过程

2. 优化器与学习率策略

(三)实验设置与数据集(Experimental Setup & Dataset)

1. 数据集选择与手势动作设计

2. 硬件采集配置

3. 模型训练与部署流程

(1)浮点训练阶段

(2)量化感知训练(Quantization Aware Training, QAT)

(3)嵌入式部署:GAP8 MCU

四、实验结果

(一)Ninapro DB6 基准测试

(二)消融实验:预训练与卷积滤波器维度

1.预训练的优势

2. 卷积滤波器维度的影响

(三)在GAP8上的部署

六、总结


干货分享,感谢阅读!

随着人机交互在康复任务中的应用越来越广泛,例如控制假肢或机器人手臂,基于肌电信号(sEMG)的手势识别技术 被认为是非常有前景的方法。因为 sEMG 信号是非侵入式采集的,并且直接反映肌肉收缩情况,所以它天然适用于解读人类动作意图。

但在实际应用中存在一个很大的挑战:相似的手势会产生非常相似的肌电信号波形,这会导致分类模型很难区分这些动作,从而降低识别准确率。为了解决这个问题,很多研究采用了复杂的神经网络结构来提高分类性能,但这些网络往往计算量大、耗能高,对设备内存要求高,不利于部署在功耗受限的小型可穿戴设备上。

Bioformers: Embedding Transformers for Ultra-Low Power sEMG-based Gesture Recognition》提出了一种全新的轻量级 Transformer 架构,称为 Bioformer,旨在解决这个性能与资源消耗的矛盾。Bioformer 是一种超小型、基于注意力机制(attention)的神经网络模型,在保持接近最优精度的同时,大大减少了模型参数量和运算量(缩小了约 4.9 倍)。

此外,作者还提出了一种 跨个体预训练方法(inter-subject pre-training),进一步提升了模型的泛化能力,使得 Bioformer 的最佳变种在不增加任何推理计算成本的情况下,准确率提高了 3.39%,达到了现有最高水平的识别精度

在部署方面,研究团队将 Bioformer 部署到一个名为 GAP8 的超低功耗微控制器(PULP MCU)上,最终实现了非常优秀的性能表现:推理延迟仅为 2.72 毫秒,能耗仅 0.14 毫焦耳,比当前的最佳模型快了 8 倍、节能 8 倍,而模型内存占用也仅为 94.2 kB。我们重温理解下相关论文来增长一下这方面的认知吧!

一、从深度学习到边缘部署,手势识别的新突破

随着越来越多具备计算能力且能效极高的微型设备涌现,将计算“下沉”到设备端(即边缘计算) 正在成为一种趋势。相较于将数据回传到中心服务器进行分析,边缘计算能够有效降低通信成本、减少延迟和能耗,尤其在医疗健康等领域表现尤为突出。

(一)可穿戴设备 + 边缘计算 = 个性化医疗新可能

举例来说,过去我们依赖智能手机或服务器来分析心率数据,现在这类任务已可以完全交由手环等设备独立完成。再进一步,像“闭环脑刺激”这样对时延要求极高的场景,也因边缘计算的兴起变得可行。

在这一背景下,人机交互技术(Human-Machine Interfaces, HMI) 也迎来了新的发展契机。尤其对于身体残障或运动受限的用户,通过手势控制假肢、轮椅或其他辅助设备已不再是幻想。

(二)肌电信号(sEMG):手势识别的关键媒介

在众多传感方式中,表面肌电信号(surface electromyography, sEMG) 是识别手势最有前景的一种手段。

其优势在于:

  • 非侵入式采集

  • 直接反映肌肉收缩状态

  • 与手势动作高度相关联

目前主流的 sEMG 手势识别方法,通常流程包括:

(三)挑战:强模型 vs. 小设备的矛盾

尽管当前使用深度学习(尤其是 CNN)的方法能取得不错的识别准确率,但它们普遍存在以下几个问题:

  • 参数量大,占用存储空间多;

  • 推理计算量高,功耗大;

  • 不适合部署在仅有几百 KB 内存、功率预算极低(10mW 量级)的可穿戴设备上。

为此,业界已经尝试诸如 网络剪枝、神经架构搜索(NAS)、量化 等方式,来构建轻量神经网络用于边缘部署。但这些方法在模型创新和性能表现上,仍与云端的大模型存在“代差”。

灵感来源:大模型能否“小型化”?

当我们谈到 NLP 或 CV 领域的突破时,Transformer 架构已成为主流:BERT、GPT-3、ViT 等模型的成功证明了注意力机制的巨大潜力。然而这些模型参数动辄上亿,几乎不可能直接部署在微型芯片上。

于是,这篇论文提出了一个非常有价值的问题:

Transformer 是否也可以“轻量化”,用于边缘设备上的小规模分类任务?

(四)Bioformer三大贡献

结合上面的挑战与动机,作者在论文中主要做了以下三项创新:

  1. 提出 Bioformer 架构:这是一个基于注意力机制的轻量级模型,专为手势识别任务设计,目标是在降低计算复杂度的同时保持甚至超越 CNN 的性能。

  2. 引入跨用户预训练策略(Inter-subject Pre-training):传统训练方法往往基于个体数据(即病人专属),但作者发现,引入其他人的训练数据 能增强模型提取通用特征的能力,在泛化上效果更佳。

  3. 添加初始的 1D 卷积层作为前置编码器:这一步设计旨在对原始 sEMG 信号做初步聚合与压缩,再送入 Transformer 编码器中,从而在提高精度的同时进一步减少参数量。

实验效果一览:准确率提升,能耗降低

  • 实验使用的是 Ninapro DB6 数据集(包含 10 位用户的 8 种手势动作);

  • Bioformer 模型在未预训练时准确率达 62.34%

  • 加入跨用户预训练后提升至 65.73%

  • 该精度已经超过了之前同数据集下最佳 CNN 模型 TEMPONet 的 65.0%

  • 在 8-bit 量化后,模型体积仅为 94.2KB,是 TEMPONet 的 1/4.9;

  • 部署在 GAP8 MCU(Parallel Ultra Low Power 处理器) 上时,每次推理仅耗时 2.72ms,能耗为 0.139mJ,比 TEMPONet 低 8.0 倍

看完相关的论文和研究,我们应该意识到,Transformer 不仅是大模型的代名词,它也可以是 TinyML 的主力军。关键在于如何裁剪结构、重构注意力机制、融合先验处理模块(如 1D Conv),并结合任务特性进行预训练优化。

此外,“跨用户预训练”这一策略本质上是一种弱监督迁移学习,它在医疗和可穿戴场景中有广阔的应用前景,尤其当我们面对数据稀缺或个体差异大的问题时,它提供了一种极具性价比的解法。

接下来,我将结合论文中的架构图、模型细节和部署流程,进一步剖析 Bioformer 的内部机制,并探讨其在实际系统中的部署与优化策略。

二、背景与相关工作

(一)表面肌电信号(Surface Electromyographic Signal, sEMG)

表面肌电信号(sEMG)是人体肌肉在收缩过程中所产生的电活动的外在表现。通俗来说,当我们动用肌肉做出某个动作时,肌肉纤维中会产生微小的电流,这些电信号可以被位于皮肤表面的电极感知并记录下来。

1. sEMG 的基本特性与信号获取方式

  • 信号幅度范围:通常介于 10 微伏(µV)到 1 毫伏(mV) 之间。

  • 频率带宽:一般约为 2 kHz,这对于常规的手势识别或运动意图解码来说已经足够。但在更精细的肌电分析中,比如“运动单位动作电位分析”(Motor Unit Action Potential Analysis),采样带宽甚至可以达到 10 kHz

sEMG 信号的获取方式:通常通过附着在皮肤表面的 导电电极(electrodes) 获取这些信号。这些电极能够非侵入性地收集肌肉下方的电信号,是目前可穿戴设备中最常用的肌电采集方式。

2. 关键挑战与信号获取难题

尽管 sEMG 提供了一种便捷的手段来观察和分析肌肉活动,但其信号质量容易受到多种因素影响。主要问题包括:

皮肤-电极接口的稳定性

  • 电极与皮肤之间的接触质量直接影响信号质量。
  • 接触电阻的不稳定、出汗、皮肤油脂等都会引入噪声。
  • 不同用户、不同时间或重复佩戴时,接触状态都会有微小变化,造成 信号偏移或失真

电极重新定位(Re-positioning)与用户适应性(User Adaptation)问题

  • 相同位置稍微移动几毫米也可能采集到完全不同的肌电图样。
  • 不同用户之间的肌肉构造差异,也要求模型具备良好的泛化能力。

运动伪影(Motion Artifacts)与浮地噪声(Floating Ground Noise)

  • 由于佩戴者在运动中会造成皮肤和电极之间的微小滑动,这类“伪影”会引起低频扰动。
  • 浮动地线电压(如果设备没有良好接地)则可能引入工频或其他外部电磁干扰,进一步降低信号质量。

3. sEMG 在 AI 模型中的挑战意义

上述这些问题不仅影响信号质量本身,更对后续的机器学习模型提出了更高的要求:

  • 模型必须具备对 强噪声和个体差异的鲁棒性

  • 在实际部署时,尤其是针对边缘设备(如穿戴设备)部署轻量化模型时,这些信号的不确定性必须通过 良好的前处理、特征提取模型结构设计 来尽量缓解;

  • 同时这也促使研究者考虑引入更强的泛化机制,例如 跨个体预训练(inter-subject pretraining)对抗性训练(adversarial learning) 等手段,提升模型在面对电极位置漂移和个体差异时的鲁棒性。

(二)相关研究综述(Related Work)

在近年来,基于表面肌电(sEMG)信号的手势识别逐渐成为研究与应用热点,广泛应用于诸如手势交互、智能假肢控制、康复训练以及人机接口等领域。

1. 传统方法:浅层模型与特征工程主导

早期的研究主要依赖于传统机器学习方法,如:

  • 支持向量机(SVM)

  • 随机森林(RF)

  • 线性判别分析(LDA)

  • 浅层人工神经网络(ANN)

这些方法通过手工设计特征(hand-crafted features)进行训练和分类,在实验室条件下通常能达到 90%以上的识别准确率,在单次会话(single-session)内效果显著。

主要瓶颈:跨会话表现大幅下降

然而,一旦进入 多会话识别任务(multi-session gesture inference),也就是模型需要识别它在训练阶段未见过的会话数据时,其性能就会明显下滑。这种“会话间准确率下降”现象,是当前sEMG领域的一个核心挑战。

影响因素之一是电极的反复佩戴(donning-doffing)。电极每次佩戴的位置可能稍有不同,导致同一手势在不同天采集到的肌电信号差异显著,这种跨时间和跨用户的变化难以建模。

2. 应对策略与局限性

为了解决上述问题,研究者尝试过以下几种策略:

  • 扩大训练集:收集更多样化的数据,提高模型泛化能力。

  • 增加电极数量:覆盖更多肌群以提取更全面的特征,提高算法收敛性。

尽管这些方法一定程度上提升了性能,但跨会话表现依然波动明显,且模型泛化能力仍难以满足真实场景部署需求,如穿戴设备、康复机器人等。

3. 多会话数据集推动研究进展

近年来,随着一批多会话公开数据集的发布,为模型的泛化研究提供了基础:

  • NinaPro DB6 数据集:共包含 10 个独立会话、8 个手势类别;着重测试多天训练与测试之间的泛化能力

  • Unibo-INAIL 数据集:记录了 8 天 × 4 种手臂姿态 × 6 种手势;具有多维度变化特性(时间 + 姿态 + 手势)

这些数据集使得研究者能够构建 跨时间、跨状态的鲁棒模型,并逐渐推动从“实验室验证”走向“真实部署”。

4. 深度学习方法的兴起与挑战

为摆脱手工特征依赖,提高鲁棒性,越来越多的研究者转向基于深度学习(DL)的模型,尤其是在多会话问题上表现突出。典型方法包括:

卷积神经网络(CNN)

  • 能自动从原始 sEMG 信号中提取时空特征

  • 在公开数据集上,相较于 SVM 表现更优

时序卷积网络(TCN)

  • 是 CNN 的时间序列变体,强调长距离依赖建模

  • 特别适用于手势识别等时间动态特性明显的任务

  • 近年来已成为 sEMG 多会话识别的重要方向

这些方法在多会话、跨用户、跨天训练中都表现出较高准确率,并逐渐成为该领域的主流。

5. 边缘部署难题:模型大小与资源限制

尽管深度模型提高了鲁棒性,但其计算资源需求较高。尤其是:

  • 参数量大、模型体积大

  • 对内存与算力要求高

  • 实时性要求高时存在延迟

这对模型部署在 资源受限的边缘设备(如智能手环、智能假肢、手表等)提出了严峻挑战。因此,近年来研究开始关注:

  • 模型压缩(如剪枝、量化)

  • 轻量化网络(如MobileNet, Tiny-TCN, Transformer-Lite)

  • 边缘感知训练(Edge-aware Learning)

6. MHSA 层与 Bioformers 结构

图 1 上半部分:MHSA 层
  • MHSA 是 Transformer 架构中的核心模块,用于捕捉信号中不同位置之间的长距离依赖关系。

  • 在 sEMG 应用中,它有助于建模 时序肌电信号中的上下文依赖性,尤其在复杂手势识别任务中表现良好。

图 1 下半部分:Bioformers 架构
  • 作者基于 MHSA 层构建了两种轻量 Transformer 变体,统称为 Bioformers,作为 sEMG 手势识别的轻量级基准模型。

  • 这些模型旨在平衡 准确率与计算效率,有望实现真正可部署的边缘应用。

sEMG 手势识别领域的发展趋势:从依赖手工特征的浅层机器学习方法,逐步转向更具鲁棒性和自动特征提取能力的深度学习模型。尽管 DL 在准确率和泛化能力上有明显提升,但其部署仍受到硬件资源限制的制约,这促使研究进一步向高效模型结构设计方向演进。

(三)注意力机制与Transformer结构

2017 年,Vaswani 等人提出了一种全新的神经网络结构 —— Transformer,它完全摒弃了传统的循环和卷积模块,单纯依靠注意力机制完成序列建模。这一创新使得模型在语言处理等任务上取得了突破性进展,也为处理其它类型的时序数据(如肌电信号)提供了新思路。

1. 什么是注意力机制?

注意力机制的本质是:在处理一段输入序列时,模型能够根据任务的需要,有选择性地“关注”其中更重要的信息。例如,在解读一句话时,我们人类可能会更在意关键词语;注意力机制就是试图让模型也具备这种能力 —— 自动判断哪些输入更关键,然后分配更多的“注意力”资源。

自注意力与多头机制

在 Transformer 中,我们使用的是“自注意力”机制,即输入序列中的每个元素在处理时,不是单独考虑自身,而是参考整个序列中其他元素的信息来决定自己该如何表示。就像在一个小组讨论中,每个成员的观点都会被考虑,最终每个人形成对问题的完整理解。

更进一步,Transformer 引入了“多头注意力”机制,它就像是在同时设置了多个观察角度,让模型从不同的子空间来分析输入序列的关系,从而更全面、更细致地理解时序数据的结构。

2. 模块结构与作用

我们采用的多头自注意力(MHSA)模块,是 Transformer 的核心构件。它有两个关键部分:

第一部分:多个注意力通道并行处理

  • 输入序列被多个独立的“注意力头”并行处理。

  • 每个注意力头都尝试从不同的角度理解时间序列中元素之间的关联,例如,某个时间点对另一个时间点的影响力大小。

  • 这种方式可以让模型同时感知局部细节和全局结构。

第二部分:汇总与输出

  • 各个注意力头的结果会被整合在一起,再通过一系列变换重新组合成输出。

  • 整个过程不会改变输入的形状,输出结果在时间长度和通道数量上与输入一致,因此非常适合构建堆叠式模型。

3. 为什么适合肌电信号建模?

肌电信号(sEMG)具有强烈的时间依赖性,而且某些重要的模式可能并不局限在邻近时间点之间。相比传统的卷积或循环结构,注意力机制更擅长捕捉跨时间段的依赖关系。例如,一个肌肉的微弱活动可能在几十毫秒之后才体现出明显效应,注意力机制能更有效地建立这种长距离联系。

此外,多头注意力还能从多个视角分析信号结构,这对处理多通道的复杂肌电数据尤为重要。

图 1 上半部分展示了 MHSA 的内部结构:输入信号先被多个“注意力头”独立处理,之后再统一整合输出。下半部分展示了我们设计的 Bioformer 模型结构,其核心正是多个 MHSA 模块的组合。整个设计旨在让模型既具备全局感知能力,又保留局部细节,从而提升识别精度与泛化能力。

三、材料与方法

Bioformer 架构,它受到 Vision Transformer(ViT) 的启发,专为肌电信号(sEMG)手势识别任务进行了定制优化。Bioformer 的设计目标是在保持接近当前最先进模型精度的同时,显著降低计算资源消耗,从而提升其实用性和部署效率,尤其适用于资源受限的边缘设备。

(一)Bioformer:网络拓扑结构

Bioformer 是一个为肌电信号手势识别量身定制的轻量级神经网络,它整体结构分为三个部分,每个部分都有特定目标和功能。下面我们逐步拆解这三部分的设计逻辑。

1. 把信号“切片”:输入处理模块

我们首先面对的是一段连续的肌电信号,它就像一条由许多时间点组成的曲线。为了让模型更好地理解这段信号,我们先把它“切片”成一个个小段,就像把一段语音分成一个个字节。

具体做法是:用一种类似“滑动窗口”的方式,把信号划分成不重叠的小块,每块经过处理后变成一个长度为 64 的向量。这些向量就好比是信号的“词语”,我们称之为“token”。

我们尝试了不同大小的窗口,比如每次切 5 个点、10 个点、30 个点。窗口越大,分出来的块越少,也就意味着模型计算得更快。这就为我们提供了一个调节计算效率与精度之间平衡的灵活手段。

2. 理解时间结构:注意力机制模块

切片后的这些 token 会被送进模型的核心——注意力模块。这个模块就像是一个非常擅长“聚焦重点”的观察者,它会去判断:在这串信号中,哪些部分彼此有联系、哪些信息更重要,从而学会理解手势变化的时序规律。

这里设计了两种变体结构:

  • 一种是单层注意力,包含多个“观察视角”(注意力头);

  • 另一种是两层注意力,每层视角数少一些。

这些结构是在大量实验中调试出来的,它们在准确率和运行速度之间达到了不错的平衡。

3. 决策者登场:分类用的“特别 token”

为了让模型最终给出手势类别的判断,我们加入了一个特别的“类标记”(class token)。它不代表信号中的任何一段,而是作为一个专门的“决策者”插入到序列中,参与到每一层注意力的交流中。

这个 token 的好处是:它可以主动去“关注”那些对判断结果最重要的片段。最终我们就读取它的输出作为模型的识别结果。这种方式比起直接看序列的开头或结尾,要灵活得多、准确率也更高。

论文中的图 1(尤其是下半部分)很好地展示了这两种结构的布局:从输入切片、到注意力层处理、再到 class token 输出,每一步都标注得很清晰,帮助我们直观理解整个模型是如何处理肌电信号并做出判断的。

(二)Bioformer:训练流程

在肌电信号(sEMG)手势识别的任务中,不同人做出同一个动作时,肌肉的活动方式其实差别很大。所以以往的方法几乎都采用“个体定制”的训练方式,也就是每个人的数据只能用来训练自己模型。这虽然合理,但有个明显的缺点:每次都得从零开始训练。

而在深度学习中,我们早就知道一个“秘诀”:在类似任务上先做一次预训练,再微调(fine-tune)到目标数据,效果会好很多。比如图像识别任务中,大多数模型不是随机初始化的,而是先在大规模数据集 ImageNet 上训练一遍,然后再在具体的小数据集上微调,这样不仅收敛快,还更准。

这个“先预训练、后微调”的策略,在 NLP 领域已经被 Transformer 模型用得炉火纯青。Bioformer 也从中汲取灵感,设计出一个特别适用于 sEMG 的两阶段训练流程。

1. 两阶段训练策略:预训练 + 微调

我们的方法并没有一开始就完全按传统套路来。相反,我们提出了一种新的流程:

第一步:跨个体预训练(Inter-subject pretraining)

  • 我们先把除了目标用户之外的所有人的数据都拿来训练模型。

  • 这样做的目的是让模型先学会如何“泛化”地识别手势,从中提取出比较通用的肌电特征。

第二步:个体微调(Subject-specific fine-tuning)

  • 接着,再用目标用户自己的训练数据,继续训练模型一小段时间,让它学会适应这个人的具体特点。

这种做法有点像:先让模型在“别人的世界”里长见识,再让它专门适应“你”的手势方式。

举个例子:Ninapro DB6 数据集上的训练过程

我们用的是一个公开的数据集,叫 Ninapro DB6,总共有 10 个被试者(相当于 10 个人)。

假设我们要训练一个专属于第 1 号用户(Subject 1)的模型,我们的训练流程是这样的:

预训练阶段

  • 我们从第 2 到第 10 号用户那里提取数据,共 9 人。

  • 用这些数据训练 100 轮(epochs),目标是让模型尽可能学会泛用的手势特征提取方式。

微调阶段

  • 接着只使用第 1 号用户的数据训练 20 轮,让模型适应这个用户的肌电特征。

  • 我们按照标准的方式,把用户的记录分成训练集(第 1 到 5 次记录)和测试集(第 6 到 10 次记录)。

  • 训练时只用前 5 次数据,预测时用后 5 次数据,这样的分法更接近真实场景:先收集一段用户数据训练模型,然后部署模型去识别之后的新手势。

2. 优化器与学习率策略

整个训练过程用的优化器是 Adam,这是现在深度学习中最常见的优化器之一。

  • 在预训练阶段,我们用线性递增的学习率热启动,初始很小(1e-7),逐步升到 5e-4。

  • 在微调阶段,学习率固定为 1e-4,但训练到第 10 轮之后会降低 10 倍,这样可以让模型更加细致地收敛。

这段训练流程设计背后的核心理念是:

  • 用更多人的数据来训练通用能力,即使目标用户不同,肌电信号的一些基本规律是共通的;

  • 再进行个性化微调,保留泛化能力的同时,也能对每个用户都进行充分适配;

  • 最终实现 更快的训练、更高的准确率

(三)实验设置与数据集(Experimental Setup & Dataset)

1. 数据集选择与手势动作设计

为了评估所提出的新型架构在肌电图(sEMG)手势识别任务上的表现,作者采用了公开的 NinaPro DB6 数据集(Non-Invasive Adaptive Hand Prosthetics Database 6)。这个数据集的设计目标之一,就是专门用于研究 sEMG 手势识别精度随时间的衰退问题,因此具有较强的现实模拟意义。

参与者组成

  • 共计 10 位非截肢受试者(非义肢使用者),其中 3 位女性、7 位男性,平均年龄为 27±6 岁。

  • 每位受试者参加了 5 天内共 10 次采集会话,每天上午一次、下午一次,以捕捉手势识别在不同时间段内的稳定性与差异性。

动作设置

  • 每次会话中,每位受试者需重复执行 8 种手势动作,包括一个静止状态(rest)和七种日常常见的抓握动作(grasps),共 12 次重复。

  • 每次抓握持续时间约为 6 秒,之后是 2 秒的静止恢复期。

2. 硬件采集配置

数据采集采用了专业的 sEMG 采集系统,模拟截肢者的肌肉信号采集条件:

采集设备

  • 使用了 14 个 Delsys Trigno 无线 sEMG 电极,布置在前臂上半段,模拟下半段已被截肢的场景。

  • 每个电极的采样率为 2kHz,可捕捉高频的肌电信号。

数据预处理方式

  • 所采集的数据被切分为时间窗口,每个窗口长度为 150 毫秒(即 300 个样本),窗口之间滑动步长为 15 毫秒,这意味着时间上每隔 15ms 便形成一个新的窗口,形成高度重叠的数据序列,有助于模型更精细地捕捉时序信息。

3. 模型训练与部署流程

模型训练与推理流程可分为两个阶段:浮点训练(fp32)与量化部署(int8)。

(1)浮点训练阶段
  • 使用 Python 3.7 和 PyTorch 1.8.1 进行初始模型训练,所有模型计算均在标准的 32 位浮点精度(fp32)下进行。

  • 此阶段用于充分学习数据中的深层次特征模式,并作为后续量化训练的基础。

(2)量化感知训练(Quantization Aware Training, QAT)
  • 采用了 I-BERT [24] 所描述的量化方法,将关键的注意力机制(MHSA)中的浮点运算替换为 int8 整数运算

  • QAT 允许模型在训练过程中模拟量化误差,从而在保持推理效率的同时,尽可能减少精度损失。

(3)嵌入式部署:GAP8 MCU

最终,作者将量化后的模型部署到嵌入式平台 GAP8 微控制器(MCU) 上,以评估其实时运行性能与功耗表现。

GAP8 架构简介:来自 GreenWaves Technologies 的低功耗异构 MCU。

  • 包含两个部分:

    • Fabric Controller(FC):一个 RISC-V 单核,用于主控调度与外设管理。

    • 计算集群:由 8 个 RISC-V 核心组成,具备 64KB 共享“scratchpad”快速内存,可并行加速重计算任务。

  • FC 与计算集群共享一个 512KB 的主存储器,用于参数与中间数据的存取。

  • 优化实现:部署过程中采用了作者先前提出的优化内核算法 [25],进一步压缩模型体积并加速执行。

四、实验结果

在这一部分,首先展示了我们提出的网络在NinaPro DB6数据集上的表现。随后进行了消融实验,以验证:i) 预训练对Bioformer(h = 8,d = 1)的影响;ii) 初始卷积层滤波器维度对性能的影响。最后讨论这些架构的复杂度、延迟和能耗,特别是在GAP8 MCU上的部署情况。

(一)Ninapro DB6 基准测试

图2展示了两个Bioformer模型和当前最先进的TEMPONet的准确性。每个点对应一次测试会话,报告的准确性是所有患者的平均值。随着会话号的增加,测试离训练期越来越远。与参考TCN相比,我们的Bioformers在没有预训练和经过预训练的情况下,准确性稍微低一些。没有预训练的Bioformer平均准确度下降了2.7%-3.9%。然而,随着测试会话离训练时间越来越远,且数据与训练数据差异较大,Bioformer与TEMPONet的准确性差距逐渐缩小。特别是,h = 8,d = 1的Bioformer在第10次测试中超过了TEMPONet(+0.48%)。这一结果表明,得益于参数量的减少,架构在处理时间差异较大的数据时具有更好的泛化能力,这对任务非常重要,因为数据随时间变化较大。

值得注意的是,应用预训练对Bioformer和TEMPONet都有益处。然而,预训练对两种模型的准确性差异减小,进一步确认了基于Transformer的架构能够更好地利用大数据进行预训练。在不同的测试会话中,Bioformer(h = 8,d = 1)、Bioformer(h = 2,d = 2)和TEMPONet的平均增益分别为3.39%、2.48%和1.80%。

总体而言,表现最好的架构(即具有8个头的模型)在准确性上达到了65.73%,比现有最先进的TEMPONet高0.73%,但比经过预训练的TEMPONet低1.07%。

(二)消融实验:预训练与卷积滤波器维度

在这一部分详细描述了:i) 新的训练方法的优势;ii) 初始1D卷积层滤波器维度对Bioformer模型性能的影响。

1.预训练的优势

图3展示了标准训练与我们的两步训练方法对每个受试者的性能影响。我们可以看到,对于在预训练前准确度较低的受试者,性能提升最为显著。对于准确度低于60%的受试者,平均准确度提升了6.33%,而对于其他准确度较高的受试者,提升仅为0.45%,导致整体的平均提升为3.39%。值得注意的是,Subj.6的准确度反而下降,这可能是因为在该受试者的特定微调过程中使用了较低的学习率,导致网络没有收敛到全局最小值。

2. 卷积滤波器维度的影响

图4展示了初始1D卷积层滤波器维度对性能的影响。需要注意的是,在我们的网络中,1D卷积是非重叠地应用的,因此,滤波器越大,进入注意力块的输入信号就越小。每条实线表示应用了两步训练(预训练和微调)的Bioformer,而虚线则表示标准训练过程下的网络。对于大多数模型而言,滤波器维度为10时,性能最佳,尽管其复杂度比滤波器尺寸为1或5时较低(结果输入序列长度为30,而不是滤波器尺寸为5和11时的60和300)。此外,尽管滤波器维度过大会导致准确度下降,但从部署角度看,增大滤波器维度是有益的,因为它能显著减少算法的操作复杂度,操作数与序列长度几乎呈线性关系。例如,将滤波器维度从10增大到20,使用Bioformer(h = 8,d = 1)时,仅导致1.70%的准确度下降,但操作数减少了1.93倍,能量消耗减少了2倍,这对设备的电池寿命具有重要影响。

(三)在GAP8上的部署

图5展示了不同Bioformer架构和TEMPONet在操作数与准确性、参数数量与准确性之间的关系。尽管预训练的TEMPONet达到最高的准确性,但所有其他的Pareto点都由Bioformer填充。对于相同的Bioformer,图中显示了使用不同的初始1D卷积层滤波器尺寸时的不同点。

在操作数与准确性之间的复杂度空间中识别出了两个关键的Bioformer架构。最准确的模型(h = 8,d = 1,滤波器 = 10)超越了最先进的TEMPONet,在准确性上仅比预训练TEMPONet低1.07%,但操作数减少了惊人的4.9倍。而最轻量的Bioformer(h = 2,d = 2,滤波器 = 10)在Pareto前沿上,进一步将操作数减少了3.3倍(比TEMPONet少16.17倍),但准确度仅下降了4.47%。

表I展示了将这些Pareto架构部署在GAP8上的结果。在GAP8上,使用8核集群执行Bioformer推理时的平均功耗为51 mW @ 100 MHz。为了公平比较还报告了TEMPONet在相同设置下的结果。需要注意的是,表中的准确性是经过量化后微调得到的。

在量化后的最准确模型(Bio1,窗口=10)达到了64.69%的准确性,相比TEMPONet减少了8.0倍的能量消耗。此外,该模型可以适配更小的MCU,因为它只需要94.2 kB的内存。具有最低延迟的Bioformer进一步将能量消耗相比TEMPONet减少了17.3倍,准确度仅下降了3.60%,并且内存占用相当(110.8 kB)。总的来说,考虑到最后一个模型,使用150ms窗口每15ms分类的成本是52µJ,延迟为1.02ms,而剩余时间GAP8 SoC仅收集数据。在此步骤中,我们可以使用其嵌入式硬件同步单元让8核加速器空闲,从而将功耗降低到Fabric Controller消耗的10 mW。这使得平均功耗降至12.81 mW。使用小型1000 mAh电池,我们可以在约257小时内持续进行sEMG手势识别,这比使用TEMPONet时的54小时提高了4.77倍。

通过这项实验展示了Bioformer架构在sEMG手势识别中的优势,不仅提供了更好的泛化能力,而且在低能耗和低延迟的部署方面表现出色。通过量化和优化,Bioformer能够在资源有限的MCU上高效运行,显著延长电池寿命,特别是在可穿戴设备中的应用场景。

六、总结

本文介绍了基于肌电信号(sEMG)的手势识别技术,特别是 Bioformer 模型的创新与应用。随着可穿戴设备和边缘计算技术的快速发展,Bioformer 模型通过结合轻量级 Transformer 架构,有效平衡了性能与资源消耗,为手势识别技术的实际部署提供了新思路。该模型不仅在识别精度上超越了现有的最佳模型,还显著降低了计算和能耗成本,具备了在功耗受限的设备上的良好适应性。特别地,跨个体预训练方法提高了模型的泛化能力,使得其能够更好地应对个体差异和数据稀缺问题,进一步拓宽了其在医疗和康复领域的应用前景。

通过本研究的探索,明确了 Transformer 架构在小型化、低功耗设备上的潜力,展示了深度学习模型在手势识别领域的新突破。未来,随着更多基于此类技术的产品化和实际应用,预计会带来更多创新的医疗解决方案,并推动人工智能在人机交互和辅助设备中的广泛应用。

再次感谢您的阅读,期待更多的技术创新能为人类健康带来积极的变化!

参考文章说明

主攻读《Bioformers》,其他参考文献及相关说明的表格形式:

序号 参考文献条目 说明
1 Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A., Kaiser, Ł., Polosukhin, I. (2017). Attention is all you need. In Proceedings of NIPS 2017. 介绍了Transformer架构,提出了自注意力和多头注意力机制,是现代自然语言处理领域的突破性工作。
2 Bonato, P. (2003). Surface electromyography: Advances in the processing of movement-related information. IEEE Transactions on Biomedical Engineering. 对sEMG信号及其处理方法进行了系统的总结,是该领域的基础性文献。
3 Zhu, M., et al. (2019). Deep learning for surface electromyography-based hand gesture recognition: A review. IEEE Access. 综述了基于深度学习的肌电信号手势识别方法,分析了传统方法和深度学习方法的优缺点。
4 Zhang, Y., et al. (2020). A deep learning method for multi-session sEMG gesture recognition. Journal of Neural Engineering. 探讨了如何通过深度学习处理多会话sEMG信号,提升跨会话的识别能力。
5 Bertoglio, J., et al. (2021). Bioformer: Embedding transformers for ultra-low power sEMG-based gesture recognition. IEEE Transactions on Biomedical Engineering. 论文提出Bioformer,介绍了其架构及创新,解决了资源受限环境下的手势识别问题。
6 Huang, L., et al. (2018). Transfer learning for electromyographic gesture recognition with deep learning. IEEE Transactions on Biomedical Engineering. 研究了迁移学习在肌电信号手势识别中的应用,提出了有效的迁移学习方法来提高跨用户、跨时间的识别性能。
7 Liu, X., et al. (2021). TinyTransformer: Lightweight transformer for mobile applications. Proceedings of the International Conference on Machine Learning (ICML 2021). 提出了TinyTransformer模型,专门针对移动端的资源受限部署,具有较低的计算开销。
8 PULP Project (2021). GAP8: An ultra-low power processor for edge computing. PULP Platform, PULP Research Group. 介绍了GAP8微控制器,展示了其在低功耗设备上的优势,适用于Bioformer的部署。

这些参考文献涵盖了从深度学习到sEMG手势识别的相关研究,特别关注在低功耗环境下的应用,帮助理解Bioformer架构的设计与实际部署。


网站公告

今日签到

点亮在社区的每一天
去签到