劉光達, 許藍予, 肖若蘭, 孫嘉琪, 蔡靖, 張守偉
(1.吉林大學儀器科學與電氣工程學院, 長春 130000; 2.東北師范大學體育學院, 長春 130000)
肌肉疲勞作為一種常見問題,是一種防止代謝危機、保護肌纖維整合的機體防御機制。然而,如果疲勞過度累積,可能會造成嚴重的影響。對于運動員來說,短暫性疲勞會導致訓練強度和控制力的降低,當疲勞累積時,會導致肌肉損傷[1]。因此為了提高運動員的訓練效率和運動成績,對肌肉疲勞的分類將成為科學訓練的重要輔助手段。
評定疲勞的方法有很多,當肌肉運動達到無氧閾(anaerobic threshold,AT)時,表現為疲勞狀態。通氣閾值(ventilatory threshold,VT)被認為是測定AT的金標準[2]。或者通過檢測人體內化學物質的濃度,包括蛋白尿、血清睪酮與皮質醇比值等來判斷人體的疲勞程度,但在實際應用中由于是有創檢測,很難快速鑒別。相比之下,表面肌電信號測量裝置具有測試方便、操作簡單的優點。表面肌電信號(surface electromyography,sEMG)是通過連接在皮膚表面的電極捕捉到的肌肉纖維的收縮。由于這種電性能,sEMG可以表征肌肉激活的程度,并且包含了豐富的肌肉力量信息[3]。表面肌電信號應用廣泛。周繼紅等[4]利用sEMG分析了疲勞駕駛的評估方法。史小華等[5]提出一種基于表面肌電信號的下肢康復主動訓練模式。龍遠強等[6]提出一種基于sEMG的負載識別方法。因此表面肌電是檢測疲勞的優良方法。
基于sEMG的肌肉疲勞狀態研究最早提出于20世紀80年代[7]。對于肌肉疲勞的研究,大多數學者采用單一的識別算法,如支持向量機(support vector machine,SVM)和卷積神經網絡(convolutional neural network,CNN)。丁其川等[8]利用SVM對肌肉疲勞和疲勞狀態下的手部運動識別進行了研究。Zhang等[9]采用SVM算法,結合肌電信號的不同特征參數構建了疲勞運動檢測模型。Karvekar等[10]使用SVM算法將疲勞程度分成兩類,準確率為91%。Ramos等[11]利用SVM實現了疲勞狀態下股四頭肌的肌肉狀態識別,其疲勞狀態識別準確率為82%±2.4%。Greco等[12]從肱二頭肌(短頭和長頭)、肱三頭肌、肱橈肌等肌肉中提取肌電信號,并用SVM識別肌肉疲勞,準確率為83.33%。Moniri等[13]利用CNN實時預測軀干肌肉疲勞的sEMG特征,能夠提前25 s準確預測。這將有助于從業者、理療師和更廣泛的社區應對腰痛的挑戰。Wang等[14]提出了一種新的肌肉疲勞識別方法CNN-SVM。實驗結果表明,該方法能準確地對肌肉疲勞進行分類,分類準確率為80.33%~86.69%。
精準的識別肌肉疲勞能夠及時防止肌肉損傷,提高訓練效率,因此如何利用不同優化算法的優點提高疲勞分類的準確率是當下研究的熱點。
果蠅優化算法(fruit fly optimization algorithm,FOA)[15]比以往學者提出的優化方法更簡單、更穩健。以財務困境模型為例,將FOA和廣義回歸神經網絡相結合,結果表明改進后的模型具有良好的識別和預測能力。Bi等[16]采用FOA優化的SVM分類器,大大提高了火災探測的準確率。Pan等[17]提出了一種基于灰色神經網絡和FOA的混合模型,利用FOA選擇合適的灰色神經網絡模型參數值,從而提高了預測模型的精度。
遺傳算法(genetic algorithm,GA)是一種智能算法,它模擬了達爾文的生物進化和自然選擇和生物進化過程的遺傳機制,這是20世紀70年代由密歇根大學教授約翰·霍蘭德提出的[18]。GA被廣泛應用于生理信號識別領域。王力鵬[19]利用GA優化極限學習機(extreme learning machine,ELM),提出了GA-Elman算法。在提取相同特征的情況下,對不同的預測模型進行比較,驗證了GA-Elman網絡的回歸預測誤差較小,時間較短,能夠提高關節角度的預測精度。柳長源等[20]利用GA優化的SVM對情緒進行分類識別,由于基本SVM的識別率較高,平均識別率為88.63%。
FOA具有調整參數少、操作簡單、局部搜索能力強、可塑性強等優點,但是該算法收斂速度慢,優化精度低,容易陷入局部最優[21]。GA是一種全局優化算法,從理論上給出了最優解,GA由于其并行搜索和較強的魯棒性,在各個領域得到了廣泛的應用。然而,GA的缺點是局部尋優能力差,算法后期收斂速度慢,使得GA往往在最優解附近收斂,但不能在有限的時間內達到最優解[22]。
現提出一種避免局部最優解的果蠅-遺傳優化算法(fruit fly-genetic optimization algorithm, FG),并與神經網絡相結合得到果蠅-遺傳算法-神經網絡(fruit fly-genetic optimization algorithm-neural network,FGNN),①結合GA和FOA的優點,防止早熟收斂;②結合神經網絡,對sEMG的時域和頻域特征進行分類,準確識別肌肉的疲勞狀態,以期提高疲勞識別的精度。
實驗對象為10名健康成年人,其中男生5名,女生5名。在實驗前24 h內,無強負荷運動、無身體和心理疲勞。實驗對象年齡在23~28歲,平均身高170 cm,平均體重61.1 kg。實驗設備為DELSYS無線肌電儀。DELSYS無線肌電儀有16路無線傳感器和3個自由度加速度傳感器,可同時采集16個肌肉的肌電信號和3軸加速度。操作軟件EMGworks(美國),其他實驗材料:75%酒精棉、磨砂膏、5 kg啞鈴、一次性肌內效貼布。性別、年齡、身高、體重和體重指數(body mass index, BMI)見表1。
實驗地點為醫療儀器實驗室,實驗當天室內溫度為(22±2) ℃。實驗前,用磨砂膏和75%酒精棉清潔受試者肱二頭肌皮膚表面,去除皮膚表面的油脂等,減小皮膚阻抗的干擾。
將Delsys表面肌電傳感器貼在肱二頭肌肌腹,以獲得更加明顯的肌電信號。實驗前,實驗對象背部挺直坐于椅子上,保持靜息,放松1 min。實驗時,大臂和小臂保持90°,先無負重采集信號5 s,然后實驗員將啞鈴放置于受試者手中,直至右手臂劇烈顫抖或者無法保持90°時,停止采集。重復以上操作,直到10名受試者全部采集。測量過程示意圖如圖1所示。在實驗中根據自感勞累分級(rating of perceived exertion,RPE)量表評估實驗對象的疲勞程度[23]。
sEMG信號是神經肌肉系統產生的微弱的生物電信號,其幅度范圍在0~5 mV,頻率在20~1 000 Hz,主要能量集中在50~150 Hz內[24-25],因此對原始sEMG信號進行30~300 Hz的巴特沃斯帶通濾波以及50 Hz的陷波濾除工頻干擾。
分類器不能直接輸入原始數據。因此,必須采用特征提取技術來提取有用信息[26]sEMG的分析主要集中在時域和頻域。在本研究中,提取了歸一化后sEMG的時域和頻域特征。式(1)~式(12)為本研究共提取了12個特征,包括10個時域特征,均方根值、積分肌電值、方差、修正均值絕對值、第三時刻的絕對值、Log 特性、波形長度、平均振幅變化、差值絕對標準差值、過零點數和2個頻域特征平均頻率和中值頻率[27]。
設xi(i=1,2,…,N)為信號的時間序列,N為樣本個數以上參數的計算公式如下:
(1)均方根值:
(1)
(2)積分肌電值:

(2)
(3)修正均值絕對值:

(3)
式(3)中:wi為權重,
(4) 過零點數:

(4)
(5)方差:

(5)
(6) 第三時刻的絕對值:

(6)
(7)平均振幅變化:

(7)
(8)波形長度:

(8)
(9)差值絕對標準差值:

(9)
(10)LOG 特性:

(10)
平均頻率和中值頻率常用于描述sEMG的頻域特性,計算公式如下:
(11)平均頻率:

(11)
(12)中值頻率:

(12)
式中:f為sEMG的頻率;PSD(f)為sEMG的功率譜密度函數。
模型建設的整體流程如圖2所示,首先對原始信號進行濾波,然后提取12個特征,再輸入分類器訓練,最后得到疲勞識別模型。

圖2 整體流程圖Fig.2 The overall flow chart of the method
FOA是一種基于果蠅覓食行為推演出尋求全局優化的方法。FOA具有原理上易于理解、操作簡單、易于實現、局部搜索能力強等優點[28]。具體流程如下:
(1)隨機初始化果蠅群體的位置,將其位置坐標設置為 (X,Y),設置果蠅群體范圍、最大迭代次數。
(2)隨機設定果蠅群體用嗅覺尋找食物的方向和距離:
X(i,:)=X+Random Value
(13)
Y(i,:)=Y+Random Value
(14)
式中:X(i,:) 和Y(i,:) 為果蠅群體新位置標;Random Value為隨機值。
(3)計算果蠅個體與原點之間的距離:

(15)
(4)計算替代味道濃度判斷值,即距離的倒數:

(16)
(5)將味道濃度判定值S代入味道濃度函數,得出味道濃度:
Smell=Fitness Function[S(i,:)]
(17)
(6)找出此果蠅群體的中味道濃度最高的果蠅(求極小值):
[best Smell,best Index]=min(Smell)
(18)
式(18)中:best Smell為味道濃度最高的果蠅;best Index為其坐標。
(7)保留最佳味道濃度值與其坐標,此時果蠅群體利用視覺往該位置飛去:

(19)
式(19)中:Smell best為最佳味道濃度值;X、Y為其坐標。
(8)進入迭代尋優,重復執行步驟(2)~(6),并判斷味道濃度是否優于前一迭代味道濃度,若是則執行步驟(7)。
(9)迭代次數到達最大時結束迭代,得到最優解Smellbest。
由于FOA得固有局限性即S(i,:)只能取大于0的值且迭代后期搜索半徑過大所以將S(i,:)和X(i,:)進行以下改進:
S(i,:)=X(i,:)
(20)
X(i,:)=X+k×Random Value
(21)
式中:k是最大迭代次數。
GA是一種基于生物規律和自然遺傳機制的并行搜索算法。1975年“自然組合人工智能系統的適應性”首次被提出[29]。它是一種基于種群的概率元啟發式優化求解算法。GA的靈感來自遺傳學中的自然選擇過程[30]。它的主要特點是群體間的搜索方式和群體間個體信息的交換。交叉和變異是GA的核心步驟。本研究采用單點交叉,也稱簡單交叉,這意味著在單個編碼字符串中只設置一個隨機交叉點,然后在此點交換兩個配體個體的部分染色體[31]。在突變過程中,種群中個別簇的一些位點的基因值發生變化,根據個體編碼的不同表達方式,可分為實值突變和二元突變,與其他啟發式算法相比,GA從多個初始點開始搜索,而不是單個初始點,從而有效地跳出局部極值。

圖3 FG算法流程圖Fig.3 Flow chart of the FG algorithm
本文提出的FG方法在一定程度上解決FOA的一些問題。FG算法的流程圖如圖3所示。首先,執行FOA初始化步驟。然后,在FOA的視覺階段進行判斷。如果適應值下降,就按照FOA流程進入迭代。如果適應值不降低,則執行GA的交叉和變異階段。變異后,計算新群體的適應值,如果適應值降低,則返回FOA視覺階段。否則,返回交叉步驟以循環。這里,為了完全找到最小值,交叉和變異階段被設置為循環10次。當迭代次數達到最大迭代次數時,停止迭代,輸出最佳個體(神經網絡的權值和閾值),最后輸入神經網絡進行訓練。
為了評價本文提出的FG算法,采用了適應值、誤差圖、準確度、特異度、受試者工作特征曲線(receiver operating characteristic curve,ROC)曲線和ROC曲線下的面積(area under curve,AUC)6個指標進行比較。
如圖4所示在FOA算法的種群適應度曲線中,種群在第63代停止下降,適應度值保持在0.39。在FG算法的種群適應度曲線中,適應度值不斷下降,最終穩定在0.21。這表明與FOA算法相比,FG算法能跳出局部最優,顯著提高優化效果。這里的適應度值為均方誤差(mean-square error, MSE),計算公式為

(22)
式(22)中:N為樣本總數;y′為實際標簽;y為預測結果。

圖4 適應度曲線Fig.4 Fitness curve
本節比較22個樣本的FGNN算法和神經網絡算法的預測分數與實際標簽,如圖5所示。可以看出優化后的FGNN算法預測的分數比神經網絡預測的分數更接近真實標簽,算法有了很大的改進。

圖5 22個樣本的預測結果Fig.5 Prediction score of 22 sample
神經網絡、 果蠅優化算法-神經網絡(fruit fly optimization algorithm-neural network, FOA-NN)、遺傳算法-神經網絡(genetic algorithm-neural network, GA-NN)和FGNN精度的比較如表2所示。從表2可以看出,單獨使用神經網絡訓練的準確率為73.8%,FOA-NN和GA-NN算法在一定程度上提高了準確度,分別為82.3%和90.8%。FGNN算法的識別率最高,達到94.3%,表明本文提出的FGNN方法是有效的。

表2 肌肉疲勞識別的準確性

圖6 四種算法的特異度Fig.6 Specificity of four algorithms
如圖6所示為四種算法特異度的比較。特異度是該算法判斷的疲勞樣本數與實際疲勞樣本數的比值,代表疲勞狀態識別的準確性,是一種較好的疲勞檢測評價方法。經評估,神經網絡的特異度為0.69,FOA-NN為0.82,GA-NN為0.94,FGNN為0.99。結果表明,FGNN可以提高疲勞狀態識別率。

圖7 ROC曲線Fig.7 Receiver operating characteristic curve
由于疲勞識別的重點是測試疲勞狀態。當輕度疲勞標簽設置為0,重度疲勞標簽設置為1時,整個數據集中處于疲勞狀態的樣本遠小于處于非疲勞狀態的樣本,屬于不平衡數據。因此,可利用ROC曲線來衡量識別過程中的非均衡性,如圖7所示。假陽性率 (false negative rate,FNR)和真陽性率(true positive rate,TPR)分別為

(23)

(24)
式中:FP代表分類器預測的負樣本數;TP代表分類器預測的正樣本數;N是真實負樣本的數量;P是真實正樣本的數量。ROC曲線離虛線越遠,判別力越強。從圖7可以看出,FGNN優于其他算法。
AUC是ROC曲線的面積,如圖7所示,AUC高于0.80表示分類性能良好[32]。從圖7可知神經網絡訓練的AUC為0.85,FOA-NN和GA-NN的AUC值分別為0.89和0.90,FGNN算法的AUC值為0.94。因此,證明FGNN算法提高了模型的準確性和魯棒性。
綜上可知,FGNN算法明顯優于FOA、GA-NN和FOA-NN,能更好地評價肌肉疲勞。
(1)由于FOA算法容易陷入局部最優且無法找到最優解,結合GA,提出了FG算法,該算法在陷入局部最優時能及時跳出,解決了FOA算法的早期收斂問題。
(2)本文FGNN算法在肌肉疲勞識別中的性能優于傳統的FOA算法。比較和評價了神經網絡、FOA-NN和GA-NN算法在sEMG疲勞狀態識別中的性能。與神經網絡、FOA-NN和GA-NN在肌肉疲勞檢測中的應用相比,FGNN具有顯著提高的準確性和魯棒性,能夠更準確地識別疲勞樣本。單獨使用神經網絡訓練的準確率為73.8%,FOA-NN算法準確度為82.3%,GA-NN算法準確度為90.8%。FGNN算法準確度為94.3%
因此,本文提出的FGNN是有效的。肌肉疲勞的研究一直是生物醫學和運動科學領域的一個熱點,提高疲勞分類精度不但可以準確判斷肌肉疲勞的程度,也可以在一定程度上預防肌肉的損傷,在疲勞駕駛、康復訓練等領域也有重要的研究價值。