目錄
一、從深度學習到邊緣部署,手勢識別的新突破
(一)可穿戴設備 + 邊緣計算 = 個性化醫療新可能
(二)肌電信號(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三大貢獻
結合上面的挑戰與動機,作者在論文中主要做了以下三項創新:
-
提出 Bioformer 架構:這是一個基于注意力機制的輕量級模型,專為手勢識別任務設計,目標是在降低計算復雜度的同時保持甚至超越 CNN 的性能。
-
引入跨用戶預訓練策略(Inter-subject Pre-training):傳統訓練方法往往基于個體數據(即病人專屬),但作者發現,引入其他人的訓練數據 能增強模型提取通用特征的能力,在泛化上效果更佳。
-
添加初始的 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架構的設計與實際部署。