跨個體預訓練與輕量化Transformer在手勢識別中的應用:Bioformer

目錄

一、從深度學習到邊緣部署,手勢識別的新突破

(一)可穿戴設備 + 邊緣計算 = 個性化醫療新可能

(二)肌電信號(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》,其他參考文獻及相關說明的表格形式:

序號參考文獻條目說明
1Vaswani, 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架構,提出了自注意力和多頭注意力機制,是現代自然語言處理領域的突破性工作。
2Bonato, P. (2003). Surface electromyography: Advances in the processing of movement-related information. IEEE Transactions on Biomedical Engineering.對sEMG信號及其處理方法進行了系統的總結,是該領域的基礎性文獻。
3Zhu, M., et al. (2019). Deep learning for surface electromyography-based hand gesture recognition: A review. IEEE Access.綜述了基于深度學習的肌電信號手勢識別方法,分析了傳統方法和深度學習方法的優缺點。
4Zhang, Y., et al. (2020). A deep learning method for multi-session sEMG gesture recognition. Journal of Neural Engineering.探討了如何通過深度學習處理多會話sEMG信號,提升跨會話的識別能力。
5Bertoglio, J., et al. (2021). Bioformer: Embedding transformers for ultra-low power sEMG-based gesture recognition. IEEE Transactions on Biomedical Engineering.論文提出Bioformer,介紹了其架構及創新,解決了資源受限環境下的手勢識別問題。
6Huang, L., et al. (2018). Transfer learning for electromyographic gesture recognition with deep learning. IEEE Transactions on Biomedical Engineering.研究了遷移學習在肌電信號手勢識別中的應用,提出了有效的遷移學習方法來提高跨用戶、跨時間的識別性能。
7Liu, X., et al. (2021). TinyTransformer: Lightweight transformer for mobile applications. Proceedings of the International Conference on Machine Learning (ICML 2021).提出了TinyTransformer模型,專門針對移動端的資源受限部署,具有較低的計算開銷。
8PULP Project (2021). GAP8: An ultra-low power processor for edge computing. PULP Platform, PULP Research Group.介紹了GAP8微控制器,展示了其在低功耗設備上的優勢,適用于Bioformer的部署。

這些參考文獻涵蓋了從深度學習到sEMG手勢識別的相關研究,特別關注在低功耗環境下的應用,幫助理解Bioformer架構的設計與實際部署。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89686.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89686.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89686.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無線調制的幾種方式

不同的調制方式在 頻譜效率、抗干擾能力、功耗、實現復雜度 等方面存在顯著差異。以下是主要調制方式的對比分析:一、調制方式的核心區別調制方式原理頻譜效率抗干擾能力功耗典型應用AM改變載波振幅低差(易受噪聲影響)較高廣播電臺FM改變載波…

五分鐘系列-網絡性能測試工具iperf3

目錄 一、iperf3 是什么? 二、為什么需要 iperf3? 三、iperf3 的主要測量指標 四、安裝 iperf3 五、基礎使用模式(命令行參數示例) 1. 啟動 Server 端 (必須) 2. 啟動 Client 端進行測試 (最常見) 基本 TCP 測試 (10秒) …

LiFePO4電池的安全詳解

一、電池的制作過程 鋰離子電池的五大核心組成部分:正極、負極、電解液、隔膜和外殼。 正極:把正極材料(如LiFePO?)+ 導電劑(如炭黑)+ 粘結劑(如PVDF)混合成漿料,涂覆在鋁箔上,然后烘干、輥壓。 負極:把負極材料(如石墨)+ 導電劑 + 粘結劑混合成漿料,涂覆在銅…

S7-200 SMART PLC: SMART 200 CPU 密碼設置及權限設置方式

在工業自動化控制中,SMART 200 CPU 的安全穩定運行直接關系到整個系統的可靠運作,而組態系統安全則是保障 SMART 200 CPU 安全的核心環節。通過合理設置密碼及相關安全參數,能為 SMART 200 CPU 構建一道堅固的防護屏障,有效保護用…

Datawhale AI數據分析 作業

一、 貸款批準預測數據集1. 數據探索與理解prompt 1:這是訓練數據,目的是貸款批準預測數據集上訓練的深度學習模型生成的數據,旨在使用借款人信息預測貸款批準結果,它通過模擬真實貸款審批場景,幫助金融機構評估借款人風險。 請展…

100條常用SQL語句

一、基本查詢語句 查詢所有數據: SELECT * FROM 表名; 查詢特定列: SELECT 列名1, 列名2 FROM 表名; 條件查詢: SELECT * FROM 表名 WHERE 條件; 模糊查詢: SELECT * FROM 表名 WHERE 列名 LIKE ‘模式%’; 排序查詢: …

Visual Studio編譯WPF項目生成的文件介紹

文章目錄一、Summarize主要輸出文件1. **可執行文件 (.exe)**2. **程序集文件 (.dll)**3. **PDB 文件 (.pdb)**資源與配置文件1. **XAML 編譯文件 (.baml)**2. **資源文件 (.resources)**3. **應用程序配置文件 (.config)**依賴文件1. **引用的 NuGet 包**2. **引用的框架程序集…

「Chrome 開發環境快速屏蔽 CORS 跨域限制詳細教程」*

Chrome 開發環境快速屏蔽 CORS 跨域限制【超詳細教程】 📢 為什么需要臨時屏蔽 CORS? 在日常前后端開發中,我們經常會遇到這樣的報錯: Access to fetch at https://api.example.com from origin http://localhost:3000 has been …

Linux命令大全-df命令

一、簡介df(英文全拼:display free disk space) 命令用于顯示或查看文件系統(或磁盤)的空間使用情況,包括總容量、已用空間、可用空間、使用率和掛載點等信息。二、語法df [選項]... [文件]...參數參數說明…

《程序員修煉之道》第一二章讀書筆記

最近在看《程序員修煉之道:通向務實的最高境界》這一本書,記錄一下看書時的一點淺薄感悟。務實程序員不僅是一種技能水平的體現,更是一種持續修煉、不斷反思并主動承擔責任的過程。對自己的行為負責是務實哲學的基石之一。在重構CRM時面對文檔…

ArcGISPro應用指南:使用ArcGIS Pro創建與優化H3六邊形網格

H3 是由 Uber 開發的一個開源地理空間分析框架,旨在通過將地球表面劃分為等面積的六邊形網格來支持各種地理空間數據分析任務。每個六邊形單元在 H3 系統中都有一個獨一無二的標識符,即 H3 指數。這種網格系統不僅能夠覆蓋全球,而且適用于任何…

xss-dom漏洞

目錄 靶場搭建 第一關 第二關 第三關 第四關 第五關 第六關 第七關 第八關 靶場下載地址:https://github.com/PwnFunction/xss.pwnfunction.com 靶場搭建 將文件用clone 下載到ubuntu, 然后進入 cd xss.pwnfunction.com/hugo/ 這個目錄下 hu…

BPE(字節對編碼)和WordPiece 是什么

BPE(字節對編碼)和WordPiece 是什么 BPE(字節對編碼)和WordPiece 是自然語言處理中常用的子詞分詞算法,它們通過將文本拆分為更小的語義單元來平衡詞匯表大小和表達能力。 BPE(Byte Pair Encoding,字節對編碼) 原理 初始化:將文本按字符(或Unicode字節)拆分為最小…

Java行為型模式---狀態模式

狀態模式基礎概念狀態模式(State Pattern)是一種行為型設計模式,其核心思想是允許對象在內部狀態發生改變時改變它的行為,對象看起來好像修改了它的類。狀態模式將狀態相關的行為封裝在獨立的狀態類中,并將狀態轉換邏輯…

重學Framework Input模塊:如何實現按鍵一鍵啟動Activity-學員作業

需求背景: 近來vip群里學員朋友有問道一個需求,大概需求就是他們做TV的Framework開發,想要遙控器有一個新定義的兒童節目按鍵,想要實現這個按鍵按下后就跳轉到兒童節目的Activity。需求拆解及作業要求: 針對上面需求&a…

bmp圖像操作:bmp圖像保存及raw與bmp轉換

1. 保存bmp圖像&保存一張正弦圖像到D:\1.bmp /********************************************** * fileName bmpinc.h * brief 對bmp文件的操作,包括: * - saveBmp:保存bmp文件 * - Save…

SpringAI——提示詞(Prompt)、提示詞模板(PromptTemplate)

Prompt 是引導 AI 模型生成特定輸出的輸入格式,Prompt 的設計和措辭會顯著影響模型的響應。最開始Prompt只是單純的文本文字,后面可以包含占位符,可以識別消息的角色。比如包含占位符的Prompt,也就是我們講的消息模板(PromptTemplate)&#x…

【深度學習筆記 Ⅰ】5 參數和超參數

在深度學習中,參數(Parameters) 和 超參數(Hyperparameters) 是模型訓練中兩個核心概念,它們共同決定了模型的性能,但作用方式和優化方法截然不同。以下是詳細對比與解析:1. 參數&am…

Linux 阻塞等待框架

在 Linux 設備驅動開發中,阻塞機制 是處理資源暫時不可用(如設備未準備好數據、緩沖區滿等)的核心手段。驅動程序可以將被阻塞的進程設置成休眠狀態,然后,在資源可用后,再將該進程喚醒。 在 Linux 驅動開發…

PCIe RAS學習專題(3):AER內核處理流程梳理

目錄 一、AER內核處理整體流程梳理 二、AER代碼重要部分梳理 1、AER初始化階段 2、中斷上半部 aer_irq 3、中斷下半部 aer_isr 3.1、aer_isr_one_error 3.2、find_source_device 3.3、aer_process_err_devices 3.4、handle_error_source 3.5、pcie_do_recovery 整體邏…