杜義浩, 曹添福, 范 強, 王孝冉
(燕山大學 電氣工程學院 河北省測試計量技術(shù)及儀器重點實驗室河北省智能康復及神經(jīng)調(diào)控重點實驗室,河北 秦皇島 066004)
手勢作為人體語言的重要組成部分,具有信息量大、直觀等優(yōu)點,在汽車[1]、虛擬現(xiàn)實[2]、醫(yī)療保健[3]等領(lǐng)域有著廣泛的應(yīng)用,其中如何提升手勢識別的準確率和實時性以獲得友好交互尤為關(guān)鍵。手勢識別技術(shù)可以分為兩類:基于機器視覺的方法[4,5]和基于生理信號的方法。其中,以肌電信號[6,7]和超聲信號[8]為代表的生理信號手勢識別技術(shù)具有交互自然、抗干擾性強等特點,成為近年研究熱點。如,Akhlaghi等利用超聲對15個手勢進行了離線分類,分類準確率達到90%以上[9];Yang等利用A型超聲信號獲得了較好的手指運動識別性能指標[10],并在之后的研究中實現(xiàn)了手腕/手的運動學解碼[11];Yin等驗證了受試者在佩戴假肢的情況下仍有較高的在線分類性能[12]。盡管上述研究均取得了不錯的手勢識別效果,但其穩(wěn)定性容易受到疲勞等因素的影響,嚴重阻礙了手勢識別的交互應(yīng)用。已有學者開始了相關(guān)研究,如Zeng等比較了表面肌電信號和A型超聲信號在非疲勞和疲勞狀態(tài)下的手勢識別精度[13];Guo等針對長時間維持同一手勢產(chǎn)生疲勞的問題,通過能量特征歸一化處理實現(xiàn)了離線狀態(tài)下的較高精度手勢識別[14]。綜上所述,肌肉疲勞會導致手勢識別精度降低,但其具體變化規(guī)律和不同手勢差異的研究較少,有待于進一步探究和分析。
因此,為提升手勢識別的準確率和實時性,提出改進的寬度學習(broad learning system, BLS)模型GA-BLS,利用彈性網(wǎng)絡(luò)回歸改進傳統(tǒng)BLS模型的權(quán)重求解問題,首先通過遺傳算法(genetic algorithms, GA)對BLS模型進行參數(shù)優(yōu)化,將所提模型進行8種手勢下A型超聲信號和肌電信號的手勢識別分析,并與SVM、KNN、RF、LDA等方法進行對比;然后將長時間段下的A型超聲信號和肌電信號切分為4段,分別進行手勢識別準確率變化規(guī)律分析;最后探究不同手勢下準確率的差異情況。
實驗采用的是由Zeng等[13]提供的4通道8種手勢下的A型超聲信號和表面肌電信號開源數(shù)據(jù)。使用一個已經(jīng)有效性驗證的混合sEMG/AUS傳感器系統(tǒng)同步獲取肌電信號和A型超聲信號。
8種手勢如圖1所示,包括:握拳(FS),食指和拇指對捏(IP),中指和拇指對捏(MP),無名指和拇指對捏(RP),食指、中指和大拇指三指對捏(TP),食指、中指、無名指和拇指對捏(FP),五指對捏(AP),鑰匙型捏(KP)。
每個手勢持續(xù)時間為5 min,分為3個階段,每個完整實驗后休息5 min,具體實驗范式如圖2所示。
圖2 手勢動作實驗范式
其中第1階段被試者被要求首先休息5 s,然后用25%的最大自主收縮力做5秒手勢,這一過程重復進行10次,共100 s;緊接著第2階段開始,受試者首先休息10 s,之后用比第1階段大1倍的力量持續(xù)維持這個手勢90 s;在第3階段,受試者重復第1階段的過程。受試者對每個手勢都依照上述過程來做。在每2個手勢之間受試者被要求休息5 min。
3.1.1 預(yù)處理
通過預(yù)處理去除A型超聲信號原始數(shù)據(jù)的噪聲,包括時間增益補償、高斯濾波、希爾伯特變換和對數(shù)壓縮,以實現(xiàn)根據(jù)時間進行回波信號放大、高斯噪聲消除、單邊頻譜復信號變換和維度效應(yīng)消除,如圖3所示。由圖3可知,A型超聲信號經(jīng)過預(yù)處理后,信號峰值區(qū)間由[0,200]壓縮到了[0,10],且峰值相較于原始信號更加突出,有用的信息得以增強。
圖3 A型超聲信號預(yù)處理過程
3.1.2 特征提取
每幀A型超聲信號具有1 000個樣本點,且由于前20個和最后20個采樣點表征肌肉最淺層和最深層的無效信息,將其去除。合并4通道樣本點,并參考文獻[15],設(shè)置移動窗長為20,選取每個窗口下的平均值和方差作為時域特征。
平均值μmean被定義為:
(1)
式中:N為窗口長度;i為第i個采樣點。
方差σvar被定義為:
(2)
選取肌電信號的平均絕對值、方差、過零點數(shù)、均方根和AR自回歸模型參數(shù)作為肌電信號特征。
平均絕對值的定義為:
(3)
式中:xn為肌電時序數(shù)據(jù);XMAV的大小可以反映肌肉收縮水平。
方差為:
(4)
過零點數(shù)為:
(5)
過零點數(shù)可以間接反映表面肌電信號的頻率特性。
均方根為:
(6)
均方根可以反映肌肉收縮時肌電信號的高斯分布特性。
自回歸模型:
(7)
式中:P(k)為肌電信號序列;m為自回歸模型的階數(shù);al為第l個自回歸系數(shù);e(k)為高斯白噪聲。參考文獻[16],選取4階模型效果最優(yōu)。
由于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)訓練時間長且容易陷入局部最優(yōu),因此具有單層網(wǎng)絡(luò)結(jié)構(gòu)的寬度學習模型[17]應(yīng)運而生。它是一種基于隨機向量函數(shù)鏈神經(jīng)網(wǎng)絡(luò)的新型機器學習方法,通過對輸入進行隨機特征映射和特征增強,生成特征節(jié)點和增強節(jié)點,然后將其合并為輸入層并連接輸出層,并經(jīng)過逆推得到輸出層與輸入層之間的連接權(quán)值,具體結(jié)構(gòu)如圖4所示。
圖4 寬度學習模型結(jié)構(gòu)
寬度學習模型的輸出為:
(8)
彈性網(wǎng)絡(luò)回歸的目標函數(shù)為:
(9)
由于BLS模型中參數(shù)的選取嚴重影響其精度表現(xiàn),因此研究選用GA進行尋優(yōu)。同時,在GA交叉操作環(huán)節(jié)引入噪聲使種群多樣化,以確保獲得BLS模型參數(shù)的最優(yōu)解,具體流程如圖5所示。
在所提遺傳算法中,選擇父代時引入一定比例的噪聲,可以增加種群的多樣性,幫助算法跳出局部最優(yōu)解,從而獲得更優(yōu)的解。交叉操作中加入更多的選擇,改變了傳統(tǒng)遺傳算法中的單一單點交叉方式,可以靈活地選擇交叉方式為單點交叉、雙點交叉或者均勻交叉。引入自適應(yīng)的變異概率,根據(jù)算法迭代的進程進行動態(tài)調(diào)整,可以使算法更好地平衡探索和利用的關(guān)系。
實驗仿真平臺包括:Core(TM)i5-10200H CPU、16.00GB內(nèi)存、Windows10操作系統(tǒng),利用Python編寫代碼并進行仿真分析。
首先,初始化BLS參數(shù)為N1=10、N2=10、N3=300、λ=2-25,分別進行A型超聲和肌電信號數(shù)據(jù)的手勢識別仿真。之后,利用所提方法進行同樣的手勢識別仿真。其中,GA的種群數(shù)量設(shè)置為50,迭代次數(shù)設(shè)置為10次。另外,采用五折交叉驗證作為最終手勢識別準確率,如表1所示。
表1 手勢識別準確率對比
由表1可知,改進的GA-BLS模型準確率得到了明顯提升,A型超聲信號手勢識別準確率提升了3.75%,肌電信號手勢識別準確率提升了9.83%。為進一步驗證改進的GA-BLS方法的有效性,選取SVM(C=1、kernel=‘linear’)、KNN(K=2)、RF(n_estimators=10、criterion=‘gini’、min_samples_split=2)、LDA(默認)4種方法進行對比,均采用相同的實驗仿真平臺,且分別獨立運行5次,取其平均準確率和平均運行時間,結(jié)果如表2所示。
表2 不同模型手勢識別結(jié)果對比
由表2可知,A型超聲信號的手勢識別結(jié)果中所提模型的準確率最高,達到99.96%,而RF、SVM、KNN的準確率也可以達到99%,充分說明A型超聲信號的手勢可區(qū)分性比較好;運行時間(訓練和測試耗時)方面,所提模型耗時最短,達到0.432 s,LDA次之,為0.778 s,而SVM最長,達到了6.071 s。肌電信號的手勢識別結(jié)果中所提模型的準確率最高,達到90.34%,RF次之,為86.38%,SVM的準確率最低,僅為71.44%;運行時間方面,LDA的耗時最短,為0.147 s,所提模型次之,為0.345 s,SVM的耗時最長,為53.841 s。
綜上所述,A型超聲信號的手勢識別準確率比肌電信號高,究其原因可能是手勢維持的時間過長,受肌肉疲勞的影響而導致,說明A型超聲信號在抗疲勞性上優(yōu)于肌電信號。另外,所提模型表現(xiàn)優(yōu)秀,兼顧了準確率和實時性2個方面。為了探究所提模型在不同手勢下的識別效果和錯分情況,利用混淆矩陣進行分析,結(jié)果如圖6所示。
圖6 手勢識別混淆矩陣
由圖6(a)可知,A型超聲信號混淆矩陣中除TP外均實現(xiàn)了完美識別,TP的分類準確率為99.70%,其中有0.30%的樣本被錯分成FP。由圖6(b)可知,肌電信號混淆矩陣中準確率最低的是FP和AP,分別為79.39%和78.48%,且FP部分被錯分成AP,AP部分被錯分成FP。分析其原因可能是被錯分的手勢動作均為多指捏合,不同手勢之間的肌肉調(diào)動較為類似,造成手勢識別結(jié)果容易混淆。
探究被試者在長時間維持手勢下肌肉疲勞對手勢識別準確率的影響規(guī)律,發(fā)現(xiàn)每個實驗第2階段下的數(shù)據(jù)手勢力量為50%最大自主收縮力,且持續(xù)保持時間為90 s,易產(chǎn)生疲勞。所以選取將每個手勢下的A型超聲信號和肌電信號中第2階段數(shù)據(jù)(50%最大自主收縮力,持續(xù)時間為90 s)的活動段切分成4個數(shù)據(jù)段進行分析。
由于實驗第1階段處于手勢動作開始階段,受疲勞影響最小,將其作為訓練集,隨機抽取4個數(shù)據(jù)段中數(shù)量相同的數(shù)據(jù)作為測試集,獨立運行5次并取其平均值作為手勢識別準確率。 由圖7可知, A型超聲信號和肌電信號的手勢識別準確率均呈現(xiàn)出逐漸下降的趨勢,且A型超聲信號在數(shù)據(jù)段1測試集上的準確率為100%,數(shù)據(jù)段2、數(shù)據(jù)段3和數(shù)據(jù)段4測試集上的準確率分別為96.932%、94.091%和88.636%;肌電信號在數(shù)據(jù)段1、數(shù)據(jù)段2、數(shù)據(jù)段3和數(shù)據(jù)段4測試集上的準確率分別為86.704%、56.705%、45.455%和39.659%。上述結(jié)果說明:隨著被試者長時間維持手勢動作,肌肉處于疲勞不斷增加的狀態(tài),導致手勢識別準確率不斷下降,且肌電信號對于肌肉疲勞的敏感性更大。為了探究肌肉疲勞對8種手勢的識別準確率影響情況,利用混淆矩陣進行分析,結(jié)果如圖8和圖9所示。
圖7 4個測試集手勢識別準確率
圖8 A型超聲信號混淆矩陣
圖9 肌電信號混淆矩陣
由圖8可知,A型超聲信號在數(shù)據(jù)段1測試集上的準確率為100%;數(shù)據(jù)段2中準確率最低的是AP,且樣本大多被錯分成FP,其次是TP,樣本大多被錯分成IP;數(shù)據(jù)段3中準確率最低的是FP,且樣本大多被錯分成IP,其次是AP,樣本大多被錯分成FP;數(shù)據(jù)段4中準確率最低的是FP,且樣本大多被錯分成IP,其次是FS,樣本大多被錯分成KP。上述結(jié)果說明,由于受到肌肉疲勞的影響,A型超聲信號中TP和FP容易被錯分成IP,而且到疲勞后期,FS會受到影響,容易被錯分成KP。
由圖9可知,肌電信號在數(shù)據(jù)段1測試集中準確率最低的是FP,僅有約25%,樣本大多被錯分成AP,其次是IP,樣本大多被錯分成TP;數(shù)據(jù)段2中準確率最低的是FP(僅為0),樣本大多被錯分成RP和AP,其次是KP,樣本大多被錯分成IP;數(shù)據(jù)段3中準確率最低的是FP(僅為0),樣本大多被錯分成FS和RP,其次是AP,樣本大多被錯分成FS;數(shù)據(jù)段4中準確率最低的是FP和KP(均為0),且KP大多被錯分成IP或RP,FP大多被錯分成FS或RP,同時AP的準確率也很低,大多被錯分成FS。上述結(jié)果說明,在肌肉疲勞影響下FP的識別準確率一直很低,且隨著疲勞的增加,KP的識別準確率逐漸下降,直至疲勞后期值為0。
通過提出改進的GA-BLS方法,利用開源數(shù)據(jù)進行了A型超聲信號和肌電信號的手勢識別分析,并與SVM、KNN、RF和LDA等方法對比,驗證了所研究方法的有效性。將實驗中第2階段數(shù)據(jù)切分成4個數(shù)據(jù)段,分別進行了手勢識別準確率分析,并采用混淆矩陣探究了肌肉疲勞對8種手勢的識別準確率影響情況。具體結(jié)論如下:
1)建立了改進的GA-BLS模型,使用彈性網(wǎng)絡(luò)回歸改進傳統(tǒng)的BLS模型中的權(quán)重求解問題,使用GA算法優(yōu)化BLS模型參數(shù)。利用所提模型分別進行了A型超聲信號和肌電信號的手勢識別研究,并通過與SVM、KNN、RF和LDA等方法的對比,發(fā)現(xiàn)GA-BLS在A型超聲信號上的準確率最高、耗時最短,以及在肌電信號上的準確率最高,耗時僅次于LDA。
2)探究了肌肉疲勞對A型超聲信號和肌電信號的手勢識別準確率影響規(guī)律,發(fā)現(xiàn)隨著肌肉疲勞的增加,手勢識別的準確率呈現(xiàn)出明顯下降趨勢,而且A型超聲信號相較于肌電信號具有更好的抗疲勞特性;在A型超聲信號中,受疲勞影響最嚴重的是TP和FP,且隨著疲勞程度的增加,FS也會受到影響;在肌電信號中,受疲勞影響最嚴重的是FP,且隨著疲勞程度的增加,KP也會受到很大的影響。